|
|
@@ -44,6 +44,7 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
//所有核算组织map
|
|
|
private static Map<String, String> allKdOrgName = null;
|
|
|
private static Map<String, Long> allKdOrgId = null;
|
|
|
+ private static List<Long> allOrgIds = null;
|
|
|
|
|
|
//默认组织
|
|
|
private static DynamicObject defaultOrg = null;
|
|
|
@@ -123,11 +124,14 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
|
|
|
allKdOrgId = new HashMap<>();
|
|
|
allKdOrgName = new HashMap<>();
|
|
|
+ allOrgIds = new ArrayList<>();
|
|
|
|
|
|
DynamicObject[] orgList = BusinessDataServiceHelper.load("bos_org", "id, number, name", orgFilter.toArray());
|
|
|
for(DynamicObject org : orgList){
|
|
|
allKdOrgId.put(org.getString("number"), org.getLong("id"));
|
|
|
allKdOrgName.put(org.getString("number"), org.getString("name"));
|
|
|
+
|
|
|
+ allOrgIds.add(org.getLong("id"));
|
|
|
}
|
|
|
|
|
|
//供应商状态:
|
|
|
@@ -166,7 +170,6 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
dataSource = "mdm";
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if(StringUtils.isEmpty(supplierNumber)){
|
|
|
returnMap.put("code", "500");
|
|
|
returnMap.put("msg", "供应商编码为空!");
|
|
|
@@ -282,7 +285,7 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
String bankName = "";
|
|
|
String bankCode = "";
|
|
|
String primaryAccount = "";
|
|
|
- String isDefault = "0";
|
|
|
+ boolean noDefault = true;
|
|
|
|
|
|
//判断银行账号是否存在
|
|
|
DynamicObjectCollection bankEntry = supplier.getDynamicObjectCollection("entry_bank");
|
|
|
@@ -302,6 +305,7 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
|
|
|
for(int index = 0; index < bankArray.size(); index++){
|
|
|
boolean iscontinue = false;
|
|
|
+ String isDefault = "0";
|
|
|
|
|
|
JSONObject entrybank = bankArray.getJSONObject(index);
|
|
|
|
|
|
@@ -342,8 +346,9 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- if("0".equals(isDefault) && ("Y".equals(primaryAccount) || index == bankArray.size() - 1)){
|
|
|
+ if(noDefault && ("Y".equals(primaryAccount) || index == bankArray.size() - 1)){
|
|
|
isDefault = "1";
|
|
|
+ noDefault = false;
|
|
|
}
|
|
|
|
|
|
DynamicObject bank = new DynamicObject(bankEntryType);
|
|
|
@@ -358,7 +363,7 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
bankEntry.add(bank);
|
|
|
}
|
|
|
|
|
|
- if("0".equals(isDefault) && bankEntry.size() > 0){
|
|
|
+ if(noDefault && bankEntry.size() > 0){
|
|
|
for(DynamicObject bank : bankEntry){
|
|
|
bank.set("isdefault_bank", "1");
|
|
|
|
|
|
@@ -465,54 +470,70 @@ public class SynSupplierApiPlugin implements Serializable {
|
|
|
return returnMap;
|
|
|
}
|
|
|
|
|
|
- List<Long> assignOrgIds = new ArrayList<>();
|
|
|
- List<String> orgCodeList = new ArrayList<>();
|
|
|
- List<String> orgCodeKdList = new ArrayList<>();
|
|
|
-
|
|
|
- //分配公司信息
|
|
|
-// JSONArray assignOrgArray = jsonData.getJSONArray("venBukrsE");
|
|
|
- if(assignOrgArray != null && assignOrgArray.size() > 0){
|
|
|
- for(int index = 0; index < assignOrgArray.size(); index++){
|
|
|
- JSONObject assignOrg = assignOrgArray.getJSONObject(index);
|
|
|
-
|
|
|
- String orgCode = assignOrg.getString("venBukrsCode");
|
|
|
-
|
|
|
- if(!orgCodeList.contains(orgCode)) {
|
|
|
- orgCodeList.add(orgCode);
|
|
|
-
|
|
|
- if(allKdOrgId.containsKey(orgCode)){
|
|
|
- assignOrgIds.add(allKdOrgId.get(orgCode));
|
|
|
- orgCodeKdList.add(allKdOrgName.get(orgCode));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if(assignOrgIds.size() > 0) {
|
|
|
- String assignResult = assignOrg2Supplier(supplierId, assignOrgIds);
|
|
|
-
|
|
|
- if (assignResult.isEmpty()) {
|
|
|
- returnMap.put("code", "0000");
|
|
|
- returnMap.put("msg", "同步成功、分配成功");
|
|
|
-
|
|
|
- return returnMap;
|
|
|
- } else {
|
|
|
- returnMap.put("code", "500");
|
|
|
- returnMap.put("msg", "同步成功、分配失败");
|
|
|
-
|
|
|
- return returnMap;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if(orgCodeKdList.size() != orgCodeList.size()){
|
|
|
- List<String> differenceList = orgCodeKdList.stream().filter(item -> !orgCodeKdList.contains(item)).collect(Collectors.toList());
|
|
|
- if(differenceList.size() > 0){
|
|
|
- String unAssignOrgString = String.join(",", differenceList);
|
|
|
+// List<Long> assignOrgIds = new ArrayList<>();
|
|
|
+// List<String> orgCodeList = new ArrayList<>();
|
|
|
+// List<String> orgCodeKdList = new ArrayList<>();
|
|
|
+//
|
|
|
+// //分配公司信息
|
|
|
+//// JSONArray assignOrgArray = jsonData.getJSONArray("venBukrsE");
|
|
|
+// if(assignOrgArray != null && assignOrgArray.size() > 0){
|
|
|
+// for(int index = 0; index < assignOrgArray.size(); index++){
|
|
|
+// JSONObject assignOrg = assignOrgArray.getJSONObject(index);
|
|
|
+//
|
|
|
+// String orgCode = assignOrg.getString("venBukrsCode");
|
|
|
+//
|
|
|
+// if(!orgCodeList.contains(orgCode)) {
|
|
|
+// orgCodeList.add(orgCode);
|
|
|
+//
|
|
|
+// if(allKdOrgId.containsKey(orgCode)){
|
|
|
+// assignOrgIds.add(allKdOrgId.get(orgCode));
|
|
|
+// orgCodeKdList.add(allKdOrgName.get(orgCode));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(assignOrgIds.size() > 0) {
|
|
|
+// String assignResult = assignOrg2Supplier(supplierId, allOrgIds);
|
|
|
+//
|
|
|
+// if (assignResult.isEmpty()) {
|
|
|
+// returnMap.put("code", "0000");
|
|
|
+// returnMap.put("msg", "同步成功、分配成功");
|
|
|
+//
|
|
|
+// return returnMap;
|
|
|
+// } else {
|
|
|
+// returnMap.put("code", "500");
|
|
|
+// returnMap.put("msg", "同步成功、分配失败");
|
|
|
+//
|
|
|
+// return returnMap;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(orgCodeKdList.size() != orgCodeList.size()){
|
|
|
+// List<String> differenceList = orgCodeKdList.stream().filter(item -> !orgCodeKdList.contains(item)).collect(Collectors.toList());
|
|
|
+// if(differenceList.size() > 0){
|
|
|
+// String unAssignOrgString = String.join(",", differenceList);
|
|
|
+//
|
|
|
+// returnMap.put("code", "500");
|
|
|
+// returnMap.put("msg", "部分组织分配失败:" + unAssignOrgString + ", 这些组织在星瀚中未匹配到或不是CU!");
|
|
|
+//
|
|
|
+// return returnMap;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+ if(allOrgIds.size() > 0) {
|
|
|
+ String assignResult = assignOrg2Supplier(supplierId, allOrgIds);
|
|
|
+
|
|
|
+ if (assignResult.isEmpty()) {
|
|
|
+ returnMap.put("code", "0000");
|
|
|
+ returnMap.put("msg", "同步成功、分配成功");
|
|
|
|
|
|
- returnMap.put("code", "500");
|
|
|
- returnMap.put("msg", "部分组织分配失败:" + unAssignOrgString + ", 这些组织在星瀚中未匹配到或不是CU!");
|
|
|
+ return returnMap;
|
|
|
+ } else {
|
|
|
+ returnMap.put("code", "500");
|
|
|
+ returnMap.put("msg", "同步成功、分配失败");
|
|
|
|
|
|
- return returnMap;
|
|
|
- }
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
}
|
|
|
|