5f8657358ada7886b2269d9687693e69623f75f4.svn-base 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.BisInspJspwiu2024Dao;
  5. import cn.com.goldenwater.dcproj.dto.BisInspJspwiu2024Dto;
  6. import cn.com.goldenwater.dcproj.dto.BisInspJspwiuDto;
  7. import cn.com.goldenwater.dcproj.model.*;
  8. import cn.com.goldenwater.dcproj.param.*;
  9. import cn.com.goldenwater.dcproj.service.*;
  10. import cn.com.goldenwater.core.service.AbstractCrudService;
  11. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  12. import cn.com.goldenwater.dcproj.utils.Builder;
  13. import cn.com.goldenwater.dcproj.utils.Constant;
  14. import com.github.pagehelper.PageHelper;
  15. import com.github.pagehelper.PageInfo;
  16. import org.apache.commons.collections.MapUtils;
  17. import org.apache.commons.lang.StringUtils;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import cn.com.goldenwater.id.util.UuidUtil;
  23. import javax.servlet.http.HttpServletResponse;
  24. import java.util.List;
  25. import java.util.Date;
  26. import java.util.Map;
  27. import java.util.Optional;
  28. /**
  29. * @author lhc
  30. * @date 2024-3-4
  31. */
  32. @Service
  33. @Transactional
  34. public class BisInspJspwiu2024ServiceImpl extends AbstractCrudService<BisInspJspwiu2024, BisInspJspwiu2024Param> implements BisInspJspwiu2024Service {
  35. @Autowired
  36. private BisInspJspwiu2024Dao bisInspJspwiu2024Dao;
  37. @Autowired
  38. private BisInspJspwiu2024Service bisInspJspwiu2024Service;
  39. @Autowired
  40. private AttJspwiu2024BaseService attJspwiu2024BaseService;
  41. @Autowired
  42. private BisInspJspwiu2024WaterService bisInspJspwiu2024WaterService;
  43. public BisInspJspwiu2024ServiceImpl(BisInspJspwiu2024Dao bisInspJspwiu2024Dao) {
  44. super(bisInspJspwiu2024Dao);
  45. this.bisInspJspwiu2024Dao = bisInspJspwiu2024Dao;
  46. }
  47. @Override
  48. public int insert(BisInspJspwiu2024 bisInspJspwiu2024) {
  49. String uuid = UuidUtil.uuid(); // 鐢熸垚uuid
  50. bisInspJspwiu2024.setId(uuid);
  51. bisInspJspwiu2024.setIntm(new Date());
  52. bisInspJspwiu2024.setUptm(new Date());
  53. bisInspJspwiu2024.setDataStat("0");
  54. // 督查状态
  55. bisInspJspwiu2024.setState("0");
  56. // 填报项 计划用水户节约用水情况 状态
  57. bisInspJspwiu2024.setWtruStat("0");
  58. // 填报项 取水口及监管情况 状态
  59. bisInspJspwiu2024.setUnitStat("0");
  60. // 子表 计划用水户
  61. this.bisInspJspwiu2024WaterService.insert(Builder.of(BisInspJspwiu2024Water::new)
  62. .with(BisInspJspwiu2024Water::setRgstrId, uuid)
  63. .build());
  64. return this.bisInspJspwiu2024Dao.insert(bisInspJspwiu2024);
  65. }
  66. @Override
  67. public int update(BisInspJspwiu2024 bisInspJspwiu2024) {
  68. if(StringUtils.isNotBlank(bisInspJspwiu2024.getObjId())){
  69. updateBase(bisInspJspwiu2024);
  70. }
  71. bisInspJspwiu2024.setUptm(new Date());
  72. return this.bisInspJspwiu2024Dao.update(bisInspJspwiu2024);
  73. }
  74. /**
  75. * 更新基础表
  76. */
  77. void updateBase(BisInspJspwiu2024 bisInspJspwiu2024) {
  78. AttJspwiu2024Base base = attJspwiu2024BaseService.getObjId(bisInspJspwiu2024.getObjId());
  79. Optional.ofNullable(base).ifPresent(b -> {
  80. String id = b.getId();
  81. BeanUtils.copyProperties(bisInspJspwiu2024, b);
  82. b.setId(id);
  83. b.setIntm(null);
  84. attJspwiu2024BaseService.update(b);
  85. });
  86. }
  87. @Override
  88. public void updateState(Map<String, Object> map) {
  89. BisInspJspwiu2024 rgstr = get(MapUtils.getString(map, "rgstrId"));
  90. if (!Constant.STRING_TWO.equals(rgstr.getState())) {
  91. rgstr.setUptm(new Date());
  92. rgstr.setState(Constant.STRING_ONE);
  93. if ("wtru".equals(MapUtils.getString(map, "param"))) {
  94. if (StringUtils.isBlank(rgstr.getWtruStat()) &&
  95. !"2".equals(MapUtils.getString(map, "state"))) {
  96. map.put("state", "1");
  97. }
  98. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  99. rgstr.setWtruStat(MapUtils.getString(map, "state"));
  100. }
  101. }
  102. if ("unit".equals(MapUtils.getString(map, "param"))) {
  103. if (StringUtils.isBlank(rgstr.getUnitStat()) &&
  104. !"2".equals(MapUtils.getString(map, "state"))) {
  105. map.put("state", "1");
  106. }
  107. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  108. rgstr.setUnitStat(MapUtils.getString(map, "state"));
  109. }
  110. }
  111. update(rgstr);
  112. }
  113. }
  114. // 实现 BisInspObjStrategy
  115. @Override
  116. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  117. BisInspJspwiu2024 bisInspJspwiu2024 = new BisInspJspwiu2024();
  118. AttJspwiu2024Base attJspwiuBase2024 = attJspwiu2024BaseService.get(bisInspAllObj.getCode());
  119. BeanUtils.copyProperties(attJspwiuBase2024, bisInspJspwiu2024);
  120. bisInspJspwiu2024.setObjId(bisInspAllObj.getObjId());
  121. // 添加 登记表
  122. insert(bisInspJspwiu2024);
  123. }
  124. @Override
  125. public String getType() {
  126. return BisInspEnum.JSPWIU2024.getValue();
  127. }
  128. @Override
  129. public void cleanObjData(String objId) {
  130. BisInspJspwiu2024Param jspwiu2024Param = new BisInspJspwiu2024Param();
  131. jspwiu2024Param.setObjId(objId);
  132. List<BisInspJspwiu2024> list = this.bisInspJspwiu2024Dao.findList(jspwiu2024Param);
  133. if(null != list && list.size()>0){
  134. String id = list.get(0).getId();
  135. // 删除子表 -- 计划用水户节约用水情况
  136. bisInspJspwiu2024WaterService.deleteBy(Builder.of(BisInspJspwiu2024WaterParam::new).with(BisInspJspwiu2024WaterParam::setRgstrId, id).build());
  137. // 删除主表
  138. this.bisInspJspwiu2024Dao.delete(id);
  139. }
  140. }
  141. @Override
  142. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  143. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  144. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  145. }
  146. PageHelper.startPage(typeParam);
  147. List<BisInspJspwiu2024Dto> list = this.bisInspJspwiu2024Dao.findPageList(typeParam);
  148. if (list != null && list.size() > 0) {
  149. list.forEach(rgstrDto -> {
  150. if (StringUtils.isNotBlank(rgstrDto.getAdFullName())) {
  151. String[] adFullNames = rgstrDto.getAdFullName().split("-");
  152. rgstrDto.setProName(adFullNames[0]);
  153. if (adFullNames.length > 1) {
  154. rgstrDto.setCityName(adFullNames[1]);
  155. }
  156. if (adFullNames.length > 2) {
  157. rgstrDto.setCountyName(adFullNames[2]);
  158. }
  159. }
  160. });
  161. }
  162. return new PageInfo<>(list);
  163. }
  164. @Override
  165. public int delete(String id) {
  166. return this.bisInspJspwiu2024Dao.delete(id);
  167. }
  168. @Override
  169. public Object findObjListByType(TypeParam typeParam) {
  170. return this.bisInspJspwiu2024Dao.findPageList(typeParam);
  171. }
  172. }