From 6a58ea0db0bc74f70933ca266d375afd0c287aae Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 24 Nov 2023 17:57:05 +0800
Subject: [PATCH] 蓄水量日报

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java              |    7 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java                 |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java      |   91 +++++++-
 skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SjztXxlJob.java           |   74 +++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java              |    2 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClientFallback.java |   13 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/SkxsQkTjClientImpl.java              |   24 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml                  |   11 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java               |   31 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java      |   15 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/XsfsQktjClientImpl.java              |   25 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java         |   11 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjExcel.java                   |  102 ++++++----
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java      |    3 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java               |   46 +++-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java                 |    4 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/SkxsQkTjVO.java                 |    0 
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClientFallback.java |   12 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml                  |   10 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/SkxsQkTjExcel.java                   |   20 +-
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClient.java         |   21 ++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClient.java         |   21 ++
 22 files changed, 448 insertions(+), 97 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java
similarity index 79%
rename from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java
rename to skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java
index 0f0f865..e5919f9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/SkxsQkTj.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -50,6 +52,7 @@
 	 */
 	@ApiModelProperty(value = "总库容")
 	@TableField("\"total_cap\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double totalCap;
 
 	/**
@@ -57,6 +60,7 @@
 	 */
 	@ApiModelProperty(value = "当前水位")
 	@TableField("\"rz\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double rz;
 
 	/**
@@ -64,6 +68,7 @@
 	 */
 	@ApiModelProperty(value = "当日蓄水量")
 	@TableField("\"ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double ws;
 
 	/**
@@ -71,6 +76,7 @@
 	 */
 	@ApiModelProperty(value = "上月最后一天蓄水量")
 	@TableField("\"up_month_ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double upMonthWs;
 
 	/**
@@ -78,6 +84,7 @@
 	 */
 	@ApiModelProperty(value = "去年同期蓄水量")
 	@TableField("\"last_year_ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double lastYearWs;
 
 	/**
@@ -85,6 +92,7 @@
 	 */
 	@ApiModelProperty(value = "历史同期蓄水量")
 	@TableField("\"his_ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double hisWs;
 
 	/**
@@ -92,6 +100,7 @@
 	 */
 	@ApiModelProperty(value = "今年以来灌溉放水量")
 	@TableField("\"now_year_irr_dw\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double nowYearIrrDw;
 
 	/**
@@ -99,6 +108,7 @@
 	 */
 	@ApiModelProperty(value = "今年以来生活放水量")
 	@TableField("\"now_year_live_dw\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double nowYearLiveDw;
 
 	/**
@@ -106,6 +116,7 @@
 	 */
 	@ApiModelProperty(value = "今年以来生态放水量 ")
 	@TableField("\"now_year_zoo_dw\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double nowYearZooDw;
 
 	/**
@@ -113,20 +124,23 @@
 	 */
 	@ApiModelProperty(value = "总蓄水现有-历史 ")
 	@TableField("\"total_ws_dif\"")
-	private String totalWsDif;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double totalWsDif;
 
 	/**
 	 * 总蓄水较历史同期(%)
 	 */
 	@ApiModelProperty(value = "总蓄水较历史同期(%)")
 	@TableField("\"total_ws_his_pro\"")
-	private String totalWsHisPro;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double totalWsHisPro;
 
 	/**
 	 * 死库容
 	 */
 	@ApiModelProperty(value = "死库容")
 	@TableField("\"dead_cap\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double deadCap;
 
 	/**
@@ -134,6 +148,7 @@
 	 */
 	@ApiModelProperty(value = "当前有效蓄水 ")
 	@TableField("\"now_valid_ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double nowValidWs;
 
 	/**
@@ -141,6 +156,7 @@
 	 */
 	@ApiModelProperty(value = "兴利库容 ")
 	@TableField("\"ben_res_cap\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double benResCap;
 
 	/**
@@ -148,25 +164,29 @@
 	 */
 	@ApiModelProperty(value = "有效蓄水/兴利(%) ")
 	@TableField("\"valid_ws_ben_pro\"")
-	private String validWsBenPro;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double validWsBenPro;
 	/**
 	 * 历史同期有效蓄水
 	 */
 	@ApiModelProperty(value = "历史同期有效蓄水 ")
 	@TableField("\"his_valid_ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double hisValidWs;
 	/**
 	 * 当前有效比历史同期(%)
 	 */
 	@ApiModelProperty(value = "当前有效比历史同期(%) ")
 	@TableField("\"now_valid_his_pro\"")
-	private String nowValidHisPro;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double nowValidHisPro;
 
 	/**
 	 * 去年有效蓄水
 	 */
 	@ApiModelProperty(value = "去年有效蓄水 ")
 	@TableField("\"last_year_valid_ws\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double lastYearValidWs;
 
 	/**
@@ -174,7 +194,8 @@
 	 */
 	@ApiModelProperty(value = "当前有效比去年同期(%) ")
 	@TableField("\"now_valid_last_pro\"")
-	private String nowValidLastPro;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double nowValidLastPro;
 
 	/**
 	 * 统计时间
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java
similarity index 78%
rename from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java
rename to skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java
index 504c9d8..1ddd829 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/XsfsQktj.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -57,6 +59,7 @@
 	 */
 	@ApiModelProperty(value = "总蓄水合计")
 	@TableField("\"zxs_total\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double zxsTotal;
 
 	/**
@@ -64,41 +67,47 @@
 	 */
 	@ApiModelProperty(value = "总蓄水较上次")
 	@TableField("\"zxs_sc\"")
-	private String zxsSc;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxsSc;
 
 	/**
 	 * 总蓄水较历史同期
 	 */
 	@ApiModelProperty(value = "总蓄水较历史同期")
 	@TableField("\"zxs_his_tq\"")
-	private String zxsHisTq;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxsHisTq;
 
 	/**
 	 * 总蓄水较历史同期增减(%)
 	 */
 	@ApiModelProperty(value = "总蓄水较历史同期增减(%)")
 	@TableField("\"zxs_his_tqzj\"")
-	private String zxsHisTqzj;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxsHisTqzj;
 
 	/**
 	 * 总蓄水较去年同期
 	 */
 	@ApiModelProperty(value = "总蓄水较去年同期")
 	@TableField("\"zxs_last_year_tq\"")
-	private String zxsLastYearTq;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxsLastYearTq;
 
 	/**
 	 * 总蓄水较去年同期增减(%)
 	 */
 	@ApiModelProperty(value = "总蓄水较去年同期增减(%)")
 	@TableField("\"zxs_last_year_tqzj\"")
-	private String zxsLastYearTqzj;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxsLastYearTqzj;
 
 	/**
 	 * 有效蓄水合计
 	 */
 	@ApiModelProperty(value = "有效蓄水合计")
 	@TableField("\"yxxs_total\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double yxxsTotal;
 
 	/**
@@ -106,27 +115,31 @@
 	 */
 	@ApiModelProperty(value = "有效蓄水较同期历史有效蓄水增减(%) ")
 	@TableField("\"yxxs_his_tqzj\"")
-	private String yxxsHisTqzj;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double yxxsHisTqzj;
 
 	/**
 	 * 有效蓄水较同期去年有效蓄水增减(%)
 	 */
 	@ApiModelProperty(value = "有效蓄水较同期去年有效蓄水增减(%) ")
 	@TableField("\"yxxs_last_year_tqzj\"")
-	private String yxxsLastYearTqzj;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double yxxsLastYearTqzj;
 
 	/**
 	 * 占兴利库容百分比(%)
 	 */
 	@ApiModelProperty(value = "占兴利库容百分比(%)")
 	@TableField("\"yxxs_z_xlkr\"")
-	private String yxxsZXlkr;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double yxxsZXlkr;
 
 	/**
 	 * 大型水库蓄水合计
 	 */
 	@ApiModelProperty(value = "大型水库蓄水合计")
 	@TableField("\"dxsk_xs_total\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double dxskXsTotal;
 
 	/**
@@ -134,44 +147,51 @@
 	 */
 	@ApiModelProperty(value = "大型水库蓄水较历史同期 ")
 	@TableField("\"dxsk_xs_his\"")
-	private String dxskXsHis;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double dxskXsHis;
 	/**
 	 * 大型水库蓄水较去年同期
 	 */
 	@ApiModelProperty(value = "大型水库蓄水较去年同期 ")
 	@TableField("\"dxsk_xs_last_year\"")
-	private String dxskXsLastYear;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double dxskXsLastYear;
 	/**
 	 * 大型水库有效蓄水
 	 */
 	@ApiModelProperty(value = "大型水库有效蓄水 ")
 	@TableField("\"dxsk_yxxs\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double dxskYxxs;
 	/**
 	 * 中型水库蓄水合计
 	 */
 	@ApiModelProperty(value = "中型水库蓄水合计 ")
 	@TableField("\"zxsk_xs_total\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double zxskXsTotal;
 	/**
 	 * 中型水库较历史同期
 	 */
 	@ApiModelProperty(value = "中型水库较历史同期 ")
 	@TableField("\"zxsk_xs_his\"")
-	private String zxskXsHis;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxskXsHis;
 
 	/**
 	 * 中型水库较去年同期
 	 */
 	@ApiModelProperty(value = "中型水库较去年同期 ")
 	@TableField("\"zxsk_xs_last_year\"")
-	private String zxskXsLastYear;
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double zxskXsLastYear;
 
 	/**
 	 * 中型水库有效蓄水
 	 */
 	@ApiModelProperty(value = "中型水库有效蓄水 ")
 	@TableField("\"zxsk_yxxs\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double zxskYxxs;
 
 	/**
@@ -179,6 +199,7 @@
 	 */
 	@ApiModelProperty(value = "小型水库蓄水合计 ")
 	@TableField("\"xxsk_xs_total\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double xxskXsTotal;
 
 	/**
@@ -186,6 +207,7 @@
 	 */
 	@ApiModelProperty(value = "小型水库有效蓄水 ")
 	@TableField("\"xxsk_yxxs\"")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double xxskYxxs;
 
 	/**
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClient.java
new file mode 100644
index 0000000..86dfe6f
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClient.java
@@ -0,0 +1,21 @@
+package cn.gistack.sm.sjztods.feign;
+
+import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClientFallback;
+import cn.gistack.sm.sjztods.vo.SkxsQkTjVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(
+	value = "blade-sm",
+	fallback = ISkxsQkTjClientFallback.class
+)
+public interface ISkxsQkTjClient {
+
+	String API_PREFIX = "/client/skxs";
+
+	String SAVE_OR_UPDATE_DATA = API_PREFIX + "/saveOrUpdateData";
+
+	@PostMapping(SAVE_OR_UPDATE_DATA)
+	String saveOrUpdateData(@RequestBody SkxsQkTjVO skxsQkTj);
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClientFallback.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClientFallback.java
new file mode 100644
index 0000000..87002c7
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/ISkxsQkTjClientFallback.java
@@ -0,0 +1,12 @@
+package cn.gistack.sm.sjztods.feign;
+
+import cn.gistack.sm.sjztods.vo.SkxsQkTjVO;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ISkxsQkTjClientFallback  implements ISkxsQkTjClient{
+	@Override
+	public String saveOrUpdateData(SkxsQkTjVO skxsQkTj) {
+		return null;
+	}
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClient.java
new file mode 100644
index 0000000..30b6753
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClient.java
@@ -0,0 +1,21 @@
+package cn.gistack.sm.sjztods.feign;
+
+import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(
+	value = "blade-sm",
+	fallback = IXsfsQktjClientFallback.class
+)
+public interface IXsfsQktjClient {
+
+	String API_PREFIX = "/client/xsfs";
+
+	String SAVE_OR_UPDATE_DATA = API_PREFIX + "/saveOrUpdateData";
+
+	@PostMapping(SAVE_OR_UPDATE_DATA)
+	R saveRegionData(@RequestBody XsfsQktjVO xsfsQktjVO);
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClientFallback.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClientFallback.java
new file mode 100644
index 0000000..d917c99
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/feign/IXsfsQktjClientFallback.java
@@ -0,0 +1,13 @@
+package cn.gistack.sm.sjztods.feign;
+
+import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
+import org.springblade.core.tool.api.R;
+import org.springframework.stereotype.Component;
+
+@Component
+public class IXsfsQktjClientFallback  implements IXsfsQktjClient{
+	@Override
+	public R saveRegionData(XsfsQktjVO xsfsQktjVO) {
+		return R.fail("数据获取失败");
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/SkxsQkTjVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/SkxsQkTjVO.java
similarity index 100%
rename from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/SkxsQkTjVO.java
rename to skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/SkxsQkTjVO.java
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
similarity index 89%
rename from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
rename to skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
index a293a87..373ef52 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
@@ -17,7 +17,7 @@
 	private String queryTime;
 
 	/**
-	 * 行政区类型 如 cityCode
+	 * 行政区类型 如 city_cd、county_cd
 	 */
 	private String type;
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
index ab07812..378e1ef 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
@@ -3,6 +3,7 @@
 <mapper namespace="cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper">
 
     <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
+<!--    <resultMap id="treeNodeResultMap" type="cn.gistack.sm.sjztmd.vo.AttAdBaseVO">-->
         <id column="id" property="id"/>
         <result column="parent_id" property="parentId"/>
         <result column="title" property="title"/>
@@ -123,7 +124,14 @@
             region."order_id" AS orderId,
             ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM "SJZT_MD"."att_ad_base" WHERE "p_ad_code" = region."ad_code" ) AS "has_children"
              FROM "SJZT_MD"."att_ad_base" region
-             WHERE region."guid" = #{attAdBase.guid}
+             WHERE
+                 1=1
+            <if test="attAdBase.guid != null and attAdBase.guid !='' ">
+               AND region."guid" = #{attAdBase.guid}
+            </if>
+            <if test="attAdBase.adName != null and attAdBase.adName !='' ">
+               AND region."ad_name" = #{attAdBase.adName}
+            </if>
     </select>
 
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
index 86ea764..6092f81 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -28,7 +28,8 @@
 public class AttAdBaseServiceImpl extends ServiceImpl<AttAdBaseMapper, AttAdBase> implements IAttAdBaseService {
 	@Override
 	public List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param) {
-		return baseMapper.lazyTree(parentCode, param);
+		List<AttAdBaseVO> attAdBaseVOS = baseMapper.lazyTree(parentCode, param);
+		return attAdBaseVOS;
 	}
 
 	@Override
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java
index d624310..d7fb302 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java
@@ -88,7 +88,7 @@
 	@GetMapping("/export-xsfsQktj")
 	public void exportXsfsQktj(HttpServletResponse response,XsfsQktjVO xsfsQktj) {
 		List<XsfsQktjExcel> list = xsfsQktjService.exportXsfsQktjList(xsfsQktj);
-		ExcelUtil.export(response, "水库统计数据" + DateUtil.time(), "水库统计数据表", list, XsfsQktjExcel.class);
+		ExcelUtil.export(response, "水库蓄水量市县统计数据" + DateUtil.time(), "水库蓄水量市县统计数据表", list, XsfsQktjExcel.class);
 	}
 
 
@@ -101,4 +101,13 @@
 		xsfsQktjService.saveOrUpdateData(xsfsQktj);
 	}
 
+	/**
+	 * 中台接口数据调用,市级数据入库
+	 * @param xsfsQktj
+	 */
+	@GetMapping("/saveRegionData")
+	public void saveRegionData(XsfsQktjVO xsfsQktj) {
+		xsfsQktjService.saveRegionData(xsfsQktj);
+	}
+
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/SkxsQkTjExcel.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/SkxsQkTjExcel.java
index 9e0790d..1e662a8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/SkxsQkTjExcel.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/SkxsQkTjExcel.java
@@ -71,7 +71,7 @@
 	 * 当日蓄水量
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("当日蓄水量")
+	@ExcelProperty("当日蓄水量(亿方)")
 	private Double ws;
 
 	/**
@@ -99,21 +99,21 @@
 	 * 今年以来灌溉放水量
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("今年以来灌溉放水量")
+	@ExcelProperty("今年以来灌溉放水量(亿方)")
 	private Double nowYearIrrDw;
 
 	/**
 	 * 今年以来生活放水量
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("今年以来生活放水量")
+	@ExcelProperty("今年以来生活放水量(亿方)")
 	private Double nowYearLiveDw;
 
 	/**
 	 * 今年以来生态放水量
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("今年以来生态放水量")
+	@ExcelProperty("今年以来生态放水量(亿方)")
 	private Double nowYearZooDw;
 
 	/**
@@ -121,14 +121,14 @@
 	 */
 	@ColumnWidth(15)
 	@ExcelProperty("总蓄水现有-历史")
-	private String totalWsDif;
+	private Double totalWsDif;
 
 	/**
 	 * 总蓄水较历史同期(%)
 	 */
 	@ColumnWidth(15)
 	@ExcelProperty("总蓄水较历史同期(%)")
-	private String totalWsHisPro;
+	private Double totalWsHisPro;
 
 	/**
 	 * 死库容
@@ -156,7 +156,7 @@
 	 */
 	@ColumnWidth(15)
 	@ExcelProperty("有效蓄水/兴利(%)")
-	private String validWsBenPro;
+	private Double validWsBenPro;
 
 	/**
 	 * 历史同期有效蓄水
@@ -170,13 +170,13 @@
 	 */
 	@ColumnWidth(15)
 	@ExcelProperty("当前有效比历史同期(%)")
-	private String nowValidHisPro;
+	private Double nowValidHisPro;
 
 	/**
 	 * 去年有效蓄水
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("去年有效蓄水")
+	@ExcelProperty("去年同期有效蓄水")
 	private Double lastYearValidWs;
 
 	/**
@@ -184,7 +184,7 @@
 	 */
 	@ColumnWidth(15)
 	@ExcelProperty("当前有效比去年同期(%)")
-	private String nowValidLastPro;
+	private Double nowValidLastPro;
 
 	/**
 	 * 依据时间
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjExcel.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjExcel.java
index 6491982..fe3899b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjExcel.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjExcel.java
@@ -18,13 +18,6 @@
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * 区域名称
-	 */
-	@ColumnWidth(15)
-	@ExcelProperty("区域名称")
-	private String adName;
-
-	/**
 	 * 区域编号
 	 */
 	@ColumnWidth(15)
@@ -32,150 +25,179 @@
 	private String adCode;
 
 	/**
+	 * 区域名称
+	 */
+	@ColumnWidth(15)
+//	@ExcelProperty("市州")
+	@ExcelProperty(index = 1)
+	private String adName;
+
+	/**
 	 * 总蓄水合计
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("总蓄水合计")
+//	@ExcelProperty({"水库总蓄水", "合计"})
+	@ExcelProperty(index = 2,value={"水库总蓄水", "合计"})
 	private Double zxsTotal;
 
 	/**
 	 * 总蓄水较上次
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("总蓄水较上次")
-	private String zxsSc;
+//	@ExcelProperty({"水库总蓄水", "较上次"})
+	@ExcelProperty(index = 3,value = {"水库总蓄水", "较上次"})
+	private Double zxsSc;
 
 	/**
 	 * 总蓄水较历史同期
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("总蓄水较历史同期")
-	private String zxsHisTq;
+//	@ExcelProperty({"水库总蓄水", "较历史同期"})
+	@ExcelProperty(index = 4,value = {"水库总蓄水", "较历史同期"})
+	private Double zxsHisTq;
 
 	/**
 	 * 总蓄水较历史同期增减(%)
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("总蓄水较历史同期增减(%)")
-	private String zxsHisTqzj;
+	@ExcelProperty(index = 5,value ={"水库总蓄水", "较历史同期增减(%)"})
+	//@ExcelProperty({"水库总蓄水", "较历史同期增减(%)"})
+	private Double zxsHisTqzj;
 
 	/**
 	 * 总蓄水较去年同期
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("总蓄水较去年同期")
-	private String zxsLastYearTq;
+	@ExcelProperty(index = 6,value = {"水库总蓄水", "较去年同期"})
+	//@ExcelProperty({"水库总蓄水", "较去年同期"})
+	private Double zxsLastYearTq;
 
 	/**
 	 * 总蓄水较去年同期增减(%)
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("总蓄水较去年同期增减(%)")
-	private String zxsLastYearTqzj;
+	@ExcelProperty(index = 7,value = {"水库总蓄水", "较去年同期增减(%)"})
+	//@ExcelProperty({"水库总蓄水", "较去年同期增减(%)"})
+	private Double zxsLastYearTqzj;
 
 	/**
 	 * 有效蓄水合计
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("有效蓄水合计")
+	@ExcelProperty(index = 8,value = {"水库有效蓄水", "合计"})
+	//@ExcelProperty({"水库有效蓄水", "合计"})
 	private Double yxxsTotal;
 
 	/**
 	 * 有效蓄水较同期历史有效蓄水增减(%)
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("有效蓄水较同期历史有效蓄水增减(%)")
-	private String yxxsHisTqzj;
+	@ExcelProperty(index = 9,value = {"水库有效蓄水", "较历史同期有效蓄水增减(%)"})
+	//@ExcelProperty({"水库有效蓄水", "较历史同期有效蓄水增减(%)"})
+	private Double yxxsHisTqzj;
 
 	/**
 	 * 有效蓄水较同期去年有效蓄水增减(%)
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("有效蓄水较同期去年有效蓄水增减(%)")
-	private String yxxsLastYearTqzj;
+	@ExcelProperty(index = 10,value ={"水库有效蓄水", "较去年同期有效蓄水增减(%)"} )
+	//@ExcelProperty({"水库有效蓄水", "较去年同期有效蓄水增减(%)"})
+	private Double yxxsLastYearTqzj;
 
 	/**
 	 * 占兴利库容百分比(%)
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("占兴利库容百分比(%)")
-	private String yxxsZXlkr;
+	@ExcelProperty(index = 11,value ={"水库有效蓄水", "占兴利库容百分比(%)"} )
+	//@ExcelProperty({"水库有效蓄水", "占兴利库容百分比(%)"})
+	private Double yxxsZXlkr;
 
 	/**
 	 * 大型水库蓄水合计
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("大型水库蓄水合计")
+	@ExcelProperty(index = 12,value ={"大型水库", "合计"} )
+	//@ExcelProperty({"大型水库", "合计"})
 	private Double dxskXsTotal;
 
 	/**
 	 * 大型水库蓄水较历史同期
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("大型水库蓄水较历史同期")
-	private String dxskXsHis;
+	@ExcelProperty(index = 13,value = {"大型水库", "较历史同期"})
+	//@ExcelProperty({"大型水库", "较历史同期"})
+	private Double dxskXsHis;
 
 	/**
 	 * 大型水库蓄水较去年同期
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("大型水库蓄水较去年同期")
-	private String dxskXsLastYear;
+	@ExcelProperty(index = 14,value ={"大型水库", "较去年同期"} )
+	//@ExcelProperty({"大型水库", "较去年同期"})
+	private Double dxskXsLastYear;
 
 	/**
 	 * 大型水库有效蓄水
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("大型水库有效蓄水")
+	@ExcelProperty(index = 15,value ={"大型水库", "有效蓄水"} )
+	//@ExcelProperty({"大型水库", "有效蓄水"})
 	private Double dxskYxxs;
 
 	/**
 	 * 中型水库蓄水合计
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("中型水库蓄水合计")
+	@ExcelProperty(index = 16,value ={"中型水库", "合计"} )
+	//@ExcelProperty({"中型水库", "合计"})
 	private Double zxskXsTotal;
 
 	/**
 	 * 中型水库较历史同期
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("中型水库较历史同期")
-	private String zxskXsHis;
+	@ExcelProperty(index = 17,value ={"中型水库", "较历史同期"} )
+	//@ExcelProperty({"中型水库", "较历史同期"})
+	private Double zxskXsHis;
 
 	/**
 	 * 中型水库较去年同期
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("中型水库较去年同期")
-	private String zxskXsLastYear;
+	@ExcelProperty(index = 18,value ={"中型水库", "较去年同期"} )
+	//@ExcelProperty({"中型水库", "较去年同期"})
+	private Double zxskXsLastYear;
 
 	/**
 	 * 中型水库有效蓄水
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("中型水库有效蓄水")
+	@ExcelProperty(index = 19,value = {"中型水库", "有效蓄水"})
+	//@ExcelProperty({"中型水库", "有效蓄水"})
 	private Double zxskYxxs;
 
 	/**
 	 * 小型水库蓄水合计
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("小型水库蓄水合计")
+	@ExcelProperty(index = 20,value ={"小型水库", "合计"} )
+	//@ExcelProperty({"小型水库", "合计"})
 	private Double xxskXsTotal;
 
 	/**
 	 * 小型水库有效蓄水
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("小型水库有效蓄水")
+	@ExcelProperty(index = 21,value ={"小型水库", "有效蓄水"} )
+	//@ExcelProperty({"小型水库", "有效蓄水"})
 	private Double xxskYxxs;
 
 	/**
 	 * 依据时间
 	 */
 	@ColumnWidth(15)
-	@ExcelProperty("依据时间")
+//	@ExcelProperty("依据时间")
+	@ExcelProperty(index = 22)
 	private String statisticTime;
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/SkxsQkTjClientImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/SkxsQkTjClientImpl.java
new file mode 100644
index 0000000..bd30556
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/SkxsQkTjClientImpl.java
@@ -0,0 +1,24 @@
+package cn.gistack.sm.sjztods.feign;
+
+import cn.gistack.sm.sjztods.service.ISkxsQkTjService;
+import cn.gistack.sm.sjztods.vo.SkxsQkTjVO;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+@NonDS
+@ApiIgnore
+@RestController
+@AllArgsConstructor
+public class SkxsQkTjClientImpl  implements ISkxsQkTjClient{
+
+	private final ISkxsQkTjService skxsQkTjService;
+
+	@Override
+	@PostMapping(SAVE_OR_UPDATE_DATA)
+	public String saveOrUpdateData(SkxsQkTjVO skxsQkTj) {
+		return skxsQkTjService.saveOrUpdateData(skxsQkTj);
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/XsfsQktjClientImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/XsfsQktjClientImpl.java
new file mode 100644
index 0000000..fa4aaee
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/feign/XsfsQktjClientImpl.java
@@ -0,0 +1,25 @@
+package cn.gistack.sm.sjztods.feign;
+
+import cn.gistack.sm.sjztods.service.IXsfsQktjService;
+import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+@NonDS
+@ApiIgnore
+@RestController
+@AllArgsConstructor
+public class XsfsQktjClientImpl  implements IXsfsQktjClient{
+
+	private final IXsfsQktjService xsfsQktjService;
+
+	@Override
+	@PostMapping(SAVE_OR_UPDATE_DATA)
+	public R saveRegionData(XsfsQktjVO xsfsQktjVO) {
+		 return xsfsQktjService.saveRegionData(xsfsQktjVO);
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java
index 9fb7b76..a327fcb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java
@@ -52,9 +52,9 @@
 
 	/**
 	 * 查询详情信息
-	 * @param ad_nm 区域名称
+	 * @param adCode 区域编号
 	 * @param queryTime
 	 * @return
 	 */
-	XsfsQktj selectXsfsQktjBy(@Param("adName") String ad_nm,@Param("queryTime") String queryTime);
+	XsfsQktj selectXsfsQktjBy(@Param("adCode") String adCode,@Param("queryTime") String queryTime);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml
index 4a0e1e8..167b3fc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml
@@ -21,12 +21,13 @@
         select
         xq.*
         from SJZT_ODS."xsfs_qktj" xq
+        LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."ad_code" = xq."ad_code"
         where 1=1
         <if test="xsfsQktj.queryTime!=null and xsfsQktj.queryTime!=''">
             and date_format(xq."statistic_time",'%Y-%m-%d') = #{xsfsQktj.queryTime}
         </if>
         <if test="xsfsQktj.adCode!=null and xsfsQktj.adCode!=''">
-            and xq."ad_code" = #{xsfsQktj.adCode}
+            and aab."p_ad_code" = #{xsfsQktj.adCode}
         </if>
         order by "ad_code"
     </select>
@@ -68,7 +69,7 @@
 
     <!--查询详情数据-->
     <select id="selectXsfsQktj" resultType="cn.gistack.sm.sjztods.entity.XsfsQktj">
-        select * from SJZT_ODS."skxs_qk_tj"
+        select * from SJZT_ODS."xsfs_qktj"
         where 1=1
         and date_format("statistic_time",'%Y-%m-%d') = #{xsfsQktjExcel.statisticTime}
         and "ad_name" = #{xsfsQktjExcel.adName}
@@ -76,9 +77,9 @@
 
     <!--查询详情数据-->
     <select id="selectXsfsQktjBy" resultType="cn.gistack.sm.sjztods.entity.XsfsQktj">
-        select * from SJZT_ODS."skxs_qk_tj"
+        select * from SJZT_ODS."xsfs_qktj"
         where 1=1
-        and date_format("statistic_time",'%Y-%m-%d') = #{statisticTime}
-        and "ad_name" = #{adName}
+        and date_format("statistic_time",'%Y-%m-%d') = #{queryTime}
+        and "ad_code" = #{adCode}
     </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java
index 2298aac..86d9a60 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/ISkxsQkTjService.java
@@ -54,5 +54,5 @@
 	 * 中台接口数据调用,数据入库
 	 * @param skxsQkTj
 	 */
-    void saveOrUpdateData(SkxsQkTjVO skxsQkTj);
+    String saveOrUpdateData(SkxsQkTjVO skxsQkTj);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java
index 2e0b722..8b7892a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java
@@ -5,6 +5,7 @@
 import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.tool.api.R;
 
 import java.util.List;
 
@@ -55,4 +56,10 @@
 	 * @param xsfsQktj
 	 */
     void saveOrUpdateData(XsfsQktjVO xsfsQktj);
+
+	/**
+	 * 存所有市 区数据
+	 * @param xsfsQktj
+	 */
+	R saveRegionData(XsfsQktjVO xsfsQktj);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java
index 8fd9b53..8fcc025 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/SkxsQkTjServiceImpl.java
@@ -18,6 +18,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -29,6 +30,8 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName SkxsQkTjServiceImpl
@@ -153,7 +156,7 @@
 	 * @param skxsQkTj
 	 */
 	@Override
-	public void saveOrUpdateData(SkxsQkTjVO skxsQkTj) {
+	public String saveOrUpdateData(SkxsQkTjVO skxsQkTj) {
 		// 参数拼接
 		StringBuilder builder = new StringBuilder("?");
 		builder.append("pageNo=1").append("&pageSize=1000");
@@ -181,8 +184,14 @@
 			// 加入集合
 			list.add(qkTj);
 		}
+		//手动去重(需要服务去重)
+		List<SkxsQkTj> distinceList = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(p -> p.getResCode()))), ArrayList::new));
 		// 批量插入
-		saveBatch(list);
+		saveBatch(distinceList);
+
+
+		return "中台数据数量:"+jsonArray.size()+",数据库插入数量:"+distinceList.size();
+
 	}
 
 	/**
@@ -214,7 +223,7 @@
 		skxs.setLastYearWs(jsonArray.getJSONObject(i).getDouble("last_year_cap"));
 		skxs.setHisWs(jsonArray.getJSONObject(i).getDouble("avg_cap"));
 		skxs.setUpMonthWs(jsonArray.getJSONObject(i).getDouble("last_month_cap"));
-		skxs.setTotalWsDif(jsonArray.getJSONObject(i).getString("diff_his"));
+		skxs.setTotalWsDif(jsonArray.getJSONObject(i).getDouble("diff_his"));
 	}
 
 	/**
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java
index e610a01..c469bc7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java
@@ -1,6 +1,9 @@
 package cn.gistack.sm.sjztods.service.impl;
 
 import cn.gistack.common.utils.SpringContextUtil;
+import cn.gistack.sm.sjztmd.entity.AttAdBase;
+import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
+import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
 import cn.gistack.sm.sjztods.constant.ZtApiUrlConstant;
 import cn.gistack.sm.sjztods.constant.ZtConfigConstant;
 import cn.gistack.sm.sjztods.entity.SkxsQkTj;
@@ -17,8 +20,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -46,6 +52,9 @@
 
 	@Autowired
 	private RestTemplate restTemplate;
+
+	@Autowired
+	private IAttAdBaseService attAdBaseService;
 
 	/**
 	 * 上报
@@ -131,6 +140,14 @@
 				// 设置创建人员,时间信息
 				xsfsQktj.setCreateUser(AuthUtil.getUserId());
 				xsfsQktj.setCreateTime(new Date());
+
+				//根据行政区名获取行政区code
+				AttAdBaseVO attAdBaseVO = new AttAdBaseVO();
+				attAdBaseVO.setAdName(xsfsQktj.getAdName());
+				AttAdBaseVO detail = attAdBaseService.getDetail(attAdBaseVO);
+
+				xsfsQktj.setAdCode(detail.getAdCode());
+				xsfsQktj.setAdGrad(detail.getAdGrad());
 				// 保存并返回
 				save(xsfsQktj);
 				return;
@@ -170,21 +187,41 @@
 		// 遍历,写入数据
 		for (int i = 0; i < jsonArray.size(); i++) {
 			String ad_nm = "";
-			if (xsfsQktj.getType().equals("city_cd")){
-				ad_nm = jsonArray.getJSONObject(i).getString("county_nm");
-			}else if (xsfsQktj.getType().equals("county_cd")){
-				ad_nm = jsonArray.getJSONObject(i).getString("town_nm");
-			}else {
+			String adGrad = "";
+			String adCode = "";
+
+			if (StringUtil.isBlank(xsfsQktj.getType())){
 				ad_nm = jsonArray.getJSONObject(i).getString("city_nm");
+				adCode = jsonArray.getJSONObject(i).getString("city_cd");
+				adGrad =jsonArray.getJSONObject(i).getString("ad_grad");
+			}else {
+				if (xsfsQktj.getType().equals("city_cd")) {
+					ad_nm = jsonArray.getJSONObject(i).getString("county_nm");
+					adCode = jsonArray.getJSONObject(i).getString("county_cd");
+					adGrad =jsonArray.getJSONObject(i).getString("ad_grad");
+
+					//不存
+					if (StringUtil.isBlank(adCode)||StringUtil.isBlank(ad_nm)){
+						continue;
+					}
+
+				} else if (xsfsQktj.getType().equals("county_cd")) {
+					ad_nm = jsonArray.getJSONObject(i).getString("town_nm");
+					adCode = jsonArray.getJSONObject(i).getString("town_cd");
+					adGrad =jsonArray.getJSONObject(i).getString("ad_grad");
+				}
 			}
+
 			// 查询库里是否已存在数据
-			XsfsQktj xsfsQktjBy = baseMapper.selectXsfsQktjBy(ad_nm,xsfsQktj.getQueryTime());
+			XsfsQktj xsfsQktjBy = baseMapper.selectXsfsQktjBy(adCode,xsfsQktj.getQueryTime());
 			if (null!=xsfsQktjBy){
 				// 跳出本次循环
 				continue;
 			}
 			XsfsQktj qkTj = new XsfsQktj();
 			qkTj.setAdName(ad_nm);
+			qkTj.setAdCode(adCode);
+			qkTj.setAdGrad(adGrad);
 			// 设置各项值
 			setXsfsQktjInfo(qkTj,jsonArray,i,xsfsQktj.getQueryTime());
 			// 加入集合
@@ -192,6 +229,30 @@
 		}
 		// 批量插入
 		saveBatch(list);
+	}
+
+	@Override
+	public R saveRegionData(XsfsQktjVO xsfsQktj) {
+
+		AttAdBase params = new AttAdBase();
+
+		//先获取市级数据
+		saveOrUpdateData(xsfsQktj);
+
+		//获取市级集合
+		List<AttAdBase> attAdBaseVOS = attAdBaseService.list(Condition.getQueryWrapper(params)
+			.eq("\"ad_grad\"","2"));
+
+		//获取县级数据
+		attAdBaseVOS.forEach(attAdBase ->{
+			xsfsQktj.setType("city_cd");
+			xsfsQktj.setTypeValue(attAdBase.getAdCode());
+
+			saveOrUpdateData(xsfsQktj);
+		} );
+
+		return R.success("获取成功");
+
 	}
 
 
@@ -215,19 +276,19 @@
 		skxs.setSysResource("zt");
 		// 总
 		skxs.setZxsTotal(jsonArray.getJSONObject(i).getDouble("tot_cap"));
-		skxs.setZxsSc(jsonArray.getJSONObject(i).getString("diff_last_day"));
-		skxs.setZxsLastYearTq(jsonArray.getJSONObject(i).getString("rate_last_year_cap"));
-		skxs.setZxsLastYearTqzj(jsonArray.getJSONObject(i).getString("diff_last_year"));
-		skxs.setZxsHisTq(jsonArray.getJSONObject(i).getString("diff_his_cap"));
-		skxs.setZxsHisTqzj(jsonArray.getJSONObject(i).getString("rate_avg_cap"));
+		skxs.setZxsSc(jsonArray.getJSONObject(i).getDouble("diff_last_day"));
+		skxs.setZxsLastYearTq(jsonArray.getJSONObject(i).getDouble("rate_last_year_cap"));
+		skxs.setZxsLastYearTqzj(jsonArray.getJSONObject(i).getDouble("diff_last_year"));
+		skxs.setZxsHisTq(jsonArray.getJSONObject(i).getDouble("diff_his_cap"));
+		skxs.setZxsHisTqzj(jsonArray.getJSONObject(i).getDouble("rate_avg_cap"));
 		// 大型
 		skxs.setDxskXsTotal(jsonArray.getJSONObject(i).getDouble("big_tot_cap"));
-		skxs.setDxskXsHis(jsonArray.getJSONObject(i).getString("big_diff_his"));
-		skxs.setDxskXsLastYear(jsonArray.getJSONObject(i).getString("big_diff_last_year"));
+		skxs.setDxskXsHis(jsonArray.getJSONObject(i).getDouble("big_diff_his"));
+		skxs.setDxskXsLastYear(jsonArray.getJSONObject(i).getDouble("big_diff_last_year"));
 		// 中型
 		skxs.setZxskXsTotal(jsonArray.getJSONObject(i).getDouble("mid_tot_cap"));
-		skxs.setZxskXsHis(jsonArray.getJSONObject(i).getString("mid_diff_his"));
-		skxs.setZxskXsLastYear(jsonArray.getJSONObject(i).getString("mid_diff_last_year"));
+		skxs.setZxskXsHis(jsonArray.getJSONObject(i).getDouble("mid_diff_his"));
+		skxs.setZxskXsLastYear(jsonArray.getJSONObject(i).getDouble("mid_diff_last_year"));
 		// 小型
 		skxs.setXxskXsTotal(jsonArray.getJSONObject(i).getDouble("small_tot_cap"));
 	}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SjztXxlJob.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SjztXxlJob.java
new file mode 100644
index 0000000..e9fe05d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/SjztXxlJob.java
@@ -0,0 +1,74 @@
+package cn.gistack.job.executor.jobhandler;
+
+import cn.gistack.alerts.sms.feign.ISmsRecordClient;
+import cn.gistack.sm.sjztods.feign.ISkxsQkTjClient;
+import cn.gistack.sm.sjztods.feign.IXsfsQktjClient;
+import cn.gistack.sm.sjztods.vo.SkxsQkTjVO;
+import cn.gistack.sm.sjztods.vo.XsfsQktjVO;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 中台定时器
+ * @USER: aix
+ * @DATE: 2023/6/17 10:24
+ */
+@Component
+public class SjztXxlJob {
+
+	@Autowired
+	private IXsfsQktjClient xsfsQktjClient;
+
+	@Autowired
+	private ISkxsQkTjClient  skxsQkTjClient;
+
+	/**
+	 * 大中型水库蓄水量日报
+	 * @return
+	 */
+	@XxlJob("skxsDailyJobHandler")
+	public ReturnT<String> skxsDailyJobHandler(String param) {
+		XxlJobLogger.log("执行时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
+		SkxsQkTjVO skxsQkTj = new SkxsQkTjVO();
+
+		//设置今日时间
+		String todayDate = new SimpleDateFormat("yyyy-MM-dd").format(DateUtil.now());
+		skxsQkTj.setQueryTime(todayDate);
+
+		String message= skxsQkTjClient.saveOrUpdateData(skxsQkTj);
+		XxlJobLogger.log(message);
+
+		XxlJobLogger.log("完成时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
+		return ReturnT.SUCCESS;
+	}
+
+	/**
+	 * 市州蓄水量日报
+	 * @return
+	 */
+	@XxlJob("xsfsDailyJobHandler")
+	public ReturnT<String> execute(String param) {
+		XxlJobLogger.log("执行时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
+		XsfsQktjVO xsfsQktjVO = new XsfsQktjVO();
+
+		//设置今日时间
+		String todayDate = new SimpleDateFormat("yyyy-MM-dd").format(DateUtil.now());
+		xsfsQktjVO.setQueryTime(todayDate);
+
+		 xsfsQktjClient.saveRegionData(xsfsQktjVO);
+
+		XxlJobLogger.log("完成时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DateUtil.now()));
+		return ReturnT.SUCCESS;
+	}
+
+
+
+
+}

--
Gitblit v1.9.3