404a4d9b9e56b73adbc265379a32649be13580f5.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. package cn.com.goldenwater.dcproj.service.impl.offline;
  2. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  3. import cn.com.goldenwater.dcproj.dao.*;
  4. import cn.com.goldenwater.dcproj.model.*;
  5. import cn.com.goldenwater.dcproj.param.BisInspAllObjParam;
  6. import cn.com.goldenwater.dcproj.param.BisInspSvwtAreaRgstrParam;
  7. import cn.com.goldenwater.dcproj.service.GwComFileService;
  8. import cn.com.goldenwater.dcproj.service.SupervisionPlanService;
  9. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  10. import cn.com.goldenwater.id.util.UuidUtil;
  11. import com.fasterxml.jackson.databind.DeserializationFeature;
  12. import com.fasterxml.jackson.databind.ObjectMapper;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.beans.factory.annotation.Value;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.io.IOException;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Date;
  20. import java.util.List;
  21. /**
  22. * 节水管理与评价离线填报
  23. *
  24. * @author zhangcheng
  25. * @date 2019/11/25 17:33
  26. */
  27. @Service
  28. @Transactional
  29. public class BisInspOffLineSvwtProcess extends BisInspOffLineProcess {
  30. @Autowired
  31. BisInspAllObjDao bisInspAllObjDao;
  32. @Autowired
  33. BisInspPblmDao bisInspPblmDao;//督查问题
  34. @Autowired
  35. BisInspSvwtAreaRgstrWswmDao bisInspSvwtAreaRgstrWswmDao;
  36. @Autowired
  37. BisInspSvwtAreaRgstrWseDao bisInspSvwtAreaRgstrWseDao;
  38. @Autowired
  39. BisInspSvwtAreaRgstrDao bisInspSvwtAreaRgstrDao;
  40. @Autowired
  41. AttAdBaseDao attAdBaseDao;
  42. @Autowired
  43. private GwComFileService gwComFileService;//文件操作
  44. @Value("${getFile.prefix}")
  45. public String prefix;
  46. @Autowired
  47. SupervisionPlanService supervisionPlanService;
  48. @Override
  49. public BisInspOffLineRet process(BisInspOffLineObj bisInspOffLineObj, String fileDir) throws IOException {
  50. BisInspOffLineRet bisInspOffLineRet = new BisInspOffLineRet();
  51. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  52. ObjectMapper om = new ObjectMapper();
  53. om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  54. //解析节水管理与评价填报信息
  55. BisInspOffLineSvwtRgeister bisInspOffLineSvwtRgeister = om.readValue(bisInspOffLineObj.getRegister(), BisInspOffLineSvwtRgeister.class);
  56. //解析节水管理与评价基本信息对象
  57. if (bisInspOffLineObj.getBase() != null) {
  58. /* if (null == bisInspOffLineObj.getReplace() || bisInspOffLineObj.getReplace()) {
  59. delRgstrData(bisInspOffLineObj);
  60. }*/
  61. //添加到督查任务
  62. String objId = UuidUtil.uuid();
  63. String groupId = bisInspOffLineObj.getGroupId();
  64. BisInspSvwtAreaRgstr bisInspSvwtAreaRgstr = new BisInspSvwtAreaRgstr();
  65. String regId = objId;
  66. String persId = bisInspOffLineObj.getPersId();
  67. BisInspSvwtAreaRgstr bisInspSvwtAreaRgstrBase = om.readValue(bisInspOffLineObj.getBase(), BisInspSvwtAreaRgstr.class);
  68. insertBisInspAllObj(bisInspOffLineObj, groupId, objId, bisInspSvwtAreaRgstrBase);
  69. insertSvntRgstr(bisInspSvwtAreaRgstrBase, groupId, objId, persId, regId, bisInspSvwtAreaRgstr);
  70. //节约用水管理情况检查表
  71. insertSvwtWswmInfo(bisInspOffLineSvwtRgeister, regId, persId, bisInspSvwtAreaRgstr);
  72. //节水评价情况检查表
  73. insertSvwtWseInfo(bisInspOffLineSvwtRgeister, regId, persId, bisInspSvwtAreaRgstr);
  74. //更新督查 字表状态
  75. bisInspSvwtAreaRgstrDao.update(bisInspSvwtAreaRgstr);
  76. bisInspOffLineRet.setRegId(regId);
  77. bisInspOffLineRet.setObjId(objId);
  78. }
  79. return bisInspOffLineRet;
  80. }
  81. /**
  82. * 删除任务及登记表信息
  83. *
  84. * @param groupId
  85. * @param nm
  86. */
  87. public void delRgstrData(BisInspOffLineObj bisInspOffLineObj) {
  88. //登记表查找重复数据,然后删除
  89. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  90. bisInspAllObjParam.setId(bisInspOffLineObj.getGroupId());
  91. bisInspAllObjParam.setNm(bisInspOffLineObj.getNm());
  92. List<BisInspAllObj> bisInspAllObjs = bisInspAllObjDao.findList(bisInspAllObjParam);
  93. for (BisInspAllObj bisInspAllObj : bisInspAllObjs) {
  94. //删除登记表
  95. //删除登记表关联的各个填报表数据
  96. supervisionPlanService.cleanObjDataByObjId(BisInspEnum.SVWT.getValue(), bisInspAllObj.getObjId());
  97. }
  98. }
  99. /**
  100. * 添加到督查任务
  101. *
  102. * @param groupId
  103. * @param objId
  104. * @param bisInspSvwtAreaRgstrBase
  105. */
  106. public void insertBisInspAllObj(BisInspOffLineObj bisInspOffLineObj, String groupId, String objId, BisInspSvwtAreaRgstr bisInspSvwtAreaRgstrBase) {
  107. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  108. bisInspAllObj.setId(groupId);
  109. bisInspAllObj.setObjId(objId);
  110. bisInspAllObj.setNm(bisInspSvwtAreaRgstrBase.getAdName());
  111. bisInspAllObj.setCode(bisInspSvwtAreaRgstrBase.getAdCode());//非空字段
  112. bisInspAllObj.setPtype("15");
  113. bisInspAllObj.setOrgId(bisInspOffLineObj.getOrgId());
  114. bisInspAllObj.setAdCode(bisInspOffLineObj.getProvince());
  115. bisInspAllObj.setLgtd(bisInspSvwtAreaRgstrBase.getPcX());
  116. bisInspAllObj.setLttd(bisInspSvwtAreaRgstrBase.getPcY());
  117. bisInspAllObj.setLgtdpc(bisInspSvwtAreaRgstrBase.getGdX());
  118. bisInspAllObj.setLttdpc(bisInspSvwtAreaRgstrBase.getGdY());
  119. bisInspAllObjDao.insert(bisInspAllObj);
  120. }
  121. /**
  122. * 插入登记表信息
  123. *
  124. * @param bisInspOffLineObj
  125. * @param objId
  126. * @param om
  127. * @param regId
  128. * @param bisInspSvwtAreaRgstr
  129. * @throws IOException
  130. */
  131. public void insertSvntRgstr(BisInspSvwtAreaRgstr bisInspSvwtAreaRgstrBase, String groupId, String objId, String persId, String regId, BisInspSvwtAreaRgstr bisInspSvwtAreaRgstr) throws IOException {
  132. bisInspSvwtAreaRgstr.setId(regId);
  133. bisInspSvwtAreaRgstr.setObjId(objId);
  134. bisInspSvwtAreaRgstr.setAdName(bisInspSvwtAreaRgstrBase.getAdName());
  135. bisInspSvwtAreaRgstr.setAdCode(bisInspSvwtAreaRgstrBase.getAdCode());
  136. bisInspSvwtAreaRgstr.setLoc(bisInspSvwtAreaRgstrBase.getLoc());
  137. bisInspSvwtAreaRgstr.setBChkUnit(bisInspSvwtAreaRgstrBase.getBChkUnit());
  138. bisInspSvwtAreaRgstr.setContact(bisInspSvwtAreaRgstrBase.getContact());
  139. bisInspSvwtAreaRgstr.setContactTel(bisInspSvwtAreaRgstrBase.getContactTel());
  140. bisInspSvwtAreaRgstr.setPrincipal(bisInspSvwtAreaRgstrBase.getPrincipal());
  141. bisInspSvwtAreaRgstr.setPrincipalTel(bisInspSvwtAreaRgstrBase.getPrincipalTel());
  142. bisInspSvwtAreaRgstr.setNote(bisInspSvwtAreaRgstrBase.getNote());
  143. bisInspSvwtAreaRgstr.setChkUnit(bisInspSvwtAreaRgstrBase.getChkUnit());
  144. bisInspSvwtAreaRgstr.setChkPers(bisInspSvwtAreaRgstrBase.getChkPers());
  145. bisInspSvwtAreaRgstr.setChkTm(bisInspSvwtAreaRgstrBase.getChkTm());
  146. bisInspSvwtAreaRgstr.setState("1");
  147. bisInspSvwtAreaRgstr.setDataStat("0");
  148. bisInspSvwtAreaRgstr.setPersId(persId);
  149. bisInspSvwtAreaRgstr.setGroupId(groupId);
  150. bisInspSvwtAreaRgstr.setGdX(bisInspSvwtAreaRgstrBase.getGdX());
  151. bisInspSvwtAreaRgstr.setGdY(bisInspSvwtAreaRgstrBase.getGdY());
  152. bisInspSvwtAreaRgstr.setPcX(bisInspSvwtAreaRgstrBase.getPcX());
  153. bisInspSvwtAreaRgstr.setPcY(bisInspSvwtAreaRgstrBase.getPcY());
  154. bisInspSvwtAreaRgstr.setInTm(new Date());
  155. bisInspSvwtAreaRgstr.setUpTm(new Date());
  156. bisInspSvwtAreaRgstrDao.insert(bisInspSvwtAreaRgstr);
  157. }
  158. /**
  159. * 插入节约用水管理情况
  160. *
  161. * @param bisInspOffLineSvwtRgeister
  162. * @param regId
  163. * @param bisInspOffLineObj
  164. * @param bisInspSvwtAreaRgstr
  165. */
  166. public void insertSvwtWswmInfo(BisInspOffLineSvwtRgeister bisInspOffLineSvwtRgeister, String regId, String persId, BisInspSvwtAreaRgstr bisInspSvwtAreaRgstr) {
  167. //节水评价情况检查表
  168. BisInspSvwtAreaRgstrWswm bisInspSvwtAreaRgstrWswm = new BisInspSvwtAreaRgstrWswm();
  169. if (bisInspOffLineSvwtRgeister.getBisInspSvwtAreaRgstrWswm() != null) {
  170. bisInspSvwtAreaRgstrWswm = bisInspOffLineSvwtRgeister.getBisInspSvwtAreaRgstrWswm();
  171. bisInspSvwtAreaRgstrWswm.setId(UuidUtil.uuid());
  172. bisInspSvwtAreaRgstrWswm.setRgstrId(regId);
  173. bisInspSvwtAreaRgstrWswm.setInTm(new Date());
  174. bisInspSvwtAreaRgstrWswm.setUpTm(new Date());
  175. bisInspSvwtAreaRgstrWswm.setDataStat("0");
  176. bisInspSvwtAreaRgstrWswm.setPersId(persId);
  177. bisInspSvwtAreaRgstrWswmDao.insert(bisInspSvwtAreaRgstrWswm);
  178. bisInspSvwtAreaRgstr.setWswmInfoStat("2");
  179. } else {
  180. bisInspSvwtAreaRgstrWswm.setId(UuidUtil.uuid());
  181. bisInspSvwtAreaRgstrWswm.setRgstrId(regId);
  182. bisInspSvwtAreaRgstrWswm.setInTm(new Date());
  183. bisInspSvwtAreaRgstrWswm.setUpTm(new Date());
  184. bisInspSvwtAreaRgstrWswm.setDataStat("0");
  185. bisInspSvwtAreaRgstrWswm.setPersId(persId);
  186. bisInspSvwtAreaRgstrWswmDao.insert(bisInspSvwtAreaRgstrWswm);
  187. bisInspSvwtAreaRgstr.setWswmInfoStat("1");
  188. }
  189. }
  190. /**
  191. * 插入节水评价情况
  192. *
  193. * @param bisInspOffLineSvwtRgeister
  194. * @param regId
  195. * @param bisInspOffLineObj
  196. * @param bisInspSvwtAreaRgstr
  197. */
  198. public void insertSvwtWseInfo(BisInspOffLineSvwtRgeister bisInspOffLineSvwtRgeister, String regId, String persId, BisInspSvwtAreaRgstr bisInspSvwtAreaRgstr) {
  199. //节水评价情况检查表
  200. BisInspSvwtAreaRgstrWse bisInspSvwtAreaRgstrWse = new BisInspSvwtAreaRgstrWse();
  201. if (bisInspOffLineSvwtRgeister.getBisInspSvwtAreaRgstrWse() != null) {
  202. bisInspSvwtAreaRgstrWse = bisInspOffLineSvwtRgeister.getBisInspSvwtAreaRgstrWse();
  203. bisInspSvwtAreaRgstrWse.setId(UuidUtil.uuid());
  204. bisInspSvwtAreaRgstrWse.setRgstrId(regId);
  205. bisInspSvwtAreaRgstrWse.setInTm(new Date());
  206. bisInspSvwtAreaRgstrWse.setUpTm(new Date());
  207. bisInspSvwtAreaRgstrWse.setDataStat("0");
  208. bisInspSvwtAreaRgstrWse.setPersId(persId);
  209. bisInspSvwtAreaRgstrWseDao.insert(bisInspSvwtAreaRgstrWse);
  210. bisInspSvwtAreaRgstr.setWseInfoStat2("2");
  211. } else {
  212. bisInspSvwtAreaRgstrWse.setId(UuidUtil.uuid());
  213. bisInspSvwtAreaRgstrWse.setRgstrId(regId);
  214. bisInspSvwtAreaRgstrWse.setInTm(new Date());
  215. bisInspSvwtAreaRgstrWse.setUpTm(new Date());
  216. bisInspSvwtAreaRgstrWse.setDataStat("0");
  217. bisInspSvwtAreaRgstrWse.setPersId(persId);
  218. bisInspSvwtAreaRgstrWseDao.insert(bisInspSvwtAreaRgstrWse);
  219. bisInspSvwtAreaRgstr.setWseInfoStat2("1");
  220. }
  221. }
  222. @Override
  223. public BisInspOffLineRetBase getBaseInfo(BisInspOffLine bisInspOffLine) {
  224. BisInspOffLineRetBase bisInspOffLineRetBase = new BisInspOffLineRetBase();
  225. BisInspSvwtAreaRgstrParam bisInspSvwtAreaRgstrParam = new BisInspSvwtAreaRgstrParam();
  226. bisInspSvwtAreaRgstrParam.setAdName(bisInspOffLine.getName());
  227. bisInspSvwtAreaRgstrParam.setAdCode(AdLevelUtil.getAddvcd(bisInspOffLine.getAddvcd()));
  228. bisInspOffLineRetBase.setBase(bisInspSvwtAreaRgstrDao.findList(bisInspSvwtAreaRgstrParam));
  229. return bisInspOffLineRetBase;
  230. }
  231. }