b4d948a9529baba0070d004b98912be21d4a09f5.svn-base 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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.BisInspRssfgdRgstrDao;
  6. import cn.com.goldenwater.dcproj.dto.BisInspRssfgdRgstrDto;
  7. import cn.com.goldenwater.dcproj.model.AttAdBase;
  8. import cn.com.goldenwater.dcproj.model.AttRsBase;
  9. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  10. import cn.com.goldenwater.dcproj.model.BisInspRssfgdRgstr;
  11. import cn.com.goldenwater.dcproj.param.BisInspRssfgdBaseParam;
  12. import cn.com.goldenwater.dcproj.param.BisInspRssfgdRgstrParam;
  13. import cn.com.goldenwater.dcproj.param.TypeParam;
  14. import cn.com.goldenwater.dcproj.service.*;
  15. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  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 com.github.pagehelper.PageHelper;
  20. import com.github.pagehelper.PageInfo;
  21. import org.apache.commons.collections.MapUtils;
  22. import org.apache.commons.lang.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 javax.servlet.http.HttpServletResponse;
  28. import java.util.Date;
  29. import java.util.List;
  30. import java.util.Map;
  31. import java.util.Optional;
  32. /**
  33. * @author lhc
  34. * @date 2021-5-19
  35. */
  36. @Service
  37. @Transactional
  38. public class BisInspRssfgdRgstrServiceImpl extends AbstractCrudService<BisInspRssfgdRgstr, BisInspRssfgdRgstrParam> implements BisInspRssfgdRgstrService, BisInspObjStrategy {
  39. @Autowired
  40. private BisInspRssfgdRgstrDao bisInspRssfgdRgstrDao;
  41. @Autowired
  42. private AttRsBaseService attRsBaseService;
  43. @Autowired
  44. private AttAdBaseService attAdBaseService;
  45. @Autowired
  46. private BisInspRssfgdBaseService bisInspRssfgdBaseService;
  47. @Autowired
  48. private BisInspPblmService bisInspPblmService;
  49. public BisInspRssfgdRgstrServiceImpl(BisInspRssfgdRgstrDao bisInspRssfgdRgstrDao) {
  50. super(bisInspRssfgdRgstrDao);
  51. this.bisInspRssfgdRgstrDao = bisInspRssfgdRgstrDao;
  52. }
  53. @Override
  54. public BisInspRssfgdRgstr get(String key) {
  55. BisInspRssfgdRgstr rgstr = super.get(key);
  56. Optional.ofNullable(rgstr).map(BisInspRssfgdRgstr::getAdCode).ifPresent(adCode -> {
  57. AttAdBase attAdBase = attAdBaseService.get(adCode);
  58. Optional.ofNullable(attAdBase).ifPresent(base -> {
  59. rgstr.setAdFullName(base.getAdFullName());
  60. });
  61. });
  62. return rgstr;
  63. }
  64. @Override
  65. public int insert(BisInspRssfgdRgstr bisInspRssfgdRgstr) {
  66. bisInspRssfgdRgstr.setId(UuidUtil.uuid());
  67. bisInspRssfgdRgstr.setIntm(new Date());
  68. bisInspRssfgdRgstr.setUptm(new Date());
  69. bisInspRssfgdRgstr.setDataStat("0");
  70. bisInspRssfgdRgstr.setState("0");
  71. bisInspRssfgdRgstr.setSfdrState("0");
  72. /* 添加 登记表 */
  73. int ret = bisInspRssfgdRgstrDao.insert(bisInspRssfgdRgstr);
  74. // 添加 子表
  75. bisInspRssfgdBaseService.insert(Builder.of(BisInspRssfgdBaseParam::new)
  76. .with(BisInspRssfgdBaseParam::setRgstrId, bisInspRssfgdRgstr.getId()).build());
  77. return ret;
  78. }
  79. @Override
  80. public int update(BisInspRssfgdRgstr bisInspRssfgdRgstr) {
  81. bisInspRssfgdRgstr.setUptm(new Date());
  82. int ret = this.bisInspRssfgdRgstrDao.update(bisInspRssfgdRgstr);
  83. updatePblmState(bisInspRssfgdRgstr);
  84. return ret;
  85. }
  86. private void updatePblmState(BisInspRssfgdRgstr rgstr) {
  87. BisInspRssfgdRgstr r = get(rgstr.getId());
  88. if (r == null) {
  89. return;
  90. }
  91. bisInspPblmService.updateStateByObjId(r.getObjId(), rgstr.getState());
  92. }
  93. @Override
  94. public int delete(String id) {
  95. return this.bisInspRssfgdRgstrDao.delete(id);
  96. }
  97. @Override
  98. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  99. BisInspRssfgdRgstr b = new BisInspRssfgdRgstr();
  100. AttRsBase base = attRsBaseService.get(bisInspAllObj.getCode());
  101. BeanUtils.copyProperties(base, b);
  102. b.setAdCode(base.getAdmDiv());
  103. b.setAdName(base.getAdmDivName());
  104. b.setDamRegCode(base.getRegCode());
  105. b.setAddr(base.getLocation());
  106. b.setResCreateTime(base.getCompDate());
  107. if (StringUtils.isNotBlank(base.getRegCode())) {
  108. b.setHasDamRegCode("1");
  109. } else {
  110. b.setHasDamRegCode("0");
  111. }
  112. b.setObjId(bisInspAllObj.getObjId());
  113. insert(b);
  114. }
  115. @Override
  116. public String getType() {
  117. return BisInspEnum.RSSFGD.getValue();
  118. }
  119. @Override
  120. public void cleanObjData(String objId) {
  121. BisInspRssfgdRgstrParam rgstrParam = new BisInspRssfgdRgstrParam();
  122. rgstrParam.setObjId(objId);
  123. List<BisInspRssfgdRgstr> list = this.bisInspRssfgdRgstrDao.findList(rgstrParam);
  124. if (list.size() > 0) {
  125. String id = list.get(0).getId();
  126. // 删除登记表
  127. this.bisInspRssfgdRgstrDao.delete(id);
  128. // 添加 子表
  129. bisInspRssfgdBaseService.insert(Builder.of(BisInspRssfgdBaseParam::new)
  130. .with(BisInspRssfgdBaseParam::setRgstrId, id).build());
  131. }
  132. }
  133. @Override
  134. public Object findObjListByType(TypeParam typeParam) {
  135. return this.bisInspRssfgdRgstrDao.findPageList(typeParam);
  136. }
  137. @Override
  138. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  139. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  140. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  141. }
  142. PageHelper.startPage(typeParam);
  143. List<BisInspRssfgdRgstrDto> list = this.bisInspRssfgdRgstrDao.findPageList(typeParam);
  144. if (list != null && list.size() > 0) {
  145. list.forEach(rgstr -> {
  146. AttAdBase attAdBase = attAdBaseService.get(rgstr.getAdCode());
  147. Optional.ofNullable(attAdBase).ifPresent(base -> {
  148. rgstr.setAdFullName(base.getAdFullName());
  149. });
  150. });
  151. }
  152. return new PageInfo<>(list);
  153. }
  154. @Override
  155. public void updateState(Map<String, Object> map) {
  156. BisInspRssfgdRgstr rgstr = get(MapUtils.getString(map, "rgstrId"));
  157. if (!Constant.STRING_TWO.equals(rgstr.getState())) {
  158. rgstr.setUptm(new Date());
  159. rgstr.setState(Constant.STRING_ONE);
  160. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  161. switch (MapUtils.getString(map, "param")) {
  162. case "base":
  163. rgstr.setSfdrState(MapUtils.getString(map, "state"));
  164. break;
  165. default:
  166. }
  167. }
  168. update(rgstr);
  169. }
  170. }
  171. }