PmDemandServiceImpl.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.ozs.pm.service.impl;
  2. import java.util.*;
  3. import com.ozs.common.enums.ProjectTypes;
  4. import com.ozs.common.utils.DateUtils;
  5. import com.ozs.common.utils.bean.BeanUtils;
  6. import com.ozs.pm.doman.*;
  7. import com.ozs.pm.doman.vo.requestVo.PmRequestVo;
  8. import com.ozs.pm.doman.vo.responseVo.*;
  9. import com.ozs.pm.mapper.PmDemandMapper;
  10. import com.ozs.pm.service.*;
  11. import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
  12. import com.ozs.system.service.ISysDeptService;
  13. import com.ozs.system.service.ISysDictTypeService;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. /**
  17. * 采购需求Service业务层处理
  18. *
  19. * @author ruoyi
  20. * @date 2023-01-16
  21. */
  22. @Service
  23. public class PmDemandServiceImpl implements IPmDemandService
  24. {
  25. @Autowired
  26. private PmDemandMapper pmDemandMapper;
  27. @Autowired
  28. private IPmDemandServeService iPmDemandServeService;
  29. @Autowired
  30. private IPmDemandMaterialsService iPmDemandMaterialsService;
  31. @Autowired
  32. private IPmDemandEquipService iPmDemandEquipService;
  33. @Autowired
  34. private IPmDemandEngineeringService iPmDemandEngineeringService;
  35. @Autowired
  36. private ISysDeptService deptService;
  37. @Autowired
  38. private ISysDictTypeService dictTypeService;
  39. /**
  40. * 查询采购需求
  41. *
  42. * @param demandId 采购需求主键
  43. * @return 采购需求
  44. */
  45. @Override
  46. public PmDemandResponseVo selectPmDemandByDemandId(Long demandId)
  47. {
  48. PmDemand pmDemand = pmDemandMapper.selectPmDemandByDemandId(demandId);
  49. if(pmDemand != null){
  50. PmDemandResponseVo vo = new PmDemandResponseVo();
  51. BeanUtils.copyProperties(pmDemand, vo);
  52. SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(vo.getPurchaseDeptId()).get("sysDept");
  53. if(sysDeptResponseVo != null){
  54. vo.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
  55. }
  56. //项目类型
  57. for (ProjectTypes value : ProjectTypes.values()) {
  58. if (vo.getProjectType() != null && vo.getProjectType().equals(value.getCode())) {
  59. vo.setProjectTypeName(value.getInfo());
  60. break;
  61. }
  62. }
  63. if(ProjectTypes.EQUIPMENTTYPE.getCode().equals(vo.getProjectType())){//装备类
  64. PmDemandEquip obj = new PmDemandEquip();
  65. obj.setDemandId(demandId);
  66. List<PmDemandEquip> list = iPmDemandEquipService.selectPmDemandEquipList(obj);
  67. if(list !=null && list.size() > 0){
  68. PmDemandEquipResponseVo responseVo = new PmDemandEquipResponseVo();
  69. BeanUtils.copyProperties(list.get(0),responseVo);
  70. vo.setPmDemandEquipResponseVo(responseVo);
  71. }
  72. } else if(ProjectTypes.MATERIALTYPE.getCode().equals(vo.getProjectType())){ //物资类
  73. PmDemandMaterials obj = new PmDemandMaterials();
  74. obj.setDemandId(demandId);
  75. List<PmDemandMaterials> list = iPmDemandMaterialsService.selectPmDemandMaterialsList(obj);
  76. if(list !=null && list.size() > 0){
  77. PmDemandMaterialsResponseVo responseVo = new PmDemandMaterialsResponseVo();
  78. BeanUtils.copyProperties(list.get(0),responseVo);
  79. vo.setPmDemandMaterialsResponseVo(responseVo);
  80. }
  81. } else if(ProjectTypes.SERVICESTYPE.getCode().equals(vo.getProjectType())){//服务类
  82. PmDemandServe obj = new PmDemandServe();
  83. obj.setDemandId(demandId);
  84. List<PmDemandServe> list = iPmDemandServeService.selectPmDemandServeList(obj);
  85. if(list !=null && list.size() > 0){
  86. PmDemandServeResponseVo responseVo = new PmDemandServeResponseVo();
  87. BeanUtils.copyProperties(list.get(0),responseVo);
  88. vo.setPmDemandServeResponseVo(responseVo);
  89. }
  90. } else if(ProjectTypes.PLANTOEXAMINETYPE.getCode().equals(vo.getProjectType())){//工程类
  91. PmDemandEngineering obj = new PmDemandEngineering();
  92. obj.setDemandId(demandId);
  93. List<PmDemandEngineering> list = iPmDemandEngineeringService.selectPmDemandEngineeringList(obj);
  94. if(list !=null && list.size() > 0){
  95. PmDemandEngineeringResponseVo responseVo = new PmDemandEngineeringResponseVo();
  96. BeanUtils.copyProperties(list.get(0),responseVo);
  97. vo.setPmDemandEngineeringResponseVo(responseVo);
  98. }
  99. }
  100. return vo;
  101. } else {
  102. return null;
  103. }
  104. }
  105. /**
  106. * 查询采购需求列表
  107. *
  108. * @param requestVo
  109. * @return 采购需求
  110. */
  111. @Override
  112. public List<PmDemandResponseVo> selectPmDemandList(PmRequestVo requestVo)
  113. {
  114. PmDemand pmDemand = new PmDemand();
  115. pmDemand.setProjectName(requestVo.getProjectName());
  116. pmDemand.setPurchaseServices(requestVo.getPurchaseServiceStation());
  117. pmDemand.setProjectStatus(requestVo.getProjectStatus());
  118. Map<String,Object> params = new HashMap<>();
  119. params.put("beginDate",requestVo.getBeginDate());
  120. params.put("endDate",requestVo.getEndDate());
  121. pmDemand.setParams(params);
  122. List<PmDemand> pmDemandList = pmDemandMapper.selectPmDemandList(pmDemand);
  123. List<PmDemandResponseVo> pmDemandResponseVoList = new ArrayList<>();
  124. if(pmDemandList != null && !pmDemandList.isEmpty()){
  125. for(PmDemand pmDemand1 : pmDemandList){
  126. PmDemandResponseVo vo = new PmDemandResponseVo();
  127. BeanUtils.copyBeanProp(pmDemand1,vo);
  128. pmDemandResponseVoList.add(vo);
  129. }
  130. }
  131. return pmDemandResponseVoList;
  132. }
  133. /**
  134. * 新增采购需求
  135. *
  136. * @param pmDemand 采购需求
  137. * @return 结果
  138. */
  139. @Override
  140. public int insertPmDemand(PmDemand pmDemand)
  141. {
  142. pmDemand.setCreateTime(DateUtils.getNowDate());
  143. return pmDemandMapper.insertPmDemand(pmDemand);
  144. }
  145. /**
  146. * 修改采购需求
  147. *
  148. * @param pmDemand 采购需求
  149. * @return 结果
  150. */
  151. @Override
  152. public int updatePmDemand(PmDemand pmDemand)
  153. {
  154. pmDemand.setUpdateTime(DateUtils.getNowDate());
  155. return pmDemandMapper.updatePmDemand(pmDemand);
  156. }
  157. }