92caa935671cad05c8c6ba9afcf5d8e7a7b8a36d.svn-base 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package cn.com.goldenwater.dcproj.service.impl.offline;
  2. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  3. import cn.com.goldenwater.dcproj.dao.*;
  4. import cn.com.goldenwater.dcproj.model.*;
  5. import cn.com.goldenwater.dcproj.param.AttGrwBaseParam;
  6. import cn.com.goldenwater.dcproj.service.GwComFileService;
  7. import cn.com.goldenwater.dcproj.service.SupervisionPlanService;
  8. import cn.com.goldenwater.id.util.UuidUtil;
  9. import com.fasterxml.jackson.databind.DeserializationFeature;
  10. import com.fasterxml.jackson.databind.ObjectMapper;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.beans.factory.annotation.Value;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.io.IOException;
  16. import java.text.SimpleDateFormat;
  17. import java.util.Date;
  18. import java.util.List;
  19. /**
  20. * 地下水离线填报
  21. *
  22. * @author zhangcheng
  23. * @date 2019/11/27 17:07
  24. */
  25. @Service
  26. @Transactional
  27. public class BisInspOffLineGrwProcess extends BisInspOffLineProcess {
  28. @Autowired
  29. AttGrwBaseDao attGrwBaseDao;
  30. @Autowired
  31. BisInspGrwDao bisInspGrwDao;
  32. @Autowired
  33. BisInspAllObjDao bisInspAllObjDao;
  34. @Autowired
  35. BisInspPblmDao bisInspPblmDao;//督查问题
  36. @Autowired
  37. SupervisionPlanService supervisionPlanService;
  38. @Autowired
  39. private GwComFileService gwComFileService;//文件操作
  40. @Value("${getFile.prefix}")
  41. public String prefix;
  42. @Override
  43. public BisInspOffLineRet process(BisInspOffLineObj bisInspOffLineObj, String fileDir) throws IOException {
  44. BisInspOffLineRet bisInspOffLineRet = new BisInspOffLineRet();
  45. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  46. ObjectMapper om = new ObjectMapper();
  47. om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  48. //解析地下水填报信息
  49. BisInspGrw bisInspGrw = new BisInspGrw();
  50. if (bisInspOffLineObj.getRegister() != null) {
  51. bisInspGrw = om.readValue(bisInspOffLineObj.getRegister(), BisInspGrw.class);
  52. }
  53. //解析地下水基本信息对象
  54. if (bisInspOffLineObj.getBase() != null) {
  55. //添加到督查任务bisInspOffLineGrwRgeister
  56. String objId = UuidUtil.uuid();
  57. String regId = objId;
  58. String groupId = bisInspOffLineObj.getGroupId();
  59. String persId = bisInspOffLineObj.getPersId();
  60. AttGrwBase attGrwBase = om.readValue(bisInspOffLineObj.getBase(), AttGrwBase.class);
  61. insertBisInspAllObj(bisInspOffLineObj, groupId, objId, attGrwBase);
  62. insertAttGrwRgstr(attGrwBase, objId, persId, regId, bisInspGrw);
  63. bisInspOffLineRet.setRegId(regId);
  64. bisInspOffLineRet.setObjId(objId);
  65. }
  66. return bisInspOffLineRet;
  67. }
  68. /**
  69. * 添加到督查任务
  70. *
  71. * @param groupId
  72. * @param objId
  73. * @param attGrwBase
  74. */
  75. public void insertBisInspAllObj(BisInspOffLineObj bisInspOffLineObj, String groupId, String objId, AttGrwBase attGrwBase) {
  76. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  77. bisInspAllObj.setId(groupId);
  78. bisInspAllObj.setObjId(objId);
  79. bisInspAllObj.setOrgId(bisInspOffLineObj.getOrgId());
  80. bisInspAllObj.setAdCode(bisInspOffLineObj.getProvince());
  81. bisInspAllObj.setNm(attGrwBase.getStnm());
  82. bisInspAllObj.setCode(attGrwBase.getStcd());
  83. bisInspAllObj.setPtype("5");
  84. bisInspAllObj.setLgtd(attGrwBase.getLgtd());
  85. bisInspAllObj.setLttd(attGrwBase.getLttd());
  86. bisInspAllObj.setLgtdpc(attGrwBase.getLgtdPc());
  87. bisInspAllObj.setLttdpc(attGrwBase.getLttdPc());
  88. bisInspAllObjDao.insert(bisInspAllObj);
  89. }
  90. /**
  91. * 插入登记表信息
  92. *
  93. * @param bisInspOffLineObj
  94. * @param objId
  95. * @param om
  96. * @param regId
  97. * @param bisInspGrw
  98. * @throws IOException
  99. */
  100. public void insertAttGrwRgstr(AttGrwBase attGrwBase, String objId, String persId, String regId, BisInspGrw bisInspGrw) throws IOException {
  101. bisInspGrw.setId(regId);
  102. bisInspGrw.setObjId(objId);
  103. bisInspGrw.setStcd(attGrwBase.getStcd());
  104. bisInspGrw.setStnm(attGrwBase.getStnm());
  105. bisInspGrw.setSttp(attGrwBase.getSttp());
  106. bisInspGrw.setStlc(attGrwBase.getStlc());
  107. bisInspGrw.setInspState("1");
  108. bisInspGrw.setFlagValid("0");
  109. bisInspGrw.setCheckPid(persId);
  110. if (bisInspGrw.getFlagSign() != null && !"".equals(bisInspGrw.getFlagSign())) {
  111. bisInspGrw.setMaintainStatus("1");//已填报
  112. } else {
  113. bisInspGrw.setMaintainStatus("0");//未填报
  114. }
  115. if (bisInspGrw.getRepeatability() != null && !"".equals(bisInspGrw.getRepeatability())) {
  116. bisInspGrw.setPercentageStatus("1");//已填报
  117. } else {
  118. bisInspGrw.setPercentageStatus("0");//未填报
  119. }
  120. SimpleDateFormat df = new SimpleDateFormat(SplitValue.TIME_SPLIT_SEC);//设置日期格式
  121. String format = df.format(new Date());
  122. bisInspGrw.setInTm(format);
  123. bisInspGrw.setUpTm(format);
  124. bisInspGrwDao.insert(bisInspGrw);
  125. }
  126. @Override
  127. public BisInspOffLineRetBase getBaseInfo(BisInspOffLine bisInspOffLine) {
  128. BisInspOffLineRetBase bisInspOffLineRetBase = new BisInspOffLineRetBase();
  129. AttGrwBaseParam attGrwBaseParam = new AttGrwBaseParam();
  130. attGrwBaseParam.setStnm(bisInspOffLine.getName());
  131. attGrwBaseParam.setStcd(bisInspOffLine.getCode());
  132. bisInspOffLineRetBase.setBase(attGrwBaseDao.findList(attGrwBaseParam));
  133. //判断登记表是否有重复对象
  134. List<BisInspBase> bisInspBases = bisInspGrwDao.getGrwByIdNm(bisInspOffLine.getGroupId(), bisInspOffLine.getName());
  135. if (null != bisInspBases && bisInspBases.size() > 0) {
  136. bisInspOffLineRetBase.setRepeat(true);
  137. bisInspOffLineRetBase.setRepeatList(bisInspBases);
  138. } else {
  139. bisInspOffLineRetBase.setRepeat(false);
  140. }
  141. return bisInspOffLineRetBase;
  142. }
  143. }