8f3d735c6fc8574353809674d6f6178e926f396e.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  4. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  5. import cn.com.goldenwater.dcproj.dao.AttCwsBaseDao;
  6. import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
  7. import cn.com.goldenwater.dcproj.dao.BisInspVillqhFeeDao;
  8. import cn.com.goldenwater.dcproj.model.AttAdXBase;
  9. import cn.com.goldenwater.dcproj.model.AttCwsBase;
  10. import cn.com.goldenwater.dcproj.model.BisInspVillqhFee;
  11. import cn.com.goldenwater.dcproj.model.BisInspVillqhRgstr;
  12. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  13. import cn.com.goldenwater.dcproj.param.BisInspVillqhFeeParam;
  14. import cn.com.goldenwater.dcproj.param.CwsParam;
  15. import cn.com.goldenwater.dcproj.service.AttAdXBaseService;
  16. import cn.com.goldenwater.dcproj.service.BisInspVillqhFeeService;
  17. import cn.com.goldenwater.dcproj.service.BisInspVillqhRgstrService;
  18. import cn.com.goldenwater.dcproj.utils.Builder;
  19. import cn.com.goldenwater.dcproj.utils.Constant;
  20. import cn.com.goldenwater.dcproj.utils.DateUtils;
  21. import cn.com.goldenwater.id.util.UuidUtil;
  22. import cn.com.goldenwater.target.CheckException;
  23. import com.github.pagehelper.PageHelper;
  24. import com.github.pagehelper.PageInfo;
  25. import org.apache.commons.lang3.StringUtils;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.stereotype.Service;
  28. import org.springframework.transaction.annotation.Transactional;
  29. import java.util.*;
  30. import static cn.com.goldenwater.dcproj.util.CheckUtil.check;
  31. /**
  32. * @author lhc
  33. * @date 2021-2-1
  34. */
  35. @Service
  36. @Transactional
  37. public class BisInspVillqhFeeServiceImpl extends AbstractCrudService<BisInspVillqhFee, BisInspVillqhFeeParam> implements BisInspVillqhFeeService {
  38. @Autowired
  39. private BisInspVillqhFeeDao bisInspVillqhFeeDao;
  40. @Autowired
  41. private AttCwsBaseDao attCwsBaseDao;
  42. @Autowired
  43. private AttAdXBaseService attAdXBaseService;
  44. @Autowired
  45. private BisInspVillqhRgstrService bisInspVillqhRgstrService;
  46. @Autowired
  47. private BisInspPblmDao bisInspPblmDao;
  48. public BisInspVillqhFeeServiceImpl(BisInspVillqhFeeDao bisInspVillqhFeeDao) {
  49. super(bisInspVillqhFeeDao);
  50. this.bisInspVillqhFeeDao = bisInspVillqhFeeDao;
  51. }
  52. @Override
  53. public int insert(BisInspVillqhFee bisInspVillqhFee) {
  54. // 生成uuid
  55. String uuid = UuidUtil.uuid();
  56. bisInspVillqhFee.setId(uuid);
  57. bisInspVillqhFee.setStatus(Constant.STRING_ONE);
  58. bisInspVillqhFee.setDataStat(Constant.STRING_ZERO);
  59. Date now = new Date();
  60. bisInspVillqhFee.setIntm(now);
  61. bisInspVillqhFee.setUptm(now);
  62. bisInspVillqhFee.setVisitDate(DateUtils.Date2Str(now));
  63. return this.bisInspVillqhFeeDao.insert(bisInspVillqhFee);
  64. }
  65. @Override
  66. public int update(BisInspVillqhFee bisInspVillqhFee) {
  67. // 获取子表
  68. BisInspVillqhFee child = get(bisInspVillqhFee.getId());
  69. Optional.ofNullable(child).orElseThrow(() -> new CheckException("未找到此表"));
  70. // 更新子表
  71. bisInspVillqhFee.setUptm(new Date());
  72. int ret = bisInspVillqhFeeDao.update(bisInspVillqhFee);
  73. // 更新登记表状态
  74. Map<String, Object> map = new HashMap<>(3);
  75. map.put("rgstrId", child.getRegstrId());
  76. map.put("param", "fee");
  77. map.put("state", bisInspVillqhFee.getState());
  78. bisInspVillqhRgstrService.updateState(map);
  79. return ret;
  80. }
  81. @Override
  82. public int delete(String id) {
  83. BisInspVillqhFee fee = get(id);
  84. BisInspVillqhRgstr rgstr = bisInspVillqhRgstrService.get(fee.getRegstrId());
  85. BisInspPblmParam pblm = Builder.of(BisInspPblmParam::new)
  86. .with(BisInspPblmParam::setCwsCode, id)
  87. .with(BisInspPblmParam::setObjId, rgstr.getObjId())
  88. .with(BisInspPblmParam::setObjType, BisInspEnum.VILLQH.getValue())
  89. .build();
  90. bisInspPblmDao.deleteBy(pblm);
  91. return this.bisInspVillqhFeeDao.delete(id);
  92. }
  93. @Override
  94. public PageInfo<AttCwsBase> pageNotDC(CwsParam cwsParam) {
  95. PageHelper.startPage(cwsParam.getPageNum(), cwsParam.getPageSize());
  96. List<AttCwsBase> bisInspBaseDtos = attCwsBaseDao.queryListByRegstrIdNotDC(cwsParam);
  97. return new PageInfo<>(bisInspBaseDtos);
  98. }
  99. @Override
  100. public void addBatch(CwsParam cwsParam) {
  101. check(StringUtils.isNotBlank(cwsParam.getCwsIds()), "cwsIds.no");
  102. String[] cwsIdArray;
  103. if (cwsParam.getCwsIds().contains(SplitValue.FENHAO_SPLIT)){
  104. cwsIdArray = cwsParam.getCwsIds().split(SplitValue.FENHAO_SPLIT);
  105. } else {
  106. cwsIdArray = cwsParam.getCwsIds().split(SplitValue.DOUHAO_SPLIT);
  107. }
  108. for (String cwsId : cwsIdArray) {
  109. AttCwsBase attCwsBase = attCwsBaseDao.get(cwsId);
  110. if (attCwsBase == null) {
  111. continue;
  112. }
  113. BisInspVillqhFee fee = Builder.of(BisInspVillqhFee::new)
  114. .with(BisInspVillqhFee::setRegstrId, cwsParam.getRegstrId())
  115. .with(BisInspVillqhFee::setAdCode, cwsParam.getAdCode())
  116. .build();
  117. if (StringUtils.isNotBlank(cwsParam.getAdCode())) {
  118. AttAdXBase attAdXBase = attAdXBaseService.get(cwsParam.getAdCode());
  119. Optional.ofNullable(attAdXBase).ifPresent(base -> {
  120. fee.setAdCode(base.getAdCode());
  121. fee.setAdFullName(base.getAdFullName());
  122. fee.setAdName(base.getAdName());
  123. });
  124. }
  125. fee.setPrjId(attCwsBase.getCwsCode());
  126. fee.setPrjNm(attCwsBase.getCwsName());
  127. fee.setPrjType(attCwsBase.getEngType());
  128. fee.setGdX(attCwsBase.getCenterXGd());
  129. fee.setGdY(attCwsBase.getCenterYGd());
  130. fee.setCenterX(attCwsBase.getCwsLong());
  131. fee.setCenterY(attCwsBase.getCwsLat());
  132. fee.setBuldTm(attCwsBase.getCompDate());
  133. insert(fee);
  134. }
  135. updateRgstrState(cwsParam.getRegstrId());
  136. }
  137. void updateRgstrState(String rgstrId) {
  138. BisInspVillqhRgstr rgstr = bisInspVillqhRgstrService.get(rgstrId);
  139. Optional.ofNullable(rgstr).ifPresent(r -> {
  140. if (!Constant.STRING_TWO.equals(r.getState()) &&
  141. !Constant.STRING_ONE.equals(r.getState())) {
  142. r.setUptm(new Date());
  143. r.setState(Constant.STRING_ONE);
  144. // 更新登记表状态
  145. bisInspVillqhRgstrService.update(r);
  146. }
  147. });
  148. }
  149. }