Bladeren bron

人员部门同步

sucheng 7 maanden geleden
bovenliggende
commit
4779233314

+ 2 - 2
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/SqlServerMapper.java

@@ -23,11 +23,11 @@ public interface SqlServerMapper {
     List<ZProject> getZProjectList();
 
     @DS("slave")
-    @Select("select a.EMPID,a.USERID,a.EMPNAME,b.EMPID AS 'USERID4A' from OM_EMPLOYEE a LEFT JOIN AC_OPERATOR b ON a.USERID = b.USERID ")
+    @Select("select DISTINCT a.EMPID,a.USERID,a.EMPNAME,b.EMPID AS 'USERID4A' from OM_EMPLOYEE a LEFT JOIN AC_OPERATOR b ON a.USERID = b.USERID ")
     List<Map<String, Object>> getUsers();
 
     @DS("slave")
-    @Select("select a.*,b.AORGID AS 'ORGID4A' from OM_ORGANIZATION a LEFT JOIN Z_BS_ORG b ON a.ORGID = b.ORGID;")
+    @Select("select a.*,b.AORGID AS 'ORGID4A' from OM_ORGANIZATION a LEFT JOIN Z_BS_ORG b ON a.ORGID = b.ORGID")
     List<Map<String, Object>> getOrgs();
 
     @DS("slave")

+ 21 - 11
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ScheduledTasksServiceBySqlServerServiceImpl.java

@@ -96,24 +96,24 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
 
         List<String> sysUserIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
         for (Map<String, Object> userMap : userList) {
-            String id = userMap.getOrDefault("EMPID", "").toString();
+            String id = String.format("%1$32s", userMap.getOrDefault("EMPID", "").toString()).replace(' ', '0');
             String account = userMap.getOrDefault("USERID", "").toString();
             String name = userMap.getOrDefault("EMPNAME", "").toString();
             String userid4A = userMap.getOrDefault("USERID4A", "").toString();
 
             SysUser sysUser2 = sysUserList.stream().filter(sysUser -> sysUser.getId().equals(id)).findFirst().orElse(null);
 
-
             if (ObjectUtil.isEmpty(sysUser2)) {
                 SysUser sysUser = new SysUser();
                 sysUser.setId(id);
                 sysUser.setAccount(account);
                 sysUser.setName(name);
-                sysUser.setCode(userid4A);
-                sysUser.setPassword("861896bc3fa76282c65f3b575d74b2cbaca7b435778f0f7c");
+                sysUser.setCode(account);
+                sysUser.setPassword(SecurityUtil.getSaltMd5AndSha("PIMS8284==scjy@z", id));
+                sysUser.setUserattribute(userid4A);
                 needUserInsert.add(sysUser);
-            }else {
-                if (!userid4A.equals(sysUser2.getCode())){//4AID不同,更新
+            } else {
+                if (!userid4A.equals(sysUser2.getUserattribute())) {//4AID不同,更新
                     sysUser2.setCode(userid4A);
                     needUserUpdate.add(sysUser2);
                 }
@@ -130,7 +130,13 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
             String orgname = orgMap.getOrDefault("ORGNAME", "").toString();
             String level = orgMap.getOrDefault("ORGLEVEL", "").toString();
             String pid = orgMap.getOrDefault("PARENTORGID", "").toString();
-            String fullpid = orgMap.getOrDefault("ORGSEQ", "").toString();
+            if (ObjectUtil.isEmpty(pid)) {
+                pid = "-1";
+            }
+            String fullpid = orgMap.getOrDefault("ORGSEQ", "").toString().replaceAll(orgid + ".", "").replaceAll("\\.", ",");
+            if (fullpid.equals(",")) {
+                fullpid = null;
+            }
             String sort = orgMap.getOrDefault("SORTNO", "").toString();
             String isleaf = orgMap.getOrDefault("ISLEAF", "").toString();
             String orgid4A = orgMap.getOrDefault("ORGID4A", "").toString();
@@ -141,9 +147,13 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
                 sysOrganization.setCode(orgid4A);
                 sysOrganization.setFullname(orgname);
                 sysOrganization.setShortname(orgname);
-                sysOrganization.setLevel(Integer.parseInt(level));
+                if (ObjectUtil.isNotEmpty(level)) {
+                    sysOrganization.setLevel(Integer.parseInt(level));
+                }
                 sysOrganization.setPid(pid);
-                sysOrganization.setSort(Integer.parseInt(sort));
+                if (ObjectUtil.isNotEmpty(sort)) {
+                    sysOrganization.setSort(Integer.parseInt(sort));
+                }
                 sysOrganization.setIsleaf(isleaf);
                 sysOrganization.setFullpid(fullpid);
                 needOrgInsert.add(sysOrganization);
@@ -156,7 +166,7 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
 //        List<String> needDelUserOrgId = new LinkedList<>();
 
         for (Map<String, Object> userOrgMap : userOrgList) {
-            String userid = userOrgMap.getOrDefault("EMPID", "").toString();
+            String userid = String.format("%1$32s", userOrgMap.getOrDefault("EMPID", "").toString()).replace(' ', '0');
             String orgid = userOrgMap.getOrDefault("ORGID", "").toString();
             SysUserOrg sysUserOrg = sysUserOrgList.stream().filter(item -> ObjectUtil.isNotEmpty(item.getUserid()) && item.getUserid().equals(userid)).findFirst().orElse(null);
             if (ObjectUtil.isEmpty(sysUserOrg)) {
@@ -189,7 +199,7 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
             sysUserService.saveBatch(needUserInsert);
         }
 
-        if (ObjectUtil.isNotEmpty(needUserUpdate)){
+        if (ObjectUtil.isNotEmpty(needUserUpdate)) {
             sysUserService.updateBatchById(needUserUpdate);
         }
 //        if (ObjectUtil.isNotEmpty(needDelUserId)){

+ 1 - 1
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/SysUser.java

@@ -83,7 +83,7 @@ public class SysUser extends BaseDo implements Serializable {
     private String directlyleader;
 
     /**
-     * 用户属性
+     * 用户属性(存sql server对应的4AID)
      */
     @TableField(value = "USERATTRIBUTE")
     private String userattribute;