47576b4c0c2162b0292899428d6a7a16c8c7f407.svn-base 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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.AttSdBaseParam;
  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 14:02
  25. */
  26. @Service
  27. @Transactional
  28. public class BisInspOffLineSdProcess extends BisInspOffLineProcess {
  29. @Autowired
  30. AttSdBaseDao attSdBaseDao;
  31. @Autowired
  32. BisInspSdRgstrDao bisInspSdRgstrDao;
  33. @Autowired
  34. BisInspAllObjDao bisInspAllObjDao;
  35. @Autowired
  36. BisInspPblmDao bisInspPblmDao;//督查问题
  37. @Autowired
  38. private GwComFileService gwComFileService;//文件操作
  39. @Value("${getFile.prefix}")
  40. public String prefix;
  41. @Autowired
  42. SupervisionPlanService supervisionPlanService;
  43. @Override
  44. public BisInspOffLineRet process(BisInspOffLineObj bisInspOffLineObj, String fileDir) throws IOException {
  45. BisInspOffLineRet bisInspOffLineRet = new BisInspOffLineRet();
  46. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  47. ObjectMapper om = new ObjectMapper();
  48. om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  49. //解析淤堤坝填报信息
  50. if (bisInspOffLineObj.getRegister() != null) {
  51. BisInspOffLineSdRgeister bisInspOffLineSdRgeister = om.readValue(bisInspOffLineObj.getRegister(), BisInspOffLineSdRgeister.class);
  52. }
  53. //解析淤堤坝基本信息对象
  54. if (bisInspOffLineObj.getBase() != null) {
  55. /* if (null == bisInspOffLineObj.getReplace() || bisInspOffLineObj.getReplace()) {
  56. delRgstrData(bisInspOffLineObj);
  57. }*/
  58. //添加到督查任务bisInspOffLineSdRgeister
  59. String objId = UuidUtil.uuid();
  60. String groupId = bisInspOffLineObj.getGroupId();
  61. BisInspSdRgstr bisInspSdRgstr = new BisInspSdRgstr();
  62. String regId = objId;
  63. String persId = bisInspOffLineObj.getPersId();
  64. AttSdBase attSdBase = om.readValue(bisInspOffLineObj.getBase(), AttSdBase.class);
  65. insertBisInspAllObj(bisInspOffLineObj, groupId, objId, attSdBase);
  66. insertAttSdRgstr(attSdBase, groupId, objId, persId, regId, bisInspSdRgstr);
  67. //更新督查 字表状态
  68. bisInspSdRgstrDao.update(bisInspSdRgstr);
  69. bisInspOffLineRet.setRegId(regId);
  70. bisInspOffLineRet.setObjId(objId);
  71. }
  72. return bisInspOffLineRet;
  73. }
  74. /**
  75. * 删除任务及登记表信息
  76. *
  77. * @param groupId
  78. * @param nm
  79. */
  80. public void delRgstrData(BisInspOffLineObj bisInspOffLineObj) {
  81. //登记表查找重复数据,然后删除
  82. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  83. bisInspAllObjParam.setId(bisInspOffLineObj.getGroupId());
  84. bisInspAllObjParam.setNm(bisInspOffLineObj.getNm());
  85. List<BisInspAllObj> bisInspAllObjs = bisInspAllObjDao.findList(bisInspAllObjParam);
  86. for (BisInspAllObj bisInspAllObj : bisInspAllObjs) {
  87. //删除登记表
  88. //删除登记表关联的各个填报表数据
  89. supervisionPlanService.cleanObjDataByObjId(BisInspEnum.SD.getValue(), bisInspAllObj.getObjId());
  90. }
  91. }
  92. /**
  93. * 添加到督查任务
  94. *
  95. * @param groupId
  96. * @param objId
  97. * @param attSdBase
  98. */
  99. public void insertBisInspAllObj(BisInspOffLineObj bisInspOffLineObj, String groupId, String objId, AttSdBase attSdBase) {
  100. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  101. bisInspAllObj.setId(groupId);
  102. bisInspAllObj.setObjId(objId);
  103. bisInspAllObj.setNm(attSdBase.getSdName());
  104. bisInspAllObj.setCode(attSdBase.getSdCode());
  105. bisInspAllObj.setPtype("11");
  106. bisInspAllObj.setOrgId(bisInspOffLineObj.getOrgId());
  107. bisInspAllObj.setAdCode(bisInspOffLineObj.getProvince());
  108. bisInspAllObj.setLgtd(attSdBase.getCenterX());
  109. bisInspAllObj.setLttd(attSdBase.getCenterY());
  110. bisInspAllObj.setLgtdpc(attSdBase.getGdX());
  111. bisInspAllObj.setLttdpc(attSdBase.getGdY());
  112. bisInspAllObjDao.insert(bisInspAllObj);
  113. }
  114. /**
  115. * 插入登记表信息
  116. *
  117. * @param bisInspOffLineObj
  118. * @param objId
  119. * @param om
  120. * @param regId
  121. * @param bisInspSdRgstr
  122. * @throws IOException
  123. */
  124. public void insertAttSdRgstr(AttSdBase attSdBase, String groupId, String objId, String persId, String regId, BisInspSdRgstr bisInspSdRgstr) throws IOException {
  125. bisInspSdRgstr.setId(regId);
  126. bisInspSdRgstr.setObjId(objId);
  127. bisInspSdRgstr.setSdCode(attSdBase.getSdCode());
  128. bisInspSdRgstr.setSdName(attSdBase.getSdName());
  129. bisInspSdRgstr.setSdType(attSdBase.getSdType());
  130. bisInspSdRgstr.setSdTypeStr(attSdBase.getSdTypeStr());
  131. bisInspSdRgstr.setAdCode(attSdBase.getAdCode());
  132. bisInspSdRgstr.setConArea(attSdBase.getConArea());
  133. bisInspSdRgstr.setTotCap(attSdBase.getTotCap());
  134. bisInspSdRgstr.setFlcoCap(attSdBase.getFlcoCap());
  135. bisInspSdRgstr.setSdrCap(attSdBase.getSdrCap());
  136. bisInspSdRgstr.setFlcoYear(attSdBase.getFlcoYear());
  137. bisInspSdRgstr.setWarpCap(attSdBase.getWarpCap());
  138. bisInspSdRgstr.setDamSizeHig(attSdBase.getDamSizeHig());
  139. bisInspSdRgstr.setDamTopLen(attSdBase.getDamTopLen());
  140. bisInspSdRgstr.setAdName(attSdBase.getAdFullName());
  141. bisInspSdRgstr.setSdLoc(attSdBase.getSdLoc());
  142. bisInspSdRgstr.setAsinttds(attSdBase.getAsinttds());
  143. bisInspSdRgstr.setNoSpway(attSdBase.getNoSpway());
  144. bisInspSdRgstr.setDamTear(attSdBase.getDamTear());
  145. bisInspSdRgstr.setDamLandSubSide(attSdBase.getDamLandSubSide());
  146. bisInspSdRgstr.setDamRsog(attSdBase.getDamRsog());
  147. bisInspSdRgstr.setDamLopc(attSdBase.getDamLopc());
  148. bisInspSdRgstr.setDsLts(attSdBase.getDsLts());
  149. bisInspSdRgstr.setDsCc(attSdBase.getDsCc());
  150. bisInspSdRgstr.setDsOc(attSdBase.getDsOc());
  151. bisInspSdRgstr.setFrsMar(attSdBase.getFrsMar());
  152. bisInspSdRgstr.setFrsTbd(attSdBase.getFrsTbd());
  153. bisInspSdRgstr.setFrsOth(attSdBase.getFrsOth());
  154. bisInspSdRgstr.setNote(attSdBase.getNote());
  155. bisInspSdRgstr.setState("1");
  156. bisInspSdRgstr.setDataStat("0");
  157. bisInspSdRgstr.setPersId(persId);
  158. bisInspSdRgstr.setGroupId(groupId);
  159. bisInspSdRgstr.setCenterX(attSdBase.getCenterX());
  160. bisInspSdRgstr.setCenterY(attSdBase.getCenterY());
  161. bisInspSdRgstr.setGdX(attSdBase.getGdX());
  162. bisInspSdRgstr.setGdY(attSdBase.getGdY());
  163. bisInspSdRgstr.setInTm(new Date());
  164. bisInspSdRgstr.setUpTm(new Date());
  165. bisInspSdRgstrDao.insert(bisInspSdRgstr);
  166. }
  167. @Override
  168. public BisInspOffLineRetBase getBaseInfo(BisInspOffLine bisInspOffLine) {
  169. BisInspOffLineRetBase bisInspOffLineRetBase = new BisInspOffLineRetBase();
  170. AttSdBaseParam attSdBaseParam = new AttSdBaseParam();
  171. attSdBaseParam.setSdName(bisInspOffLine.getName());
  172. attSdBaseParam.setSdCode(bisInspOffLine.getCode());
  173. bisInspOffLineRetBase.setBase(attSdBaseDao.findList(attSdBaseParam));
  174. return bisInspOffLineRetBase;
  175. }
  176. }