From 52eeb5e914c367f04e7f42ae2a7c0d83e527087f Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 01 Apr 2024 16:48:25 +0800
Subject: [PATCH] 初始化挡水建筑物,正常溢洪道,泄洪洞,非常溢洪道,输水建筑物,电站

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java |  125 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 121 insertions(+), 4 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java
index 46f7d6b..f65adc8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java
@@ -53,6 +53,10 @@
 	 */
 	@Override
 	public boolean updateByGuid(TbAttResBase tbAttResBase) {
+		// 设置填报数据表的最终填报状态
+		if (tbAttResBase.getCheckState()!=4) {
+			tbAttResBase.setFinalState(0);
+		}
 		// 查询是否存在
 		TbAttResBase detail = baseMapper.getDetailByGuid(tbAttResBase.getGuid());
 		// 更新审核日志
@@ -84,10 +88,22 @@
 		// 驳回情况下将状态修改回0即已填写未提交状态
 		if (tbAttResBase.getCheckState()==3){
 			tbAttResBase.setCheckState(0);
+			// 只要一个退回则设置为填写中...
+			tbAttResBase.setFinalState(0);
 		}
 		// 更新数据
 		int i = baseMapper.updateById(tbAttResBase);
 		if (i>0){
+			// 如果是审核通过需要判断其他报表是否都已填报并审核通过
+			if (tbAttResBase.getCheckState()==2){
+				Boolean flag = baseMapper.getFinalCheckStateByGuid(tbAttResBase.getGuid());
+				if (flag){
+					TbAttResBase tbAttResBase1 = new TbAttResBase();
+					tbAttResBase1.setFinalState(1);
+					tbAttResBase1.setGuid(tbAttResBase.getGuid());
+					updateById(tbAttResBase1);
+				}
+			}
 			return true;
 		}
 		return false;
@@ -103,6 +119,7 @@
 		if (null!=tbAttResBase.getGuid()){
 			// 更新
 			i = baseMapper.updateById(tbAttResBase);
+			updateFinalState(tbAttResBase.getGuid(),tbAttResBase.getCheckState());
 		}else {
 			tbAttResBase.setCreateTime(new Date());
 			i = baseMapper.insert(tbAttResBase);
@@ -212,7 +229,7 @@
 		// 查询水库基础填报数据
 		CompletableFuture<List<Map<String,Object>>> tbAttResBaseInfo = getTbAttResBaseInfo("tb_att_res_base",resGuid, executor);
 		// 查询水库其他填报数据
-		CompletableFuture<List<Map<String,Object>>> tbAttResBuildInfo = getTbInfo("tb_att_res_build_info",resGuid,executor);
+//		CompletableFuture<List<Map<String,Object>>> tbAttResBuildInfo = getTbInfo("tb_att_res_build_info",resGuid,executor);
 		CompletableFuture<List<Map<String,Object>>> tbAttResEngBene = getTbInfo("tb_att_res_eng_bene",resGuid,executor);
 		CompletableFuture<List<Map<String,Object>>> tbAttResInfomationProject = getTbInfo("tb_att_res_infomation_project",resGuid,executor);
 		CompletableFuture<List<Map<String,Object>>> tbAttResMgrSysB = getTbInfo("tb_att_res_mgr_sys_b",resGuid,executor);
@@ -225,11 +242,12 @@
 		CompletableFuture<List<Map<String,Object>>> tbAttResStagChar = getTbInfo("tb_att_res_stag_char",resGuid,executor);
 		CompletableFuture<List<Map<String,Object>>> tbAttResWaterBlock = getTbInfo("tb_att_res_water_block",resGuid,executor);
 		CompletableFuture<List<Map<String,Object>>> tbAttResWaterDelivery = getTbInfo("tb_att_res_water_delivery",resGuid,executor);
+		CompletableFuture<List<Map<String,Object>>> tbFileStorageLocation = getTbInfo("tb_file_storage_location",resGuid,executor);
 		//等待所有任务执行完成
 		try {
 			CompletableFuture.allOf(
 				tbAttResBaseInfo,
-				tbAttResBuildInfo,
+				tbFileStorageLocation,
 				tbAttResEngBene,
 				tbAttResInfomationProject,
 				tbAttResMgrSysB,
@@ -241,10 +259,10 @@
 				tbAttResSafetyMonitor,
 				tbAttResStagChar,
 				tbAttResWaterBlock,
-				tbAttResWaterDelivery).get();
+				tbAttResWaterDelivery
+			).get();
 			// 数据处理
 			list.addAll(tbAttResBaseInfo.get());
-			list.addAll(tbAttResBuildInfo.get());
 			list.addAll(tbAttResEngBene.get());
 			list.addAll(tbAttResInfomationProject.get());
 			list.addAll(tbAttResMgrSysB.get());
@@ -257,6 +275,7 @@
 			list.addAll(tbAttResStagChar.get());
 			list.addAll(tbAttResWaterBlock.get());
 			list.addAll(tbAttResWaterDelivery.get());
+			list.addAll(tbFileStorageLocation.get());
 		} catch (InterruptedException e) {
 			e.printStackTrace();
 		} catch (ExecutionException e) {
@@ -300,4 +319,102 @@
 			return tbInfo;
 		},executor);
 	}
+
+	/**
+	 * 更新水库信息填报最终状态
+	 * @param resGuid 水库编码
+	 * @param state 状态值
+	 */
+	@Override
+	public Boolean updateFinalState(String resGuid, int state) {
+		TbAttResBase tbAttResBase = new TbAttResBase();
+		tbAttResBase.setGuid(resGuid);
+		if (state==1 || state==2){
+			// 审核通过,判断是否已全部通过审核
+			Boolean flag = baseMapper.getFinalCheckStateByGuid(resGuid);
+			if (flag){
+				tbAttResBase.setFinalState(1);
+			}else {
+				// 否则判断是否审核中
+				flag = baseMapper.getFinalCheckStateCheckLoadingByGuid(resGuid);
+				if (flag){
+					// 设置为审核中
+					tbAttResBase.setFinalState(2);
+				}else {
+					// 填写中
+					tbAttResBase.setFinalState(0);
+				}
+			}
+		}else {
+			tbAttResBase.setFinalState(0);
+		}
+		//更新
+		return updateById(tbAttResBase);
+	}
+
+	@Override
+	public void initTbData() {
+		//初始化基础信心
+		initTbAttResBase();
+
+		//初始化水文特征
+		initTbAttResStagChar();
+
+		//初始化挡水建筑物
+		initTbAttResWaterBlock();
+
+		//初始化正常溢洪道
+		initTbAttResRsbNorspi();
+
+		//初始化泄洪洞
+		initTbAttResRsbSpillway();
+
+		//初始化非常溢洪道
+		initTbAttResRsbVerspi();
+
+		//初始化输水建筑物
+		initTbAttResWaterDelivery();
+
+		//初始化电站
+		initTbAttResPowerStation();
+	}
+
+	private Integer initTbAttResPowerStation() {
+		return baseMapper.initTbAttResPowerStation();
+	}
+
+	private Integer initTbAttResWaterDelivery() {
+		return baseMapper.initTbAttResWaterDelivery();
+	}
+
+	private Integer initTbAttResRsbVerspi() {
+		return baseMapper.initTbAttResRsbVerspi();
+	}
+
+	private Integer initTbAttResRsbSpillway() {
+		return baseMapper.initTbAttResRsbSpillway();
+	}
+
+	private Integer initTbAttResRsbNorspi() {
+		return baseMapper.initTbAttResRsbNorspi();
+	}
+
+	private Integer initTbAttResWaterBlock() {
+		return baseMapper.initTbAttResWaterBlock();
+	}
+
+	/**
+	 * 初始化填报水文特征表
+	 */
+	private Integer initTbAttResStagChar() {
+		return baseMapper.initTbAttResStagChar();
+	}
+
+	/**
+	 * 初始化水库基础信息填报表
+	 */
+	private Integer initTbAttResBase() {
+		Integer i = baseMapper.initTbAttResBase();
+		return i;
+	}
 }

--
Gitblit v1.9.3