Browse Source

经销商用户同步用户关联经销商处理

njs 6 months ago
parent
commit
dd51d8a237

+ 314 - 293
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -643,6 +643,10 @@ public class AnalysisDiyCustomerComponent {
         for (int x = 0; x < jsonArray.size(); x++) {
             JSONObject jsonObject = jsonArray.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
+            Boolean isDelete = jsonObject.getBoolean("isDelete");
+            if(isDelete){
+                continue;
+            }
             if (loginName != null && !"".equals(loginName)) {
                 interfaceList.add(loginName);
             }
@@ -788,9 +792,11 @@ public class AnalysisDiyCustomerComponent {
                                 if (cusMap.containsKey(customerCode)) {
                                     Customers c = cusMap.get(customerCode);
                                     user.getSysUserExt().setOrgCode(c.getChainsCode());
+                                    user.getSysUserExt().setCustomerCode(c.getChainsCode());
                                     user.getSysUserExt().setOrgName(c.getChainsName());
                                 } else {
                                     user.getSysUserExt().setOrgCode(customerCode);
+                                    user.getSysUserExt().setCustomerCode(customerCode);
                                     user.getSysUserExt().setOrgName(customerName);
                                 }
                             }
@@ -823,52 +829,29 @@ public class AnalysisDiyCustomerComponent {
                         List<AssRelcustomerinfo> assRelcustomerinfoList = new ArrayList<>();
                         /*过滤导购*/
                         if (isManager != 0 && !("019").equals(user.getSysUserExt().getOrgCode().substring(0, 3)) && !("019").equals(user.getSysUserExt().getCustomerCode().substring(0, 3))) {
-                            if (user.getSysUserExt().getCustomerCode() != null && !customerCode.equals(user.getSysUserExt().getCustomerCode())) {
-                                assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
-                                if (assRelcustomerinfoList != null && assRelcustomerinfoList.size() > 0) {
-                                    assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(user.getUserId().toString(), customerCode);
-                                }
-                                assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
-                                if (assRelcustomerinfoList == null || assRelcustomerinfoList.size() == 0) {
+                            assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
+                            if (assRelcustomerinfoList != null && assRelcustomerinfoList.size() > 0) {
+                                assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(user.getUserId().toString(), customerCode);
+                            }
+                            if (user.getSysUserExt().getOrgCode() != null && !customerCode.equals(user.getSysUserExt().getOrgCode())) {
                                     AssRelcustomerinfo info = new AssRelcustomerinfo();
                                     info.setUserId(user.getUserId().toString());
-                                    if (isManager == 0) {
-                                        info.setMainkunnr(user.getSysUserExt().getOrgCode());
-                                    } else {
-                                        info.setMainkunnr(user.getSysUserExt().getCustomerCode());
-                                    }
-
+                                    info.setMainkunnr(user.getSysUserExt().getOrgCode());
                                     if (cusMap.containsKey(info.getMainkunnr())) {
                                         Customers c = cusMap.get(info.getMainkunnr());
                                         info.setMainname1(c.getChainsName());
                                     }
-
-//                            info.setMainname1(user.getSysUserExt().getOrgName());
                                     info.setKunnr(customerCode);
                                     if (customerName != null && customerName != "") {
                                         info.setName1(customerName);
                                     } else {
-                                        if (isManager == 0) {
-                                            String orgCode = jo.getString("depCode");
-                                            String code = null;
-                                            if (cusMap.containsKey(orgCode)) {
-                                                Customers c = cusMap.get(orgCode);
-                                                code = c.getChainsCode();
-                                            } else {
-                                                code = orgCode;
-                                            }
-                                            String Name = assRelcustomerinfoService.selectCustomerName(code);
-                                            info.setName1(Name);
-                                        } else {
-                                            String Name = assRelcustomerinfoService.selectCustomerName(customerCode);
-                                            info.setName1(Name);
-                                        }
+                                         String Name = assRelcustomerinfoService.selectCustomerName(customerCode);
+                                         info.setName1(Name);
                                     }
                                     info.setGlfs("用户关联");
                                     assRelcustomerinfoService.insertAssRelcustomerinfo(info);
 
                                 }
-                            }
                         }
                     }
                 }
@@ -904,8 +887,13 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     } else {
-                        u.setQuit("2");
-                        sysUserService.updateUserInfo(u);
+                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
+                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
+                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), u.getSysUserExt().getOrgCode());
+                        }else{
+                            u.setQuit("2");
+                            sysUserService.updateUserInfo(u);
+                        }
                     }
                 }
             }
@@ -921,259 +909,259 @@ public class AnalysisDiyCustomerComponent {
      * @param
      * @return
      */
-    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 > 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)){
-                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;
-        for(int i =0;i<jsonArray.size();i++){
-            JSONObject jo = jsonArray.getJSONObject(i);
-
-            try {
-                String role=jo.getString("role_code");
-              /*  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;
-                }
-
-
-                /*企业微信中成员启用状态。1表示启用的成员,0表示被禁用*/
-                /*if(enable==null||enable.trim().equals("0")){
-                    continue;
-                }
-                *//*企业微信中人员激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。*//*
-                if(status==null || !status.trim().equals("1")){
-                    continue;
-                }
-                *//*人员信息是否已更新入企业微信。true:更新成功false:更新失败*//*
-                if(!isSync){
-                    continue;
-                }
-                *//*人员信息是否被标记删除true:删除,false:未删除*//*
-                if(isDelete){
-                    continue;
-                }*/
-                if(userid==null||userid.trim().equals("")){
-                    continue;
-                }
-                loginNameSet = sysUserService.selectAllUserLoginName();
-                diyNameSet = sysUserService.selectDiyUserLoginName();
-                loginNameSet = loginNameSet.stream().map(String::toUpperCase).collect(Collectors.toSet());
-                if (!loginNameSet.contains(userid.toUpperCase().trim())) {
-
-                    /** =============用户基本信息构建 start===============*/
-                    SysUser user = new SysUser();
-                    user.setCompanyId(1L);
-                    user.setDeptId(deptId);
-                    user.setLoginName(userid);
-                    user.setUserName(jo.getString("name"));
-                    user.setPhonenumber(jo.getString("mobile"));
-                    if(role.equals("business")){
-                        user.setRoleIds(roleBusiness);
-                    } else if (diyNameSet.contains(userid) && !role.equals("business")) {
-                        user.setRoleIds(roleCwDiyIds);
-                    } else if(!role.equals("business")){
-                        user.setRoleIds(roleCwIds);
-                    }
-                    user.setPassword(user.getLoginName());
-                    user.setSalt(ShiroSaltUtil.randomSalt());
-                    user.setPassword(EncryptPassWordClass.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
-
-
-                    /** =============用户基本信息构建 end===============*/
-
-
-                    /**======== 构建diy用户扩展信息表 start===============*/
-                    SysUserExt userExt = new SysUserExt();
-                    userExt.setSalesLevel("customer_level");
-
-                    userExt.setIdentity(UserIdentityUtil.UI_CW);// 1=diy,2=ebr,3=all
-
-                    userExt.setCustomerCode(jo.getString("depCode"));
-                    userExt.setIsCustomerManager(isManager + "");
-                    userExt.setSapEmployeeId(userNo);
-
-                    userExt.setPostName("CW经销商");
-                    String orgCode = jo.getString("depCode");
-                    if(cusMap.containsKey(orgCode)){
-                        Customers c = cusMap.get(orgCode);
-                        userExt.setOrgCode(c.getChainsCode());
-                        userExt.setOrgName(c.getChainsName());
-                    }else{
-                        userExt.setOrgCode(orgCode);
-                        //userExt.setOrgName(customerName);
-                    }
-
-//                    /**======== 构建diy用户wx信息表 start===============*/
-//                    WxQyUser wxQyUser = new WxQyUser();
-//                    wxQyUser.setUserid(jo.getString("userid"));
-//                    wxQyUser.setMobile(jo.getString("mobile"));
-                    user.setSysUserExt(userExt);
-                    insertUserAndExt(user);
-                    count++;
-                    loginNameSet.add(userid);
-                }else{
-                    /*已经存在的,需要先清空职位,更新职位
-                    (首先查询当前用户职位,判断当前职位是否包含当前职位,不存在就更新,存在就不更新)*/
-                    SysUser user = sysUserService.selectUserByLoginName(userid);
-                    if(("0").equals(user.getIsSync())){
-                        //每个接口查询俩次是否有重复开始查询一次,快结束查一次
-                        //查询该用户是否存在该接口返回中
-                        if(user.getSysUserExt().getIsCustomerManager()==null ){
-                            user.getSysUserExt().setIsCustomerManager(isManager+ "");
-                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
-                        }
-                        List<AssRelcustomerinfo>  assRelcustomerinfoList=new ArrayList<>();
-                        if ( !("019").equals(user.getSysUserExt().getOrgCode().substring(0,3)) && !("019").equals(user.getSysUserExt().getCustomerCode().substring(0,3))) {
-                            if (!customerCode.equals(user.getSysUserExt().getCustomerCode())) {
-                                assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
-                                if (assRelcustomerinfoList != null && assRelcustomerinfoList.size() > 0) {
-                                    assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(user.getUserId().toString(), customerCode);
-                                }
-                                assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
-                                if (assRelcustomerinfoList == null || assRelcustomerinfoList.size() == 0) {
-                                    String customerName = assRelcustomerinfoService.selectCustomerName(customerCode);
-                                    AssRelcustomerinfo info = new AssRelcustomerinfo();
-                                    info.setUserId(user.getUserId().toString());
-                                    info.setMainkunnr(user.getSysUserExt().getCustomerCode());
-                                    info.setMainname1(user.getSysUserExt().getOrgName());
-                                    info.setKunnr(customerCode);
-                                    if (customerName != null && customerName != "") {
-                                        info.setName1(customerName);
-                                    }else {
-                                        if (cusMap.containsKey(info.getKunnr())) {
-                                            Customers c = cusMap.get(info.getKunnr());
-                                            info.setName1(c.getChainsName());
-                                        }
-                                    }
-                                    info.setGlfs("用户关联");
-                                    assRelcustomerinfoService.insertAssRelcustomerinfo(info);
-
-                                }
-
-                            }
-                        }
-                        if (diyNameSet.contains(userid) && !role.equals("business")) {
-                            sysUserService.insertUserRole(user.getUserId(), roleIds[0]);
-                            sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
-                        } else if(role.equals("business")){
-                            sysUserService.insertUserRole(user.getUserId(), roleBusiness[0]);
-                        }else if(!role.equals("business")) {
-                            sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
-                        }
-
-                        if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "") ||
-                                !user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
-                            if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "")) {
-                                /*更新职位*/
-                                user.getSysUserExt().setIsCustomerManager(user.getSysUserExt().getIsCustomerManager() + "," + isManager);
-                            }
-                            if (!user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
-                                /*更新经销商code*/
-                                if (cusMap.containsKey(customerCode)) {
-                                    Customers c = cusMap.get(customerCode);
-                                    user.getSysUserExt().setOrgCode(c.getChainsCode());
-                                    user.getSysUserExt().setOrgName(c.getChainsName());
-                                } else {
-                                    user.getSysUserExt().setOrgCode(customerCode);
-
-                                }
-                            }
-                            log.info("updateSysUserExt" + customerCode);
-                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
-                        }
-                        /*解决名称不一样的情况*/
-                        if(!user.getUserName().equals(name)){
-                            user.setUserName(name);
-                            sysUserService.updateUserInfo(user);
-                        }
-                        //更新 identity 1=diy,2=ebr,3=all
-                        if (diyNameSet.contains(userid) && !"1,2".equals(user.getSysUserExt().getIdentity())) {
-
-                            log.info("updateSysUserExt identity 1,2" + userid);
-                            user.getSysUserExt().setIdentity(UserIdentityUtil.UI_DIY+","+UserIdentityUtil.UI_CW);
-
-                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
-                        }
-                        if (!diyNameSet.contains(userid) && !"2".equals(user.getSysUserExt().getIdentity())) {
-                            log.info("updateSysUserExt identity 2" + userid);
-                            user.getSysUserExt().setIdentity(UserIdentityUtil.UI_CW);
-                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
-                        }
-                    }
-                }
-            }catch (Exception e){
-                log.error(e.getMessage());
-                e.printStackTrace();
-                SyncFailDetail syncFailDetail = new SyncFailDetail();
-                syncFailDetail.setPackageId(packageId);
-                syncFailDetail.setFailReason(e.getMessage());
-                syncFailDetail.setDataJson(jo.toJSONString());
-                syncFailDetail.setFailLevel("1");
-                syncFailDetail.setExceptionType(e.getClass().getSimpleName());
-                failDetails.add(syncFailDetail);
-            }
-        }
-        //厨卫老板
-        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 =new ArrayList<>();
-        loginNames4.removeAll(interfaceList4);
-        collect4.addAll(loginNames4);
-        this.uninoncw(collect4, 4);
-        List<String> collect5 =new ArrayList<>();
-        loginNames5.removeAll(interfaceList5);
-        collect5.addAll(loginNames5);
-        this.uninoncw(collect5, 5);
-        List<String> collect7 =new ArrayList<>();
-        loginNames7.removeAll(interfaceList7);
-        collect7.addAll(loginNames7);
-        this.uninoncw(collect7, 7);
-        List<String> collect9 =new ArrayList<>();
-        loginNames9.removeAll(interfaceList9);
-        collect9.addAll(loginNames9);
-        this.uninoncw(collect9, 9);
-        return count;
-    }
-
-    void uninoncw( List<String> collect, int isManager){
+//    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 > 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)){
+//                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;
+//        for(int i =0;i<jsonArray.size();i++){
+//            JSONObject jo = jsonArray.getJSONObject(i);
+//
+//            try {
+//                String role=jo.getString("role_code");
+//              /*  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;
+//                }
+//
+//
+//                /*企业微信中成员启用状态。1表示启用的成员,0表示被禁用*/
+//                /*if(enable==null||enable.trim().equals("0")){
+//                    continue;
+//                }
+//                *//*企业微信中人员激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。*//*
+//                if(status==null || !status.trim().equals("1")){
+//                    continue;
+//                }
+//                *//*人员信息是否已更新入企业微信。true:更新成功false:更新失败*//*
+//                if(!isSync){
+//                    continue;
+//                }
+//                *//*人员信息是否被标记删除true:删除,false:未删除*//*
+//                if(isDelete){
+//                    continue;
+//                }*/
+//                if(userid==null||userid.trim().equals("")){
+//                    continue;
+//                }
+//                loginNameSet = sysUserService.selectAllUserLoginName();
+//                diyNameSet = sysUserService.selectDiyUserLoginName();
+//                loginNameSet = loginNameSet.stream().map(String::toUpperCase).collect(Collectors.toSet());
+//                if (!loginNameSet.contains(userid.toUpperCase().trim())) {
+//
+//                    /** =============用户基本信息构建 start===============*/
+//                    SysUser user = new SysUser();
+//                    user.setCompanyId(1L);
+//                    user.setDeptId(deptId);
+//                    user.setLoginName(userid);
+//                    user.setUserName(jo.getString("name"));
+//                    user.setPhonenumber(jo.getString("mobile"));
+//                    if(role.equals("business")){
+//                        user.setRoleIds(roleBusiness);
+//                    } else if (diyNameSet.contains(userid) && !role.equals("business")) {
+//                        user.setRoleIds(roleCwDiyIds);
+//                    } else if(!role.equals("business")){
+//                        user.setRoleIds(roleCwIds);
+//                    }
+//                    user.setPassword(user.getLoginName());
+//                    user.setSalt(ShiroSaltUtil.randomSalt());
+//                    user.setPassword(EncryptPassWordClass.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
+//
+//
+//                    /** =============用户基本信息构建 end===============*/
+//
+//
+//                    /**======== 构建diy用户扩展信息表 start===============*/
+//                    SysUserExt userExt = new SysUserExt();
+//                    userExt.setSalesLevel("customer_level");
+//
+//                    userExt.setIdentity(UserIdentityUtil.UI_CW);// 1=diy,2=ebr,3=all
+//
+//                    userExt.setCustomerCode(jo.getString("depCode"));
+//                    userExt.setIsCustomerManager(isManager + "");
+//                    userExt.setSapEmployeeId(userNo);
+//
+//                    userExt.setPostName("CW经销商");
+//                    String orgCode = jo.getString("depCode");
+//                    if(cusMap.containsKey(orgCode)){
+//                        Customers c = cusMap.get(orgCode);
+//                        userExt.setOrgCode(c.getChainsCode());
+//                        userExt.setOrgName(c.getChainsName());
+//                    }else{
+//                        userExt.setOrgCode(orgCode);
+//                        //userExt.setOrgName(customerName);
+//                    }
+//
+////                    /**======== 构建diy用户wx信息表 start===============*/
+////                    WxQyUser wxQyUser = new WxQyUser();
+////                    wxQyUser.setUserid(jo.getString("userid"));
+////                    wxQyUser.setMobile(jo.getString("mobile"));
+//                    user.setSysUserExt(userExt);
+//                    insertUserAndExt(user);
+//                    count++;
+//                    loginNameSet.add(userid);
+//                }else{
+//                    /*已经存在的,需要先清空职位,更新职位
+//                    (首先查询当前用户职位,判断当前职位是否包含当前职位,不存在就更新,存在就不更新)*/
+//                    SysUser user = sysUserService.selectUserByLoginName(userid);
+//                    if(("0").equals(user.getIsSync())){
+//                        //每个接口查询俩次是否有重复开始查询一次,快结束查一次
+//                        //查询该用户是否存在该接口返回中
+//                        if(user.getSysUserExt().getIsCustomerManager()==null ){
+//                            user.getSysUserExt().setIsCustomerManager(isManager+ "");
+//                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
+//                        }
+//                        List<AssRelcustomerinfo>  assRelcustomerinfoList=new ArrayList<>();
+//                        if ( !("019").equals(user.getSysUserExt().getOrgCode().substring(0,3)) && !("019").equals(user.getSysUserExt().getCustomerCode().substring(0,3))) {
+//                            if (!customerCode.equals(user.getSysUserExt().getCustomerCode())) {
+//                                assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
+//                                if (assRelcustomerinfoList != null && assRelcustomerinfoList.size() > 0) {
+//                                    assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(user.getUserId().toString(), customerCode);
+//                                }
+//                                assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(customerCode, user.getUserId().toString());
+//                                if (assRelcustomerinfoList == null || assRelcustomerinfoList.size() == 0) {
+//                                    String customerName = assRelcustomerinfoService.selectCustomerName(customerCode);
+//                                    AssRelcustomerinfo info = new AssRelcustomerinfo();
+//                                    info.setUserId(user.getUserId().toString());
+//                                    info.setMainkunnr(user.getSysUserExt().getCustomerCode());
+//                                    info.setMainname1(user.getSysUserExt().getOrgName());
+//                                    info.setKunnr(customerCode);
+//                                    if (customerName != null && customerName != "") {
+//                                        info.setName1(customerName);
+//                                    }else {
+//                                        if (cusMap.containsKey(info.getKunnr())) {
+//                                            Customers c = cusMap.get(info.getKunnr());
+//                                            info.setName1(c.getChainsName());
+//                                        }
+//                                    }
+//                                    info.setGlfs("用户关联");
+//                                    assRelcustomerinfoService.insertAssRelcustomerinfo(info);
+//
+//                                }
+//
+//                            }
+//                        }
+//                        if (diyNameSet.contains(userid) && !role.equals("business")) {
+//                            sysUserService.insertUserRole(user.getUserId(), roleIds[0]);
+//                            sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
+//                        } else if(role.equals("business")){
+//                            sysUserService.insertUserRole(user.getUserId(), roleBusiness[0]);
+//                        }else if(!role.equals("business")) {
+//                            sysUserService.insertUserRole(user.getUserId(), roleCwIds[0]);
+//                        }
+//
+//                        if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "") ||
+//                                !user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
+//                            if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "")) {
+//                                /*更新职位*/
+//                                user.getSysUserExt().setIsCustomerManager(user.getSysUserExt().getIsCustomerManager() + "," + isManager);
+//                            }
+//                            if (!user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
+//                                /*更新经销商code*/
+//                                if (cusMap.containsKey(customerCode)) {
+//                                    Customers c = cusMap.get(customerCode);
+//                                    user.getSysUserExt().setOrgCode(c.getChainsCode());
+//                                    user.getSysUserExt().setOrgName(c.getChainsName());
+//                                } else {
+//                                    user.getSysUserExt().setOrgCode(customerCode);
+//
+//                                }
+//                            }
+//                            log.info("updateSysUserExt" + customerCode);
+//                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
+//                        }
+//                        /*解决名称不一样的情况*/
+//                        if(!user.getUserName().equals(name)){
+//                            user.setUserName(name);
+//                            sysUserService.updateUserInfo(user);
+//                        }
+//                        //更新 identity 1=diy,2=ebr,3=all
+//                        if (diyNameSet.contains(userid) && !"1,2".equals(user.getSysUserExt().getIdentity())) {
+//
+//                            log.info("updateSysUserExt identity 1,2" + userid);
+//                            user.getSysUserExt().setIdentity(UserIdentityUtil.UI_DIY+","+UserIdentityUtil.UI_CW);
+//
+//                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
+//                        }
+//                        if (!diyNameSet.contains(userid) && !"2".equals(user.getSysUserExt().getIdentity())) {
+//                            log.info("updateSysUserExt identity 2" + userid);
+//                            user.getSysUserExt().setIdentity(UserIdentityUtil.UI_CW);
+//                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
+//                        }
+//                    }
+//                }
+//            }catch (Exception e){
+//                log.error(e.getMessage());
+//                e.printStackTrace();
+//                SyncFailDetail syncFailDetail = new SyncFailDetail();
+//                syncFailDetail.setPackageId(packageId);
+//                syncFailDetail.setFailReason(e.getMessage());
+//                syncFailDetail.setDataJson(jo.toJSONString());
+//                syncFailDetail.setFailLevel("1");
+//                syncFailDetail.setExceptionType(e.getClass().getSimpleName());
+//                failDetails.add(syncFailDetail);
+//            }
+//        }
+//        //厨卫老板
+//        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 =new ArrayList<>();
+//        loginNames4.removeAll(interfaceList4);
+//        collect4.addAll(loginNames4);
+//        this.uninoncw(collect4, 4);
+//        List<String> collect5 =new ArrayList<>();
+//        loginNames5.removeAll(interfaceList5);
+//        collect5.addAll(loginNames5);
+//        this.uninoncw(collect5, 5);
+//        List<String> collect7 =new ArrayList<>();
+//        loginNames7.removeAll(interfaceList7);
+//        collect7.addAll(loginNames7);
+//        this.uninoncw(collect7, 7);
+//        List<String> collect9 =new ArrayList<>();
+//        loginNames9.removeAll(interfaceList9);
+//        collect9.addAll(loginNames9);
+//        this.uninoncw(collect9, 9);
+//        return count;
+//    }
+
+    /*void uninoncw( List<String> collect, int isManager){
         if (collect.size() > 0) {
             for (String login:collect
             ) {
@@ -1196,7 +1184,7 @@ public class AnalysisDiyCustomerComponent {
                 }
             }
         }
-    }
+    }*/
 
     /***
      *
@@ -1209,6 +1197,10 @@ public class AnalysisDiyCustomerComponent {
         for(int x =0;x<STAFF.size();x++){
             JSONObject jsonObject = STAFF.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
+            Boolean isDelete = jsonObject.getBoolean("isDelete");
+            if(isDelete){
+                continue;
+            }
             if(loginName !=null && !"".equals(loginName)){
                     interfaceList8.add(loginName);
             }
@@ -1315,9 +1307,11 @@ public class AnalysisDiyCustomerComponent {
                                 if (cusMap.containsKey(customerCode)) {
                                     Customers c = cusMap.get(customerCode);
                                     user.getSysUserExt().setOrgCode(c.getChainsCode());
+                                    user.getSysUserExt().setCustomerCode(c.getChainsCode());
                                     user.getSysUserExt().setOrgName(c.getChainsName());
 
                                 } else {
+                                    user.getSysUserExt().setCustomerCode(customerCode);
                                     user.getSysUserExt().setOrgCode(customerCode);
 
                                 }
@@ -1366,8 +1360,13 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     }else{
-                        u.setQuit("2");
-                        sysUserService.updateUserInfo(u);
+                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
+                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
+                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), u.getSysUserExt().getOrgCode());
+                        }else{
+                            u.setQuit("2");
+                            sysUserService.updateUserInfo(u);
+                        }
                     }
                 }
             }
@@ -1387,6 +1386,10 @@ public class AnalysisDiyCustomerComponent {
         for(int x =0;x<BZ.size();x++){
             JSONObject jsonObject = BZ.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
+            Boolean isDelete = jsonObject.getBoolean("isDelete");
+            if(isDelete){
+                continue;
+            }
             if(loginName !=null && !"".equals(loginName)){
                     interfaceList5.add(loginName);
             }
@@ -1493,8 +1496,10 @@ public class AnalysisDiyCustomerComponent {
                                 if (cusMap.containsKey(customerCode)) {
                                     Customers c = cusMap.get(customerCode);
                                     user.getSysUserExt().setOrgCode(c.getChainsCode());
+                                    user.getSysUserExt().setCustomerCode(c.getChainsCode());
                                     user.getSysUserExt().setOrgName(c.getChainsName());
                                 } else {
+                                    user.getSysUserExt().setCustomerCode(customerCode);
                                     user.getSysUserExt().setOrgCode(customerCode);
                                 }
                             }
@@ -1542,8 +1547,13 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     }else{
-                        u.setQuit("2");
-                        sysUserService.updateUserInfo(u);
+                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
+                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
+                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), u.getSysUserExt().getOrgCode());
+                        }else{
+                            u.setQuit("2");
+                            sysUserService.updateUserInfo(u);
+                        }
                     }
                 }
             }
@@ -1565,6 +1575,10 @@ public class AnalysisDiyCustomerComponent {
         for(int x =0;x<jsonArray.size();x++){
             JSONObject jsonObject = jsonArray.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
+            Boolean isDelete = jsonObject.getBoolean("isDelete");
+            if(isDelete){
+                continue;
+            }
             if(loginName!=null && !"".equals(loginName)){
                 interfaceList.add(loginName);
             }
@@ -1686,8 +1700,10 @@ public class AnalysisDiyCustomerComponent {
                                 if (cusMap.containsKey(customerCode)) {
                                     Customers c = cusMap.get(customerCode);
                                     user.getSysUserExt().setOrgCode(c.getChainsCode());
+                                    user.getSysUserExt().setCustomerCode(c.getChainsCode());
                                     user.getSysUserExt().setOrgName(c.getChainsName());
                                 } else {
+                                    user.getSysUserExt().setCustomerCode(customerCode);
                                     user.getSysUserExt().setOrgCode(customerCode);
                                 }
                             }
@@ -1734,8 +1750,13 @@ public class AnalysisDiyCustomerComponent {
                         u.getSysUserExt().setIsCustomerManager(IsManager);
                         sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
                     } else {
-                        u.setQuit("2");
-                        sysUserService.updateUserInfo(u);
+                        List<AssRelcustomerinfo> assRelcustomerinfoList = assRelcustomerinfoService.selectRelcustomerinfoByKunnr(null, String.valueOf(u.getUserId()));
+                        if(assRelcustomerinfoList !=null && assRelcustomerinfoList.size()>0){
+                            assRelcustomerinfoService.deleteAssRelcustomerinfoByUserId(u.getUserId().toString(), u.getSysUserExt().getOrgCode());
+                        }else{
+                            u.setQuit("2");
+                            sysUserService.updateUserInfo(u);
+                        }
                     }
                 }
             }

+ 7 - 7
suishenbang-system/src/main/resources/mapper/system/AssRelcustomerinfoMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dgtly.system.mapper.AssRelcustomerinfoMapper">
-    
+
     <resultMap type="AssRelcustomerinfo" id="AssRelcustomerinfoResult">
         <result property="id"    column="id"    />
         <result property="createBy"    column="create_by"    />
@@ -28,7 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectAssRelcustomerinfoList" parameterType="AssRelcustomerinfo" resultMap="AssRelcustomerinfoResult">
         <include refid="selectAssRelcustomerinfoVo"/>
-        <where>  
+        <where>
             <if test="isDelete != null "> and is_delete = #{isDelete}</if>
             <if test="mainkunnr != null  and mainkunnr != ''"> and mainkunnr = #{mainkunnr}</if>
             <if test="mainname1 != null  and mainname1 != ''"> and mainname1 = #{mainname1}</if>
@@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="etlCreatetime != null "> and ETL_createtime = #{etlCreatetime}</if>
         </where>
     </select>
-    
+
     <select id="selectAssRelcustomerinfoById" parameterType="Long" resultMap="AssRelcustomerinfoResult">
         <include refid="selectAssRelcustomerinfoVo"/>
         where id = #{id}
@@ -72,7 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where
         glfs = '用户关联'
         <if test="kunnr !=null and kunnr !=''">
-           and kunnr=#{kunnr}
+            and (kunnr =#{kunnr} or mainkunnr =#{kunnr})
         </if>
         <if test="userId !=null and userId !=''">
             and user_id=#{userId}
@@ -223,7 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteAssRelcustomerinfoByIds" parameterType="String">
-        delete from ass_relcustomerinfo where id in 
+        delete from ass_relcustomerinfo where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
@@ -239,7 +239,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and  user_id =#{userId}
         </if>
         <if test="customerCode !=null and customerCode !='' ">
-            and kunnr=#{customerCode}
+            and( kunnr =#{customerCode} or mainkunnr =#{customerCode})
         </if>
          and glfs='用户关联'
     </delete>
@@ -255,4 +255,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select  mainkunnr as mainkunnr,mainname1 as  mainname1 FROM `ass_relcustomerinfo`
         UNION select  kunnr as mainkunnr,name1 as mainname1 FROM `ass_relcustomerinfo`
     </select>
-</mapper>
+</mapper>