song 4 months ago
parent
commit
4fbbbf1cfe

+ 15 - 7
src/main/java/com/dashitech/migration/task/category/IncidentCategoryConfigTask.java

@@ -41,17 +41,21 @@ public class IncidentCategoryConfigTask extends BaseTask {
41 41
     @Transactional(rollbackFor = Exception.class)
42 42
     public void start() {
43 43
         StringBuffer sql = new StringBuffer("SELECT a.version,a.category_id,b._priority as priority,a.duty_id,a.branch_user_group_type as user_group,a.group_id,");
44
-        sql.append("a.user_id,NOW() as add_time,a.branch_id as hos_id FROM itsm_incident_category_usergroup a ");
45
-        sql.append(" JOIN itsm_incident_category b ON a.category_id = b.id");
44
+        sql.append("a.user_id,NOW() as add_time,IF(a.branch_id=4,3,a.branch_id) as hos_id FROM itsm_incident_category_usergroup a ");
45
+        sql.append(" JOIN itsm_incident_category b ON a.category_id = b.id where a.duty_id is not null ");
46 46
         if ("xiangyang".equals(appName)) {
47
-            sql.append(" WHERE a.branch_id <> 4 ");
47
+            sql.append(" and a.duty_id not in (4,5,6,13,15,19,20,21) ");
48 48
         }
49 49
         List<Map<String, Object>> categoryConfigList = jdbcTemplateMdv2.queryForList(sql.toString());
50
-        //查询故障现象表的配置数据
51
-        sql = new StringBuffer("select version,id as category_id,_priority as priority,_group as group_id,userOrGroupType as user_group,handle_user as user_id,");
52
-        sql.append("NOW() as add_time,branch_id as hos_id,duty_dept as duty_id FROM itsm_incident_category");
50
+        //查询故障现象表的配置数据 组数据 信息中心
51
+        sql = new StringBuffer("select a.version,a.id as category_id,_priority as priority,b.id as duty_id,userOrGroupType as user_group,_group as group_id,");
52
+        sql.append("handle_user as user_id,NOW() as add_time,c.id as hos_id FROM itsm_incident_category a ");
53 53
         if ("xiangyang".equals(appName)) {
54
-            sql.append(" WHERE branch_id <> 4 ");
54
+            sql.append(" join itsm_uc_duty_dept b join itsm_uc_branch c ");
55
+        }
56
+        sql.append(" where`branch_type` = '0' and duty_dept in (2,8,11) AND a.delete_flag = 0 ");
57
+        if ("xiangyang".equals(appName)) {
58
+            sql.append(" and b.id in (11) and c.id in (1,2,3)");
55 59
         }
56 60
         List<Map<String, Object>> list = jdbcTemplateMdv2.queryForList(sql.toString());
57 61
         categoryConfigList.addAll(list);
@@ -66,6 +70,10 @@ public class IncidentCategoryConfigTask extends BaseTask {
66 70
 
67 71
         JdbcUtil jdbcUtil = new JdbcUtil(jdbcTemplateHsms);
68 72
         jdbcUtil.batchPageInsert("itsm_itsm_incident_category_config", mapper.getRows());
73
+
74
+        //当院区为空时 将责任科室父级院区赋值
75
+        StringBuffer upSql = new StringBuffer("update `itsm_itsm_incident_category_config` a,itsm_uc_hospital b set hos_id = b.parentId where a.duty_id = b.id and a.hos_id is null ");
76
+        jdbcTemplateHsms.execute(upSql.toString());
69 77
         mapper.clear();
70 78
     }
71 79
 

+ 6 - 9
src/main/java/com/dashitech/migration/task/incident/IncidentAssignManagerTask.java

@@ -2,7 +2,6 @@ package com.dashitech.migration.task.incident;
2 2
 
3 3
 import com.dashitech.migration.BaseTask;
4 4
 import com.dashitech.migration.SqlTask;
5
-import com.dashitech.migration.core.DataMigrationter;
6 5
 import com.dashitech.migration.core.FieldMapper;
7 6
 import com.dashitech.migration.util.JdbcUtil;
8 7
 import org.apache.commons.logging.Log;
@@ -12,7 +11,6 @@ import org.springframework.stereotype.Component;
12 11
 import org.springframework.transaction.annotation.Transactional;
13 12
 
14 13
 import java.util.List;
15
-import java.util.Map;
16 14
 
17 15
 /**
18 16
  * Created by CX on 2024/10/10.
@@ -40,21 +38,20 @@ public class IncidentAssignManagerTask extends BaseTask {
40 38
         log.info(" *** IncidentAssignManagerTask start 开始 *** ");
41 39
 
42 40
         StringBuffer sb = new StringBuffer();
43
-        sb.append(" select * from itsm_incident_assign_manager ");
41
+        sb.append("SELECT version,dept_id,category_id,handle_user,IFNULL(_group,b.group_id) as handle_group,add_time,");
42
+        sb.append("a.duty_id as hos_id,batch_id as batch_no  FROM `itsm_incident_assign_manager` a left join ");
43
+        sb.append("(select a.user_id,a.group_id,b.duty_id from itsm_uc_user_group a join itsm_uc_groups b on a.group_id = b.id ) b ");
44
+        sb.append("on a.handle_user = b.user_id and a.duty_id = b.duty_id");
44 45
 
45 46
         List list = jdbcTemplateMdv2.queryForList(sb.toString());
46 47
 
47 48
         FieldMapper mapper = new FieldMapper();
48
-        mapper.addOperationRemove("id").addOperationRemove("userOrGroupType").addOperationRemove("branch_id");
49
-        mapper.addOperationUpdate("handle_group", "_group");
50
-        mapper.addOperationUpdate("batch_no", "batch_id");
51
-        mapper.addOperationUpdate("hos_id", "duty_id");
52
-        mapper.addOperationReplace("duty_id", hospitalTask.loadCache().getIdCache());
49
+        mapper.addOperationReplace("hos_id", hospitalTask.loadCache().getIdCache());
53 50
         if ("xiangyang".equals(appName)) {
54 51
             mapper.addOperationReplace("dept_id", departmentTask.loadCache().getIdCache());
55 52
         }
56 53
         mapper.addOperationReplace("handle_user", userTask.loadCache().getIdCache());
57
-        mapper.addOperationReplace("_group", groupTask.loadCache().getIdCache());
54
+        mapper.addOperationReplace("handle_group", groupTask.loadCache().getIdCache());
58 55
         mapper.trans2JdbcRow(list);
59 56
 
60 57
         JdbcUtil jdbcUtil = new JdbcUtil(jdbcTemplateHsms);

+ 1 - 1
src/main/java/com/dashitech/migration/task/incident/IncidentTask.java

@@ -58,7 +58,7 @@ public class IncidentTask extends BaseTask {
58 58
         mapper.addOperationUpdate("hos_id", "branch_id");
59 59
         //襄阳id4-
60 60
         mapper.addOperationReplace("userid", userCache);
61
-        mapper.addOperationReplace("close_userid", dicCache);
61
+        mapper.addOperationReplace("close_userid", userCache);
62 62
         mapper.addOperationReplace("close_codeid", dicCache);
63 63
         mapper.addOperationReplace("degreeid", dicCache);
64 64
         mapper.addOperationReplace("priorityid", dicCache);

+ 6 - 0
src/main/java/com/dashitech/migration/task/uc/DepartmentTask.java

@@ -52,6 +52,12 @@ public class DepartmentTask extends BaseTask {
52 52
             jdbcUtil.batchPageInsert("itsm_uc_dept", rw.getInsertRows());
53 53
             jdbcUtil.batchPageUpdate("itsm_uc_dept", rw.getUpdateRows());
54 54
 
55
+            if ("xiangyang".equals(appName)) {
56
+                //修改总测试科室id=1
57
+                String upSql = " update itsm_uc_dept SET id = 1 where code = 'zongceshikeshi'";
58
+                jdbcTemplateHsms.execute(upSql);
59
+            }
60
+
55 61
             mapper.clear();
56 62
             deptMapper.clear();
57 63
         }

+ 21 - 4
src/main/java/com/dashitech/migration/task/uc/UserTask.java

@@ -40,12 +40,16 @@ public class UserTask extends BaseTask {
40 40
         log.info(" *** 用户user转换开始 *** ");
41 41
 
42 42
         StringBuffer sb = new StringBuffer();
43
-        sb.append(" select version,ACCOUNT,GENDER,NAME,PHONE,PWD,WEIXIN,DEPTID,delete_flag, ");
43
+        sb.append(" select version,GENDER,NAME,PHONE,PWD,WEIXIN,DEPTID,delete_flag, ");
44 44
         sb.append(" pinyin,py as 'input_code',online, ");
45 45
         if ("xiangyang".equals(appName)) {
46
-            sb.append("IF(branch_id == 4 or branch_id is null,3,branch_id)  as 'hospital_id',");
46
+            sb.append("IF(branch_id = 4 or branch_id is null,3,branch_id)  as 'hospital_id',");
47
+            sb.append("case when ACCOUNT = '80185' then 'DuBinBin' when ACCOUNT = '001550' then '1550' ");
48
+            sb.append("when ACCOUNT = '001551' then '1551' when ACCOUNT = '001552' then '1552' ");
49
+            sb.append("when ACCOUNT in ('0011769','001769') then '1769' when ACCOUNT in ('0015667','015667','005667') then '5667' ");
50
+            sb.append("when ACCOUNT in('001811','00001811','0011811','01811') then '1811' else ACCOUNT end as ACCOUNT,");
47 51
         } else {
48
-            sb.append("duty_id as 'hospital_id',");
52
+            sb.append("duty_id as 'hospital_id',ACCOUNT,");
49 53
         }
50 54
         sb.append(" duty_id as 'duty_dept',company as 'company_id',engineer ");
51 55
         sb.append(" from itsm_uc_user ");
@@ -55,12 +59,13 @@ public class UserTask extends BaseTask {
55 59
 
56 60
         FieldMapper mapper = new FieldMapper();
57 61
         mapper.addOperationAdd("usertype", getDicId(jdbcTemplateHsms,"usertype","4")); //用户类型-默认三方人员
58
-        mapper.addOperationReplace("hospital_id", hospitalTask.loadCache().getIdCache());
59 62
         mapper.addOperationReplace("duty_dept", hospitalTask.loadCache().getIdCache());
60 63
         mapper.addOperationReplace("GENDER", dictionaryTask.loadCache().getIdCache());
61 64
         mapper.addOperationReplace("company_id", companyTask.loadCache().getIdCache());
62 65
         if ("xiangyang".equals(appName)) {
63 66
             mapper.addOperationReplace("DEPTID", departmentTask.loadCache().getIdCache());
67
+        } else {
68
+            mapper.addOperationReplace("hospital_id", hospitalTask.loadCache().getIdCache());
64 69
         }
65 70
         mapper.trans2JdbcRow(list);
66 71
 
@@ -71,12 +76,24 @@ public class UserTask extends BaseTask {
71 76
         List<JdbcRow> updateRows = rw.getUpdateRows();
72 77
         //过滤微信不为空的数据做更新处理
73 78
         updateRows = updateRows.stream().filter(s -> s.getRow().get("WEIXIN") != null).collect(Collectors.toList());
79
+        //筛选出运维人员做更新
80
+        updateRows = updateRows.stream().filter(s -> s.getRow().get("engineer") != null && "1".equals(s.getRow().get("engineer").toString())).collect(Collectors.toList());
74 81
         jdbcUtil.batchPageUpdate("itsm_uc_user", updateRows);
75 82
 
76 83
         //性别有null的
77 84
         String sql = " update itsm_uc_user SET GENDER = (SELECT id from itsm_base_dictionary WHERE _key = 'user_gender' and _value = '0' ) WHERE GENDER is null ";
78 85
         jdbcTemplateHsms.execute(sql);
79 86
 
87
+        if ("xiangyang".equals(appName)) {
88
+            //襄阳删除运维人员的护士角色
89
+            sql = "DELETE from itsm_uc_user_role where user_id in (select id from itsm_uc_user where usertype = (select id from itsm_base_dictionary where _key = 'usertype' and _value = '4')) and role_id = 3";
90
+            jdbcTemplateHsms.execute(sql);
91
+
92
+            //修改运维人员账号为默认密码
93
+            sql = "update itsm_uc_user set PWD = '21218CCA77804D2BA1922C33E0151105' where usertype = (select id from itsm_base_dictionary where _key = 'usertype' and _value = '4') ";
94
+            jdbcTemplateHsms.execute(sql);
95
+        }
96
+
80 97
         //clear释放内存
81 98
         mapper.clear();
82 99
         userMapper.clear();