ProjectMemberService.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package com.galaxis.manatee.service;
  2. import com.fasterxml.jackson.core.type.TypeReference;
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import com.galaxis.manatee.dao.ChuanyunGroupProjectDao;
  5. import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunDevelopProjectDO;
  6. import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
  7. import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunManagerProjectDO;
  8. import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSaleProjectDO;
  9. import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindAllBizDTO;
  10. import com.galaxis.manatee.entity.chuanyun.dto.Filter;
  11. import com.galaxis.manatee.manager.ChuanYunManager;
  12. import com.galaxis.manatee.task.ChuanyunBasicDataScheduledTask;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.scheduling.annotation.Async;
  15. import org.springframework.stereotype.Service;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. @Service
  19. @Slf4j
  20. public class ProjectMemberService {
  21. private final ChuanyunBasicDataScheduledTask chuanyunBasicDataScheduledTask;
  22. private final ChuanYunManager chuanYunManager;
  23. private final ChuanyunGroupProjectDao chuanyunGroupProjectDao;
  24. public ProjectMemberService(ChuanyunBasicDataScheduledTask chuanyunBasicDataScheduledTask, ChuanYunManager chuanYunManager, ChuanyunGroupProjectDao chuanyunGroupProjectDao) {
  25. this.chuanyunBasicDataScheduledTask = chuanyunBasicDataScheduledTask;
  26. this.chuanYunManager = chuanYunManager;
  27. this.chuanyunGroupProjectDao = chuanyunGroupProjectDao;
  28. }
  29. @Async
  30. public void updateManagerMember(String param){
  31. var objectMapper=new ObjectMapper();
  32. param=param.substring(14,param.length()-2);
  33. log.info(param);
  34. boolean updateFlag=false;
  35. while (!updateFlag){
  36. var chuanyunFindResponse = chuanYunManager.find(ChuanyunManagerProjectDO.SCHEMA_CODE,param);
  37. ChuanyunManagerProjectDO chuanyunManagerProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
  38. if (chuanyunManagerProjectDO!=null){
  39. updateFlag=true;
  40. try {
  41. List<String> matchers = new ArrayList<>();
  42. matchers.add("F0000002_2,"+chuanyunManagerProjectDO.getSeqNo());
  43. var filter= Filter.instance(0,1,true,"And",matchers);
  44. ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,filter);
  45. if (chuanyunFindAllResponse.getReturnData()!=null){
  46. List<ChuanyunGroupProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
  47. log.info("集团项目"+result.get(0));
  48. chuanyunBasicDataScheduledTask.chuanyunUpdateProjectMemberManually(result.get(0));
  49. }
  50. }catch (Exception e){
  51. e.printStackTrace();
  52. log.warn(e.getMessage());
  53. }
  54. log.info("管理项目更新项目组成员成功");
  55. }
  56. }
  57. }
  58. @Async
  59. public void updateSaleMember(String param){
  60. var objectMapper=new ObjectMapper();
  61. param=param.substring(14,param.length()-2);
  62. log.info(param);
  63. boolean updateFlag=false;
  64. while (!updateFlag){
  65. var chuanyunFindResponse = chuanYunManager.find(ChuanyunSaleProjectDO.SCHEMA_CODE,param);
  66. ChuanyunSaleProjectDO chuanyunSaleProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
  67. log.info("销售项目"+chuanyunSaleProjectDO);
  68. if (chuanyunSaleProjectDO!=null){
  69. updateFlag=true;
  70. try {
  71. List<String> matchers = new ArrayList<>();
  72. matchers.add("F0000002_2,"+chuanyunSaleProjectDO.getSeqNo());
  73. var filter= Filter.instance(0,1,true,"And",matchers);
  74. ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,filter);
  75. if (chuanyunFindAllResponse.getReturnData()!=null){
  76. List<ChuanyunGroupProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
  77. log.info("集团项目"+result.get(0));
  78. chuanyunBasicDataScheduledTask.chuanyunUpdateProjectMemberManually(result.get(0));
  79. }
  80. }catch (Exception e){
  81. e.printStackTrace();
  82. log.warn(e.getMessage());
  83. }
  84. log.info("销售项目更新项目组成员成功");
  85. }
  86. }
  87. }
  88. @Async
  89. public void updateDevelopMember(String param){
  90. var objectMapper=new ObjectMapper();
  91. param=param.substring(14,param.length()-2);
  92. log.info(param);
  93. boolean updateFlag=false;
  94. while (!updateFlag){
  95. var chuanyunFindResponse = chuanYunManager.find(ChuanyunDevelopProjectDO.SCHEMA_CODE,param);
  96. ChuanyunDevelopProjectDO chuanyunDevelopProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
  97. log.info("研发项目"+chuanyunDevelopProjectDO);
  98. if (chuanyunDevelopProjectDO!=null){
  99. updateFlag=true;
  100. try {
  101. List<String> matchers = new ArrayList<>();
  102. matchers.add("F0000002_2,"+chuanyunDevelopProjectDO.getSeqNo());
  103. var filter= Filter.instance(0,1,true,"And",matchers);
  104. ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,filter);
  105. if (chuanyunFindAllResponse.getReturnData()!=null){
  106. List<ChuanyunGroupProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
  107. log.info("集团项目"+result.get(0));
  108. chuanyunBasicDataScheduledTask.chuanyunUpdateProjectMemberManually(result.get(0));
  109. }
  110. }catch (Exception e){
  111. e.printStackTrace();
  112. log.warn(e.getMessage());
  113. }
  114. log.info("研发项目更新项目组成员成功");
  115. }
  116. }
  117. }
  118. }