42327844c8b620aebad0856cd45e00fe97af77e6.svn-base 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.AttXjcwsBaseDao;
  5. import cn.com.goldenwater.dcproj.dao.BisInspXjvillRunDao;
  6. import cn.com.goldenwater.dcproj.model.AttAdBase;
  7. import cn.com.goldenwater.dcproj.model.AttXjcwsBase;
  8. import cn.com.goldenwater.dcproj.model.BisInspXjvill;
  9. import cn.com.goldenwater.dcproj.model.BisInspXjvillRun;
  10. import cn.com.goldenwater.dcproj.param.BisInspXjvillRunParam;
  11. import cn.com.goldenwater.dcproj.param.CwsParam;
  12. import cn.com.goldenwater.dcproj.service.AttAdBaseService;
  13. import cn.com.goldenwater.dcproj.service.BisInspXjvillRunService;
  14. import cn.com.goldenwater.dcproj.service.BisInspXjvillService;
  15. import cn.com.goldenwater.dcproj.util.CheckUtil;
  16. import cn.com.goldenwater.dcproj.utils.Builder;
  17. import cn.com.goldenwater.dcproj.utils.Constant;
  18. import cn.com.goldenwater.id.util.UuidUtil;
  19. import cn.com.goldenwater.util.common.InspPblmUtils;
  20. import com.github.pagehelper.PageHelper;
  21. import com.github.pagehelper.PageInfo;
  22. import org.apache.commons.lang3.StringUtils;
  23. import org.springframework.beans.BeanUtils;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.stereotype.Service;
  26. import org.springframework.transaction.annotation.Transactional;
  27. import java.util.Date;
  28. import java.util.List;
  29. import java.util.Optional;
  30. import static cn.com.goldenwater.dcproj.util.CheckUtil.check;
  31. import static cn.com.goldenwater.dcproj.util.CheckUtil.notNull;
  32. /**
  33. * @author lhc
  34. * @date 2021-9-9
  35. */
  36. @Service
  37. @Transactional
  38. public class BisInspXjvillRunServiceImpl extends AbstractCrudService<BisInspXjvillRun, BisInspXjvillRunParam> implements BisInspXjvillRunService {
  39. @Autowired
  40. private BisInspXjvillRunDao bisInspXjvillRunDao;
  41. @Autowired
  42. private AttXjcwsBaseDao attXjcwsBaseDao;
  43. @Autowired
  44. private AttAdBaseService attAdBaseService;
  45. @Autowired
  46. private BisInspXjvillService bisInspXjvillService;
  47. public BisInspXjvillRunServiceImpl(BisInspXjvillRunDao bisInspXjvillRunDao) {
  48. super(bisInspXjvillRunDao);
  49. this.bisInspXjvillRunDao = bisInspXjvillRunDao;
  50. }
  51. @Override
  52. public int insert(BisInspXjvillRun bisInspXjvillRun) {
  53. CheckUtil.notNull(bisInspXjvillRun.getRgstrId(), "rgstrId.no!");
  54. String uuid = UuidUtil.uuid(); // 生成uuid
  55. bisInspXjvillRun.setId(uuid);
  56. bisInspXjvillRun.setIntm(new Date());
  57. bisInspXjvillRun.setUptm(new Date());
  58. bisInspXjvillRun.setDataStat("0");
  59. return this.bisInspXjvillRunDao.insert(bisInspXjvillRun);
  60. }
  61. @Override
  62. public int update(BisInspXjvillRun bisInspXjvillRun) {
  63. bisInspXjvillRun.setUptm(new Date());
  64. return this.bisInspXjvillRunDao.update(bisInspXjvillRun);
  65. }
  66. @Override
  67. public int delete(String id) {
  68. return this.bisInspXjvillRunDao.delete(id);
  69. }
  70. @Override
  71. public PageInfo<AttXjcwsBase> pageNotDC(BisInspXjvillRunParam bisInspXjvillRunParam) {
  72. CheckUtil.notNull(bisInspXjvillRunParam.getRgstrId(), "rgstrId.no");
  73. if (StringUtils.isNotBlank(bisInspXjvillRunParam.getAdCode())) {
  74. bisInspXjvillRunParam.setAdCode(InspPblmUtils.getAddVCD(bisInspXjvillRunParam.getAdCode()));
  75. } else {
  76. BisInspXjvill bisInspXjvill = bisInspXjvillService.get(bisInspXjvillRunParam.getRgstrId());
  77. Optional.ofNullable(bisInspXjvill).map(BisInspXjvill::getAdCode).ifPresent(adCode -> {
  78. bisInspXjvillRunParam.setAdCode(InspPblmUtils.getAddVCD(adCode));
  79. });
  80. }
  81. PageHelper.startPage(bisInspXjvillRunParam.getPageNum(), bisInspXjvillRunParam.getPageSize());
  82. List<AttXjcwsBase> bisInspBaseDtos = attXjcwsBaseDao.queryListByRegstrIdNotDC(bisInspXjvillRunParam);
  83. return new PageInfo<>(bisInspBaseDtos);
  84. }
  85. @Override
  86. public void addBatch(CwsParam cwsParam) {
  87. check(StringUtils.isNotBlank(cwsParam.getCwsIds()), "cwsIds.no");
  88. notNull(cwsParam.getRegstrId(), "regstrId.no");
  89. String[] cwsIdArray;
  90. if (cwsParam.getCwsIds().contains(SplitValue.FENHAO_SPLIT)) {
  91. cwsIdArray = cwsParam.getCwsIds().split(SplitValue.FENHAO_SPLIT);
  92. } else {
  93. cwsIdArray = cwsParam.getCwsIds().split(SplitValue.DOUHAO_SPLIT);
  94. }
  95. for (String cwsId : cwsIdArray) {
  96. AttXjcwsBase base = attXjcwsBaseDao.get(cwsId);
  97. if (base == null) {
  98. continue;
  99. }
  100. BisInspXjvillRun fee = Builder.of(BisInspXjvillRun::new)
  101. .with(BisInspXjvillRun::setRgstrId, cwsParam.getRegstrId())
  102. .with(BisInspXjvillRun::setAdCode, cwsParam.getAdCode())
  103. .build();
  104. if (StringUtils.isNotBlank(cwsParam.getAdCode())) {
  105. AttAdBase attAdBase = attAdBaseService.get(cwsParam.getAdCode());
  106. Optional.ofNullable(attAdBase).ifPresent(b -> {
  107. fee.setAdCode(b.getAdCode());
  108. fee.setLoc(b.getAdFullName());
  109. fee.setAdName(b.getAdName());
  110. });
  111. }
  112. BeanUtils.copyProperties(base, fee);
  113. fee.setCwsId(base.getId());
  114. fee.setRegmId(cwsParam.getRegmId());
  115. fee.setRgstrId(cwsParam.getRegstrId());
  116. insert(fee);
  117. }
  118. updateRgstrState(cwsParam.getRegstrId());
  119. }
  120. @Override
  121. public int selectCount(BisInspXjvillRun bisInspXjvillRun) {
  122. return bisInspXjvillRunDao.selectCount(bisInspXjvillRun);
  123. }
  124. void updateRgstrState(String rgstrId) {
  125. BisInspXjvill rgstr = bisInspXjvillService.get(rgstrId);
  126. Optional.ofNullable(rgstr).ifPresent(r -> {
  127. if (!Constant.STRING_TWO.equals(r.getState()) &&
  128. !Constant.STRING_ONE.equals(r.getState())) {
  129. r.setUptm(new Date());
  130. r.setState(Constant.STRING_ONE);
  131. // 更新登记表状态
  132. bisInspXjvillService.update(r);
  133. }
  134. });
  135. }
  136. }