dee1f4787ad17fa4ca8eba55eba6ea2b9c29f6cd.svn-base 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. package cn.com.goldenwater.dcproj.service.impl.rsvrsd;
  2. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.AttRsBaseDao;
  5. import cn.com.goldenwater.dcproj.dao.BisInspRsvrSdDao;
  6. import cn.com.goldenwater.dcproj.dto.BisInspChmclsRgstrDto;
  7. import cn.com.goldenwater.dcproj.dto.BisInspRsvrSdDto;
  8. import cn.com.goldenwater.dcproj.model.*;
  9. import cn.com.goldenwater.dcproj.param.*;
  10. import cn.com.goldenwater.dcproj.service.*;
  11. import cn.com.goldenwater.core.service.AbstractCrudService;
  12. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  13. import cn.com.goldenwater.dcproj.utils.Builder;
  14. import cn.com.goldenwater.dcproj.utils.Constant;
  15. import com.github.pagehelper.PageHelper;
  16. import com.github.pagehelper.PageInfo;
  17. import com.github.pagehelper.util.StringUtil;
  18. import com.itextpdf.awt.geom.Rectangle2D;
  19. import org.apache.commons.collections.MapUtils;
  20. import org.apache.commons.lang3.StringUtils;
  21. import org.springframework.beans.BeanUtils;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Service;
  24. import org.springframework.transaction.annotation.Transactional;
  25. import cn.com.goldenwater.id.util.UuidUtil;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.util.List;
  28. import java.util.Date;
  29. import java.util.Map;
  30. /**
  31. * @author lhc
  32. * @date 2022-3-14
  33. */
  34. @Service
  35. @Transactional
  36. public class BisInspRsvrSdServiceImpl extends AbstractCrudService<BisInspRsvrSd, BisInspRsvrSdParam> implements BisInspRsvrSdService, BisInspObjStrategy {
  37. @Autowired
  38. private BisInspRsvrSdDao bisInspRsvrSdDao;
  39. @Autowired
  40. private AttRsBaseService attRsBaseService;
  41. @Autowired
  42. private BisInspRsvrSdBldnService bisInspRsvrSdBldnService;
  43. @Autowired
  44. private BisInspRsvrSdDutyService bisInspRsvrSdDutyService;
  45. @Autowired
  46. private BisInspRsvrSdFcltyService bisInspRsvrSdFcltyService;
  47. @Autowired
  48. private BisInspRsvrSdFcsService bisInspRsvrSdFcsService;
  49. @Autowired
  50. private BisInspRsvrSdRprService bisInspRsvrSdRprService;
  51. @Autowired
  52. private BisInspRsvrSdSynService bisInspRsvrSdSynService;
  53. @Autowired
  54. private AttRsBaseDao attRsBaseDao;
  55. @Autowired
  56. private AttAdBaseService attAdBaseService;
  57. @Autowired
  58. private BisInspAllObjService bisInspAllObjService;
  59. public BisInspRsvrSdServiceImpl(BisInspRsvrSdDao bisInspRsvrSdDao) {
  60. super(bisInspRsvrSdDao);
  61. this.bisInspRsvrSdDao = bisInspRsvrSdDao;
  62. }
  63. @Override
  64. public int insert(BisInspRsvrSd bisInspRsvrSd) {
  65. String uuid = UuidUtil.uuid(); // 生成uuid
  66. bisInspRsvrSd.setId(uuid);
  67. bisInspRsvrSd.setIntm(new Date());
  68. bisInspRsvrSd.setUptm(new Date());
  69. bisInspRsvrSd.setDataStat("0");
  70. if (StringUtils.isNotBlank(bisInspRsvrSd.getAdCode())) {
  71. bisInspRsvrSd.setAdFullName(attAdBaseService.getByAdcode(bisInspRsvrSd.getAdCode()).getAdFullName());
  72. }
  73. bisInspRsvrSdBldnService.insert(Builder.of(BisInspRsvrSdBldn::new).with(BisInspRsvrSdBldn::setRgstrId, uuid).build());
  74. bisInspRsvrSdDutyService.insert(Builder.of(BisInspRsvrSdDuty::new).with(BisInspRsvrSdDuty::setRgstrId, uuid).build());
  75. bisInspRsvrSdFcltyService.insert(Builder.of(BisInspRsvrSdFclty::new).with(BisInspRsvrSdFclty::setRgstrId, uuid).build());
  76. bisInspRsvrSdFcsService.insert(Builder.of(BisInspRsvrSdFcs::new).with(BisInspRsvrSdFcs::setRgstrId, uuid).build());
  77. bisInspRsvrSdRprService.insert(Builder.of(BisInspRsvrSdRpr::new).with(BisInspRsvrSdRpr::setRgstrId, uuid).build());
  78. bisInspRsvrSdSynService.insert(Builder.of(BisInspRsvrSdSyn::new).with(BisInspRsvrSdSyn::setRgstrId, uuid).build());
  79. return this.bisInspRsvrSdDao.insert(bisInspRsvrSd);
  80. }
  81. @Override
  82. public int update(BisInspRsvrSd bisInspRsvrSd) {
  83. if (StringUtils.isBlank(bisInspRsvrSd.getRgstrId())) {
  84. bisInspRsvrSd.setUptm(new Date());
  85. AttRsBase attRsBase = new AttRsBase();
  86. attRsBase.setRsCode(bisInspRsvrSd.getRsCode());
  87. attRsBase.setRsName(bisInspRsvrSd.getRsvrNm());
  88. attRsBase.setAdFullName(bisInspRsvrSd.getHystSite());
  89. attRsBase.setAdmDiv(bisInspRsvrSd.getAdCode());
  90. attRsBase.setLocation(bisInspRsvrSd.getHystSite());
  91. attRsBase.setCompDate(bisInspRsvrSd.getResCreateTime());
  92. attRsBase.setEngScal(bisInspRsvrSd.getEngScal());
  93. attRsBase.setTotCap(bisInspRsvrSd.getTotCap());
  94. attRsBase.setRegCode(bisInspRsvrSd.getDamRegCode());
  95. attRsBase.setCenterXGd(bisInspRsvrSd.getGdX() == null ? "" : bisInspRsvrSd.getGdX().toString());
  96. attRsBase.setCenterYGd(bisInspRsvrSd.getGdY() == null ? "" : bisInspRsvrSd.getGdY().toString());
  97. attRsBase.setCenterX(bisInspRsvrSd.getGdX() == null ? "" : bisInspRsvrSd.getGdX().toString());
  98. attRsBase.setCenterY(bisInspRsvrSd.getGdY() == null ? "" : bisInspRsvrSd.getGdY().toString());
  99. if (StringUtils.isNotBlank(bisInspRsvrSd.getAdCode())) {
  100. bisInspRsvrSd.setAdFullName(attAdBaseService.getByAdcode(bisInspRsvrSd.getAdCode()).getAdFullName());
  101. }
  102. attRsBaseService.update(attRsBase);
  103. //更新任务表
  104. if (StringUtil.isNotEmpty(bisInspRsvrSd.getRsCode())) {
  105. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  106. bisInspAllObj.setCode(bisInspRsvrSd.getRsCode());
  107. bisInspAllObj.setObjId(bisInspRsvrSd.getObjId());
  108. bisInspAllObj.setNm(bisInspRsvrSd.getRsvrNm());
  109. bisInspAllObj.setObjAdCode(bisInspRsvrSd.getAdCode());
  110. bisInspAllObjService.update(bisInspAllObj);
  111. }
  112. }
  113. return this.bisInspRsvrSdDao.update(bisInspRsvrSd);
  114. }
  115. @Override
  116. public int delete(String id) {
  117. return this.bisInspRsvrSdDao.delete(id);
  118. }
  119. @Override
  120. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  121. BisInspRsvrSd b = new BisInspRsvrSd();
  122. AttRsBase base = attRsBaseDao.get(bisInspAllObj.getCode());
  123. BeanUtils.copyProperties(base, b);
  124. b.setObjId(bisInspAllObj.getObjId());
  125. b.setRsvrNm(base.getRsName());
  126. b.setAdCode(base.getAdmDiv());
  127. if (StringUtils.isNotBlank(base.getAdmDiv())) {
  128. base.setAdFullName(attAdBaseService.getByAdcode(base.getAdmDiv()).getAdFullName());
  129. }
  130. b.setEngScal(base.getEngScal());
  131. b.setHystSite(base.getLocation());
  132. b.setResCreateTime(base.getCompDate());
  133. b.setTotCap(base.getTotCap());
  134. b.setDamRegCode(base.getRegCode());
  135. b.setIntm(new Date());
  136. b.setUptm(new Date());
  137. b.setCenterX(base.getCenterX() == null ? 0 : Double.parseDouble(base.getCenterX()));
  138. b.setCenterY(base.getCenterY() == null ? 0 : Double.parseDouble(base.getCenterY()));
  139. b.setGdX(base.getCenterXGd() == null ? 0 : Double.parseDouble(base.getCenterXGd()));
  140. b.setGdY(base.getCenterYGd() == null ? 0 : Double.parseDouble(base.getCenterYGd()));
  141. b.setDutyStat("0");
  142. b.setFcsStat("0");
  143. b.setFcltyStat("0");
  144. b.setRprStat("0");
  145. b.setSynStat("0");
  146. b.setBldnStat("0");
  147. b.setState("0");
  148. b.setRsCode(base.getRsCode());
  149. insert(b);
  150. }
  151. @Override
  152. public String getType() {
  153. return BisInspEnum.RSVRSD.getValue();
  154. }
  155. @Override
  156. public void cleanObjData(String objId) {
  157. BisInspRsvrSdParam rgstrParam = new BisInspRsvrSdParam();
  158. rgstrParam.setObjId(objId);
  159. List<BisInspRsvrSd> list = this.bisInspRsvrSdDao.findList(rgstrParam);
  160. if (list.size() > 0) {
  161. String id = list.get(0).getId();
  162. // 删除子表
  163. this.bisInspRsvrSdBldnService.deleteBy(Builder.of(BisInspRsvrSdBldnParam::new).with(BisInspRsvrSdBldnParam::setRgstrId, id).build());
  164. this.bisInspRsvrSdDutyService.deleteBy(Builder.of(BisInspRsvrSdDutyParam::new).with(BisInspRsvrSdDutyParam::setRgstrId, id).build());
  165. this.bisInspRsvrSdFcltyService.deleteBy(Builder.of(BisInspRsvrSdFcltyParam::new).with(BisInspRsvrSdFcltyParam::setRgstrId, id).build());
  166. this.bisInspRsvrSdFcsService.deleteBy(Builder.of(BisInspRsvrSdFcsParam::new).with(BisInspRsvrSdFcsParam::setRgstrId, id).build());
  167. this.bisInspRsvrSdRprService.deleteBy(Builder.of(BisInspRsvrSdRprParam::new).with(BisInspRsvrSdRprParam::setRgstrId, id).build());
  168. this.bisInspRsvrSdSynService.deleteBy(Builder.of(BisInspRsvrSdSynParam::new).with(BisInspRsvrSdSynParam::setRgstrId, id).build());
  169. // 删除登记表
  170. this.bisInspRsvrSdDao.delete(id);
  171. }
  172. }
  173. @Override
  174. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  175. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  176. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  177. }
  178. PageHelper.startPage(typeParam);
  179. List<BisInspRsvrSdDto> list = this.bisInspRsvrSdDao.findPageList(typeParam);
  180. if (list != null && list.size() > 0) {
  181. list.forEach(rgstrDto -> {
  182. if (StringUtils.isNotBlank(rgstrDto.getAdFullName())) {
  183. String[] adFullNames = rgstrDto.getAdFullName().split("-");
  184. rgstrDto.setProName(adFullNames[0]);
  185. if (adFullNames.length > 1) {
  186. rgstrDto.setCityName(adFullNames[1]);
  187. }
  188. if (adFullNames.length > 2) {
  189. rgstrDto.setCountyName(adFullNames[2]);
  190. }
  191. }
  192. });
  193. }
  194. return new PageInfo<>(list);
  195. }
  196. @Override
  197. public Object findObjListByType(TypeParam typeParam) {
  198. return this.bisInspRsvrSdDao.findPageList(typeParam);
  199. }
  200. @Override
  201. public void updateState(Map<String, Object> map) {
  202. BisInspRsvrSd rgstr = get(MapUtils.getString(map, "rgstrId"));
  203. if (!Constant.STRING_TWO.equals(rgstr.getState())) {
  204. rgstr.setUptm(new Date());
  205. rgstr.setState(Constant.STRING_ONE);
  206. if ("bldn".equals(MapUtils.getString(map, "param"))) {
  207. if (StringUtils.isBlank(rgstr.getBldnStat()) &&
  208. !"2".equals(MapUtils.getString(map, "state"))) {
  209. map.put("state", "1");
  210. }
  211. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  212. rgstr.setBldnStat(MapUtils.getString(map, "state"));
  213. }
  214. }
  215. if ("duty".equals(MapUtils.getString(map, "param"))) {
  216. if (StringUtils.isBlank(rgstr.getDutyStat()) &&
  217. !"2".equals(MapUtils.getString(map, "state"))) {
  218. map.put("state", "1");
  219. }
  220. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  221. rgstr.setDutyStat(MapUtils.getString(map, "state"));
  222. }
  223. }
  224. if ("fclty".equals(MapUtils.getString(map, "param"))) {
  225. if (StringUtils.isBlank(rgstr.getFcltyStat()) &&
  226. !"2".equals(MapUtils.getString(map, "state"))) {
  227. map.put("state", "1");
  228. }
  229. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  230. rgstr.setFcltyStat(MapUtils.getString(map, "state"));
  231. }
  232. }
  233. if ("fcs".equals(MapUtils.getString(map, "param"))) {
  234. if (StringUtils.isBlank(rgstr.getFcsStat()) &&
  235. !"2".equals(MapUtils.getString(map, "state"))) {
  236. map.put("state", "1");
  237. }
  238. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  239. rgstr.setFcsStat(MapUtils.getString(map, "state"));
  240. }
  241. }
  242. if ("rpr".equals(MapUtils.getString(map, "param"))) {
  243. if (StringUtils.isBlank(rgstr.getRprStat()) &&
  244. !"2".equals(MapUtils.getString(map, "state"))) {
  245. map.put("state", "1");
  246. }
  247. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  248. rgstr.setRprStat(MapUtils.getString(map, "state"));
  249. }
  250. }
  251. if ("syn".equals(MapUtils.getString(map, "param"))) {
  252. if (StringUtils.isBlank(rgstr.getSynStat()) &&
  253. !"2".equals(MapUtils.getString(map, "state"))) {
  254. map.put("state", "1");
  255. }
  256. if (StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  257. rgstr.setSynStat(MapUtils.getString(map, "state"));
  258. }
  259. }
  260. update(rgstr);
  261. }
  262. }
  263. }