소스 검색

1、MDM供应商接口,先判断分配公司,如果匹配不上,就不在集团中创建供应商

wanghaiwu 1 주 전
부모
커밋
445a627db8
1개의 변경된 파일32개의 추가작업 그리고 12개의 파일을 삭제
  1. 32 12
      code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/webapi/SynSupplierApiPlugin.java

+ 32 - 12
code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/webapi/SynSupplierApiPlugin.java

@@ -182,6 +182,37 @@ public class SynSupplierApiPlugin implements Serializable {
             return returnMap;
         }
 
+        //增加分配公司校验
+        JSONArray assignOrgArray = jsonData.getJSONArray("venBukrsE");
+        if(assignOrgArray != null && assignOrgArray.size() > 0) {
+            boolean needSyn = false;
+            for (int index = 0; index < assignOrgArray.size(); index++) {
+                JSONObject assignOrg = assignOrgArray.getJSONObject(index);
+
+                String orgCode = assignOrg.getString("venBukrsCode");
+                if (allKdOrgId.containsKey(orgCode)) {
+                    needSyn = true;
+                    break;
+                }
+            }
+
+            if(!needSyn){
+                returnMap.put("code", "0000");
+                returnMap.put("msg", "未匹配到分配公司,不做同步!");
+
+                logger.info("mdm supplier syn:" + supplierNumber + "未匹配到分配公司,不做同步!");
+
+                return returnMap;
+            }
+        } else {
+            returnMap.put("code", "0000");
+            returnMap.put("msg", "公司信息为空,不做同步!");
+
+            logger.info("mdm supplier syn:" + supplierNumber + "未匹配到分配公司,不做同步!");
+
+            return returnMap;
+        }
+
         //供应商类型:法人企业1,非法人企业2,非企业单位3,个人4,个体户5
         String type = "1";
         //社会信用识别码societycreditcode
@@ -429,7 +460,7 @@ public class SynSupplierApiPlugin implements Serializable {
         List<String> orgCodeKdList = new ArrayList<>();
 
         //分配公司信息
-        JSONArray assignOrgArray = jsonData.getJSONArray("venBukrsE");
+//        JSONArray assignOrgArray = jsonData.getJSONArray("venBukrsE");
         if(assignOrgArray != null && assignOrgArray.size() > 0){
             for(int index = 0; index < assignOrgArray.size(); index++){
                 JSONObject assignOrg = assignOrgArray.getJSONObject(index);
@@ -446,17 +477,6 @@ public class SynSupplierApiPlugin implements Serializable {
                 }
             }
 
-//            QFilter orgFilter = new QFilter("number", QCP.in, orgCodeList);
-//            orgFilter.and(new QFilter("enable", QCP.equals, "1"));
-//            orgFilter.and(new QFilter("status", QCP.equals, "C"));
-//
-//            DynamicObject[] orgList = BusinessDataServiceHelper.load("bos_org", "id, number", orgFilter.toArray());
-//
-//            for(DynamicObject org : orgList){
-//                assignOrgIds.add(org.getLong("id"));
-//                orgCodeKdList.add(org.getString("number"));
-//            }
-
             if(assignOrgIds.size() > 0) {
                 String assignResult = assignOrg2Supplier(supplierId, assignOrgIds);