From f1196ce7613f40c7f7560feb8ae8264a89bbd73e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 10 Apr 2024 16:55:36 +0800
Subject: [PATCH] 蓄水放水市州中台接口调用时更新数据,定时器添加参数
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 95 insertions(+), 19 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..f7bd546 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,14 +20,18 @@
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;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
@@ -47,6 +54,8 @@
@Autowired
private RestTemplate restTemplate;
+ @Autowired
+ private IAttAdBaseService attAdBaseService;
/**
* 上报
* @param xsfsQktj
@@ -84,6 +93,10 @@
*/
@Override
public Object selectXsfsQktjPage(IPage<XsfsQktjVO> page, XsfsQktjVO xsfsQktj) {
+ String adGrad = attAdBaseService.getAdGradByAdCode(xsfsQktj.getAdCode());
+ if (adGrad.equals("3")){
+ xsfsQktj.setAdGrad(adGrad);
+ }
if (null!=xsfsQktj.getIsExport()){
// 导出,查询所有数据
return baseMapper.selectXsfsQktjPage(null,xsfsQktj);
@@ -98,6 +111,12 @@
*/
@Override
public Object getStatisticList(XsfsQktjVO xsfsQktj) {
+
+ String adGrad = attAdBaseService.getAdGradByAdCode(xsfsQktj.getAdCode());
+ if (adGrad.equals("3")){
+ xsfsQktj.setAdGrad(adGrad);
+ }
+
return baseMapper.getStatisticList(xsfsQktj);
}
@@ -131,6 +150,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;
@@ -153,6 +180,7 @@
* @param xsfsQktj
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public void saveOrUpdateData(XsfsQktjVO xsfsQktj) {
// 参数拼接
StringBuilder builder = new StringBuilder("?");
@@ -170,21 +198,44 @@
// 遍历,写入数据
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){
// 跳出本次循环
+ //更新
+ setXsfsQktjInfo(xsfsQktjBy,jsonArray,i,xsfsQktj.getQueryTime());
+ updateById(xsfsQktjBy);
continue;
}
XsfsQktj qkTj = new XsfsQktj();
qkTj.setAdName(ad_nm);
+ qkTj.setAdCode(adCode);
+ qkTj.setAdGrad(adGrad);
// 设置各项值
setXsfsQktjInfo(qkTj,jsonArray,i,xsfsQktj.getQueryTime());
// 加入集合
@@ -192,6 +243,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("获取成功");
+
}
@@ -214,22 +289,23 @@
skxs.setUpdateTime(new Date());
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.setZxsTotal(jsonArray.getJSONObject(i).getDouble("tot_cap"));
+ skxs.setZxsTotal(jsonArray.getJSONObject(i).getDouble("now_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.setDxskXsTotal(jsonArray.getJSONObject(i).getDouble("big_now_cap"));
+ 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.setZxskXsTotal(jsonArray.getJSONObject(i).getDouble("mid_now_cap"));
+ 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"));
+ skxs.setXxskXsTotal(jsonArray.getJSONObject(i).getDouble("small_now_cap"));
}
/**
--
Gitblit v1.9.3