f14ebfedb5a938e7a13bb8d3ac105a3ef9680989.svn-base 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package cn.com.goldenwater.dcproj.service.impl.waga;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspWagaPblmDao;
  4. import cn.com.goldenwater.dcproj.model.AttWagaRgstr;
  5. import cn.com.goldenwater.dcproj.model.BisInspWagaPblm;
  6. import cn.com.goldenwater.dcproj.model.GwComFile;
  7. import cn.com.goldenwater.dcproj.param.AttWagaRgstrParam;
  8. import cn.com.goldenwater.dcproj.param.BisInspWagaPblmParam;
  9. import cn.com.goldenwater.dcproj.param.GwComFileParam;
  10. import cn.com.goldenwater.dcproj.service.AttWagaRgstrService;
  11. import cn.com.goldenwater.dcproj.service.BisInspWagaPblmService;
  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.apache.commons.lang3.StringUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Service;
  20. import org.springframework.transaction.annotation.Transactional;
  21. import java.util.Date;
  22. import java.util.List;
  23. import java.util.Optional;
  24. import java.util.stream.Collectors;
  25. /**
  26. * @author lhc
  27. * @date 2021-5-21
  28. */
  29. @Service
  30. @Transactional
  31. public class BisInspWagaPblmServiceImpl extends AbstractCrudService<BisInspWagaPblm, BisInspWagaPblmParam> implements BisInspWagaPblmService {
  32. @Autowired
  33. private BisInspWagaPblmDao bisInspWagaPblmDao;
  34. @Autowired
  35. private GwComFileService gwComFileService;
  36. @Autowired
  37. private AttWagaRgstrService attWagaRgstrService;
  38. public BisInspWagaPblmServiceImpl(BisInspWagaPblmDao bisInspWagaPblmDao) {
  39. super(bisInspWagaPblmDao);
  40. this.bisInspWagaPblmDao = bisInspWagaPblmDao;
  41. }
  42. @Override
  43. public BisInspWagaPblm get(String key) {
  44. BisInspWagaPblm pblm = super.get(key);
  45. Optional.ofNullable(pblm).ifPresent(p -> {
  46. List<GwComFile> list = gwComFileService.findList(Builder.of(GwComFileParam::new).with(GwComFileParam::setBizId, p.getId()).build());
  47. p.setGwComFiles(list);
  48. });
  49. return pblm;
  50. }
  51. @Override
  52. public int insert(BisInspWagaPblm bisInspWagaPblm) {
  53. String uuid = UuidUtil.uuid();
  54. bisInspWagaPblm.setId(uuid);
  55. bisInspWagaPblm.setIntm(new Date());
  56. bisInspWagaPblm.setUptm(new Date());
  57. bisInspWagaPblm.setDataStat("0");
  58. List<AttWagaRgstr> rslkbkRgstrList = attWagaRgstrService.findList(Builder
  59. .of(AttWagaRgstrParam::new)
  60. .with(AttWagaRgstrParam::setId, bisInspWagaPblm.getRgstrId())
  61. .with(AttWagaRgstrParam::setObjCode, bisInspWagaPblm.getObjCode())
  62. .build());
  63. if (rslkbkRgstrList != null && rslkbkRgstrList.size() > 0) {
  64. bisInspWagaPblm.setObjCode(rslkbkRgstrList.get(0).getObjCode());
  65. bisInspWagaPblm.setGateName(rslkbkRgstrList.get(0).getGateName());
  66. bisInspWagaPblm.setAdCode(rslkbkRgstrList.get(0).getAdCode());
  67. bisInspWagaPblm.setEngScal(rslkbkRgstrList.get(0).getEngScal());
  68. rslkbkRgstrList.forEach(this::updateRgtsr);
  69. }
  70. if (StringUtils.isNotBlank(bisInspWagaPblm.getRevwRectConc())) {
  71. bisInspWagaPblm.setRevwState("2");
  72. }
  73. int ret = this.bisInspWagaPblmDao.insert(bisInspWagaPblm);
  74. updateFiles(bisInspWagaPblm);
  75. AttWagaRgstr rgstr = attWagaRgstrService.get(bisInspWagaPblm.getRgstrId());
  76. updateRgtsr(rgstr);
  77. return ret;
  78. }
  79. @Override
  80. public int update(BisInspWagaPblm bisInspWagaPblm) {
  81. bisInspWagaPblm.setUptm(new Date());
  82. if (StringUtils.isNotBlank(bisInspWagaPblm.getRevwRectConc())) {
  83. bisInspWagaPblm.setRevwState("2");
  84. }
  85. int ret = this.bisInspWagaPblmDao.update(bisInspWagaPblm);
  86. List<AttWagaRgstr> rslkbkRgstrList = attWagaRgstrService.findList(Builder
  87. .of(AttWagaRgstrParam::new)
  88. .with(AttWagaRgstrParam::setId, bisInspWagaPblm.getRgstrId())
  89. .with(AttWagaRgstrParam::setObjCode, bisInspWagaPblm.getObjCode())
  90. .build());
  91. if (rslkbkRgstrList != null && rslkbkRgstrList.size() > 0) {
  92. rslkbkRgstrList.forEach(this::updateRgtsr);
  93. }
  94. updateFiles(bisInspWagaPblm);
  95. return ret;
  96. }
  97. private void updateRgtsr(AttWagaRgstr rgstr) {
  98. if (!"2".equals(rgstr.getState()) ||
  99. !"1".equals(rgstr.getState())) {
  100. rgstr.setState("1");
  101. attWagaRgstrService.update(rgstr);
  102. }
  103. }
  104. private void updateFiles(BisInspWagaPblm bisInspWagaPblm) {
  105. GwComFileParam param = new GwComFileParam();
  106. param.setBizId(bisInspWagaPblm.getId());
  107. param.setBizType("MEND_PROV");
  108. List<GwComFile> prov = gwComFileService.findList(param);
  109. if (bisInspWagaPblm.getGwComFiles() != null && bisInspWagaPblm.getGwComFiles().size() > 0) {
  110. if (prov != null) bisInspWagaPblm.getGwComFiles().addAll(prov);
  111. gwComFileService.updateBiz(bisInspWagaPblm.getGwComFiles(), bisInspWagaPblm.getId());
  112. }
  113. }
  114. @Override
  115. public int delete(String id) {
  116. return this.bisInspWagaPblmDao.delete(id);
  117. }
  118. @Override
  119. public PageInfo<BisInspWagaPblm> findPageInfo(BisInspWagaPblmParam param) {
  120. PageHelper.startPage(param);
  121. List<BisInspWagaPblm> list = this.bisInspWagaPblmDao.findList(param);
  122. if (list != null && list.size() > 0) {
  123. for (BisInspWagaPblm pblm : list) {
  124. List<GwComFile> gwComFileList = gwComFileService.findList(Builder.of(GwComFileParam::new).with(GwComFileParam::setBizId, pblm.getId()).build());
  125. if (gwComFileList != null && gwComFileList.size() > 0) {
  126. gwComFileList = gwComFileList.stream().filter(file -> "MEND_EXTRA".equals(file.getBizType())).collect(Collectors.toList());
  127. }
  128. pblm.setGwComFiles(gwComFileList);
  129. }
  130. }
  131. return (PageInfo<BisInspWagaPblm>) new PageInfo(list);
  132. }
  133. @Override
  134. public PageInfo<BisInspWagaPblm> findPageWaga(BisInspWagaPblmParam param) {
  135. PageHelper.startPage(param);
  136. List<BisInspWagaPblm> list = this.bisInspWagaPblmDao.findList(param);
  137. return (PageInfo<BisInspWagaPblm>) new PageInfo(list);
  138. }
  139. @Override
  140. public BisInspWagaPblm getWithExtras(GwComFileParam gwComFileParam) {
  141. BisInspWagaPblm bisInspWagaPblm = bisInspWagaPblmDao.get(gwComFileParam.getId());
  142. Optional.ofNullable(bisInspWagaPblm).ifPresent(pblm -> {
  143. gwComFileParam.setId("");
  144. List<GwComFile> list = gwComFileService.findList(gwComFileParam);
  145. pblm.setGwComFiles(list);
  146. });
  147. return bisInspWagaPblm;
  148. }
  149. }