GroupTask.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.dashitech.migration.task.uc;
  2. import com.dashitech.migration.BaseTask;
  3. import com.dashitech.migration.SqlTask;
  4. import com.dashitech.migration.core.DataMigrationter;
  5. import com.dashitech.migration.core.FieldMapper;
  6. import com.dashitech.migration.util.JdbcUtil;
  7. import org.apache.commons.logging.Log;
  8. import org.apache.commons.logging.LogFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Component;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.util.List;
  13. import java.util.Map;
  14. /**
  15. * Created by CX on 2024/10/10.
  16. */
  17. @Component
  18. public class GroupTask extends BaseTask {
  19. public static Log log = LogFactory.getLog(GroupTask.class);
  20. @Autowired
  21. SqlTask hospitalTask;
  22. @Override
  23. @Transactional
  24. public void start() {
  25. log.info(" *** 工作组group转换开始 *** ");
  26. StringBuffer sb = new StringBuffer();
  27. sb.append(" select * from itsm_uc_groups ");
  28. List list = jdbcTemplateMdv2.queryForList(sb.toString());
  29. //测试
  30. FieldMapper mapper = new FieldMapper();
  31. mapper.addOperationRemove("id").addOperationRemove("duty_id");
  32. mapper.addOperationUpdate("_hospital_id", "branch_id");
  33. mapper.addOperationAdd("type", 3);
  34. Map<Long, Long> hosIdCache = hospitalTask.loadCache().getIdCache();
  35. mapper.addOperationReplace("branch_id", hosIdCache);
  36. mapper.trans2JdbcRow(list);
  37. JdbcUtil jdbcUtil = new JdbcUtil(jdbcTemplateHsms);
  38. jdbcUtil.batchPageInsert("itsm_uc_groups", mapper.getRows());
  39. //clear释放内存
  40. mapper.clear();
  41. }
  42. @Override
  43. public FieldMapper loadCache() {
  44. log.info(" *** 加载工作组group缓存 *** ");
  45. String sql = " select id,groupname,delete_flag from itsm_uc_groups ";
  46. List<Map<String, Object>> list = jdbcTemplateHsms.queryForList(sql);
  47. sql = " select id,groupname,delete_flag from itsm_uc_groups ";
  48. List<Map<String, Object>> list2 = jdbcTemplateMdv2.queryForList(sql);
  49. FieldMapper mapper = new FieldMapper();
  50. mapper.addFieldMapper("groupname", "groupname");
  51. mapper.addFieldMapper("delete_flag", "delete_flag");
  52. DataMigrationter.loadCache(list, list2, mapper);
  53. return mapper;
  54. }
  55. }