Bläddra i källkod

SAP供应商同步

wanghaiwu 1 dag sedan
förälder
incheckning
7c948c2621

+ 18 - 1
code/jyyy/nckd-jimin-jyyy-bd/src/main/java/nckd/jimin/jyyy/bd/task/SynSupplierFromSAPTask.java

@@ -18,12 +18,14 @@ import kd.bos.schedule.api.StopTask;
 import kd.bos.schedule.executor.AbstractTask;
 import kd.bos.sdk.util.KHttpClientUtils;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.servicehelper.QueryServiceHelper;
 import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
 import kd.bos.servicehelper.operation.OperationServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 import kd.bos.util.StringUtils;
 import nckd.base.helper.CommonHelperUtils;
 
+import javax.management.Query;
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.*;
@@ -167,7 +169,6 @@ 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");
@@ -190,6 +191,10 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
                         if("5".equals(number.substring(0, 1))){
                             smodel.setGroup(param_suppliertype_5);
                         } else if("EE".equals(number.substring(0, 2))){
+                            //EE开头,如果未匹配到员工编号,则不同步
+                            if(!isEmployee(number)){
+                                break;
+                            }
                             smodel.setGroup(param_suppliertype_ee);
                         }
 
@@ -212,6 +217,18 @@ public class SynSupplierFromSAPTask extends AbstractTask implements StopTask {
         }
     }
 
+    /**
+     * 校验员工供应商是否是本公司的人员
+     * @param supplierNumber
+     * @return
+     */
+    private boolean isEmployee(String supplierNumber){
+        supplierNumber = supplierNumber.replace("EE", "");
+        QFilter qFilter = new QFilter("number", QCP.equals, supplierNumber);
+
+        return QueryServiceHelper.exists("bos_user", qFilter.toArray());
+    }
+
     /**
      * 同步供应商
      * @param jsonData