浏览代码

增加字典id查询

CX 5 月之前
父节点
当前提交
222baa8c12

+ 12 - 3
src/main/java/com/dashitech/migration/BaseTask.java

@@ -5,7 +5,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
5 5
 import org.springframework.beans.factory.annotation.Value;
6 6
 import org.springframework.jdbc.core.JdbcTemplate;
7 7
 
8
-import java.util.LinkedHashMap;
8
+import java.util.List;
9 9
 import java.util.Map;
10 10
 
11 11
 /**
@@ -13,8 +13,6 @@ import java.util.Map;
13 13
  */
14 14
 public abstract class BaseTask implements SqlTask {
15 15
 
16
-    protected Map cache = new LinkedHashMap();
17
-
18 16
     @Value("${application.name}")
19 17
     protected String appName;
20 18
 
@@ -26,5 +24,16 @@ public abstract class BaseTask implements SqlTask {
26 24
     @Qualifier("jdbcTemplateMdv2")
27 25
     protected JdbcTemplate jdbcTemplateMdv2;
28 26
 
27
+    /**
28
+     * 获取字典id
29
+     */
30
+    public Long getDicId(JdbcTemplate jt,String key, String value) {
31
+        List<Map<String,Object>> list = jt.queryForList("SELECT id from itsm_base_dictionary WHERE _key = ? and _value = ?",key,value);
32
+        if(list != null && list.size() > 0) {
33
+            Object obj = list.get(0).get("id");
34
+            return obj == null ? null : Long.valueOf(obj.toString());
35
+        }
36
+        return null;
37
+    }
29 38
 
30 39
 }

+ 7 - 1
src/main/java/com/dashitech/migration/StartApplication.java

@@ -24,6 +24,8 @@ public class StartApplication {
24 24
     @Autowired
25 25
     SqlTask userTask;
26 26
     @Autowired
27
+    SqlTask userGroupTask;
28
+    @Autowired
27 29
     HospitalTask hospitalTask;
28 30
     @Autowired
29 31
     XyGroupTask xyGroupTask;
@@ -45,7 +47,11 @@ public class StartApplication {
45 47
 
46 48
 //            companyTask.start();
47 49
 
48
-            userTask.start();
50
+//            userTask.start();
51
+
52
+//            userGroupTask.start();
53
+
54
+            userTask.loadCache();
49 55
 
50 56
             System.out.println("AAAAA");
51 57
         }

+ 1 - 1
src/main/java/com/dashitech/migration/task/uc/CompanyTask.java

@@ -44,7 +44,7 @@ public class CompanyTask extends BaseTask {
44 44
         List list = jdbcTemplateMdv2.queryForList(sb.toString());
45 45
 
46 46
         FieldMapper mapper = new FieldMapper();
47
-        mapper.addOperationAdd("busi_type", 20312L); //公司业务类型-医废
47
+        mapper.addOperationAdd("busi_type", getDicId(jdbcTemplateHsms,"company_busi_type","1")); //公司业务类型-医废
48 48
         Map<Long, Long> hosIdCache = hospitalTask.loadCache().getIdCache();
49 49
         mapper.addOperationReplace("hos_id", hosIdCache);
50 50
         mapper.addOperationReplace("company_type_ids", dictionaryTask.loadCache().getIdCache());

+ 12 - 10
src/main/java/com/dashitech/migration/task/uc/UserGroupTask.java

@@ -32,23 +32,26 @@ public class UserGroupTask extends BaseTask {
32 32
     @Override
33 33
     @Transactional
34 34
     public void start() {
35
-        log.info(" *** 用户user转换开始 *** ");
35
+        log.info(" *** UserGroupTask 转换开始 *** ");
36 36
 
37 37
         StringBuffer sb = new StringBuffer();
38
-        sb.append(" select * from itsm_uc_user ");
38
+        //只拿运维人员
39
+        sb.append(" select group_id,user_id from itsm_uc_user_group ");
39 40
 
40
-        List list = jdbcTemplateHsms.queryForList(sb.toString());
41
+        List list = jdbcTemplateMdv2.queryForList(sb.toString());
41 42
 
42 43
         FieldMapper mapper = new FieldMapper();
43
-
44 44
         FieldMapper groupMapper = groupTask.loadCache();
45
-        mapper.addOperationReplace("branch_id", userTask.loadCache().getIdCache());
45
+        FieldMapper userMapper = userTask.loadCache();
46
+
47
+        mapper.addOperationReplace("group_id", groupMapper.getIdCache());
48
+        mapper.addOperationReplace("user_id", userMapper.getIdCache());
49
+        mapper.trans2JdbcRow(list);
50
+
51
+
46 52
 
47
-        FieldMapper userMapper = loadCache();
48
-        RowsWrap rw = DataMigrationter.getRowsWrap(mapper,userMapper);
49 53
         JdbcUtil jdbcUtil = new JdbcUtil(jdbcTemplateHsms);
50
-        jdbcUtil.batchPageInsert("itsm_uc_user", rw.getInsertRows());
51
-        jdbcUtil.batchPageUpdate("itsm_uc_user", rw.getUpdateRows());
54
+        jdbcUtil.batchPageInsert("itsm_uc_user_group", mapper.getRows());
52 55
 
53 56
         //clear释放内存
54 57
         mapper.clear();
@@ -60,7 +63,6 @@ public class UserGroupTask extends BaseTask {
60 63
     public FieldMapper loadCache() {
61 64
 
62 65
 
63
-
64 66
         return null;
65 67
     }
66 68
 }

+ 3 - 2
src/main/java/com/dashitech/migration/task/uc/UserTask.java

@@ -32,15 +32,16 @@ public class UserTask extends BaseTask {
32 32
         log.info(" *** 用户user转换开始 *** ");
33 33
 
34 34
         StringBuffer sb = new StringBuffer();
35
-        sb.append(" select version,ACCOUNT,GENDER,NAME,PHONE,PWD,WEIXIN,DEPTID,delete_flag ");
35
+        sb.append(" select version,ACCOUNT,GENDER,NAME,PHONE,PWD,WEIXIN,DEPTID,delete_flag, ");
36 36
         sb.append(" pinyin,py as 'input_code',online,branch_id as 'hospital_id', ");
37 37
         sb.append(" duty_id as 'duty_dept',company as 'company_id',engineer ");
38 38
         sb.append(" from itsm_uc_user ");
39
+        sb.append(" where ACCOUNT != 'dsadmin' ");
39 40
 
40 41
         List list = jdbcTemplateMdv2.queryForList(sb.toString());
41 42
 
42 43
         FieldMapper mapper = new FieldMapper();
43
-        mapper.addOperationAdd("usertype", 20343L); //用户类型-默认三方人员
44
+        mapper.addOperationAdd("usertype", getDicId(jdbcTemplateHsms,"usertype","4")); //用户类型-默认三方人员
44 45
         mapper.addOperationReplace("hospital_id", hospitalTask.loadCache().getIdCache());
45 46
         mapper.addOperationReplace("duty_dept", hospitalTask.loadCache().getIdCache());
46 47
         mapper.trans2JdbcRow(list);