4c9ccc62a489d4205890356cd677d409d843893d.svn-base 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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.AttSwhsBaseParam;
  6. import cn.com.goldenwater.dcproj.param.BisInspAllObjParam;
  7. import cn.com.goldenwater.dcproj.service.GwComFileService;
  8. import cn.com.goldenwater.dcproj.service.SupervisionPlanService;
  9. import cn.com.goldenwater.id.util.UuidUtil;
  10. import com.fasterxml.jackson.databind.DeserializationFeature;
  11. import com.fasterxml.jackson.databind.ObjectMapper;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.beans.factory.annotation.Value;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import java.io.IOException;
  17. import java.text.SimpleDateFormat;
  18. import java.util.Date;
  19. import java.util.List;
  20. /**
  21. * 水源地离线填报
  22. *
  23. * @author zhangcheng
  24. * @date 2019/11/26 16:40
  25. */
  26. @Service
  27. @Transactional
  28. public class BisInspOffLineSwhsProcess extends BisInspOffLineProcess {
  29. @Autowired
  30. BisInspAllObjDao bisInspAllObjDao;
  31. @Autowired
  32. BisInspPblmDao bisInspPblmDao;//督查问题
  33. @Autowired
  34. BisInspSwhsRgstrMeasuresDao bisInspSwhsRgstrMeasuresDao;
  35. @Autowired
  36. BisInspSwhsRgstrDao bisInspSwhsRgstrDao;
  37. @Autowired
  38. AttSwhsBaseDao attSwhsBaseDao;
  39. @Autowired
  40. private GwComFileService gwComFileService;//文件操作
  41. @Value("${getFile.prefix}")
  42. public String prefix;
  43. @Autowired
  44. SupervisionPlanService supervisionPlanService;
  45. @Override
  46. public BisInspOffLineRet process(BisInspOffLineObj bisInspOffLineObj, String fileDir) throws IOException {
  47. BisInspOffLineRet bisInspOffLineRet = new BisInspOffLineRet();
  48. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  49. ObjectMapper om = new ObjectMapper();
  50. om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  51. //解析水源地填报信息
  52. BisInspOffLineSwhsRgeister bisInspOffLineSwhsRgeister = om.readValue(bisInspOffLineObj.getRegister(), BisInspOffLineSwhsRgeister.class);
  53. //解析水源地对象
  54. if (bisInspOffLineObj.getBase() != null) {
  55. /* if (null == bisInspOffLineObj.getReplace() || bisInspOffLineObj.getReplace()) {
  56. delRgstrData(bisInspOffLineObj);
  57. }*/
  58. //添加到督查任务
  59. String objId = UuidUtil.uuid();
  60. String groupId = bisInspOffLineObj.getGroupId();
  61. BisInspSwhsRgstr bisInspSwhsRgstr = new BisInspSwhsRgstr();
  62. String regId = UuidUtil.uuid();
  63. String persId = bisInspOffLineObj.getPersId();
  64. AttSwhsBase attSwhsBase = om.readValue(bisInspOffLineObj.getBase(), AttSwhsBase.class);
  65. insertBisInspAllObj(bisInspOffLineObj, groupId, objId, attSwhsBase);
  66. insertSwhsRgstr(attSwhsBase, groupId, objId, persId, regId, bisInspSwhsRgstr);
  67. //重要饮用水水源管理情况
  68. insertSwhsMeasuresInfo(bisInspOffLineSwhsRgeister, regId, persId, bisInspSwhsRgstr);
  69. //更新督查 字表状态
  70. bisInspSwhsRgstrDao.update(bisInspSwhsRgstr);
  71. bisInspOffLineRet.setObjId(objId);
  72. bisInspOffLineRet.setRegId(regId);
  73. }
  74. return bisInspOffLineRet;
  75. }
  76. /**
  77. * 删除任务及登记表信息
  78. *
  79. * @param groupId
  80. * @param nm
  81. */
  82. public void delRgstrData(BisInspOffLineObj bisInspOffLineObj) {
  83. //登记表查找重复数据,然后删除
  84. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  85. bisInspAllObjParam.setId(bisInspOffLineObj.getGroupId());
  86. bisInspAllObjParam.setNm(bisInspOffLineObj.getNm());
  87. List<BisInspAllObj> bisInspAllObjs = bisInspAllObjDao.findList(bisInspAllObjParam);
  88. for (BisInspAllObj bisInspAllObj : bisInspAllObjs) {
  89. //删除登记表
  90. //删除登记表关联的各个填报表数据
  91. supervisionPlanService.cleanObjDataByObjId(BisInspEnum.SWHS.getValue(), bisInspAllObj.getObjId());
  92. }
  93. }
  94. /**
  95. * 添加到督查任务
  96. *
  97. * @param groupId
  98. * @param objId
  99. * @param attSwhsBase
  100. */
  101. public void insertBisInspAllObj(BisInspOffLineObj bisInspOffLineObj, String groupId, String objId, AttSwhsBase attSwhsBase) {
  102. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  103. bisInspAllObj.setId(groupId);
  104. bisInspAllObj.setObjId(objId);
  105. bisInspAllObj.setNm(attSwhsBase.getSwhsName());
  106. bisInspAllObj.setCode(attSwhsBase.getSwhsCode());//非空字段
  107. bisInspAllObj.setPtype("13");
  108. bisInspAllObj.setOrgId(bisInspOffLineObj.getOrgId());
  109. bisInspAllObj.setAdCode(bisInspOffLineObj.getProvince());
  110. bisInspAllObj.setLgtd(attSwhsBase.getSwhsLong());
  111. bisInspAllObj.setLttd(attSwhsBase.getSwhsLat());
  112. bisInspAllObj.setLgtdpc(attSwhsBase.getSwhsLongGd());
  113. bisInspAllObj.setLttdpc(attSwhsBase.getSwhsLatGd());
  114. bisInspAllObjDao.insert(bisInspAllObj);
  115. }
  116. /**
  117. * 插入登记表信息
  118. *
  119. * @param bisInspOffLineObj
  120. * @param objId
  121. * @param om
  122. * @param regId
  123. * @param bisInspSwhsRgstr
  124. * @throws IOException
  125. */
  126. public void insertSwhsRgstr(AttSwhsBase attSwhsBase, String groupId, String objId, String persId, String regId, BisInspSwhsRgstr bisInspSwhsRgstr) throws IOException {
  127. bisInspSwhsRgstr.setId(regId);
  128. bisInspSwhsRgstr.setObjId(objId);
  129. bisInspSwhsRgstr.setSwhsId(attSwhsBase.getId());
  130. bisInspSwhsRgstr.setSwhsCode(attSwhsBase.getSwhsCode());
  131. bisInspSwhsRgstr.setSwhsName(attSwhsBase.getSwhsName());
  132. bisInspSwhsRgstr.setInsName(attSwhsBase.getInsName());
  133. bisInspSwhsRgstr.setAdCode(attSwhsBase.getAdCode());
  134. bisInspSwhsRgstr.setSwhsLoc(attSwhsBase.getSwhsLoc());
  135. bisInspSwhsRgstr.setCenterX(attSwhsBase.getSwhsLong());
  136. bisInspSwhsRgstr.setCenterY(attSwhsBase.getSwhsLat());
  137. bisInspSwhsRgstr.setGdX(attSwhsBase.getSwhsLongGd());
  138. bisInspSwhsRgstr.setGdY(attSwhsBase.getSwhsLatGd());
  139. bisInspSwhsRgstr.setWainWasoType(attSwhsBase.getWainWasoType());
  140. bisInspSwhsRgstr.setWatArea(attSwhsBase.getWatArea());
  141. bisInspSwhsRgstr.setWainNum(attSwhsBase.getWainNum());
  142. bisInspSwhsRgstr.setWainUse(attSwhsBase.getWainUse());
  143. bisInspSwhsRgstr.setWasuObjType(attSwhsBase.getWasuObjType());
  144. bisInspSwhsRgstr.setDesAnnWain(attSwhsBase.getDesAnnWain());
  145. bisInspSwhsRgstr.setDesAnnWasuPop(attSwhsBase.getDesAnnWasuPop());
  146. bisInspSwhsRgstr.setWaquGoal(attSwhsBase.getWaquGoal());
  147. bisInspSwhsRgstr.setIfMonWqua(attSwhsBase.getIfMonWqua());
  148. bisInspSwhsRgstr.setWquaCat(attSwhsBase.getWquaCat());
  149. bisInspSwhsRgstr.setIfWquaUptoSta(attSwhsBase.getIfWquaUptoSta());
  150. bisInspSwhsRgstr.setNote(attSwhsBase.getNote());
  151. bisInspSwhsRgstr.setState("1");
  152. bisInspSwhsRgstr.setDataStat("0");
  153. bisInspSwhsRgstr.setPersId(persId);
  154. bisInspSwhsRgstr.setGroupId(groupId);
  155. bisInspSwhsRgstr.setInTm(new Date());
  156. bisInspSwhsRgstr.setUpTm(new Date());
  157. bisInspSwhsRgstrDao.insert(bisInspSwhsRgstr);
  158. }
  159. /**
  160. * 重要饮用水水源管理情况
  161. *
  162. * @param bisInspOffLineSwhsRgeister
  163. * @param regId
  164. * @param bisInspOffLineObj
  165. * @param bisInspSwhsRgstr
  166. */
  167. public void insertSwhsMeasuresInfo(BisInspOffLineSwhsRgeister bisInspOffLineSwhsRgeister, String regId, String persId, BisInspSwhsRgstr bisInspSwhsRgstr) {
  168. //节水评价情况检查表
  169. BisInspSwhsRgstrMeasures bisInspSwhsRgstrMeasures = new BisInspSwhsRgstrMeasures();
  170. if (bisInspOffLineSwhsRgeister.getBisInspSwhsRgstrMeasures() != null) {
  171. bisInspSwhsRgstrMeasures = bisInspOffLineSwhsRgeister.getBisInspSwhsRgstrMeasures();
  172. bisInspSwhsRgstrMeasures.setId(UuidUtil.uuid());
  173. bisInspSwhsRgstrMeasures.setRgstrId(regId);
  174. bisInspSwhsRgstrMeasures.setInTm(new Date());
  175. bisInspSwhsRgstrMeasures.setUpTm(new Date());
  176. bisInspSwhsRgstrMeasures.setDataStat("0");
  177. bisInspSwhsRgstrMeasures.setRecPersId(persId);
  178. bisInspSwhsRgstrMeasuresDao.insert(bisInspSwhsRgstrMeasures);
  179. bisInspSwhsRgstr.setMeasuresStat("2");
  180. } else {
  181. bisInspSwhsRgstrMeasures.setId(UuidUtil.uuid());
  182. bisInspSwhsRgstrMeasures.setRgstrId(regId);
  183. bisInspSwhsRgstrMeasures.setInTm(new Date());
  184. bisInspSwhsRgstrMeasures.setUpTm(new Date());
  185. bisInspSwhsRgstrMeasures.setDataStat("0");
  186. bisInspSwhsRgstrMeasures.setRecPersId(persId);
  187. bisInspSwhsRgstrMeasuresDao.insert(bisInspSwhsRgstrMeasures);
  188. bisInspSwhsRgstr.setMeasuresStat("1");
  189. }
  190. }
  191. @Override
  192. public BisInspOffLineRetBase getBaseInfo(BisInspOffLine bisInspOffLine) {
  193. BisInspOffLineRetBase bisInspOffLineRetBase = new BisInspOffLineRetBase();
  194. AttSwhsBaseParam attSwhsBaseParam = new AttSwhsBaseParam();
  195. attSwhsBaseParam.setSwhsName(bisInspOffLine.getName());
  196. attSwhsBaseParam.setSwhsCode(bisInspOffLine.getCode());
  197. bisInspOffLineRetBase.setBase(attSwhsBaseDao.findList(attSwhsBaseParam));
  198. return bisInspOffLineRetBase;
  199. }
  200. }