2f4494f62edb7fff983a9bed79203a64dc7feff6.svn-base 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspRslkbkPblmDao;
  4. import cn.com.goldenwater.dcproj.model.BisInspRslkbkPblm;
  5. import cn.com.goldenwater.dcproj.model.BisInspRslkbkRgstr;
  6. import cn.com.goldenwater.dcproj.model.GwComFile;
  7. import cn.com.goldenwater.dcproj.param.BisInspRslkbkPblmParam;
  8. import cn.com.goldenwater.dcproj.param.BisInspRslkbkRgstrParam;
  9. import cn.com.goldenwater.dcproj.param.GwComFileParam;
  10. import cn.com.goldenwater.dcproj.service.BisInspRslkbkPblmService;
  11. import cn.com.goldenwater.dcproj.service.BisInspRslkbkRgstrService;
  12. import cn.com.goldenwater.dcproj.service.GwComFileService;
  13. import cn.com.goldenwater.dcproj.utils.Builder;
  14. import cn.com.goldenwater.id.util.UuidUtil;
  15. import com.github.pagehelper.PageHelper;
  16. import com.github.pagehelper.PageInfo;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import java.util.Date;
  21. import java.util.List;
  22. import java.util.Optional;
  23. import java.util.stream.Collectors;
  24. /**
  25. * @author lhc
  26. * @date 2021-4-26
  27. */
  28. @Service
  29. @Transactional
  30. public class BisInspRslkbkPblmServiceImpl extends AbstractCrudService<BisInspRslkbkPblm, BisInspRslkbkPblmParam> implements BisInspRslkbkPblmService {
  31. @Autowired
  32. private BisInspRslkbkPblmDao bisInspRslkbkPblmDao;
  33. @Autowired
  34. private BisInspRslkbkRgstrService bisInspRslkbkRgstrService;
  35. @Autowired
  36. private GwComFileService gwComFileService;
  37. public BisInspRslkbkPblmServiceImpl(BisInspRslkbkPblmDao bisInspRslkbkPblmDao) {
  38. super(bisInspRslkbkPblmDao);
  39. this.bisInspRslkbkPblmDao = bisInspRslkbkPblmDao;
  40. }
  41. @Override
  42. public int insert(BisInspRslkbkPblm bisInspRslkbkPblm) {
  43. bisInspRslkbkPblm.setId(UuidUtil.uuid());
  44. bisInspRslkbkPblm.setIntm(new Date());
  45. bisInspRslkbkPblm.setUptm(new Date());
  46. bisInspRslkbkPblm.setDataStat("0");
  47. List<BisInspRslkbkRgstr> rslkbkRgstrList = bisInspRslkbkRgstrService.findList(Builder
  48. .of(BisInspRslkbkRgstrParam::new)
  49. .with(BisInspRslkbkRgstrParam::setId, bisInspRslkbkPblm.getRgstrId())
  50. .with(BisInspRslkbkRgstrParam::setRsCode, bisInspRslkbkPblm.getRsCode())
  51. .build());
  52. if (rslkbkRgstrList != null && rslkbkRgstrList.size() > 0) {
  53. bisInspRslkbkPblm.setRsCode(rslkbkRgstrList.get(0).getRsCode());
  54. bisInspRslkbkPblm.setRsName(rslkbkRgstrList.get(0).getRsName());
  55. bisInspRslkbkPblm.setAdCode(rslkbkRgstrList.get(0).getAdCode());
  56. bisInspRslkbkPblm.setDamRegCode(rslkbkRgstrList.get(0).getDamRegCode());
  57. bisInspRslkbkPblm.setEngScal(rslkbkRgstrList.get(0).getEngScal());
  58. rslkbkRgstrList.forEach(this::updateRgtsr);
  59. }
  60. int ret = this.bisInspRslkbkPblmDao.insert(bisInspRslkbkPblm);
  61. updateFiles(bisInspRslkbkPblm);
  62. BisInspRslkbkRgstr rgstr = bisInspRslkbkRgstrService.get(bisInspRslkbkPblm.getRgstrId());
  63. updateRgtsr(rgstr);
  64. return ret;
  65. }
  66. private void updateFiles(BisInspRslkbkPblm bisInspRslkbkPblm) {
  67. GwComFileParam param = new GwComFileParam();
  68. param.setBizId(bisInspRslkbkPblm.getId());
  69. param.setBizType("MEND_PROV");
  70. List<GwComFile> prov = gwComFileService.findList(param);
  71. if (bisInspRslkbkPblm.getGwComFiles() != null && bisInspRslkbkPblm.getGwComFiles().size() > 0) {
  72. if (prov != null) bisInspRslkbkPblm.getGwComFiles().addAll(prov);
  73. gwComFileService.updateBiz(bisInspRslkbkPblm.getGwComFiles(), bisInspRslkbkPblm.getId());
  74. }
  75. }
  76. private void updateRgtsr(BisInspRslkbkRgstr rslkbkRgstr) {
  77. if (!"2".equals(rslkbkRgstr.getState()) ||
  78. !"1".equals(rslkbkRgstr.getState())) {
  79. rslkbkRgstr.setState("1");
  80. bisInspRslkbkRgstrService.update(rslkbkRgstr);
  81. }
  82. }
  83. @Override
  84. public BisInspRslkbkPblm get(String key) {
  85. BisInspRslkbkPblm pblm = super.get(key);
  86. Optional.ofNullable(pblm).ifPresent(p -> {
  87. List<GwComFile> list = gwComFileService.findList(Builder.of(GwComFileParam::new).with(GwComFileParam::setBizId, p.getId()).build());
  88. p.setGwComFiles(list);
  89. });
  90. return pblm;
  91. }
  92. @Override
  93. public int update(BisInspRslkbkPblm bisInspRslkbkPblm) {
  94. bisInspRslkbkPblm.setUptm(new Date());
  95. int ret = this.bisInspRslkbkPblmDao.update(bisInspRslkbkPblm);
  96. List<BisInspRslkbkRgstr> rslkbkRgstrList = bisInspRslkbkRgstrService.findList(Builder
  97. .of(BisInspRslkbkRgstrParam::new)
  98. .with(BisInspRslkbkRgstrParam::setId, bisInspRslkbkPblm.getRgstrId())
  99. .with(BisInspRslkbkRgstrParam::setRsCode, bisInspRslkbkPblm.getRsCode())
  100. .build());
  101. if (rslkbkRgstrList != null && rslkbkRgstrList.size() > 0) {
  102. rslkbkRgstrList.forEach(this::updateRgtsr);
  103. }
  104. updateFiles(bisInspRslkbkPblm);
  105. return ret;
  106. }
  107. @Override
  108. public int delete(String id) {
  109. return this.bisInspRslkbkPblmDao.delete(id);
  110. }
  111. @Override
  112. public PageInfo<BisInspRslkbkPblm> findPageInfo(BisInspRslkbkPblmParam param) {
  113. PageHelper.startPage(param);
  114. List<BisInspRslkbkPblm> list = this.bisInspRslkbkPblmDao.findList(param);
  115. if (list != null && list.size() > 0) {
  116. for (BisInspRslkbkPblm pblm : list) {
  117. List<GwComFile> gwComFileList = gwComFileService.findList(Builder.of(GwComFileParam::new).with(GwComFileParam::setBizId, pblm.getId()).build());
  118. if (gwComFileList != null && gwComFileList.size() > 0) {
  119. gwComFileList = gwComFileList.stream().filter(file -> "MEND_EXTRA".equals(file.getBizType())).collect(Collectors.toList());
  120. }
  121. pblm.setGwComFiles(gwComFileList);
  122. }
  123. }
  124. PageInfo<BisInspRslkbkPblm> pageInfo = new PageInfo(list);
  125. return pageInfo;
  126. }
  127. }