CostProjectSuperviseManagerImpl.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.hotent.project.manager.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.hotent.base.exception.BaseException;
  4. import com.hotent.base.manager.impl.BaseManagerImpl;
  5. import com.hotent.base.util.StringUtil;
  6. import com.hotent.base.util.UniqueIdUtil;
  7. import com.hotent.project.dao.CostProjectSuperviseDao;
  8. import com.hotent.project.dao.CostProjectSurveyDao;
  9. import com.hotent.project.manager.CostProjectApprovalManager;
  10. import com.hotent.project.manager.CostProjectSuperviseDataManager;
  11. import com.hotent.project.manager.CostProjectSuperviseManager;
  12. import com.hotent.project.manager.CostProjectSurveyManager;
  13. import com.hotent.project.model.CostProjectApproval;
  14. import com.hotent.project.model.CostProjectSupervise;
  15. import com.hotent.project.model.CostProjectSuperviseData;
  16. import com.hotent.project.model.CostProjectSurvey;
  17. import com.hotent.project.req.CostProjectSuperviseReq;
  18. import com.hotent.project.vo.CostProjectSuperviseDataVo;
  19. import com.hotent.uc.manager.UserManager;
  20. import com.hotent.uc.model.User;
  21. import com.hotent.uc.util.ContextUtil;
  22. import org.springframework.beans.BeanUtils;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Service;
  25. import java.time.LocalDateTime;
  26. import java.util.List;
  27. import java.util.stream.Collectors;
  28. /**
  29. *@author: zhao yue yue
  30. *@create: 2025-11-18 14:48
  31. */
  32. @Service
  33. public class CostProjectSuperviseManagerImpl extends BaseManagerImpl<CostProjectSuperviseDao, CostProjectSupervise> implements CostProjectSuperviseManager {
  34. @Autowired
  35. private CostProjectApprovalManager costProjectApprovalManager;
  36. @Autowired
  37. private UserManager userService;
  38. @Autowired
  39. private CostProjectSuperviseDataManager costProjectSuperviseDataManager;
  40. @Override
  41. public String add(CostProjectSuperviseReq param) throws Exception {
  42. if (StringUtil.isEmpty(param.getProjectId())){
  43. throw new BaseException("项目id不能够为空");
  44. }
  45. if (StringUtil.isEmpty(param.getSupervisorId())) {
  46. throw new BaseException("督办人不能为空");
  47. }
  48. User supervisor = userService.get(param.getSupervisorId());
  49. if (supervisor==null) {
  50. throw new BaseException("根据id【"+param.getSupervisorId()+"】督办人信息未查询到");
  51. }
  52. CostProjectApproval projectApproval = costProjectApprovalManager.get(param.getProjectId());
  53. if (projectApproval==null) {
  54. throw new BaseException("根据id:【"+param.getProjectId()+"】未查询到项目信息");
  55. }
  56. param.setSupervisorId(supervisor.getId());
  57. param.setSupervisorName(supervisor.getFullname());
  58. param.setCreateTime(LocalDateTime.now());
  59. param.setId(String.valueOf(UniqueIdUtil.getUId()));
  60. param.setReportTime(LocalDateTime.now());
  61. param.setStatus(0);
  62. String account = ContextUtil.getCurrentUser().getAccount();
  63. User user = userService.getByAccount(account);
  64. param.setCreateId(user.getId());
  65. param.setCreateBy(user.getFullname());
  66. boolean save = this.save(param);
  67. return save ? "添加成功" :"添加失败";
  68. }
  69. @Override
  70. public String modify(CostProjectSuperviseReq param) throws Exception {
  71. if(StringUtil.isEmpty(param.getId())){
  72. throw new BaseException("实体id不能为空");
  73. }
  74. CostProjectSupervise supervise = this.get(param.getId());
  75. if (supervise==null) {
  76. throw new BaseException("未查询到实体信息");
  77. }
  78. String account = ContextUtil.getCurrentUser().getAccount();
  79. User user = userService.getByAccount(account);
  80. CostProjectSuperviseData costProjectSuperviseData = new CostProjectSuperviseData();
  81. costProjectSuperviseData.setId(String.valueOf(UniqueIdUtil.getUId()));
  82. costProjectSuperviseData.setReportContent(param.getReportContent());
  83. costProjectSuperviseData.setReportTime(LocalDateTime.now());
  84. costProjectSuperviseData.setSuperviseId(param.getId());
  85. costProjectSuperviseData.setProjectId(param.getProjectId());
  86. costProjectSuperviseData.setCreateBy(user.getFullname());
  87. costProjectSuperviseData.setCreateTime(LocalDateTime.now());
  88. costProjectSuperviseData.setCreateId(user.getId());
  89. costProjectSuperviseData.setAttachmentIds(param.getAttachmentUrls());
  90. //boolean b = this.saveOrUpdate(param);
  91. //this.update(param);
  92. boolean save = costProjectSuperviseDataManager.save(costProjectSuperviseData);
  93. return save ? "上报成功" :"上报失败";
  94. }
  95. @Override
  96. public String delete(CostProjectSuperviseReq param) {
  97. if(StringUtil.isEmpty(param.getId())){
  98. throw new BaseException("实体id不能为空");
  99. }
  100. CostProjectSupervise supervise = this.get(param.getId());
  101. if (supervise==null) {
  102. throw new BaseException("未查询到实体信息");
  103. }
  104. param.setStatus(1);
  105. this.update(param);
  106. return "办结成功";
  107. }
  108. @Override
  109. public List<CostProjectSupervise> getListByprojectIds(List<String> projectIds) {
  110. if (projectIds!=null && !projectIds.isEmpty()) {
  111. QueryWrapper<CostProjectSupervise> wrapper = new QueryWrapper<>();
  112. wrapper.in("project_id",projectIds);
  113. return this.list(wrapper);
  114. }
  115. return null;
  116. }
  117. @Override
  118. public List<CostProjectSuperviseDataVo> getReportList(CostProjectSuperviseReq param) {
  119. if(StringUtil.isEmpty(param.getId())){
  120. throw new BaseException("ID不能为空");
  121. }
  122. CostProjectSupervise supervise = this.get(param.getId());
  123. if (supervise==null) {
  124. throw new BaseException("根据id未查询到督办实体");
  125. }
  126. List<CostProjectSuperviseData> data= costProjectSuperviseDataManager.getListBySupervise(param.getId());
  127. List<CostProjectSuperviseDataVo> dataVos = data.stream().map(d -> {
  128. CostProjectSuperviseDataVo costProjectSuperviseDataVo = new CostProjectSuperviseDataVo();
  129. BeanUtils.copyProperties(d, costProjectSuperviseDataVo);
  130. costProjectSuperviseDataVo.setSuperviseId(supervise.getSupervisorId());
  131. costProjectSuperviseDataVo.setSupervisorName(supervise.getSupervisorName());
  132. return costProjectSuperviseDataVo;
  133. }).collect(Collectors.toList());
  134. return dataVos;
  135. }
  136. }