瀏覽代碼

组织架构变动,立邦员工同步改动

njs 2 年之前
父節點
當前提交
f8ce02811f

+ 1 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/mapper/MetaEmployeeDiyMapper.java

@@ -35,7 +35,7 @@ public interface MetaEmployeeDiyMapper
      * @param
      * @return 立邦雇员数据同步集合
      */
-    public List<MetaEmployeeDiy> selectMetaEmployeetClueReporting(@Param("businessUnitList") List<String> businessUnitList);
+    public List<MetaEmployeeDiy> selectMetaEmployeetClueReporting();
 
     /**
      * 新增立邦雇员数据同步

+ 1 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/IAnalysisSysUserService.java

@@ -16,7 +16,7 @@ public interface IAnalysisSysUserService {
      * @param packageId
      * @return
      */
-    public SyncLog analysisSysCwUser(String packageId);
+    /*public SyncLog analysisSysCwUser(String packageId);*/
     
     /**
      * @description: 解析雅士利部门数据

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

@@ -59,217 +59,6 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
     @Autowired
     private SysUserExtMapper sysUserExtMapper;
 
-
-    /**
-     * 解析DIY用户数据  异步执行
-     * @param packageId
-     * @return
-     */
-    @Async
-    public SyncLog analysisSysUserOld(String packageId){
-        //解析逻辑件DIY用户逻辑.jpg
-        MetaEmployeeDiy param = new MetaEmployeeDiy();
-        if(packageId==null||packageId.trim().equals("")){
-            Long l = new Date().getTime();
-            packageId = l.toString();
-        }else{
-            param.setPackageId(packageId);
-        }
-        param.setBusinessUnit("DIY");
-
-        List<MetaEmployeeDiy> metaEmployeeDiys = metaEmployeeDiyMapper.selectMetaEmployeeDiyList(param);
-        SyncLog syncLog = new SyncLog();
-        syncLog.setSyncType("sysuser");
-        syncLog.setStartTime(new Date());
-
-        Set<String> loginNameList = sysUserService.selectAllUserLoginName();
-
-
-        syncLog.setPackageId(packageId);
-        syncLog.setTotalCount((long)metaEmployeeDiys.size());
-        List<SyncFailDetail> failDetails = new ArrayList<>();
-        long successCount = 0;
-        long failCount = 0;
-
-        Long deptId = Long.parseLong(configService.selectConfigByKey("libang.user.deptid"));
-        Long roleId = Long.parseLong(configService.selectConfigByKey("libang.user.roleid"));
-        Long[] roleIds = {roleId};
-        if(metaEmployeeDiys.size()>0){
-
-            //用户objid3为列表内的内容才为DIY人员
-            Set<String> diyObjid3Set =  getConfigValueSet("libang_diyobjid3");
-            //用户岗位名称为列表的内容才是区公司级别人员
-            Set<String> companySet =  getConfigValueSet("libang_company_level_postname");
-            //用户岗位名称为列表的内容才是销售大区级别人员
-            Set<String> saledeptSet =  getConfigValueSet("libang_saledept_level_postname");
-            //用户岗位名称为列表的内容才是销售部级别人员
-            Set<String> officeSet =  getConfigValueSet("libang_office_level_postname");
-            //用户岗位名称为列表的内容才是销售分部级别人员
-            Set<String> subofficeSet =  getConfigValueSet("libang_suboffice_level_postname");
-            //用户岗位名称为列表的内容才是销售员级别人员
-            Set<String> empSet =  getConfigValueSet("libang_emp_level_postname");
-            Map<Integer,Map<String,Map<String,String>>>  salesTreeMap = getDiySalesOrgTree();
-
-
-
-            for(MetaEmployeeDiy m:metaEmployeeDiys) {
-                try {
-                    //用户是否属于DIY筛选范围
-//                    if(!diyObjid3Set.contains(m.getStext3())){
-//                        throw new OutOfScopeDIYException(m);
-//                    }
-                    /** =============用户基本信息构建 start===============*/
-                    SysUser user = new SysUser();
-                    user.setCompanyId(1L);
-                    user.setDeptId(deptId);
-                    user.setLoginName(m.getLoginName());
-                    user.setUserName(m.getName());
-                    user.setEmail(m.getEmail());
-                    user.setPhonenumber(m.getMobile());
-                    String sex = ""+(Integer.parseInt(m.getSex())-1);
-                    user.setSex(sex);
-                    user.setRoleIds(roleIds);
-                    if (m.getStatus() == 0) {
-                        user.setStatus("1");
-                        user.setDelFlag("2");
-                    } else {
-                        user.setStatus("0");
-                    }
-                    /** =============用户基本信息构建 end===============*/
-
-
-
-                    /**======== 构建diy用户扩展信息表 start===============*/
-                    SysUserExt userExt = new SysUserExt();
-                    userExt.setBossEmployeeId(m.getBossEmployeeId());
-                    userExt.setBossName(m.getBossName());
-                    userExt.setDuty(m.getDuty());
-                    userExt.setDutyName(m.getDutyName());
-                    userExt.setSapEmployeeId(m.getSapEmployeeId());
-                    userExt.setPostCode(m.getEmployeePost());
-                    String postName = m.getEmployeePostName();
-                    userExt.setPostName(postName);
-
-                    //判断用户所处销售层级
-                    //先啊判断用户所属的岗位名称确定销售部门
-                    if(companySet.contains(postName)){
-                        //先处理特殊的第三级 区公司级别
-                        userExt.setSalesLevel("company_level");
-                        userExt.setOrgName(m.getStext4());
-                        setExtOrgCodeOn3(salesTreeMap,userExt);
-
-                    }else {
-                        //判断用户u岗位是否在销售员敢为、销售分部岗位、销售部岗位、销售大区岗位中
-                        if(empSet.contains(postName)||subofficeSet.contains(postName)||officeSet.contains(postName)||saledeptSet.contains(postName)){
-                            //获取最后所属的部门名称
-                            String orgName = getStext(m);
-                            if(orgName.indexOf("通路推广组")!=-1){
-                                orgName =  getStextSecond(m);
-                            }
-                            userExt.setOrgName(orgName);
-                            int i = getLevel(userExt,salesTreeMap);
-                            if (i==-1){
-                                throw new NotFountOrgCodeException(m);
-                            }
-                            switch (i){
-                                case 6:
-                                    if(empSet.contains(m.getEmployeePostName())){
-                                        //等级6 销售员
-                                        userExt.setSalesLevel("emp_level");
-                                    }else if(subofficeSet.contains(m.getEmployeePostName())){
-                                        //等级6 销售分部
-                                        userExt.setSalesLevel("suboffice_level");
-                                    }
-                                    break;
-                                case 5:
-                                    userExt.setSalesLevel("office_level");
-                                    break;
-                                case 4:
-                                    userExt.setSalesLevel("saledept_level");
-                                    break;
-                                case 3:
-                                    userExt.setSalesLevel("company_level");
-                                    break;
-                            }
-                        }else{
-                            throw new OutOfDIYPostNameException(m);
-                        }
-                    }
-
-//                    if(userExt.getOrgCode()==null){
-//                        throw new NotFountOrgCodeException(m);
-//                    }
-
-                    /**======== 构建diy用户扩展信息表 end===============*/
-                    loginNameList = loginNameList.stream().map(String::toUpperCase).collect(Collectors.toSet());
-                    if (loginNameList.contains(user.getLoginName().toUpperCase())) {
-                        /**  更新 */
-                        SysUser userInDb =sysUserService.selectUserByLoginName(user.getLoginName());
-                        if(!userInDb.getSysUserExt().getSalesLevel().equals("diy_level")){
-                            user.setSysUserExt(userExt);
-                        }
-                        user.setUpdateTime(new Date());
-                        sysUserService.updateUserInfoAndSalesExt(user);
-                    } else {
-                        /**  插入 */
-                        //修改密码并加密
-                        user.setPassword(m.getLoginName());
-                        user.setSalt(ShiroSaltUtil.randomSalt());
-                        user.setPassword(EncryptPassWordClass.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
-                        user.setSysUserExt(userExt);
-                        sysUserService.insertUserAndSalesExt(user);
-                        successCount++;
-                    }
-                }catch (OutOfScopeDIYException|NotFountOrgCodeException|OutOfDIYPostNameException|OutOfLeveLException|NotOrgNameException e){
-                    /**
-                     * 警告类异常
-                     */
-                    SyncFailDetail syncFailDetail = new SyncFailDetail();
-                    syncFailDetail.setPackageId(packageId);
-                    syncFailDetail.setFailReason(e.getMessage());
-                    syncFailDetail.setDataJson(JSONObject.toJSONString(m));
-                    syncFailDetail.setFailLevel("0");
-                    syncFailDetail.setExceptionType(e.getClass().getSimpleName());
-                    failDetails.add(syncFailDetail);
-                    failCount++;
-                }catch (Exception e) {
-                    /**
-                     * 错误异常
-                     */
-                    SyncFailDetail syncFailDetail = new SyncFailDetail();
-                    syncFailDetail.setPackageId(packageId);
-                    syncFailDetail.setFailReason(e.getMessage());
-                    syncFailDetail.setDataJson(JSONObject.toJSONString(m));
-                    syncFailDetail.setFailLevel("1");
-                    syncFailDetail.setExceptionType(e.getClass().getSimpleName());
-                    failDetails.add(syncFailDetail);
-                    e.printStackTrace();
-                    log.error("解析用户出错", e);
-                    failCount++;
-                }
-            }
-            syncLog.setSuccessCount(successCount);
-            syncLog.setFaileCount(failCount);
-        }else{
-            syncLog.setSuccessCount(0l);
-            syncLog.setFaileCount(0l);
-        }
-        try{
-            syncLog.setEndTime(new Date());
-            if(failDetails.size()>0){
-                syncFailDetailMapper.batchInsertSyncFailDetail(failDetails);
-            }
-        }catch (Exception e){
-            log.error("解析用户插入解析日志出错",e);
-            e.printStackTrace();
-            throw new BusinessException("解析用户插入解析日志出错",e);
-        }finally {
-            syncLogService.insertSyncLog(syncLog);
-        }
-        return syncLog;
-
-    }
-
     /**
      * 解析DIY用户数据  异步执行(new)
      * @param packageId
@@ -311,7 +100,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
             Set<String> diyObjid3Set =  getConfigValueSet("libang_diyobjid3");
             //用户岗位名称为列表的内容才是区公司级别人员
             Set<String> companySet =  getConfigValueSet("libang_company_level_postname");
-            //用户岗位名称为列表的内容才是销售大区级别人员
+            //用户岗位名称为列表的内容才是销售大区级别人员(此层级已废弃)
             Set<String> saledeptSet =  getConfigValueSet("libang_saledept_level_postname");
             //用户岗位名称为列表的内容才是销售部级别人员
             Set<String> officeSet =  getConfigValueSet("libang_office_level_postname");
@@ -342,7 +131,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                     user.setUserName(m.getName());
                     user.setEmail(m.getEmail());
                     user.setPhonenumber(m.getMobile());
-                    String sex = ""+(Integer.parseInt(m.getSex())-1);
+                    String sex = "" + (Integer.parseInt(m.getSex()) - 1);
                     user.setSex(sex);
                     user.setRoleIds(roleIds);
                     if (m.getStatus() == 0) {
@@ -367,21 +156,21 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
 
                     //判断用户所处销售层级
                     //先啊判断用户所属的岗位名称确定销售部门
-                    if(companySet.contains(postName)){
+                    if(companySet.contains(postName) || empSet.contains(postName)||subofficeSet.contains(postName)||officeSet.contains(postName)||saledeptSet.contains(postName)){
+                    if (companySet.contains(postName)) {
                         //先处理特殊的第三级 区公司级别
                         userExt.setOrgName(m.getStext5());
-                        int i = getLevel(userExt,salesTreeMap);
-                        if(i==4){//职位都有时判断部门 大区
+                        int i = getLevel(userExt, salesTreeMap);
+                        if (i == 4) {//职位都有时判断部门 大区
                             userExt.setSalesLevel("office_level");
-                        }else{
+                        } else {
                             userExt.setSalesLevel("company_level");
-                            userExt.setOrgName(m.getStext4());
-                            setExtOrgCodeOn3(salesTreeMap,userExt);
+                            userExt.setOrgName(m.getStext3());
+                            setExtOrgCodeOn3(salesTreeMap, userExt);
                         }
-
-                    }else {
-                        //判断用户u岗位是否在销售员敢为、销售分部岗位、销售部岗位、销售大区岗位中
-                        if(empSet.contains(postName)||subofficeSet.contains(postName)||officeSet.contains(postName)||saledeptSet.contains(postName)){
+                    //判断用户u岗位是否在销售员敢为、销售分部岗位、销售部岗位、销售大区岗位中
+                    }
+                    if(empSet.contains(postName)||subofficeSet.contains(postName)||officeSet.contains(postName)||saledeptSet.contains(postName)){
                             //获取最后所属的部门名称
                             String orgName = getStext(m);
                             if(orgName.indexOf("通路推广组")!=-1){
@@ -415,7 +204,8 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                                     userExt.setSalesLevel("company_level");
                                     break;
                             }
-                        }else {
+                        }
+                    }else {
                             log.error("DIY用户对应的岗位未找到!当前用户信息: " + m.getLoginName() + " , 岗位名称: " + postName);
                             SyncFailDetail syncFailDetail = new SyncFailDetail();
                             syncFailDetail.setPackageId(packageId);
@@ -447,7 +237,6 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                             continue;
                         }
 
-                    }
 
 //                    if(userExt.getOrgCode()==null){
 //                        throw new NotFountOrgCodeException(m);
@@ -543,7 +332,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
      * @param packageId
      * @return
      */
-    @Override
+   /* @Override
     @Async
     public SyncLog analysisSysCwUser(String packageId) {
         MetaEmployeeDiy param = new MetaEmployeeDiy();
@@ -591,7 +380,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
 //                    if(!diyObjid3Set.contains(m.getStext3())){
 //                        throw new OutOfScopeDIYException(m);
 //                    }
-                    /** =============用户基本信息构建 start===============*/
+                    *//** =============用户基本信息构建 start===============*//*
                     SysUser user = new SysUser();
                     user.setCompanyId(1L);
                     user.setDeptId(deptId);
@@ -608,10 +397,10 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                     } else {
                         user.setStatus("0");
                     }
-                    /** =============用户基本信息构建 end===============*/
+                    *//** =============用户基本信息构建 end===============*//*
 
 
-                    /**======== 构建diy用户扩展信息表 start===============*/
+                    *//**======== 构建diy用户扩展信息表 start===============*//*
                     SysUserExt userExt = new SysUserExt();
                     userExt.setBossEmployeeId(m.getBossEmployeeId());
                     userExt.setBossName(m.getBossName());
@@ -681,18 +470,18 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                     }
 
 
-                    /**======== 构建diy用户扩展信息表 end===============*/
+                    *//**======== 构建diy用户扩展信息表 end===============*//*
                     loginNameList = loginNameList.stream().map(String::toUpperCase).collect(Collectors.toSet());
                     if (loginNameList.contains(user.getLoginName().toUpperCase())) {
-                        /**  更新 */
+                        *//**  更新 *//*
                         SysUser sysUser=sysUserService.selectUserByLoginName(user.getLoginName());
                         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());
                         }
@@ -711,7 +500,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                         user.setUpdateTime(new Date());
                         sysUserService.updateUserInfoAndSalesExt(user);
                     } else {
-                        /**  插入 */
+                        *//**  插入 *//*
 
                         userExt.setIdentity(UserIdentityUtil.UI_CW);
 
@@ -724,9 +513,9 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                         successCount++;
                     }
                 } catch (OutOfScopeDIYException | NotFountOrgCodeException | OutOfDIYPostNameException | OutOfLeveLException | NotOrgNameException e) {
-                    /**
+                    *//**
                      * 警告类异常
-                     */
+                     *//*
                     SyncFailDetail syncFailDetail = new SyncFailDetail();
                     syncFailDetail.setPackageId(packageId);
                     syncFailDetail.setFailReason(e.getMessage());
@@ -736,9 +525,9 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                     failDetails.add(syncFailDetail);
                     failCount++;
                 } catch (Exception e) {
-                    /**
+                    *//**
                      * 错误异常
-                     */
+                     *//*
                     SyncFailDetail syncFailDetail = new SyncFailDetail();
                     syncFailDetail.setPackageId(packageId);
                     syncFailDetail.setFailReason(e.getMessage());
@@ -770,7 +559,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
             syncLogService.insertSyncLog(syncLog);
         }
         return syncLog;
-    }
+    }*/
 
     @Override
     public SyncLog analysisSysYSLUser(String packageId) {
@@ -899,7 +688,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
                            sysUserService.deleteByLoginName(user.getLoginName());
                        }
                        //if(!sysUser.getSysUserExt().getPostCode().equals(userExt.getPostCode())){
-                           log.error("解析cw部门不一致情况原/新", sysUser.getSysUserExt().getPostCode()+"/"+userExt.getPostCode());
+                           log.error("解析ysl部门不一致情况原/新", sysUser.getSysUserExt().getPostCode()+"/"+userExt.getPostCode());
                            SysUserRole role=new SysUserRole();
                            role.setUserId(sysUser.getUserId());
                            userRoleMapper.deleteUserRoleInfo(role);
@@ -973,11 +762,7 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
 
     @Override
     public SyncLog analysisSysClueReporting() {
-        List<String> businessUnitList=new ArrayList<>();
-        businessUnitList.add("CW");
-        businessUnitList.add("YSL");
-        businessUnitList.add("DIY");
-        List<MetaEmployeeDiy> metaEmployeeDiys = metaEmployeeDiyMapper.selectMetaEmployeetClueReporting(businessUnitList);
+        List<MetaEmployeeDiy> metaEmployeeDiys = metaEmployeeDiyMapper.selectMetaEmployeetClueReporting();
         SyncLog syncLog = new SyncLog();
         syncLog.setSyncType("sysuserClueReporting");
         syncLog.setStartTime(new Date());

+ 2 - 7
suishenbang-sync/suishenbang-sync-common/src/main/resources/mapper/sync/MetaEmployeeDiyMapper.xml

@@ -262,13 +262,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectMetaEmployeetClueReporting" parameterType="MetaEmployeeDiy" resultMap="MetaEmployeeDiyResult">
         <include refid="selectMetaEmployeeDiyVo"/>
-        <where>
-             and  business_unit not in
-            <foreach collection="businessUnitList" item="businessUnit" index="index" open="(" close=")" separator=",">
-                    #{businessUnit}
-            </foreach>
-
-        </where>
+        where 1=1
+             and  business_unit not in ('YSL','DIY')
     </select>
     
 </mapper>

+ 1 - 1
suishenbang-sync/suishenbang-sync-manager/src/main/java/com/dgtly/sync/controller/SyncController.java

@@ -66,7 +66,7 @@ public class SyncController {
     public Object user(String packageId, String jobId, String message){
         try{
             analysisSysUserService.analysisSysUser(null);
-            analysisSysUserService.analysisSysCwUser(null);
+            //analysisSysUserService.analysisSysCwUser(null);
             analysisSysUserService.analysisSysYSLUser(null);
             analysisSysUserService.analysisSysClueReporting();
         }catch (Exception e){

+ 1 - 1
suishenbang-sync/suishenbang-sync-manager/src/main/java/com/dgtly/sync/controller/SyncLogController.java

@@ -110,7 +110,7 @@ public class SyncLogController extends BaseController
     public Object user(){
         try{
             analysisSysUserService.analysisSysUser(null);
-            analysisSysUserService.analysisSysCwUser(null);
+            //analysisSysUserService.analysisSysCwUser(null);
             analysisSysUserService.analysisSysYSLUser(null);
             analysisSysUserService.analysisSysClueReporting();
         }catch (Exception e){

+ 5 - 5
suishenbang-system/src/main/java/com/dgtly/system/service/impl/SysUserOrderAuthorServiceImpl.java

@@ -319,25 +319,25 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
         List<SysUserOrderAuthor> diyrole=sysUserOrderAuthorMapper.selectByParentId(diyauthList);
         userOrderAuthorDiyList.addAll(diyrole);
         //cw
-        List<SysUserOrderAuthor> userOrderAuthorCwList = sysUserOrderAuthorMapper.selectAuthorIdByCode("tuc_cw");
+       /* List<SysUserOrderAuthor> userOrderAuthorCwList = sysUserOrderAuthorMapper.selectAuthorIdByCode("tuc_cw");
         List<Long> cwauthList=userOrderAuthorCwList.stream().map(SysUserOrderAuthor::getAuthorId).collect(Collectors.toList());
         List<SysUserOrderAuthor> cwrole=sysUserOrderAuthorMapper.selectByParentId(cwauthList);
-        userOrderAuthorCwList.addAll(cwrole);
+        userOrderAuthorCwList.addAll(cwrole);*/
        //ysl
         List<SysUserOrderAuthor> userOrderAuthorYSLList = sysUserOrderAuthorMapper.selectAuthorIdByCode("YSL");
         List<Long> yslauthList=userOrderAuthorYSLList.stream().map(SysUserOrderAuthor::getAuthorId).collect(Collectors.toList());
         List<SysUserOrderAuthor> yslrole=sysUserOrderAuthorMapper.selectByParentId(yslauthList);
-        userOrderAuthorCwList.addAll(yslrole);
+        userOrderAuthorYSLList.addAll(yslrole);
 
         userExtMapper.selectUserExtList().forEach(sysUserExt -> {
             String sales = sysUserExt.getSalesLevel();
             if (sales != null) {
             int index = sales.indexOf("_");
             String intNumber = sales.substring(0, index);
-            if (intNumber.equals("cw")) {
+          /*  if (intNumber.equals("cw")) {
                 userOrderAuthorList.clear();
                 userOrderAuthorList.addAll(userOrderAuthorCwList);
-            } else if (intNumber.equals("diy")||intNumber.equals("company") || intNumber.equals("office") || intNumber.equals("emp")
+            } else*/ if (intNumber.equals("diy")||intNumber.equals("company") || intNumber.equals("office") || intNumber.equals("emp")
                     || intNumber.equals("saledept") || intNumber.equals("suboffice")|| intNumber.equals("customer")) {
                 userOrderAuthorList.clear();
                 userOrderAuthorList.addAll(userOrderAuthorDiyList);