PdmConstructTeamServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.ruoyi.powerdistribution.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import com.ruoyi.common.utils.DateUtils;
  7. import com.ruoyi.common.utils.SecurityUtils;
  8. import com.ruoyi.common.utils.bean.BeanUtils;
  9. import com.ruoyi.common.utils.uuid.IdUtils;
  10. import com.ruoyi.powerdistribution.domain.PdmConstructor;
  11. import com.ruoyi.powerdistribution.domain.excel.ConstructTeam;
  12. import com.ruoyi.powerdistribution.domain.vo.PdmConstructTeamVo;
  13. import com.ruoyi.powerdistribution.mapper.PdmConstructorMapper;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import com.ruoyi.powerdistribution.mapper.PdmConstructTeamMapper;
  17. import com.ruoyi.powerdistribution.domain.PdmConstructTeam;
  18. import com.ruoyi.powerdistribution.service.IPdmConstructTeamService;
  19. import org.springframework.transaction.annotation.Transactional;
  20. /**
  21. * 配网工程队伍施工小组信息Service业务层处理
  22. *
  23. * @author ruoyi
  24. * @date 2025-01-20
  25. */
  26. @Service
  27. public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
  28. {
  29. @Autowired
  30. private PdmConstructTeamMapper pdmConstructTeamMapper;
  31. @Autowired
  32. private PdmConstructorMapper pdmConstructorMapper;
  33. /**
  34. * 查询配网工程队伍施工小组信息
  35. *
  36. * @param id 配网工程队伍施工小组信息主键
  37. * @return 配网工程队伍施工小组信息
  38. */
  39. @Override
  40. public PdmConstructTeam selectPdmConstructTeamById(Long id)
  41. {
  42. return pdmConstructTeamMapper.selectPdmConstructTeamById(id);
  43. }
  44. /**
  45. * 查询配网工程队伍施工小组信息列表
  46. *
  47. * @param pdmConstructTeam 配网工程队伍施工小组信息
  48. * @return 配网工程队伍施工小组信息
  49. */
  50. @Override
  51. public List<PdmConstructTeam> selectPdmConstructTeamList(PdmConstructTeam pdmConstructTeam)
  52. {
  53. return pdmConstructTeamMapper.selectPdmConstructTeamList(pdmConstructTeam);
  54. }
  55. /**
  56. * 新增配网工程队伍施工小组信息
  57. *
  58. * @param pdmConstructTeam 配网工程队伍施工小组信息
  59. * @return 结果
  60. */
  61. @Override
  62. @Transactional(rollbackFor = Exception.class)
  63. public int insertPdmConstructTeam(PdmConstructTeamVo pdmConstructTeam)
  64. {
  65. String teamNo= IdUtils.fastSimpleUUID();
  66. pdmConstructTeam.setCreateTime(DateUtils.getNowDate());
  67. pdmConstructTeam.setCreateBy(SecurityUtils.getUsername());
  68. pdmConstructTeam.setTeamNo(teamNo);
  69. pdmConstructTeam.getConstructorList().forEach(constructor->{
  70. constructor.setTeamNo(teamNo);
  71. pdmConstructorMapper.insertPdmConstructor(constructor);
  72. });
  73. return pdmConstructTeamMapper.insertPdmConstructTeam(pdmConstructTeam);
  74. }
  75. /**
  76. * 修改配网工程队伍施工小组信息
  77. *
  78. * @param pdmConstructTeam 配网工程队伍施工小组信息
  79. * @return 结果
  80. */
  81. @Override
  82. @Transactional(rollbackFor = Exception.class)
  83. public int updatePdmConstructTeam(PdmConstructTeamVo pdmConstructTeam)
  84. {
  85. pdmConstructTeam.setUpdateTime(DateUtils.getNowDate());
  86. pdmConstructTeam.setUpdateBy(SecurityUtils.getUsername());
  87. pdmConstructTeam.getConstructorList().forEach(constructor->{
  88. if(pdmConstructorMapper.updatePdmConstructor(constructor)<1){
  89. constructor.setTeamNo(pdmConstructTeam.getTeamNo());
  90. pdmConstructorMapper.insertPdmConstructor(constructor);
  91. };
  92. });
  93. return pdmConstructTeamMapper.updatePdmConstructTeam(pdmConstructTeam);
  94. }
  95. /**
  96. * 批量删除配网工程队伍施工小组信息
  97. *
  98. * @param ids 需要删除的配网工程队伍施工小组信息主键
  99. * @return 结果
  100. */
  101. @Override
  102. @Transactional(rollbackFor = Exception.class)
  103. public int deletePdmConstructTeamByIds(Long[] ids)
  104. {
  105. pdmConstructorMapper.deletePdmConstructorByTeamIds(ids);
  106. return pdmConstructTeamMapper.deletePdmConstructTeamByIds(ids);
  107. }
  108. /**
  109. * 删除配网工程队伍施工小组信息信息
  110. *
  111. * @param id 配网工程队伍施工小组信息主键
  112. * @return 结果
  113. */
  114. @Override
  115. public int deletePdmConstructTeamById(Long id)
  116. {
  117. pdmConstructorMapper.deletePdmConstructorByTeamId(id);
  118. return pdmConstructTeamMapper.deletePdmConstructTeamById(id);
  119. }
  120. @Override
  121. public void importExcel(List<ConstructTeam> constructTeamList) {
  122. Map<String,PdmConstructTeamVo> data=new HashMap<>();
  123. for (ConstructTeam constructTeam : constructTeamList) {
  124. String key=constructTeam.getTeamNm()+","+constructTeam.getLegalPerson()+","+constructTeam.getLegalContactPhone()
  125. +","+constructTeam.getTeamLeader()+","+constructTeam.getTeamLeaderPhone();
  126. if(data.containsKey(key)){
  127. PdmConstructor constructor=new PdmConstructor();
  128. BeanUtils.copyProperties(constructTeam,constructor);
  129. PdmConstructTeamVo constructTeamVo=data.get(key);
  130. constructTeamVo.getConstructorList().add(constructor);
  131. }else{
  132. PdmConstructTeamVo constructTeamVo=new PdmConstructTeamVo();
  133. BeanUtils.copyProperties(constructTeam,constructTeamVo);
  134. constructTeamVo.setConstructorList(new ArrayList<>());
  135. data.put(key,constructTeamVo);
  136. }
  137. }
  138. data.values().forEach(dmConstructTeamVo->{
  139. insertPdmConstructTeam(dmConstructTeamVo);
  140. });
  141. }
  142. }