94c10aeeff5ad90cfb08915f109898a825409b14.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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.BisInspUnwtRgstrDao;
  6. import cn.com.goldenwater.dcproj.dto.BisInspUnwtRgstrDto;
  7. import cn.com.goldenwater.dcproj.model.AttUnwtBase;
  8. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  9. import cn.com.goldenwater.dcproj.model.BisInspUnwtRgstr;
  10. import cn.com.goldenwater.dcproj.param.BisInspUnwtRgstrParam;
  11. import cn.com.goldenwater.dcproj.param.BisInspUnwtSynParam;
  12. import cn.com.goldenwater.dcproj.param.TypeParam;
  13. import cn.com.goldenwater.dcproj.service.AttUnwtBaseService;
  14. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  15. import cn.com.goldenwater.dcproj.service.BisInspUnwtRgstrService;
  16. import cn.com.goldenwater.dcproj.service.BisInspUnwtSynService;
  17. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  18. import cn.com.goldenwater.dcproj.utils.Builder;
  19. import cn.com.goldenwater.dcproj.utils.Constant;
  20. import cn.com.goldenwater.id.util.UuidUtil;
  21. import com.github.pagehelper.PageHelper;
  22. import com.github.pagehelper.PageInfo;
  23. import org.apache.commons.collections.MapUtils;
  24. import org.apache.commons.lang.StringUtils;
  25. import org.springframework.beans.BeanUtils;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.stereotype.Service;
  28. import org.springframework.transaction.annotation.Transactional;
  29. import javax.servlet.http.HttpServletResponse;
  30. import java.util.Date;
  31. import java.util.List;
  32. import java.util.Map;
  33. import java.util.Optional;
  34. import static cn.com.goldenwater.dcproj.util.CheckUtil.check;
  35. /**
  36. * @author lhc
  37. * @date 2021-5-27
  38. */
  39. @Service
  40. @Transactional
  41. public class BisInspUnwtRgstrServiceImpl extends AbstractCrudService<BisInspUnwtRgstr, BisInspUnwtRgstrParam> implements BisInspUnwtRgstrService, BisInspObjStrategy {
  42. @Autowired
  43. private BisInspUnwtRgstrDao bisInspUnwtRgstrDao;
  44. @Autowired
  45. private BisInspUnwtSynService bisInspUnwtSynService;
  46. @Autowired
  47. private AttUnwtBaseService attUnwtBaseService;
  48. public BisInspUnwtRgstrServiceImpl(BisInspUnwtRgstrDao bisInspUnwtRgstrDao) {
  49. super(bisInspUnwtRgstrDao);
  50. this.bisInspUnwtRgstrDao = bisInspUnwtRgstrDao;
  51. }
  52. @Override
  53. public int insert(BisInspUnwtRgstr bisInspUnwtRgstr) {
  54. String uuid = UuidUtil.uuid(); // 生成uuid
  55. bisInspUnwtRgstr.setId(uuid);
  56. bisInspUnwtRgstr.setIntm(new Date());
  57. bisInspUnwtRgstr.setUptm(new Date());
  58. bisInspUnwtRgstr.setDataStat("0");
  59. return this.bisInspUnwtRgstrDao.insert(bisInspUnwtRgstr);
  60. }
  61. @Override
  62. public int update(BisInspUnwtRgstr bisInspUnwtRgstr) {
  63. if (StringUtils.isBlank(bisInspUnwtRgstr.getId()) ||
  64. StringUtils.isNotBlank(bisInspUnwtRgstr.getRgstrId())) {
  65. // rgstrId 不为 空 时,传给ID
  66. bisInspUnwtRgstr.setId(bisInspUnwtRgstr.getRgstrId());
  67. }
  68. check(StringUtils.isNotBlank(bisInspUnwtRgstr.getId()), "rgstrId.no");
  69. bisInspUnwtRgstr.setUptm(new Date());
  70. int ret = bisInspUnwtRgstrDao.update(bisInspUnwtRgstr);
  71. // 更新基础表信息
  72. updateAttBase(bisInspUnwtRgstr);
  73. return ret;
  74. }
  75. private void updateAttBase(BisInspUnwtRgstr rgstr) {
  76. BisInspUnwtRgstr r = get(rgstr.getId());
  77. AttUnwtBase attUnwtBase = attUnwtBaseService.getObjId(r.getObjId());
  78. Optional.ofNullable(attUnwtBase).ifPresent(base -> {
  79. base.setNm(rgstr.getNm());
  80. base.setAdCode(rgstr.getAdCode());
  81. base.setAdName(rgstr.getAdName());
  82. base.setCenterX(rgstr.getCenterX());
  83. base.setCenterY(rgstr.getCenterY());
  84. base.setGdX(rgstr.getGdX());
  85. base.setGdY(rgstr.getGdY());
  86. base.setLoc(rgstr.getLoc());
  87. attUnwtBaseService.update(base);
  88. });
  89. }
  90. @Override
  91. public int delete(String id) {
  92. return this.bisInspUnwtRgstrDao.delete(id);
  93. }
  94. @Override
  95. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  96. BisInspUnwtRgstr b = new BisInspUnwtRgstr();
  97. AttUnwtBase base = attUnwtBaseService.get(bisInspAllObj.getCode());
  98. BeanUtils.copyProperties(base, b);
  99. b.setObjId(bisInspAllObj.getObjId());
  100. b.setId(UuidUtil.uuid());
  101. b.setIntm(new Date());
  102. b.setUptm(new Date());
  103. b.setDataStat("0");
  104. b.setState("0");
  105. b.setSynState("0");
  106. /* 添加 登记表 */
  107. bisInspUnwtRgstrDao.insert(b);
  108. // 添加 子表
  109. bisInspUnwtSynService.insert(Builder.of(BisInspUnwtSynParam::new)
  110. .with(BisInspUnwtSynParam::setRgstrId, b.getId())
  111. .with(BisInspUnwtSynParam::setPersId, persId)
  112. .build());
  113. }
  114. @Override
  115. public String getType() {
  116. return BisInspEnum.UNWT.getValue();
  117. }
  118. @Override
  119. public void cleanObjData(String objId) {
  120. BisInspUnwtRgstrParam rgstrParam = new BisInspUnwtRgstrParam();
  121. rgstrParam.setObjId(objId);
  122. List<BisInspUnwtRgstr> list = this.bisInspUnwtRgstrDao.findList(rgstrParam);
  123. if (list.size() > 0) {
  124. String id = list.get(0).getId();
  125. // 删除登记表
  126. this.bisInspUnwtRgstrDao.delete(id);
  127. // 添加 子表
  128. bisInspUnwtSynService.deleteBy(Builder.of(BisInspUnwtSynParam::new).with(BisInspUnwtSynParam::setRgstrId, id).build());
  129. }
  130. }
  131. @Override
  132. public Object findObjListByType(TypeParam typeParam) {
  133. return this.bisInspUnwtRgstrDao.findPageList(typeParam);
  134. }
  135. @Override
  136. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  137. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  138. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  139. }
  140. PageHelper.startPage(typeParam);
  141. List<BisInspUnwtRgstrDto> list = this.bisInspUnwtRgstrDao.findPageList(typeParam);
  142. return new PageInfo<>(list);
  143. }
  144. @Override
  145. public void updateState(Map<String, Object> map) {
  146. BisInspUnwtRgstr rgstr = get(MapUtils.getString(map, "rgstrId"));
  147. if (!Constant.STRING_TWO.equals(rgstr.getState()) &&
  148. StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  149. rgstr.setUptm(new Date());
  150. rgstr.setState(Constant.STRING_ONE);
  151. if ("syn".equals(MapUtils.getString(map, "param"))) {
  152. rgstr.setSynState(MapUtils.getString(map, "state"));
  153. }
  154. update(rgstr);
  155. }
  156. }
  157. }