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/impl/XsfsQktjServiceImpl.java |   91 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 76 insertions(+), 15 deletions(-)

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"));
 	}

--
Gitblit v1.9.3