소스 검색

<feat>:修改
1、修改供应商同步分类

wanghaiwu 1 개월 전
부모
커밋
bc6c4a5895

+ 33 - 3
code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/task/SynSupplierFromSAPTask.java

@@ -292,6 +292,9 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
 //        DynamicObject groupstandard = BusinessDataServiceHelper.loadSingleFromCache("bd_suppliergroupstandard", "id, number, name", qFilter.toArray());
         //子分录--默认分类(支持多分类)
         DynamicObjectCollection groupstandardCol = supplier.getDynamicObjectCollection("entry_groupstandard");
+        //先清除分类
+        groupstandardCol.clear();
+
         DynamicObjectType billtype = groupstandardCol.getDynamicObjectType();
         DynamicObject groupdetail = new DynamicObject(billtype);
         groupdetail.set("standardid", suppliergroup.getDynamicObject("standard"));
@@ -332,8 +335,35 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
             }
             DynamicObject customerObj = BusinessDataServiceHelper.loadSingle(supplierId, "bd_supplier");
 
-            OperationServiceHelper.executeOperate("submit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
-            OperationServiceHelper.executeOperate("audit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
+            OperationResult resultSubmit = OperationServiceHelper.executeOperate("submit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
+            err.setLength(0);
+
+            if (resultSubmit.getSuccessPkIds().size() <= 0) {
+                for (int i = 0; i < resultSubmit.getAllErrorOrValidateInfo().size(); i++) {
+                    String message = resultSubmit.getAllErrorOrValidateInfo().get(i).getMessage();
+                    err.append("/").append(message);
+                }
+
+                returnMap.put("code", "500");
+                returnMap.put("msg", err.toString());
+
+                return returnMap;
+            }
+
+            OperationResult resultAudit = OperationServiceHelper.executeOperate("audit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
+            err.setLength(0);
+
+            if (resultAudit.getSuccessPkIds().size() <= 0) {
+                for (int i = 0; i < resultAudit.getAllErrorOrValidateInfo().size(); i++) {
+                    String message = resultAudit.getAllErrorOrValidateInfo().get(i).getMessage();
+                    err.append("/").append(message);
+                }
+
+                returnMap.put("code", "500");
+                returnMap.put("msg", err.toString());
+
+                return returnMap;
+            }
         }
 
         //组织分配
@@ -367,7 +397,7 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
                     if(differenceList.size() > 0){
                         String unAssignOrgString = String.join(",", differenceList);
 
-                        logger.info("同步成功、部分组织分配失败:" + unAssignOrgString + ", 这些组织在星瀚中匹配到!");
+                        logger.info("同步成功、部分组织分配失败:" + unAssignOrgString + ", 这些组织在星瀚中匹配到!");
                     }
                 }
             }

+ 34 - 2
code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/webapi/SynSupplierApiPlugin.java

@@ -224,6 +224,9 @@ public class SynSupplierApiPlugin implements Serializable {
 
         //子分录--默认分类(支持多分类)
         DynamicObjectCollection groupstandardCol = supplier.getDynamicObjectCollection("entry_groupstandard");
+        //先清除分类
+        groupstandardCol.clear();
+
         DynamicObjectType billtype = groupstandardCol.getDynamicObjectType();
         DynamicObject groupdetail = new DynamicObject(billtype);
         groupdetail.set("standardid", supplierGroup.getDynamicObject("standard"));
@@ -362,8 +365,37 @@ public class SynSupplierApiPlugin implements Serializable {
 
                 DynamicObject customerObj = BusinessDataServiceHelper.loadSingle(supplierId, "bd_supplier");
 
-                OperationServiceHelper.executeOperate("submit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
-                OperationServiceHelper.executeOperate("audit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
+                OperationResult resultSubmit = OperationServiceHelper.executeOperate("submit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
+
+                err.setLength(0);
+
+                if (resultSubmit.getSuccessPkIds().size() <= 0) {
+                    for (int i = 0; i < resultSubmit.getAllErrorOrValidateInfo().size(); i++) {
+                        String message = resultSubmit.getAllErrorOrValidateInfo().get(i).getMessage();
+                        err.append("/").append(message);
+                    }
+
+                    returnMap.put("code", "500");
+                    returnMap.put("msg", err.toString());
+
+                    return returnMap;
+                }
+
+                OperationResult resultAudit = OperationServiceHelper.executeOperate("audit", ENTITY_SUPPLIER, new DynamicObject[]{customerObj}, OperateOption.create());
+
+                err.setLength(0);
+
+                if (resultAudit.getSuccessPkIds().size() <= 0) {
+                    for (int i = 0; i < resultAudit.getAllErrorOrValidateInfo().size(); i++) {
+                        String message = resultAudit.getAllErrorOrValidateInfo().get(i).getMessage();
+                        err.append("/").append(message);
+                    }
+
+                    returnMap.put("code", "500");
+                    returnMap.put("msg", err.toString());
+
+                    return returnMap;
+                }
             }
 
         } catch(Exception e){