|
@@ -25,6 +25,7 @@ import kd.bos.util.StringUtils;
|
|
|
import nckd.base.helper.CommonHelperUtils;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
+import java.io.Serializable;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -38,7 +39,8 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
private static final Log logger = LogFactory.getLog(SynSupplierFromSAPTask.class);
|
|
|
protected static final Long DEFAULT_ORG_ID = 100000L;
|
|
|
private static final String ENTITY_SUPPLIER = "bd_supplier";
|
|
|
- private static String param_suppliertype = "";
|
|
|
+ private static String param_suppliertype_5 = "";
|
|
|
+ private static String param_suppliertype_ee = "";
|
|
|
private static String param_supplierurl = "";
|
|
|
private static String param_username = "";
|
|
|
private static String param_password = "";
|
|
@@ -50,17 +52,18 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- param_suppliertype = mapentity.get("suppliertype");
|
|
|
+ param_suppliertype_5 = mapentity.get("suppliertype_5");
|
|
|
+ param_suppliertype_ee = mapentity.get("suppliertype_EE");
|
|
|
param_supplierurl = mapentity.get("supplier_url");
|
|
|
param_username = mapentity.get("username");
|
|
|
param_password = mapentity.get("password");
|
|
|
|
|
|
- if(StringUtils.isEmpty(param_suppliertype) || StringUtils.isEmpty(param_supplierurl)
|
|
|
+ if(StringUtils.isEmpty(param_suppliertype_5) || StringUtils.isEmpty(param_suppliertype_ee) || StringUtils.isEmpty(param_supplierurl)
|
|
|
|| StringUtils.isEmpty(param_username) || StringUtils.isEmpty(param_password)){
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- Map<String, String> supplierNameMap = new HashMap<String, String>();
|
|
|
+ Map<String, SupplierModel> supplierNameMap = new HashMap<String, SupplierModel>();
|
|
|
Map<String, List<String>> supplierOrgMap = new HashMap<String, List<String>>();
|
|
|
|
|
|
|
|
@@ -87,13 +90,14 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
}
|
|
|
|
|
|
if(supplierNameMap.size() > 0){
|
|
|
- for (Map.Entry<String, String> frameOrgMap : supplierNameMap.entrySet()) {
|
|
|
+ for (Map.Entry<String, SupplierModel> frameOrgMap : supplierNameMap.entrySet()) {
|
|
|
String number = frameOrgMap.getKey();
|
|
|
- String name = frameOrgMap.getValue();
|
|
|
+ SupplierModel sModel = frameOrgMap.getValue();
|
|
|
|
|
|
JSONObject jsonData = new JSONObject();
|
|
|
jsonData.put("number", number);
|
|
|
- jsonData.put("name", name);
|
|
|
+ jsonData.put("name", sModel.getName());
|
|
|
+ jsonData.put("group", sModel.getGroup());
|
|
|
|
|
|
List<String> orgList = supplierOrgMap.get(number);
|
|
|
jsonData.put("orgList", orgList);
|
|
@@ -111,7 +115,7 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
* @param header
|
|
|
* @param orgNumber
|
|
|
*/
|
|
|
- private void buildSupplier(Map<String, String> supplierNameMap, Map<String, List<String>> supplierOrgMap
|
|
|
+ private void buildSupplier(Map<String, SupplierModel> supplierNameMap, Map<String, List<String>> supplierOrgMap
|
|
|
, String url, Map<String, String> header, String orgNumber, Map<String, Object> map){
|
|
|
try {
|
|
|
|
|
@@ -163,11 +167,13 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
maxSize = Integer.parseInt(map.get("maxCount").toString());
|
|
|
}
|
|
|
|
|
|
+ String groupNumber = "";
|
|
|
for(int i = 0; i < rItemArray.size(); ++i) {
|
|
|
JSONObject item = rItemArray.getJSONObject(i);
|
|
|
String number = item.getString("LIFNR");
|
|
|
|
|
|
- if(StringUtils.isNotEmpty(number) && "5".equals(number.substring(0, 1))){
|
|
|
+ if(StringUtils.isNotEmpty(number)
|
|
|
+ && ("5".equals(number.substring(0, 1)) || "EE".equals(number.substring(0, 2))) ){
|
|
|
size++;
|
|
|
|
|
|
if(maxSize > 0 && size > maxSize){
|
|
@@ -177,7 +183,17 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
String name = item.getString("NAME1");
|
|
|
|
|
|
if(!supplierNameMap.containsKey(number)){
|
|
|
- supplierNameMap.put(number, name);
|
|
|
+ SupplierModel smodel = new SupplierModel();
|
|
|
+
|
|
|
+ smodel.setNumber(number);
|
|
|
+ smodel.setName(name);
|
|
|
+ if("5".equals(number.substring(0, 1))){
|
|
|
+ smodel.setGroup(param_suppliertype_5);
|
|
|
+ } else if("EE".equals(number.substring(0, 2))){
|
|
|
+ smodel.setGroup(param_suppliertype_ee);
|
|
|
+ }
|
|
|
+
|
|
|
+ supplierNameMap.put(number, smodel);
|
|
|
}
|
|
|
|
|
|
List<String> orgList = null;
|
|
@@ -208,8 +224,10 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
String supplierNumber = jsonData.getString("number");
|
|
|
//供应商名称
|
|
|
String supplierName = jsonData.getString("name");
|
|
|
- //供应商类型:法人企业1,非法人企业2,非企业单位3,个人4,个体户5
|
|
|
+ //供应商分组
|
|
|
+ String supplierGroup = jsonData.getString("group");
|
|
|
|
|
|
+ //供应商类型:法人企业1,非法人企业2,非企业单位3,个人4,个体户5
|
|
|
if(StringUtils.isEmpty(supplierNumber)){
|
|
|
returnMap.put("code", "500");
|
|
|
returnMap.put("msg", "供应商编码为空!");
|
|
@@ -283,7 +301,7 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
supplier.set("createorg", defaultOrg);
|
|
|
supplier.set("org", defaultOrg);
|
|
|
|
|
|
- qFilter = new QFilter("number", QCP.equals, param_suppliertype);
|
|
|
+ qFilter = new QFilter("number", QCP.equals, supplierGroup);
|
|
|
qFilter.and(new QFilter("enable", QCP.equals, "1"));
|
|
|
qFilter.and(new QFilter("status", QCP.equals, "C"));
|
|
|
DynamicObject suppliergroup = BusinessDataServiceHelper.loadSingleFromCache("bd_suppliergroup", "id, number, name, standard", qFilter.toArray());
|
|
@@ -445,4 +463,40 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
|
|
|
unite.addAll(b);
|
|
|
return unite;
|
|
|
}
|
|
|
+
|
|
|
+ public class SupplierModel implements Serializable{
|
|
|
+ private String number;
|
|
|
+ private String name;
|
|
|
+ private String group;
|
|
|
+
|
|
|
+ public String getNumber()
|
|
|
+ {
|
|
|
+ return number;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setNumber(String number)
|
|
|
+ {
|
|
|
+ this.number = number;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getName()
|
|
|
+ {
|
|
|
+ return name;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setName(String name)
|
|
|
+ {
|
|
|
+ this.name = name;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getGroup()
|
|
|
+ {
|
|
|
+ return group;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setGroup(String group)
|
|
|
+ {
|
|
|
+ this.group = group;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|