From 0e30da1f9eea98df487bf656af39a73823d3f342 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 08 Mar 2024 16:25:14 +0800
Subject: [PATCH] 水位值统一保留3位小数

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java |   89 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 82 insertions(+), 7 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java
index b2533db..3dfc0ec 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java
@@ -50,7 +50,7 @@
 		String retStr = "-1";
 		switch (key) {
 			case "EQUAL": //等于
-				retStr = " is null OR = '' ";
+				retStr = " is null";
 				break;
 			case "UNEQUAL": //不等于
 				retStr = " is not null ";
@@ -138,6 +138,74 @@
 			case "UNEQUAL": //不等于
 				retStr = " <> " + val;
 				break;
+		}
+		return retStr;
+	}
+
+	/**
+	 * 指标封装数据库字段 用于格式化数据格式
+	 * @param key 指标值
+	 * @return
+	 */
+	private String getPropValStr(String key) {
+		String retStr = "";
+		switch (key) {
+			case "BASIC_1": // 水库名称
+				retStr = "a.\"name\"";
+				break;
+			case "BASIC_2": // 管理行政区
+				retStr = "a.\"interior_ad_guid\"";
+				break;
+			case "BASIC_3": // 注册登记号
+				retStr = "a.\"res_reg_code\"";
+				break;
+			case "RESERVOIR_1": // 总库容(万m³)
+				retStr = "c.\"tb_tot_cap\"";
+				break;
+			case "RESERVOIR_2": // 死库容(万m³)
+				retStr = "c.\"tb_dead_cap\"";
+				break;
+			case "RESERVOIR_3": // 校核洪水位(m)
+				retStr = "CAST(c.\"tb_chec_fl_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_4": // 设计洪水位(m)
+				retStr = "CAST(c.\"tb_des_fl_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_5": // 正常蓄水位(m)
+				retStr = "CAST(c.\"tb_norm_pool_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_6": // 防洪高水位(m)
+				retStr = "CAST(c.\"tb_flpr_high_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_7": // 死水位(m)
+				retStr = "CAST(c.\"tb_dead_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_8": // 控制运行水位(m)
+				retStr = "CAST(b.\"tb_control_z\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_9": // 集雨面积
+				retStr = "CAST(c.\"wat_shed_area\" AS DECIMAL(10, 3))";
+				break;
+			case "RESERVOIR_10": // 实时水位(m)
+				retStr = "CAST(f.\"rz\" AS DECIMAL(10, 3)) AS rz";
+				break;
+			case "DRAINAGE_1": // 堰顶高程(m)
+				retStr = "CAST(g.\"tb_weir_top_elevation\" AS DECIMAL(10, 3))";
+				break;
+			case "RETAINING_3": // 坝顶高程(m)
+				retStr = "CAST(h.\"tb_dam_top_elevation\" AS DECIMAL(10, 3))";
+				break;
+			case "FLOOD_1": // 前汛期(m)
+				retStr = "CAST(d1.\"tb_flse_lim_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "FLOOD_2": // 主汛期(m)
+				retStr = "CAST(d2.\"tb_flse_lim_stag\" AS DECIMAL(10, 3))";
+				break;
+			case "FLOOD_3": // 后汛期(m)
+				retStr = "CAST(d3.\"tb_flse_lim_stag\" AS DECIMAL(10, 3))";
+				break;
+			default:
+				retStr = "";
 		}
 		return retStr;
 	}
@@ -238,7 +306,7 @@
 			} else if (rc.getRelation().equals("OR")) {
 				relation = " OR ";
 			} else {
-				relation = " WHERE ";
+				relation = " WHERE (";
 			}
 
 			sqlStr += relation + getPropSqlStr(rc.getBasic());
@@ -257,23 +325,28 @@
 			// 获取对应规则的值  concat('水库名称:',a."name",'\n','水库注册码:',a."interior_ad_guid")
 			if (varStr.indexOf(getPropSqlStr(rc.getBasic())) < 0) {
 				if (StringUtil.isBlank(varStr)) {
-					varStr =  "'" + getDictValue(rc.getBasic()) + ": " + "'" + "," + getPropSqlStr(rc.getBasic());
+					varStr =  "'" + getDictValue(rc.getBasic()) + ": " + "'" + "," + getPropValStr(rc.getBasic());
 				} else {
-					varStr += "," + "'\n'" + ",'" + getDictValue(rc.getBasic()) + ": " + "'" + "," + getPropSqlStr(rc.getBasic());
+					varStr += "," + "'\n'" + ",'" + getDictValue(rc.getBasic()) + ": " + "'" + "," + getPropValStr(rc.getBasic());
 				}
 
 			}
 			if (rc.getProp().equals("TARGET")) {
-				varStr += "," + "'\n'" + ",'" + getDictValue(rc.getTarget()) + ": " + "'" + "," + getPropSqlStr(rc.getTarget());
+				varStr += "," + "'\n'" + ",'" + getDictValue(rc.getTarget()) + ": " + "'" + "," + getPropValStr(rc.getTarget());
 			}
 
 
 		}
 
+		sqlStr += ")";
+
 		varStr = "concat(" + varStr +") AS val";
 
 		if (StringUtil.isNotBlank(rules.getIsGate())) {
-			sqlStr += " and a.\"is_gate\" = " + rules.getIsGate();
+
+			String gateStr = rules.getIsGate().equals("1") ?"'有闸控制'":"'无闸控制'";
+
+			sqlStr += " and a.\"is_gate\" = " + gateStr;
 		}
 
 		// 拼接条件有问题,不操作
@@ -282,7 +355,9 @@
 			return R.fail(-1, sqlStr + "\\n 查询条件错误,请检查规则设置");
 		}
 
+
 		Integer ret = 0;
+
 		try {
 			ret = qualityManageService.addQualityManage(id, varStr, sqlStr);
 		} catch (Exception e) {
@@ -292,7 +367,7 @@
 			log.info("执行完成......:");
 		}
 
-		// 执行sql
+//		 执行sql
 		return R.data(ret);
 	}
 }

--
Gitblit v1.9.3