1ee83886deb3462c03243355643178b1d7c5cfdd.svn-base 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933
  1. package cn.com.goldenwater.dcproj.service.impl.rsvr;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  4. import cn.com.goldenwater.dcproj.constValue.RsvrEnum;
  5. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  6. import cn.com.goldenwater.dcproj.constValue.StateEnum;
  7. import cn.com.goldenwater.dcproj.constValue.StatusEnum;
  8. import cn.com.goldenwater.dcproj.dao.AttRsBaseCrrctDao;
  9. import cn.com.goldenwater.dcproj.dao.AttRsBaseDao;
  10. import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
  11. import cn.com.goldenwater.dcproj.dao.BisInspBaseExtDao;
  12. import cn.com.goldenwater.dcproj.dao.BisInspBasePresExtDao;
  13. import cn.com.goldenwater.dcproj.dao.BisInspBaseViewDao;
  14. import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
  15. import cn.com.goldenwater.dcproj.dao.BisInspPblmPlistDao;
  16. import cn.com.goldenwater.dcproj.dao.BisInspPreListDao;
  17. import cn.com.goldenwater.dcproj.dao.BisInspRsvrBenefitsDao;
  18. import cn.com.goldenwater.dcproj.dao.BisInspRsvrProjectDao;
  19. import cn.com.goldenwater.dcproj.dao.BisInspRsvrRgstrDao;
  20. import cn.com.goldenwater.dcproj.dao.BisInspSafeExtManageDao;
  21. import cn.com.goldenwater.dcproj.dao.GwComFileDao;
  22. import cn.com.goldenwater.dcproj.dto.AttRsBaseRgstrDto;
  23. import cn.com.goldenwater.dcproj.dto.BisInspRsvrRgstrPcDto;
  24. import cn.com.goldenwater.dcproj.dto.BisInspTaskTotal;
  25. import cn.com.goldenwater.dcproj.model.AttRsBase;
  26. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  27. import cn.com.goldenwater.dcproj.model.BisInspBaseExt;
  28. import cn.com.goldenwater.dcproj.model.BisInspBasePresExt;
  29. import cn.com.goldenwater.dcproj.model.BisInspBaseView;
  30. import cn.com.goldenwater.dcproj.model.BisInspPblm;
  31. import cn.com.goldenwater.dcproj.model.BisInspPblmPlist;
  32. import cn.com.goldenwater.dcproj.model.BisInspPblmPlistFormDTO;
  33. import cn.com.goldenwater.dcproj.model.BisInspPreList;
  34. import cn.com.goldenwater.dcproj.model.BisInspRsvrBenefits;
  35. import cn.com.goldenwater.dcproj.model.BisInspRsvrPblmMend;
  36. import cn.com.goldenwater.dcproj.model.BisInspRsvrProject;
  37. import cn.com.goldenwater.dcproj.model.BisInspRsvrRgstr;
  38. import cn.com.goldenwater.dcproj.model.BisInspRsvrRgstrData;
  39. import cn.com.goldenwater.dcproj.model.BisInspRsvrRgstrDto;
  40. import cn.com.goldenwater.dcproj.model.BisInspSafeExtManage;
  41. import cn.com.goldenwater.dcproj.model.GwComFile;
  42. import cn.com.goldenwater.dcproj.param.AttRsBaseCrrctParam;
  43. import cn.com.goldenwater.dcproj.param.AttRsBaseParam;
  44. import cn.com.goldenwater.dcproj.param.BisInspAllObjParam;
  45. import cn.com.goldenwater.dcproj.param.BisInspBaseExtParam;
  46. import cn.com.goldenwater.dcproj.param.BisInspBasePresExtParam;
  47. import cn.com.goldenwater.dcproj.param.BisInspBaseViewParam;
  48. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  49. import cn.com.goldenwater.dcproj.param.BisInspPblmPlistParam;
  50. import cn.com.goldenwater.dcproj.param.BisInspPreListParam;
  51. import cn.com.goldenwater.dcproj.param.BisInspPresSafeParam;
  52. import cn.com.goldenwater.dcproj.param.BisInspRsvrBenefitsParam;
  53. import cn.com.goldenwater.dcproj.param.BisInspRsvrPblmMendParam;
  54. import cn.com.goldenwater.dcproj.param.BisInspRsvrProjectParam;
  55. import cn.com.goldenwater.dcproj.param.BisInspRsvrRgstrParam;
  56. import cn.com.goldenwater.dcproj.param.BisInspSafeExtManageParam;
  57. import cn.com.goldenwater.dcproj.param.BisInspVo;
  58. import cn.com.goldenwater.dcproj.param.TypeParam;
  59. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  60. import cn.com.goldenwater.dcproj.service.BisInspPblmPlistFormService;
  61. import cn.com.goldenwater.dcproj.service.BisInspPblmPlistService;
  62. import cn.com.goldenwater.dcproj.service.BisInspPblmService;
  63. import cn.com.goldenwater.dcproj.service.BisInspPresSafeService;
  64. import cn.com.goldenwater.dcproj.service.BisInspRsvrPblmMendService;
  65. import cn.com.goldenwater.dcproj.service.BisInspRsvrRgstrService;
  66. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  67. import cn.com.goldenwater.dcproj.utils.*;
  68. import cn.com.goldenwater.dcproj.utils.http.HikvisionOpenApiUtil;
  69. import cn.com.goldenwater.id.util.UuidUtil;
  70. import com.github.pagehelper.PageHelper;
  71. import com.github.pagehelper.PageInfo;
  72. import org.apache.commons.lang3.StringUtils;
  73. import org.slf4j.Logger;
  74. import org.slf4j.LoggerFactory;
  75. import org.springframework.beans.BeanUtils;
  76. import org.springframework.beans.factory.annotation.Autowired;
  77. import org.springframework.stereotype.Service;
  78. import org.springframework.transaction.annotation.Transactional;
  79. import javax.servlet.http.HttpServletResponse;
  80. import java.util.ArrayList;
  81. import java.util.Date;
  82. import java.util.List;
  83. import java.util.Map;
  84. import java.util.UUID;
  85. /**
  86. * @author lune
  87. * @date 2019-2-18
  88. */
  89. @Service
  90. @Transactional(rollbackFor = Exception.class)
  91. public class BisInspRsvrRgstrServiceImpl extends AbstractCrudService<BisInspRsvrRgstr, BisInspRsvrRgstrParam> implements BisInspRsvrRgstrService, BisInspObjStrategy {
  92. private final Logger logger = LoggerFactory.getLogger(getClass());
  93. @Autowired
  94. private BisInspRsvrRgstrDao bisInspRsvrRgstrDao;
  95. @Autowired
  96. private BisInspBaseExtDao bisInspBaseExtDao;
  97. @Autowired
  98. private BisInspAllObjDao bisInspAllObjDao;
  99. @Autowired
  100. private AttRsBaseCrrctDao attRsBaseCrrctDao;
  101. @Autowired
  102. private BisInspSafeExtManageDao bisInspSafeExtManageDao;
  103. @Autowired
  104. private BisInspPreListDao bisInspPreListDao;
  105. @Autowired
  106. private BisInspBaseViewDao bisInspBaseViewDao;
  107. @Autowired
  108. private BisInspBasePresExtDao bisInspBasePresExtDao;
  109. @Autowired
  110. private BisInspPblmDao bisInspPblmDao;
  111. @Autowired
  112. private BisInspPblmPlistDao bisInspPblmPlistDao;
  113. @Autowired
  114. private GwComFileDao comFileDao;
  115. @Autowired
  116. private BisInspRsvrBenefitsDao bisInspRsvrBenefitsDao;
  117. @Autowired
  118. private BisInspRsvrProjectDao bisInspRsvrProjectDao;
  119. @Autowired
  120. private BisInspPresSafeService bisInspPresSafeService;
  121. @Autowired
  122. private BisInspRsvrPblmMendService bisInspRsvrPblmMendService;
  123. @Autowired
  124. private BisInspPblmService bisInspPblmService;
  125. @Autowired
  126. private OlBisInspOrgService olBisInspOrgService;
  127. @Autowired
  128. private BisInspPblmPlistService bisInspPblmPlistService;
  129. @Autowired
  130. private BisInspPblmPlistFormService formService;
  131. public BisInspRsvrRgstrServiceImpl(BisInspRsvrRgstrDao bisInspRsvrRgstrDao) {
  132. super(bisInspRsvrRgstrDao);
  133. this.bisInspRsvrRgstrDao = bisInspRsvrRgstrDao;
  134. }
  135. @Override
  136. public int update(BisInspRsvrRgstr entity) {
  137. entity.setUptm(new Date());
  138. String persId = entity.getPersId();
  139. entity.setPersId(null);
  140. String curOrgId = entity.getOrgId();
  141. entity.setOrgId(null);
  142. String curProvince = entity.getProvince();
  143. entity.setProvince(null);
  144. int ret = super.update(entity);
  145. updatePblmState(entity);
  146. //根据所属省份
  147. if (StringUtils.isNotBlank(curProvince) && curProvince.startsWith("5100")) {
  148. // 四川省 水库问题填完之后 提交 直接添加到台账,并启动
  149. autoStartTask(entity, persId, curOrgId, olBisInspOrgService.getDefaultOrg(curOrgId).getOrgNm(), curProvince);
  150. }
  151. return ret;
  152. }
  153. private int autoStartTask(BisInspRsvrRgstr entity, String persId, String curOrgId, String curOrgNm, String curProvince) {
  154. int res = -1;
  155. // 第一步根据 水库登记表ID rgstrId 获取到问题列表
  156. String rgstrId = entity.getRgstrId();
  157. BisInspVo bisInspVo = new BisInspVo();
  158. bisInspVo.setRegid(rgstrId);
  159. List<BisInspVo> pblms = bisInspPblmDao.pblmPage(bisInspVo);
  160. // 督查类型为 水库
  161. if (null != pblms && pblms.size() > 0 && "1".equals(pblms.get(0).getObjType())) {
  162. for (BisInspVo v : pblms) {
  163. if (v.getAdFullName() != null) {
  164. if (v.getAdFullName().contains(SplitValue.HENG_SPLIT)) {
  165. String[] split = v.getAdFullName().split(SplitValue.HENG_SPLIT);
  166. if (split.length == 3) {
  167. v.setProvince(split[0]);
  168. v.setCity(split[1]);
  169. v.setCountry(split[2]);
  170. }
  171. if (split.length == 2) {
  172. v.setProvince(split[0]);
  173. v.setCity(split[1]);
  174. v.setCountry("");
  175. }
  176. } else {
  177. v.setProvince(v.getAdFullName());
  178. }
  179. try {
  180. // 第二步把问题列表 添加到整改待办表 plist 没有添加的添加,添加过未启动的更新 添加过已启动的跳过
  181. BisInspPblmPlist bisInspPblmPlist = new BisInspPblmPlist();
  182. bisInspPblmPlist.setPblmId(v.getPblmId());
  183. bisInspPblmPlist.setProvince(v.getProvince());
  184. bisInspPblmPlist.setCity(v.getCity());
  185. bisInspPblmPlist.setCounty(v.getCountry());
  186. Date pblmTm = DateUtils.Str2Date(v.getInspPblmTm(), "yyyy-MM-dd");
  187. bisInspPblmPlist.setPblmTm(pblmTm);
  188. bisInspPblmPlist.setPblmNameBz(v.getPblmNameBz());
  189. bisInspPblmPlist.setCheckPointBz(v.getCheckPointBz());
  190. bisInspPblmPlist.setPblmDescBz(v.getPblmDescBz());
  191. bisInspPblmPlist.setInspPblmCate(v.getInspPblmCate());
  192. bisInspPblmPlist.setInspPblmDesc(v.getInspPblmDesc());
  193. bisInspPblmPlist.setPblmClassify("小型水库");
  194. bisInspPblmPlist.setObjType(v.getObjType());
  195. bisInspPblmPlist.setObjName(v.getObjName());
  196. bisInspPblmPlist.setPersId(persId);
  197. // 大坝注册登记号
  198. bisInspPblmPlist.setDamRegCode(v.getDamRegCode());
  199. // 根据
  200. BisInspPblmPlistParam pblmPlistParam = new BisInspPblmPlistParam();
  201. pblmPlistParam.setPblmId(v.getPblmId());
  202. // 未删除
  203. pblmPlistParam.setDataStat("0");
  204. List<BisInspPblmPlist> pblmPlists = bisInspPblmPlistService.findList(pblmPlistParam);
  205. if (null == pblmPlists || 0 == pblmPlists.size()) {
  206. // 根据问题id没有在整改信息表中找到记录 认为是新增
  207. bisInspPblmPlist.setSendOrgId(curOrgId);
  208. bisInspPblmPlist.setSendOrgName(curOrgNm);
  209. bisInspPblmPlistService.insert(bisInspPblmPlist);
  210. } else {
  211. // 如果仅有1条就 判断是否启动 是否处理 是否销号 "0"
  212. BisInspPblmPlist pblmPlist = pblmPlists.get(0);
  213. if (1 == pblmPlists.size() && "0".equals(pblmPlist.getIsStart()) && "0".equals(pblmPlist.getPblmState()) && "0".equals(pblmPlist.getPblmOut())) {
  214. // 有且仅有1条整改记录且未处理,未销号,没有启动
  215. bisInspPblmPlist.setId(pblmPlists.get(0).getId());
  216. bisInspPblmPlistService.update(bisInspPblmPlist);
  217. }
  218. }
  219. BisInspPblmPlist finalPblmPlist = bisInspPblmPlistService.get(bisInspPblmPlist.getId());
  220. logger.info("finalPblmPlist:" + finalPblmPlist.toString());
  221. if (null != finalPblmPlist && "0".equals(finalPblmPlist.getIsStart()) && "0".equals(finalPblmPlist.getPblmOut()) && "0".equals(finalPblmPlist.getPblmState())) {
  222. // 第三步把添加的和更新的问题启动
  223. BisInspPblmPlistFormDTO pblmPlistFormDTO = new BisInspPblmPlistFormDTO();
  224. if (finalPblmPlist.getPblmAdName().contains(SplitValue.HENG_SPLIT)) {
  225. String[] split = bisInspPblmPlist.getPblmAdName().split(SplitValue.HENG_SPLIT);
  226. if (split.length == 3) {
  227. bisInspPblmPlist.setProvince(split[0]);
  228. bisInspPblmPlist.setCity(split[1]);
  229. bisInspPblmPlist.setCounty(split[2]);
  230. }
  231. if (split.length == 2) {
  232. bisInspPblmPlist.setProvince(split[0]);
  233. bisInspPblmPlist.setCity(split[1]);
  234. }
  235. if (split.length == 1) {
  236. bisInspPblmPlist.setProvince(split[0]);
  237. bisInspPblmPlist.setCity("");
  238. }
  239. }
  240. pblmPlistFormDTO.setPblmPlist(finalPblmPlist);
  241. //启动工作流前名称
  242. logger.info("提交问题启动工作流前:" + pblmPlistFormDTO.getPblmPlist().toString());
  243. // q启动流程 固定人员 向虹宇 ac338ab4785546708826bbf00cc57e17
  244. formService.saveFormsAndStartFlow(pblmPlistFormDTO, "ac338ab4785546708826bbf00cc57e17", curOrgId, curProvince);
  245. }
  246. } catch (Exception e) {
  247. e.printStackTrace();
  248. logger.error(e.getMessage());
  249. }
  250. }
  251. }
  252. }
  253. return res;
  254. }
  255. private void updatePblmState(BisInspRsvrRgstr rgstr) {
  256. BisInspRsvrRgstr r = get(rgstr.getRgstrId());
  257. if (r == null) {
  258. return;
  259. }
  260. logger.info("BisInspRsvrRgstr:" + r.toString());
  261. bisInspPblmService.updateStateByObjId(r.getObjId(), rgstr.getState());
  262. }
  263. @Override
  264. public BisInspRsvrRgstr getBy(BisInspRsvrRgstrParam param) {
  265. BisInspRsvrRgstr rgstr = super.getBy(param);
  266. if (rgstr != null && !"2".equals(rgstr.getRectStat())) {
  267. checkFinished(rgstr);
  268. }
  269. return rgstr;
  270. }
  271. @Override
  272. public BisInspRsvrRgstr get(String key) {
  273. BisInspRsvrRgstr rgstr = super.get(key);
  274. if (rgstr == null) {
  275. return rgstr;
  276. }
  277. if (!"2".equals(rgstr.getRectStat())) {
  278. checkFinished(rgstr);
  279. }
  280. return rgstr;
  281. }
  282. /**
  283. * 更新整改问题状态
  284. * 判断问题是否全部整改
  285. *
  286. * @param rgstr
  287. */
  288. private void checkFinished(BisInspRsvrRgstr rgstr) {
  289. String rectStat = "0";
  290. List<BisInspRsvrPblmMend> pblmMendList = bisInspRsvrPblmMendService.findList(Builder.of(BisInspRsvrPblmMendParam::new).with(BisInspRsvrPblmMendParam::setRsCode, rgstr.getRsCode()).build());
  291. if (pblmMendList == null || pblmMendList.size() == 0) {
  292. rectStat = "2";
  293. } else {
  294. long total = pblmMendList.size();
  295. long revw = pblmMendList.stream().filter(p -> "2".equals(p.getRevwState())).count();
  296. if (total == revw) {
  297. rectStat = "2";
  298. } else if (total > revw && revw != 0) {
  299. rectStat = "1";
  300. }
  301. }
  302. if (!rectStat.equals(rgstr.getRectStat())) {
  303. rgstr.setRectStat(rectStat);
  304. bisInspRsvrRgstrDao.update(rgstr);
  305. }
  306. }
  307. @Override
  308. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  309. AttRsBaseParam baseParam = new AttRsBaseParam();
  310. baseParam.setRsCode(bisInspAllObj.getCode());
  311. AttRsBase attRsBase = attRsBaseDao.getBy(baseParam);
  312. BisInspRsvrRgstr b = new BisInspRsvrRgstr();
  313. BeanUtils.copyProperties(attRsBase, b);
  314. String registrId = UUID.randomUUID().toString().replace(SplitValue.HENG_SPLIT, "");
  315. b.setRgstrId(registrId);
  316. b.setObjId(bisInspAllObj.getObjId());
  317. b.setRsvrNm(bisInspAllObj.getNm());
  318. b.setOrgId(bisInspAllObj.getOrgId());
  319. b.setAdCode(attRsBase.getAdmDiv());
  320. b.setRsvrAdmName(attRsBase.getRsAdmName());
  321. if (attRsBase.getRegNo() != null) {
  322. b.setDamRegCode(attRsBase.getRegCode());
  323. }
  324. if (attRsBase.getDamSizeHig() == null) {
  325. b.setDamMaxHigh(null);
  326. } else {
  327. b.setDamMaxHigh(Double.toString(attRsBase.getDamSizeHig()));
  328. }
  329. // if (StringUtils.isNotBlank(attRsBase.getLocation())) {
  330. // b.setHystSite(attRsBase.getLocation());
  331. // } else {
  332. // b.setHystSite(attRsBase.getRsLoc());
  333. // }
  334. b.setHystSite(attRsBase.getRsLoc());
  335. if (attRsBase.getCenterYGd() != null) {
  336. b.setRsvrLat(Double.parseDouble(attRsBase.getCenterYGd()));
  337. }
  338. if (attRsBase.getCenterXGd() != null) {
  339. b.setRsvrLong(Double.parseDouble(attRsBase.getCenterXGd()));
  340. }
  341. b.setResCreateTime(attRsBase.getCompDate());
  342. b.setDamRegCode(attRsBase.getRegCode());
  343. b.setHasDamRegCode("1");
  344. b.setState(StateEnum.NOWASTSTATE.getKey());
  345. b.setPresStat(StateEnum.NOWASTSTATE.getKey());
  346. b.setBaseStat(StateEnum.NOWASTSTATE.getKey());
  347. b.setResRunStat(StateEnum.NOWASTSTATE.getKey());
  348. b.setViewStat(StateEnum.NOWASTSTATE.getKey());
  349. b.setDataStat(StateEnum.NOWASTSTATE.getKey());
  350. b.setSafeStat(StateEnum.NOWASTSTATE.getKey());
  351. Date date = new Date();
  352. b.setIntm(date);
  353. b.setUptm(date);
  354. bisInspRsvrRgstrDao.insert(b);
  355. }
  356. @Override
  357. public String getType() {
  358. return BisInspEnum.REVER.getValue();
  359. }
  360. @Override
  361. public void cleanObjData(String objId) {
  362. BisInspRsvrRgstrParam bisInspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  363. bisInspRsvrRgstrParam.setObjId(objId);
  364. List<BisInspRsvrRgstr> list = this.bisInspRsvrRgstrDao.findList(bisInspRsvrRgstrParam);
  365. if (list.size() > 0) {
  366. String id = list.get(0).getRgstrId();
  367. BisInspBaseViewParam p = new BisInspBaseViewParam();
  368. p.setRgstrId(id);
  369. //获取走访情况
  370. BisInspBaseView bisInspBaseView = this.bisInspBaseViewDao.getBy(p);
  371. if (bisInspBaseView != null) {
  372. //删除走访人员情况
  373. this.bisInspPreListDao.deleteByViewId(bisInspBaseView.getViewId());
  374. }
  375. this.bisInspBaseViewDao.deleteBy(p);//删除水库走访情况
  376. BisInspSafeExtManageParam bisInspSafeExtManageParam = new BisInspSafeExtManageParam();
  377. bisInspSafeExtManageParam.setRgstrId(id);
  378. this.bisInspSafeExtManageDao.deleteBy(bisInspSafeExtManageParam);//删除水库安全运行管理情况
  379. BisInspBaseExtParam bisInspBaseExtParam = new BisInspBaseExtParam();
  380. bisInspBaseExtParam.setRgstrId(id);
  381. this.bisInspBaseExtDao.deleteBy(bisInspBaseExtParam);//删除水库“三项基本要求”落实情况
  382. BisInspBasePresExtParam bisInspBasePresExt = new BisInspBasePresExtParam();
  383. bisInspBasePresExt.setRgstrId(id);
  384. this.bisInspBasePresExtDao.deleteBy(bisInspBasePresExt);//删除水库“三个责任人”落实情况
  385. BisInspRsvrProjectParam bisInspRsvrProjectParam = new BisInspRsvrProjectParam();//水库工程实体情况
  386. bisInspRsvrProjectParam.setRgstrId(id);
  387. bisInspRsvrProjectDao.deleteBy(bisInspRsvrProjectParam);
  388. BisInspRsvrBenefitsParam bisInspRsvrBenefitsParam = new BisInspRsvrBenefitsParam();//水库效益发挥情况
  389. bisInspRsvrBenefitsParam.setRgstrId(id);
  390. bisInspRsvrBenefitsDao.deleteBy(bisInspRsvrBenefitsParam);
  391. // 水库安全管理三级责任人填录状态(青海)
  392. this.bisInspPresSafeService.deleteBy(Builder.of(BisInspPresSafeParam::new)
  393. .with(BisInspPresSafeParam::setRgstrId, id).build());
  394. BisInspRsvrRgstr bisInspRsvrRgstr = this.bisInspRsvrRgstrDao.get(id);
  395. this.bisInspRsvrRgstrDao.delete(id);//删除水库登记表
  396. if (bisInspRsvrRgstr != null) {
  397. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  398. bisInspAllObjParam.setObjId(objId);
  399. this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);//删除督查对象
  400. // bisInspAllObjDao.delete(bisInspRsvrRgstr.getObjId());//删除对象名录表
  401. AttRsBaseCrrctParam attRsBaseCrrctParam = new AttRsBaseCrrctParam();
  402. attRsBaseCrrctParam.setObjId(bisInspRsvrRgstr.getObjId());
  403. attRsBaseCrrctDao.deleteBy(attRsBaseCrrctParam);
  404. }
  405. }
  406. }
  407. @Override
  408. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  409. return this.findPageByType(typeParam);
  410. }
  411. @Override
  412. public Object findObjListByType(TypeParam typeParam) {
  413. return this.findListByType(typeParam);
  414. }
  415. @Override
  416. public BisInspRsvrRgstr createCheckData(BisInspRsvrRgstr rsvrRgstr, String flag, String currentPersId) {
  417. String regstrId = rsvrRgstr.getRgstrId();
  418. String regstrId_flag = regstrId + "_" + flag;
  419. BisInspRsvrProjectParam rsvrProjectParam = new BisInspRsvrProjectParam();
  420. rsvrProjectParam.setRgstrId(regstrId);
  421. BisInspRsvrProject rsvrProject = bisInspRsvrProjectDao.getBy(rsvrProjectParam);
  422. if (rsvrProject != null) {
  423. rsvrProject.setRgstrId(regstrId_flag);
  424. rsvrProject.setId(UuidUtil.uuid());
  425. rsvrProject.setStatus(flag);
  426. bisInspRsvrProjectDao.insert(rsvrProject);
  427. rsvrRgstr.setReverStat(flag);
  428. }
  429. BisInspRsvrBenefitsParam benefitsParam = new BisInspRsvrBenefitsParam();
  430. benefitsParam.setRgstrId(regstrId);
  431. BisInspRsvrBenefits rsvrBenefits = bisInspRsvrBenefitsDao.getBy(benefitsParam);
  432. if (rsvrBenefits != null) {
  433. rsvrBenefits.setRgstrId(regstrId_flag);
  434. rsvrBenefits.setId(UuidUtil.uuid());
  435. rsvrBenefits.setStatus(flag);
  436. bisInspRsvrBenefitsDao.insert(rsvrBenefits);
  437. rsvrRgstr.setBenefitStat(flag);
  438. }
  439. BisInspBaseViewParam baseViewParam = new BisInspBaseViewParam();
  440. baseViewParam.setRgstrId(regstrId);
  441. BisInspBaseView inspBaseView = bisInspBaseViewDao.getBy(baseViewParam);
  442. if (inspBaseView != null) {
  443. String newViewId = UuidUtil.uuid();
  444. inspBaseView.setViewId(newViewId);
  445. inspBaseView.setRgstrId(regstrId_flag);
  446. inspBaseView.setStatus(flag);
  447. String viewId = inspBaseView.getViewId();
  448. bisInspBaseViewDao.insert(inspBaseView);
  449. BisInspPreListParam preListParam = new BisInspPreListParam();
  450. preListParam.setViewId(viewId);
  451. List<BisInspPreList> inspPreLists = bisInspPreListDao.findList(preListParam);
  452. if (inspPreLists != null && !inspPreLists.isEmpty()) {
  453. for (BisInspPreList inspPreList : inspPreLists) {
  454. inspPreList.setViewPreId(UuidUtil.uuid());
  455. inspPreList.setViewId(newViewId);
  456. bisInspPreListDao.insert(inspPreList);
  457. }
  458. }
  459. rsvrRgstr.setViewStat(flag);
  460. }
  461. BisInspPblmParam pblmParam = new BisInspPblmParam();
  462. pblmParam.setRegid(regstrId);
  463. List<BisInspPblm> pblmList = bisInspPblmDao.findList(pblmParam);
  464. if (pblmList != null && !pblmList.isEmpty()) {
  465. for (BisInspPblm inspPblm : pblmList) {
  466. List<GwComFile> comFiles = comFileDao.findFileByBiz(inspPblm.getPblmId());
  467. String pblmId = UuidUtil.uuid();
  468. inspPblm.setPblmId(pblmId);
  469. inspPblm.setDataStat(flag);
  470. inspPblm.setRegid(regstrId_flag);
  471. if (comFiles != null && !comFiles.isEmpty()) {
  472. for (GwComFile comFile : comFiles) {
  473. comFile.setBizId(pblmId);
  474. comFile.setId(UuidUtil.uuid());
  475. comFileDao.insert(comFile);
  476. }
  477. }
  478. bisInspPblmDao.insert(inspPblm);
  479. }
  480. }
  481. BisInspBasePresExtParam basePresExtParam = new BisInspBasePresExtParam();
  482. basePresExtParam.setRgstrId(regstrId);
  483. BisInspBasePresExt basePresExt = bisInspBasePresExtDao.getBy(basePresExtParam);
  484. if (basePresExt != null) {
  485. basePresExt.setDutyId(UuidUtil.uuid());
  486. basePresExt.setRgstrId(regstrId_flag);
  487. basePresExt.setStatus(flag);
  488. bisInspBasePresExtDao.insert(basePresExt);
  489. rsvrRgstr.setPresStat(flag);
  490. }
  491. BisInspBaseExtParam bisInspBaseExtParam = new BisInspBaseExtParam();
  492. bisInspBaseExtParam.setRgstrId(regstrId);
  493. BisInspBaseExt inspBaseExt = bisInspBaseExtDao.getBy(bisInspBaseExtParam);
  494. if (inspBaseExt != null) {
  495. inspBaseExt.setRgstrId(regstrId_flag);
  496. inspBaseExt.setThrqId(UuidUtil.uuid());
  497. inspBaseExt.setStatus(flag);
  498. bisInspBaseExtDao.insert(inspBaseExt);
  499. rsvrRgstr.setBaseStat(flag);
  500. }
  501. BisInspSafeExtManageParam safeExtManageParam = new BisInspSafeExtManageParam();
  502. safeExtManageParam.setRgstrId(regstrId);
  503. BisInspSafeExtManage safeExtManage = bisInspSafeExtManageDao.getBy(safeExtManageParam);
  504. if (safeExtManage != null) {
  505. safeExtManage.setMngrnId(UuidUtil.uuid());
  506. safeExtManage.setRgstrId(regstrId_flag);
  507. safeExtManage.setStatus(flag);
  508. bisInspSafeExtManageDao.insert(safeExtManage);
  509. rsvrRgstr.setResRunStat(flag);
  510. }
  511. rsvrRgstr.setState(flag);
  512. return rsvrRgstr;
  513. }
  514. /**
  515. * 根据行政 开始时间和结束时间统计小水库 督查对象的列表数据
  516. *
  517. * @param adCode
  518. * @param stTm
  519. * @param enTm
  520. * @return
  521. */
  522. @Override
  523. public BisInspTaskTotal getListByTm(String adCode, Date stTm, Date enTm) {
  524. return bisInspRsvrRgstrDao.getListByTm(adCode, stTm, enTm);
  525. }
  526. @Override
  527. public void updateRsvr(String rgstrId, String status, String input) {
  528. if (StringUtils.isBlank(rgstrId)) {
  529. return;
  530. }
  531. BisInspRsvrRgstr inspRsvrRgstr = bisInspRsvrRgstrDao.get(rgstrId);
  532. if (StringUtils.isBlank(status)) {
  533. status = "2";
  534. }
  535. RsvrEnum rsvrEnum = RsvrEnum.getByValue(input);
  536. if (rsvrEnum == null) {
  537. return;
  538. }
  539. switch (rsvrEnum) {
  540. case PERSSAFE:
  541. inspRsvrRgstr.setSafeStat(status);
  542. break;
  543. case REIN:
  544. inspRsvrRgstr.setReinStat(status);
  545. break;
  546. case DAM:
  547. inspRsvrRgstr.setDamStat(status);
  548. break;
  549. case FITS:
  550. inspRsvrRgstr.setBenefitStat(status);
  551. break;
  552. case PROJECT:
  553. inspRsvrRgstr.setReverStat(status);
  554. break;
  555. case PRES:
  556. inspRsvrRgstr.setPresStat(status);
  557. break;
  558. case VIEW:
  559. inspRsvrRgstr.setViewStat("2");
  560. break;
  561. case EXT:
  562. inspRsvrRgstr.setBaseStat(status);
  563. break;
  564. case SAFE:
  565. inspRsvrRgstr.setResRunStat(status);
  566. break;
  567. default:
  568. }
  569. if (StringUtils.isBlank(inspRsvrRgstr.getState()) ||
  570. StateEnum.NOWASTSTATE.getKey().equals(inspRsvrRgstr.getState())) {
  571. inspRsvrRgstr.setState(StateEnum.EXWASTSTATE.getKey());
  572. } else {
  573. inspRsvrRgstr.setState(inspRsvrRgstr.getState());
  574. }
  575. bisInspRsvrRgstrDao.update(inspRsvrRgstr);
  576. }
  577. @Override
  578. public int deleteRsvrRgstr(String id) {
  579. return bisInspRsvrRgstrDao.deleteInFlag(id);
  580. }
  581. @Override
  582. public int add(BisInspRsvrRgstrData bisInspRsvrRgstrData) {
  583. Date date = new Date();
  584. BisInspRsvrRgstr bisInspRsvrRgstr = bisInspRsvrRgstrData.getRsvrRgstr();
  585. bisInspRsvrRgstr.setState(StateEnum.EXWASTSTATE.getKey());
  586. bisInspRsvrRgstr.setDataStat("0");
  587. bisInspRsvrRgstr.setUptm(date);
  588. bisInspRsvrRgstr.setIntm(date);
  589. BisInspBaseExt baseExt = bisInspRsvrRgstrData.getBaseExt();
  590. baseExt.setUpdateTime(date);
  591. baseExt.setCreateTime(date);
  592. baseExt.setStatus(StatusEnum.START.getStatus());
  593. baseExt.setThrqId(UuidUtil.uuid());
  594. baseExt.setRgstrId(bisInspRsvrRgstr.getRgstrId());
  595. BisInspBaseView baseView = bisInspRsvrRgstrData.getBaseView();
  596. baseView.setRgstrId(bisInspRsvrRgstr.getRgstrId());
  597. baseView.setViewId(UuidUtil.uuid());
  598. baseView.setUpdateTime(date);
  599. baseView.setUpdateTime(date);
  600. BisInspSafeExtManage safeExtManage = bisInspRsvrRgstrData.getSafeExtManage();
  601. safeExtManage.setUpdateTime(date);
  602. safeExtManage.setCreateTime(date);
  603. safeExtManage.setMngrnId(UuidUtil.uuid());
  604. safeExtManage.setRgstrId(bisInspRsvrRgstr.getRgstrId());
  605. safeExtManage.setStatus(StatusEnum.START.getStatus());
  606. BisInspBasePresExt basePresExt = bisInspRsvrRgstrData.getBasePresExt();
  607. basePresExt.setUpdateTime(date);
  608. basePresExt.setCreateTime(date);
  609. basePresExt.setDutyId(UuidUtil.uuid());
  610. basePresExt.setRgstrId(bisInspRsvrRgstr.getRgstrId());
  611. basePresExt.setStatus(StatusEnum.START.getStatus());
  612. InspUtils.addPreList(baseView, bisInspPreListDao);
  613. bisInspBasePresExtDao.insert(basePresExt);
  614. bisInspSafeExtManageDao.insert(safeExtManage);
  615. bisInspBaseViewDao.insert(baseView);
  616. bisInspBaseExtDao.insert(baseExt);
  617. this.insert(bisInspRsvrRgstr);
  618. return 1;
  619. }
  620. @Override
  621. public void updateRG(BisInspRsvrRgstr rsvrRgstr) {
  622. Date date = new Date();
  623. if (StatusEnum.START.getStatus().equals(rsvrRgstr.getResRunStat())) {
  624. BisInspSafeExtManage inspSafeExtManage = new BisInspSafeExtManage();
  625. inspSafeExtManage.setUpdateTime(date);
  626. inspSafeExtManage.setStatus(rsvrRgstr.getState());
  627. inspSafeExtManage.setRgstrId(rsvrRgstr.getRgstrId());
  628. bisInspSafeExtManageDao.updateBy(inspSafeExtManage);
  629. }
  630. BisInspBaseView inspBaseView = new BisInspBaseView();
  631. inspBaseView.setUpdateTime(date);
  632. inspBaseView.setStatus(rsvrRgstr.getState());
  633. inspBaseView.setRgstrId(rsvrRgstr.getRgstrId());
  634. bisInspBaseViewDao.updateBy(inspBaseView);
  635. if (StatusEnum.START.getStatus().equals(rsvrRgstr.getBaseStat())) {
  636. BisInspBaseExt inspBaseExt = new BisInspBaseExt();
  637. inspBaseExt.setUpdateTime(date);
  638. inspBaseExt.setStatus(rsvrRgstr.getState());
  639. inspBaseExt.setRgstrId(rsvrRgstr.getRgstrId());
  640. bisInspBaseExtDao.updateBy(inspBaseExt);
  641. }
  642. if (StatusEnum.START.getStatus().equals(rsvrRgstr.getPresStat())) {
  643. BisInspBasePresExt inspBasePresExt = new BisInspBasePresExt();
  644. inspBasePresExt.setUpdateTime(date);
  645. inspBasePresExt.setStatus(rsvrRgstr.getState());
  646. inspBasePresExt.setRgstrId(rsvrRgstr.getRgstrId());
  647. bisInspBasePresExtDao.updateBy(inspBasePresExt);
  648. }
  649. //提交督查表,更新问题状态
  650. BisInspPblm bisInspPblm = new BisInspPblm();
  651. bisInspPblm.setPblmStat("1");
  652. bisInspPblm.setRegid(rsvrRgstr.getRgstrId());
  653. if (StringUtils.isNotBlank(rsvrRgstr.getRgstrId())) {
  654. bisInspPblmDao.updatePblmStatus(bisInspPblm);
  655. }
  656. bisInspRsvrRgstrDao.update(rsvrRgstr);
  657. }
  658. @Override
  659. public PageInfo<BisInspRsvrRgstrDto> findPageByType(TypeParam typeParam) {
  660. if (StringUtils.isNotBlank(typeParam.getCode())) {
  661. typeParam.setCode(AdLevelUtil.SubAd(typeParam.getCode()).get(SplitValue.SUBAD).toString());
  662. }
  663. PageHelper.startPage(typeParam);
  664. List<BisInspRsvrRgstrDto> list = bisInspRsvrRgstrDao.findPageByType(typeParam);
  665. PageInfo<BisInspRsvrRgstrDto> pageInfo = new PageInfo(list);
  666. return pageInfo;
  667. }
  668. @Override
  669. public List<BisInspRsvrRgstrDto> findListByType(TypeParam typeParam) {
  670. if (StringUtils.isNotBlank(typeParam.getCode())) {
  671. typeParam.setCode(AdLevelUtil.SubAd(typeParam.getCode()).get(SplitValue.SUBAD).toString());
  672. }
  673. List<BisInspRsvrRgstrDto> list = bisInspRsvrRgstrDao.findPageByType(typeParam);
  674. if (list == null) {
  675. return new ArrayList<>();
  676. }
  677. return list;
  678. }
  679. @Autowired
  680. private AttRsBaseDao attRsBaseDao;
  681. @Override
  682. public PageInfo<AttRsBase> findAttBaseInfo(AttRsBaseParam attRsBaseParam) {
  683. PageHelper.startPage(attRsBaseParam);
  684. List list = attRsBaseDao.findList(attRsBaseParam);
  685. list.forEach(attRsBase -> {
  686. AttRsBaseRgstrDto bisInspRsvrynRgstrDto = (AttRsBaseRgstrDto) attRsBase;
  687. bisInspRsvrynRgstrDto.setPatrolPersTel1(UserMsgSectrityUtils.blurPhoneNotExc(bisInspRsvrynRgstrDto.getPatrolPersTel1()));
  688. bisInspRsvrynRgstrDto.setTechPersTel1(UserMsgSectrityUtils.blurPhoneNotExc(bisInspRsvrynRgstrDto.getTechPersTel1()));
  689. bisInspRsvrynRgstrDto.setWiunWaoLegPersTel1(UserMsgSectrityUtils.blurPhoneNotExc(bisInspRsvrynRgstrDto.getWiunWaoLegPersTel1()));
  690. });
  691. PageInfo<AttRsBase> pageInfo = new PageInfo(list);
  692. return pageInfo;
  693. }
  694. /**
  695. * 批量设置水库是否省属
  696. *
  697. * @param rsBaseParam
  698. * @return
  699. */
  700. @Override
  701. public int updateBatchProvincial(AttRsBaseParam rsBaseParam) {
  702. return attRsBaseDao.updateBatchProvincial(rsBaseParam);
  703. }
  704. /**
  705. * 根据水库的监控点编号获取到监控预览地址
  706. *
  707. * @param cameraIndexCode
  708. * @return
  709. */
  710. @Override
  711. public Map<String, Object> getMonitorVideoUrlByCameraIndexCode(String cameraIndexCode) {
  712. return HikvisionOpenApiUtil.callPostPreviewURLs(cameraIndexCode);
  713. }
  714. @Override
  715. public PageInfo<BisInspRsvrRgstrPcDto> findPcPage(TypeParam typeParam) {
  716. PageHelper.startPage(typeParam);
  717. List<BisInspRsvrRgstrPcDto> list = bisInspRsvrRgstrDao.findPcPage(typeParam);
  718. if (list.size() > 0) {
  719. for (BisInspRsvrRgstrPcDto b : list) {
  720. if (b.getAdFullName() != null) {
  721. if (b.getAdFullName().contains(SplitValue.HENG_SPLIT)) {
  722. String[] split = b.getAdFullName().split(SplitValue.HENG_SPLIT);
  723. if (split.length == 3) {
  724. b.setProvince(split[0]);
  725. b.setCity(split[1]);
  726. b.setCounty(split[2]);
  727. }
  728. if (split.length == 2) {
  729. b.setProvince(split[0]);
  730. b.setCity(split[1]);
  731. b.setCounty("");
  732. }
  733. } else {
  734. b.setProvince(b.getAdFullName());
  735. }
  736. }
  737. }
  738. }
  739. return new PageInfo<>(list);
  740. }
  741. @Override
  742. public BisInspRsvrRgstr getByRsvrRgstr(BisInspRsvrRgstrParam inspRsvrRgstrParam) {
  743. String state = StateEnum.NOWASTSTATE.getKey();
  744. String persId = inspRsvrRgstrParam.getRecPersId();
  745. inspRsvrRgstrParam.setRecPersId("");
  746. BisInspRsvrRgstr bisInspRsvrRgstr = bisInspRsvrRgstrDao.getBy(inspRsvrRgstrParam);
  747. if (bisInspRsvrRgstr != null) {
  748. if (bisInspRsvrRgstr.getIntm() == null) {
  749. bisInspRsvrRgstr.setIntm(new Date());
  750. bisInspRsvrRgstrDao.update(bisInspRsvrRgstr);
  751. }
  752. return bisInspRsvrRgstr;
  753. }
  754. bisInspRsvrRgstr = new BisInspRsvrRgstr();
  755. AttRsBaseParam baseParam = new AttRsBaseParam();
  756. baseParam.setRsCode(inspRsvrRgstrParam.getRsCode());
  757. AttRsBase attRsBase = attRsBaseDao.getBy(baseParam);
  758. if (attRsBase == null) {
  759. return new BisInspRsvrRgstr();
  760. }
  761. bisInspRsvrRgstr.setRgstrId(UuidUtil.uuid());
  762. bisInspRsvrRgstr.setAdCode(attRsBase.getAdmDiv());
  763. bisInspRsvrRgstr.setRsvrAdmName(attRsBase.getRsAdmName());
  764. if (attRsBase.getDamSizeHig() == null) {
  765. bisInspRsvrRgstr.setDamMaxHigh(null);
  766. } else {
  767. bisInspRsvrRgstr.setDamMaxHigh(Double.toString(attRsBase.getDamSizeHig()));
  768. }
  769. bisInspRsvrRgstr.setDamType(attRsBase.getDamType());
  770. bisInspRsvrRgstr.setDamRegCode(attRsBase.getRegCode());
  771. bisInspRsvrRgstr.setEngScal(attRsBase.getEngScal());
  772. bisInspRsvrRgstr.setObjId(inspRsvrRgstrParam.getObjId());
  773. bisInspRsvrRgstr.setHystSite(attRsBase.getRsLoc());
  774. bisInspRsvrRgstr.setLocation(attRsBase.getLocation());
  775. bisInspRsvrRgstr.setState(state);
  776. bisInspRsvrRgstr.setRsCode(inspRsvrRgstrParam.getRsCode());
  777. bisInspRsvrRgstr.setTotCap(attRsBase.getTotCap());
  778. if (attRsBase.getCenterYGd() != null) {
  779. bisInspRsvrRgstr.setRsvrLat(Double.parseDouble(attRsBase.getCenterYGd()));
  780. }
  781. if (attRsBase.getCenterXGd() != null) {
  782. bisInspRsvrRgstr.setRsvrLong(Double.parseDouble(attRsBase.getCenterXGd()));
  783. }
  784. bisInspRsvrRgstr.setDataStat(state);
  785. Date date = new Date();
  786. bisInspRsvrRgstr.setIntm(date);
  787. bisInspRsvrRgstr.setUptm(date);
  788. bisInspRsvrRgstr.setPresStat(state);
  789. bisInspRsvrRgstr.setRecPersId(persId);
  790. bisInspRsvrRgstr.setResCreateTime(attRsBase.getCompDate());
  791. bisInspRsvrRgstr.setHasDamRegCode("1");
  792. bisInspRsvrRgstr.setCompDateStr(attRsBase.getCompDateStr());
  793. bisInspRsvrRgstr.setViewStat(state);
  794. bisInspRsvrRgstr.setRsvrNm(attRsBase.getRsName());
  795. bisInspRsvrRgstr.setBaseStat(state);
  796. bisInspRsvrRgstr.setReverStat(state);
  797. bisInspRsvrRgstr.setResRunStat(state);
  798. bisInspRsvrRgstr.setIsSaf(attRsBase.getIsSaf());
  799. bisInspRsvrRgstr.setIsAction(attRsBase.getIsAction());
  800. bisInspRsvrRgstr.setInspType(attRsBase.getInspType());
  801. this.insert(bisInspRsvrRgstr);
  802. return bisInspRsvrRgstr;
  803. }
  804. @Override
  805. public int insert(BisInspRsvrRgstr b) {
  806. int ret = 1;
  807. String objId = b.getObjId();
  808. BisInspRsvrRgstrParam bisInspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  809. bisInspRsvrRgstrParam.setObjId(objId);
  810. List<BisInspRsvrRgstr> list = bisInspRsvrRgstrDao.findList(bisInspRsvrRgstrParam);
  811. if (list == null || list.size() == 0) {
  812. ret = bisInspRsvrRgstrDao.insert(b);
  813. }
  814. return ret;
  815. }
  816. /**
  817. * 四川省 编辑水库的注册登记号
  818. *
  819. * @param inspPblmPlist
  820. * @return
  821. */
  822. @Override
  823. public int updateRsvrDamRegCode(BisInspPblmPlist inspPblmPlist) {
  824. int rows = 0;
  825. // 更新整改问题的注册登记号
  826. BisInspPblmPlist updateItem = new BisInspPblmPlist();
  827. updateItem.setId(inspPblmPlist.getId());
  828. updateItem.setDamRegCode(inspPblmPlist.getDamRegCode());
  829. Date curDate = new Date();
  830. updateItem.setUptm(curDate);
  831. rows = this.bisInspPblmPlistDao.update(updateItem);
  832. // 更新登记表中的 注册登记号
  833. List<BisInspRsvrRgstr> rgstrList = this.bisInspRsvrRgstrDao.getByPblmId(inspPblmPlist.getPblmId());
  834. if (null != rgstrList && rgstrList.size() > 0) {
  835. BisInspRsvrRgstr bisInspRsvrRgstr = new BisInspRsvrRgstr();
  836. bisInspRsvrRgstr.setUptm(curDate);
  837. BisInspRsvrRgstr item = rgstrList.get(0);
  838. String rsCode = item.getRsCode();
  839. if (StringUtils.isNotEmpty(rsCode)) {
  840. bisInspRsvrRgstr.setRsCode(rsCode);
  841. bisInspRsvrRgstr.setDamRegCode(inspPblmPlist.getDamRegCode());
  842. // 更新水库登记表中的注册登记号 把此水库的所有注册登记表都更新
  843. rows = this.bisInspRsvrRgstrDao.updateDamRegCodeByRsCode(bisInspRsvrRgstr);
  844. // 更新水库的所有整改问题的注册登记号
  845. updateItem.setId(null);
  846. updateItem.setObjCode(rsCode);
  847. this.bisInspPblmPlistDao.updateDamRegCodeByRsCode(updateItem);
  848. }
  849. // 更新基础表中的大坝注册登记号
  850. BisInspAllObj inspAllObj = this.bisInspAllObjDao.get(item.getObjId());
  851. if (null != inspAllObj && StringUtils.isNotEmpty(inspAllObj.getCode())) {
  852. AttRsBase attRsBase = new AttRsBase();
  853. attRsBase.setRegCode(bisInspRsvrRgstr.getDamRegCode());
  854. attRsBase.setRsCode(inspAllObj.getCode());
  855. attRsBase.setUptm(curDate);
  856. this.attRsBaseDao.updateRegCodeByCode(attRsBase);
  857. }
  858. }
  859. return rows;
  860. }
  861. }