Prechádzať zdrojové kódy

厨卫人员拉取厨卫业务人员岗位编码9,每个岗位去重人员

njs 2 rokov pred
rodič
commit
1802655efa

+ 63 - 24
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -67,6 +67,7 @@ public class AnalysisDiyCustomerComponent {
     private Long[] roleCwDiyIds;
     private Long[] roleFXDiyIds;  //3.4接口,同步分销用户
     private Long[] roleStoreIds; //3.6门店经销商
+    private Long[] roleBusiness;//7.5厨卫业务人员角色
     /**
      * 获取并解析DIY经销商用户
      * 因为经销商用户并不涉及用信息更新等方面 所以只插入不更新
@@ -131,7 +132,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray MANAGER = new JSONArray();
             MANAGER.addAll(mjson.getJSONArray("userlist"));
-            success+=buildSysUser(MANAGER,loginNameSet,1,failDetails,packageId,chainsMap);
+            success+=buildSysUser(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
             total+=mjson.getJSONArray("userlist").size();
         }
 
@@ -151,7 +152,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray STOREGUIDE = new JSONArray();
             STOREGUIDE.addAll(gjson.getJSONArray("userlist"));
-            success+=buildSysUser(STOREGUIDE,loginNameSet,0,failDetails,packageId,codeMap);
+            success+=buildSysUser(STOREGUIDE,loginNameSet,diyNameSet,0,failDetails,packageId,codeMap);
             total+=gjson.getJSONArray("userlist").size();
         }
 
@@ -237,13 +238,13 @@ public class AnalysisDiyCustomerComponent {
                     FINANCE.addAll(fjson.getJSONArray("userlist"));
                 }
             }
-            success+=buildSysUser(FINANCE,loginNameSet,2,failDetails,packageId,chainsMap);
+            success+=buildSysUser(FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
             total+=FINANCE.size();
         }else{
             code = fjson.getInteger("code");
             if(code==0){
                 FINANCE.addAll(fjson.getJSONArray("userlist"));
-                success+=buildSysUser(FINANCE,loginNameSet,2,failDetails,packageId,chainsMap);
+                success+=buildSysUser(FINANCE,loginNameSet,diyNameSet,2,failDetails,packageId,chainsMap);
                 total+=FINANCE.size();
             }
         }
@@ -281,13 +282,13 @@ public class AnalysisDiyCustomerComponent {
                     WAREHOUSE.addAll(wjson.getJSONArray("userlist"));
                 }
             }
-            success+=buildSysUser(WAREHOUSE,loginNameSet,3,failDetails,packageId,chainsMap);
+            success+=buildSysUser(WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
             total+=WAREHOUSE.size();
         }else{
             code = wjson.getInteger("code");
             if(code==0){
                 WAREHOUSE.addAll(wjson.getJSONArray("userlist"));
-                success+=buildSysUser(WAREHOUSE,loginNameSet,3,failDetails,packageId,chainsMap);
+                success+=buildSysUser(WAREHOUSE,loginNameSet,diyNameSet,3,failDetails,packageId,chainsMap);
                 total+=WAREHOUSE.size();
             }
         }
@@ -426,7 +427,10 @@ public class AnalysisDiyCustomerComponent {
             Long roleDiyId = Long.parseLong(configService.selectConfigByKey("libang.guide.roleid"));
             roleCwDiyIds = new Long[]{roleId, roleDiyId};
         }
-
+        if(roleBusiness ==null ){
+            Long roleId = Long.parseLong(configService.selectConfigByKey("libang.cw.business"));
+            roleBusiness = new Long[]{roleId};
+        }
 
 
         List<SyncFailDetail> failDetails = new ArrayList<>();
@@ -514,7 +518,7 @@ public class AnalysisDiyCustomerComponent {
      * @param isManager
      * @return
      */
-    public Integer buildSysUser(JSONArray jsonArray, Set<String> loginNameSet, int isManager, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap) {
+    public Integer buildSysUser(JSONArray jsonArray, Set<String> loginNameSet,Set<String> diyNameSet, int isManager, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap) {
         // JSONArray jsonArray = json.getJSONArray("userlist");
         int count = 0;
         List<String> interfaceList = new ArrayList<>();
@@ -590,7 +594,7 @@ public class AnalysisDiyCustomerComponent {
                     userExt.setSalesLevel("customer_level");
                     userExt.setIsCustomerManager(isManager + "");
                     userExt.setSapEmployeeId(userNo);
-
+                    userExt.setIdentity(UserIdentityUtil.UI_DIY);
                     userExt.setPostName("DIY经销商");
                     String orgCode = jo.getString("depCode");
                     String code = null;
@@ -665,7 +669,6 @@ public class AnalysisDiyCustomerComponent {
                             user.setUserName(name);
                             sysUserService.updateUserInfo(user);
                         }
-
                         List<AssRelcustomerinfo> assRelcustomerinfoList = new ArrayList<>();
                         /*过滤导购*/
                         if (isManager != 0 && !("019").equals(user.getSysUserExt().getOrgCode().substring(0, 3)) && !("019").equals(user.getSysUserExt().getCustomerCode().substring(0, 3))) {
@@ -768,12 +771,25 @@ public class AnalysisDiyCustomerComponent {
     public Integer buildSysUserEbr(JSONObject json, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap){
         JSONArray jsonArray = json.getJSONArray("data");
         int count = 0;
-        List<String > interfaceList=new ArrayList<>();
+        List<String > interfaceList4=new ArrayList<>();
+        List<String > interfaceList5=new ArrayList<>();
+        List<String > interfaceList7=new ArrayList<>();
+        List<String > interfaceList9=new ArrayList<>();
         for(int x =0;x<jsonArray.size();x++){
             JSONObject jsonObject = jsonArray.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
+            String role=jsonObject.getString("role_code");
             if(loginName !=null && !"".equals(loginName)){
-                interfaceList.add(loginName);
+                if(role.equals("boss")){
+                    interfaceList4.add(loginName);
+                }else if(role.equals("manager")){
+                    interfaceList5.add(loginName);
+                }else if(role.equals("CWWH")){
+                    interfaceList7.add(loginName);
+                }else if(role.equals("business")){
+                    interfaceList9.add(loginName);
+                }
+
             }
         }
         int isManager=1;
@@ -782,20 +798,21 @@ public class AnalysisDiyCustomerComponent {
 
             try {
                 String role=jo.getString("role_code");
-                if(role.equals("business")){
+              /*  if(role.equals("business")){
                     continue;
-                }
+                }*/
                 String userNo = jo.getString("userNo");
                 String name = jo.getString("name");
                 String userid = jo.getString("userid");
                 String customerCode = jo.getString("depCode");
                 if(role.equals("boss")){
                     isManager=4;
-
                 }else if(role.equals("manager")){
                     isManager=5;
                 }else if(role.equals("CWWH")){
                     isManager=7;
+                }else if(role.equals("business")){
+                    isManager=9;
                 }
 
 
@@ -830,9 +847,11 @@ public class AnalysisDiyCustomerComponent {
                     user.setLoginName(userid);
                     user.setUserName(jo.getString("name"));
                     user.setPhonenumber(jo.getString("mobile"));
-                    if (diyNameSet.contains(userid)) {
+                    if(role.equals("business")){
+                        user.setRoleIds(roleBusiness);
+                    } else if (diyNameSet.contains(userid) && !role.equals("business")) {
                         user.setRoleIds(roleCwDiyIds);
-                    } else {
+                    } else if(!role.equals("business")){
                         user.setRoleIds(roleCwIds);
                     }
                     user.setPassword(user.getLoginName());
@@ -912,10 +931,12 @@ public class AnalysisDiyCustomerComponent {
 
                             }
                         }
-                        if (diyNameSet.contains(userid)) {
+                        if (diyNameSet.contains(userid) && !role.equals("business")) {
                             sysUserService.insertUserRole(user.getUserId(), roleIds[0]);
                             sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
-                        } else {
+                        } else if(role.equals("business")){
+                            sysUserService.insertUserRole(user.getUserId(), roleBusiness[0]);
+                        }else if(!role.equals("business")) {
                             sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
                         }
 
@@ -970,10 +991,28 @@ public class AnalysisDiyCustomerComponent {
                 failDetails.add(syncFailDetail);
             }
         }
-        List<String> loginNames=sysUserService.selectUserByIsManager(isManager);
-        List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
+        //厨卫老板
+        List<String> loginNames4=sysUserService.selectUserByIsManager(4);
+        //厨卫经理
+        List<String> loginNames5=sysUserService.selectUserByIsManager(5);
+        //厨卫仓管
+        List<String> loginNames7=sysUserService.selectUserByIsManager(7);
+        //厨卫业务人员
+        List<String> loginNames9=sysUserService.selectUserByIsManager(9);
+        List<String> collect4= loginNames4.stream().filter(item -> !interfaceList4.contains(item)).collect(Collectors.toList());
+        this.uninoncw(collect4, 4);
+        List<String> collect5 = loginNames5.stream().filter(item -> !interfaceList5.contains(item)).collect(Collectors.toList());
+        this.uninoncw(collect5, 5);
+        List<String> collect7 = loginNames7.stream().filter(item -> !interfaceList7.contains(item)).collect(Collectors.toList());
+        this.uninoncw(collect7, 7);
+        List<String> collect9 = loginNames9.stream().filter(item -> !interfaceList9.contains(item)).collect(Collectors.toList());
+        this.uninoncw(collect9, 9);
+        return count;
+    }
+
+    void uninoncw( List<String> collect, int isManager){
         if (collect.size() > 0) {
-        for (String login:collect
+            for (String login:collect
             ) {
                 SysUser u = sysUserService.selectUserByLoginName(login);
                 if(("0").equals(u.getIsSync())){
@@ -994,8 +1033,6 @@ public class AnalysisDiyCustomerComponent {
                 }
             }
         }
-
-        return count;
     }
 
     /***
@@ -1129,6 +1166,8 @@ public class AnalysisDiyCustomerComponent {
                             user.setUserName(name);
                             sysUserService.updateUserInfo(user);
                         }
+
+
                     }
                 }
             }catch (Exception e){

+ 2 - 2
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/impl/AnalysisSysUserService.java

@@ -683,10 +683,10 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                         if("1".equals(sysUser.getIsSync())){
                             continue;
                         }
-                        if(sysUser.getSysUserExt().getSalesLevel().equals("cw_emp")){
+                      /*  if(sysUser.getSysUserExt().getSalesLevel().equals("cw_emp")){
                             setExtOrgCodeY9(salesTreeMap, 4, userExt);
                             sysUserExtMapper.updateSysUserExt(sysUser.getSysUserExt());
-                        }
+                        }*/
                         if(!userExt.getSalesLevel().equals(sysUser.getSysUserExt().getSalesLevel())){
                             sysUserService.deleteByLoginName(user.getLoginName());
                         }