From b7c3fc85eba070a5c6625bc680ae9993d5553fae Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 12 Mar 2024 16:25:56 +0800
Subject: [PATCH] hst预测定时器启用多线程请求
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java | 6
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java | 4
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java | 121 +++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java | 2
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java | 3
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml | 33 +++
skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java | 80 +++++---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java | 138 ++++++++------
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml | 19 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResManagePersonController.java | 15 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/PersonVO.java | 20 ++
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ZtApiServiceImpl.java | 6
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java | 22 +-
skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/thread/MyThread.java | 26 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java | 3
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java | 2
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java | 6
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java | 8
18 files changed, 413 insertions(+), 101 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
index 3861872..a0e57c2 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
@@ -40,5 +40,11 @@
*/
List<DataResPo> getResWy();
+ /**
+ * 获取位移水库集
+ * @return
+ */
+ List<DataResPo> getResSl();
+
List<DataResChildrenPo> getSl();
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
index 54232ff..e63d0a0 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
@@ -79,7 +79,7 @@
cdList = ztApiService.getResSy();
} else if (type.equals("2")) {
//获取渗流测点
- return null;
+ cdList=ztApiService.getResSl();
} else if (type.equals("3") || type.equals("4") || type.equals("5")) {
//获取位移测点
cdList = ztApiService.getResWy();
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java
index cdeee08..5a60f5c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java
@@ -15,6 +15,7 @@
import cn.gistack.nky.vo.HstPredictVO;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,6 +26,7 @@
import java.util.stream.Collectors;
@Service
+@Slf4j
public class HstPredictServiceImpl extends ServiceImpl<HstPredictMapper, HstPredict> implements IHstPredictService {
@Autowired
private INkyService nkyService;
@@ -61,7 +63,8 @@
List<DataResChildrenPo> cdList = getCdList(type);
//暂时筛选出数据
// List<DataResChildrenPo> collect = cdList.stream().filter(
-// item -> item.getRes_cd().equals("42011640018") || item.getRes_cd().equals("42130350046")|| item.getRes_cd().equals("42092250024")|| item.getRes_cd().equals("42022250039")|| item.getRes_cd().equals("42132150292")
+//// item -> item.getRes_cd().equals("42011640018") || item.getRes_cd().equals("42130350046")|| item.getRes_cd().equals("42092250024")|| item.getRes_cd().equals("42022250039")|| item.getRes_cd().equals("42132150292")
+// item -> item.getRes_cd().equals("42050659003") ||item.getRes_cd().equals("42032240005")
// ).collect(Collectors.toList());
// predict(collect,type);
@@ -78,6 +81,7 @@
if (collect.size() == 0){
return;
}
+ int no = 0;
List<NewSwFuturePo> future = new ArrayList<>();
if (type.equals("1") || type.equals("2")){
@@ -85,35 +89,41 @@
DataResChildrenPo dataResChildrenPo = collect.get(i);
String currentResCd = dataResChildrenPo.getRes_cd();
- //第一个水库
- if (future.size() == 0 && resCd.equals("")){
- future = hsybService.getNewFuture(currentResCd);
- //当前水库
- resCd = currentResCd;
- } else if (!resCd.equals(currentResCd)) {
- //其他水库,获取新的预测数据
- future = hsybService.getNewFuture(currentResCd);
- //更换为新水库
- resCd = currentResCd;
+ try {
+ //第一个水库
+ if (future.size() == 0 && resCd.equals("")){
+ future = hsybService.getNewFuture(currentResCd);
+ //当前水库
+ resCd = currentResCd;
+ no = no +1;
+ log.info("当前为第{}个水库,水库id为{}",no,currentResCd);
+ } else if (!resCd.equals(currentResCd)) {
+ //其他水库,获取新的预测数据
+ future = hsybService.getNewFuture(currentResCd);
+ //更换为新水库
+ resCd = currentResCd;
+ no = no +1;
+ log.info("当前为第{}个水库,水库id为{}",no,currentResCd);
+ }
+
+ //预测数据构造请求数据
+ if (future != null && future.size() > 0) {
+ List<PredictWatersPo> po = new ArrayList<>();
+ future.forEach(item -> {
+ PredictWatersPo predictWatersPo = new PredictWatersPo();
+ //设置时间
+ predictWatersPo.setTime(item.getTime());
+ //设置预测水位
+ predictWatersPo.setValue(Double.parseDouble(item.getSw()));
+ po.add(predictWatersPo);
+ });
+ HstPredictReqPo arimaPredictReqPo = new HstPredictReqPo(dataResChildrenPo, type, po);
+ //循环预测请求
+ nkyService.hstPredict(arimaPredictReqPo);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
}
-
- //预测数据构造请求数据
- if (future != null && future.size() > 0) {
- List<PredictWatersPo> po = new ArrayList<>();
- future.forEach(item -> {
- PredictWatersPo predictWatersPo = new PredictWatersPo();
- //设置时间
- predictWatersPo.setTime(item.getTime());
- //设置预测水位
- predictWatersPo.setValue(Double.parseDouble(item.getSw()));
- po.add(predictWatersPo);
- });
- HstPredictReqPo arimaPredictReqPo = new HstPredictReqPo(dataResChildrenPo, type, po);
- //循环预测请求
- nkyService.hstPredict(arimaPredictReqPo);
- }
-
-
}
}else if (type.equals("3") || type.equals("4") || type.equals("5")){
@@ -121,39 +131,49 @@
DataResChildrenPo dataResChildrenPo = collect.get(i);
String currentResCd = dataResChildrenPo.getRes_cd();
- //第一个水库
- if (future.size() == 0 && resCd.equals("")){
- future = hsybService.getNewFuture(currentResCd);
- //当前水库
- resCd = currentResCd;
- } else if (!resCd.equals(currentResCd)) {
- //其他水库,获取新的预测数据
- future = hsybService.getNewFuture(currentResCd);
- //更换为新水库
- resCd = currentResCd;
+ try {
+ //第一个水库
+ if (future.size() == 0 && resCd.equals("")){
+ future = hsybService.getNewFuture(currentResCd);
+ //当前水库
+ resCd = currentResCd;
+ no = no +1;
+ log.info("当前为第{}个水库,水库id为{}",no,currentResCd);
+ } else if (!resCd.equals(currentResCd)) {
+ //其他水库,获取新的预测数据
+ future = hsybService.getNewFuture(currentResCd);
+ //更换为新水库
+ resCd = currentResCd;
+ no = no +1;
+ log.info("当前为第{}个水库,水库id为{}",no,currentResCd);
+ }
+
+ //预测数据构造请求数据
+ if (future != null && future.size() > 0) {
+ List<PredictWatersPo> po = new ArrayList<>();
+ future.forEach(item -> {
+ PredictWatersPo predictWatersPo = new PredictWatersPo();
+ //设置时间
+ predictWatersPo.setTime(item.getTime());
+ //设置预测水位
+ predictWatersPo.setValue(Double.parseDouble(item.getSw()));
+ po.add(predictWatersPo);
+ });
+ //循环预测请求(位移一起请求减少请求次数)
+ HstPredictReqPo arimaPredictReqPoX = new HstPredictReqPo(dataResChildrenPo, "3", po);
+ nkyService.hstPredict(arimaPredictReqPoX);
+
+ HstPredictReqPo arimaPredictReqPoY = new HstPredictReqPo(dataResChildrenPo, "4", po);
+ nkyService.hstPredict(arimaPredictReqPoY);
+
+ HstPredictReqPo arimaPredictReqPoZ = new HstPredictReqPo(dataResChildrenPo, "5", po);
+ nkyService.hstPredict(arimaPredictReqPoZ);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
}
- //预测数据构造请求数据
- if (future != null && future.size() > 0) {
- List<PredictWatersPo> po = new ArrayList<>();
- future.forEach(item -> {
- PredictWatersPo predictWatersPo = new PredictWatersPo();
- //设置时间
- predictWatersPo.setTime(item.getTime());
- //设置预测水位
- predictWatersPo.setValue(Double.parseDouble(item.getSw()));
- po.add(predictWatersPo);
- });
- //循环预测请求(位移一起请求减少请求次数)
- HstPredictReqPo arimaPredictReqPoX = new HstPredictReqPo(dataResChildrenPo, "3", po);
- nkyService.hstPredict(arimaPredictReqPoX);
- HstPredictReqPo arimaPredictReqPoY = new HstPredictReqPo(dataResChildrenPo, "4", po);
- nkyService.hstPredict(arimaPredictReqPoY);
-
- HstPredictReqPo arimaPredictReqPoZ = new HstPredictReqPo(dataResChildrenPo, "5", po);
- nkyService.hstPredict(arimaPredictReqPoZ);
- }
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
index 0ac0610..e626338 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
@@ -84,16 +84,19 @@
HsybGetFuturePo hsybGetFuturePo = sendRequestToHsyb(GET_NEW_FUTURE, urlParams);
- //程序转为hashmap,手动转换类型
- List<NewSwFuturePo> data = JSON.parseArray(JSON.toJSONString(hsybGetFuturePo.getData()), NewSwFuturePo.class);
- List<NewSwFuturePo> filterData = filterPredict(data);
+ if (hsybGetFuturePo.getData() !=null){
+ //程序转为hashmap,手动转换类型
+ List<NewSwFuturePo> data = JSON.parseArray(JSON.toJSONString(hsybGetFuturePo.getData()), NewSwFuturePo.class);
+ List<NewSwFuturePo> filterData = filterPredict(data);
- log.info(StringUtil.format("过滤后的预测水位数据:{}", JSON.toJSONString(filterData)));
- return filterData;
-// }else{
-// //拿不到预测水位
-// return null;
-// }
+ log.info(StringUtil.format("过滤后的预测水位数据:{}", JSON.toJSONString(filterData)));
+ return filterData;
+ }else {
+ //因为会有data为null的数据,所以返回空数组
+ List<NewSwFuturePo> list = new ArrayList<>();
+ return list;
+ }
+
}
public Boolean isResHasModel(String resId){
@@ -247,6 +250,7 @@
try {
ResponseEntity<HsybGetFuturePo> exchange = restTemplate.exchange(url, HttpMethod.GET, formEntity, HsybGetFuturePo.class);
+ log.info("请求结果:"+ exchange.getBody().toString());
return exchange.getBody();
} catch (Exception e) {
e.printStackTrace();
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ZtApiServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ZtApiServiceImpl.java
index 7973e15..7b866fe 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ZtApiServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ZtApiServiceImpl.java
@@ -80,6 +80,12 @@
}
@Override
+ public List<DataResPo> getResSl() {
+ Map<String, Object> params = new LinkedHashMap<>();
+ return getResData(SL_API, "get", params);
+ }
+
+ @Override
public List<DataResChildrenPo> getSl() {
Map<String, Object> params = new LinkedHashMap<>();
return getData(SL_API, "get", params);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResManagePersonController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResManagePersonController.java
index 058511c..74e222d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResManagePersonController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResManagePersonController.java
@@ -2,6 +2,7 @@
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
+import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -131,4 +132,18 @@
return R.data(attResManagePersonService.synchronizationAddUser());
}
+ /**
+ * 查询巡查、技术、主管、行政、水行政部门责任人
+ * @param resId 水库id
+ * @param findType 指定查询的责任人类型
+ * @return
+ */
+ @GetMapping("/getManagePersonList")
+ public R getManagePersonList(String resId,String findType){
+
+ List<PersonVO> list = attResManagePersonService.getManagePersonList(resId,findType);
+ return R.data(list);
+
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
index 6aab487..dc6ea8a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -78,4 +79,6 @@
* @return
*/
Integer getWaterCountByResNameAndCountyName(@Param("resName") String resName,@Param("countyCode") String countyCode);
+
+ AttResAdVO getResAd(@Param("resId") String resId);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
index 24de5f4..0fff344 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -273,6 +273,39 @@
(c."ad_grad" = 3 and c."ad_code" = #{countyCode})
)
</select>
+ <select id="getResAd" resultType="cn.gistack.sm.sjztmd.vo.AttResAdVO">
+ SELECT
+ arb."name" resName,
+ arb."guid" resGuid,
+ arb."interior_ad_guid",
+ case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+ case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+ case when town."ad_grad" = 3 THEN town."ad_code"
+ when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+ case when town."ad_grad" = 3 THEN town."ad_name"
+ when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
+ case when town."ad_grad" = 2 THEN town."ad_code"
+ when county."ad_grad" = 2 THEN county."ad_code"
+ ELSE city."ad_code" END AS cityCode,
+ case when town."ad_grad" = 2 THEN town."ad_name"
+ when county."ad_grad" = 2 THEN county."ad_name"
+ ELSE city."ad_name" END AS cityName,
+ case when town."ad_grad" = 1 THEN town."ad_code"
+ when county."ad_grad" = 1 THEN county."ad_code"
+ when city."ad_grad" = 1 THEN city."ad_code"
+ ELSE province."ad_code" END AS provinceCode,
+ case when town."ad_grad" = 1 THEN town."ad_name"
+ when county."ad_grad" = 1 THEN county."ad_name"
+ when city."ad_grad" = 1 THEN city."ad_name"
+ ELSE province."ad_name" END AS provinceName
+ FROM SJZT_MD."att_res_base" arb
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ where arb."guid" = #{resId}
+
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
index 247c2ad..e401146 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
@@ -76,4 +76,8 @@
String getCompetentDepart(@Param("resCd") String resCd);
List<AttResManagePerson> getPersonList(@Param("resCd") String resCd);
+
+ List<AttResManagePerson> getList(@Param("attResManagePerson") AttResManagePerson attResManagePerson);
+
+ List<PersonVO> getPersonByRoleAndAd(@Param("roleAlias") String roleAlias,@Param("adCode") String adCode);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
index fdd35cd..0ae5bd7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
@@ -244,5 +244,24 @@
<select id="getPersonList" resultType="cn.gistack.sm.sjztmd.entity.AttResManagePerson">
SELECT * FROM "SJZT_MD"."att_res_manage_person" WHERE "res_guid" = #{resCd}
</select>
+ <select id="getList" resultType="cn.gistack.sm.sjztmd.entity.AttResManagePerson">
+ SELECT * FROM SJZT_MD."att_res_manage_person" where 1=1
+ <if test="attResManagePerson.resGuid != null and attResManagePerson.resGuid != ''">
+ AND "res_guid" = #{attResManagePerson.resGuid}
+ </if>
+ ORDER BY "type" ASC
+ </select>
+ <select id="getPersonByRoleAndAd" resultType="cn.gistack.sm.sjztmd.vo.PersonVO">
+ SELECT
+ BU.id as userId,
+ BU.real_name as userName,
+ 9 as type
+ FROM YWXT.BLADE_USER BU
+ LEFT JOIN YWXT.BLADE_ROLE BR ON BU.ROLE_ID LIKE CONCAT('%',BR.ID,'%')
+ WHERE
+ bu.is_deleted = 0
+ AND BU.DEPT_ID = #{adCode}
+ AND BR.ROLE_ALIAS = #{roleAlias}
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
index 6cee98b..30cda9d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -65,4 +66,11 @@
* @return
*/
Integer getWaterCountByResNameAndCountyName(String resName, String countyName);
+
+ /**
+ * 获取水库的行政区划以及行政区划等级
+ * @param resId
+ * @return
+ */
+ AttResAdVO getResAd(String resId);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java
index 4b5019b..3a86cb1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java
@@ -97,4 +97,6 @@
* @return
*/
List<AttResManagePerson> getPersonList(String resCd);
+
+ List<PersonVO> getManagePersonList(String resId,String findType);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
index 6a85f17..202e6b8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
@@ -21,6 +21,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -134,4 +135,9 @@
public Integer getWaterCountByResNameAndCountyName(String resName, String countyCode) {
return baseMapper.getWaterCountByResNameAndCountyName(resName,countyCode);
}
+
+ @Override
+ public AttResAdVO getResAd(String resId) {
+ return baseMapper.getResAd(resId);
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
index 9965260..3f9e60f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -6,6 +6,7 @@
import cn.gistack.sm.sjztmd.mapper.AttResManagePersonMapper;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
+import cn.gistack.sm.sjztmd.vo.AttResAdVO;
import cn.gistack.sm.sjztmd.vo.AttResBaseVO;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.sm.sjztmd.vo.UserPersonVO;
@@ -13,6 +14,8 @@
import cn.gistack.system.user.feign.IUserClient;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
@@ -20,9 +23,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @ClassName AttResManagePersonServiceImpl
@@ -198,4 +200,117 @@
public List<AttResManagePerson> getPersonList(String resCd) {
return baseMapper.getPersonList(resCd);
}
+
+ @Override
+ @DS("zt")
+ public List<PersonVO> getManagePersonList(String resId,String findType) {
+ List<PersonVO> result = new ArrayList<>();
+ if (StringUtil.isEmpty(resId)){
+ throw new ServiceException("水库id为空");
+ }
+
+ //查四个责任人
+ AttResManagePerson attResManagePerson = new AttResManagePerson();
+ attResManagePerson.setResGuid(resId);
+ List<AttResManagePerson> list = baseMapper.getList(attResManagePerson);
+
+ //过滤数据
+ if (StringUtil.isNotBlank(findType)){
+ list = list.stream().filter(e->findType.indexOf(e.getType())>-1).collect(Collectors.toList());
+ }
+
+ //赋值
+ list.forEach(p->{
+ List<User> userList = userClient.userInfoByPhone("000000", p.getUserPhone()).getData();
+ if (userList.size() > 0) {
+
+ PersonVO personVO = new PersonVO();
+ personVO.setUserId(userList.get(0).getId().toString());
+ personVO.setUserName(userList.get(0).getRealName());
+ personVO.setType(p.getType());
+ //1.政府行政责任人,2.主管部门责任人,3.管理单位责任人,4.技术责任人,5.巡查责任人,6.行政责任人
+ switch (p.getType()){
+ case "1":
+ personVO.setRoleName("行政责任人");
+ break;
+ case "2":
+ personVO.setRoleName("主管部门责任人");
+ break;
+ case "3":
+ personVO.setRoleName("管理单位责任人");
+ break;
+ case "4":
+ personVO.setRoleName("技术责任人");
+ break;
+ case "5":
+ personVO.setRoleName("巡查责任人");
+ break;
+ default:
+ break;
+ }
+ result.add(personVO);
+ }
+
+ });
+
+ AttResAdVO resAd = attResBaseService.getResAd(resId);
+
+ String cityName = resAd.getCityName();
+ String countyName = resAd.getCountyName();
+ String townName = resAd.getTownName();
+
+ if (StringUtil.isBlank(findType) || findType.indexOf("9")>-1){
+
+ List<PersonVO> deptUser = new ArrayList<>();
+
+ if (cityName != null && cityName.equals("省直管")){
+ //如果是省直管,找省厅管理员
+ String provinceCode = resAd.getProvinceCode();
+
+ deptUser = baseMapper.getPersonByRoleAndAd("stgly",provinceCode);
+ deptUser.forEach(p->{
+ p.setRoleName("省厅管理员");
+ });
+ } else if (countyName != null && countyName.equals("市直管")) {
+ //如果是市直管,找市州管理员
+ String cityCode = resAd.getCityCode();
+
+ deptUser = baseMapper.getPersonByRoleAndAd("dsswjgly",cityCode);
+ deptUser.forEach(p->{
+ p.setRoleName("市州管理员");
+ });
+ }else if (StringUtil.isNotBlank(townName)){
+ //镇不是空的,找乡镇管理员
+ String townCode = resAd.getTownCode();
+ deptUser = baseMapper.getPersonByRoleAndAd("xzgly",townCode);
+ deptUser.forEach(p->{
+ p.setRoleName("乡镇管理员");
+ });
+ }else if (StringUtil.isNotBlank(countyName)){
+ //区不是空的找区县管理员
+ String countyCode = resAd.getCountyCode();
+ deptUser = baseMapper.getPersonByRoleAndAd("qxswjgly",countyCode);
+ deptUser.forEach(p->{
+ p.setRoleName("区县管理员");
+ });
+ }else if (StringUtil.isNotBlank(cityName)){
+ //市不是空的找市州管理员
+ String cityCode = resAd.getCityCode();
+ deptUser = baseMapper.getPersonByRoleAndAd("dsswjgly",cityCode);
+ deptUser.forEach(p->{
+ p.setRoleName("市州管理员");
+ });
+ }else{
+ String provinceCode = resAd.getProvinceCode();
+ deptUser = baseMapper.getPersonByRoleAndAd("stgly",provinceCode);
+ deptUser.forEach(p->{
+ p.setRoleName("省厅管理员");
+ });
+ }
+
+ result.addAll(deptUser);
+ }
+
+ return result;
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java
index 8f5ac1f..36814c7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResAdVO.java
@@ -16,6 +16,9 @@
*/
private String resGuid;
+ private String provinceCode;
+ private String provinceName;
+
/**
* 市州编号
*/
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/PersonVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/PersonVO.java
new file mode 100644
index 0000000..a338971
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/PersonVO.java
@@ -0,0 +1,20 @@
+package cn.gistack.sm.sjztmd.vo;
+
+import lombok.Data;
+
+@Data
+public class PersonVO {
+
+ private String userId;
+
+ private String userName;
+
+
+ private String roleName;
+
+ //1.政府行政责任人,2.主管部门责任人,3.管理单位责任人,4.技术责任人,5.巡查责任人,6.行政责任人
+ //单独定义 水行政部门为9
+ private String type;
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java
index 8e88183..8a96fb2 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java
@@ -1,15 +1,13 @@
package cn.gistack.job.executor.jobhandler;
+import cn.gistack.job.executor.thread.MyThread;
import cn.gistack.nky.fegin.INkyClient;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.utils.DateUtil;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-
-import java.util.List;
/**
* 南科院预测数据定时器
@@ -21,19 +19,20 @@
private static final String SY = "1";
private static final String SL = "2";
private static final String X = "3";
- private static final String Y= "4";
+ private static final String Y = "4";
private static final String Z = "5";
private final INkyClient nkyClient;
/**
* 南科院Arima请求预测
+ *
* @param param
* @return
* @throws Exception
*/
@XxlJob("predictNkyDataJobHandler")
- public ReturnT<String> predictNkyDataJobHandler(String param){
+ public ReturnT<String> predictNkyDataJobHandler(String param) {
XxlJobLogger.log("开始ArimaPredict预测...");
arimaPredict();
XxlJobLogger.log("ArimaPredict预测结束...");
@@ -44,12 +43,13 @@
/**
* 南科院Hst请求预测
+ *
* @param param
* @return
* @throws Exception
*/
@XxlJob("predictNkyHstDataJobHandler")
- public ReturnT<String> predictNkyHstDataJobHandler(String param){
+ public ReturnT<String> predictNkyHstDataJobHandler(String param) {
XxlJobLogger.log("开始Hst预测...");
hstPredict();
@@ -60,12 +60,13 @@
/**
* 南科院Hst请求预测结果
+ *
* @param param
* @return
* @throws Exception
*/
@XxlJob("queryNkyHstDataJobHandler")
- public ReturnT<String> queryNkyHstDataJobHandler(String param){
+ public ReturnT<String> queryNkyHstDataJobHandler(String param) {
XxlJobLogger.log("开始Hst预测结果请求");
hstQuery();
XxlJobLogger.log("Hst预测结果请求结束");
@@ -75,49 +76,52 @@
/**
* 南科院Arima请求预测结果(渗压)
+ *
* @param param
* @return
* @throws Exception
*/
@XxlJob("queryNkyDataJobHandler")
- public ReturnT<String> queryNkyDataJobHandler(String param){
- XxlJobLogger.log("开始预测时间:"+DateUtil.now().toString());
+ public ReturnT<String> queryNkyDataJobHandler(String param) {
+ XxlJobLogger.log("开始预测时间:" + DateUtil.now().toString());
nkyClient.arimaQueryData(SY);
- XxlJobLogger.log("预测结束时间:" +DateUtil.now().toString());
+ XxlJobLogger.log("预测结束时间:" + DateUtil.now().toString());
return ReturnT.SUCCESS;
}
/**
* 南科院Arima请求预测结果(渗流)
+ *
* @param param
* @return
* @throws Exception
*/
@XxlJob("queryNkyDataSlJobHandler")
- public ReturnT<String> queryNkyDataSlJobHandler(String param){
- XxlJobLogger.log("开始预测时间:"+DateUtil.now().toString());
+ public ReturnT<String> queryNkyDataSlJobHandler(String param) {
+ XxlJobLogger.log("开始预测时间:" + DateUtil.now().toString());
nkyClient.arimaQueryData(SL);
- XxlJobLogger.log("预测结束时间:" +DateUtil.now().toString());
+ XxlJobLogger.log("预测结束时间:" + DateUtil.now().toString());
return ReturnT.SUCCESS;
}
/**
* 南科院Arima请求预测结果(位移)
+ *
* @param param
* @return
* @throws Exception
*/
@XxlJob("queryNkyDataWyJobHandler")
- public ReturnT<String> queryNkyDataWyJobHandler(String param){
- XxlJobLogger.log("开始预测时间:"+DateUtil.now().toString());
+ public ReturnT<String> queryNkyDataWyJobHandler(String param) {
+ XxlJobLogger.log("开始预测时间:" + DateUtil.now().toString());
nkyClient.arimaQueryData(X);
nkyClient.arimaQueryData(Y);
nkyClient.arimaQueryData(Z);
- XxlJobLogger.log("预测结束时间:" +DateUtil.now().toString());
+ XxlJobLogger.log("预测结束时间:" + DateUtil.now().toString());
return ReturnT.SUCCESS;
}
- public void arimaPredict(){
+ public void arimaPredict() {
XxlJobLogger.log("渗压预测开始");
nkyClient.arimaPredictData(SY);
XxlJobLogger.log("渗流预测开始");
@@ -127,7 +131,7 @@
}
- public void arimaQuery(){
+ public void arimaQuery() {
nkyClient.arimaQueryData(SY);
nkyClient.arimaQueryData(SL);
nkyClient.arimaQueryData(X);
@@ -138,33 +142,50 @@
/**
* hst预测
*/
- public void hstPredict(){
- XxlJobLogger.log("渗压预测开始");
- nkyClient.hstPredictData(SY);
- XxlJobLogger.log("渗流预测开始");
- nkyClient.hstPredictData(SL);
- XxlJobLogger.log("位移预测开始");
- nkyClient.hstPredictData(X);
+ public void hstPredict() {
+
+ try {
+ MyThread sl = new MyThread(nkyClient,SL);
+ MyThread wy = new MyThread(nkyClient,X);
+ MyThread sy = new MyThread(nkyClient,SY);
+
+ sl.start();
+ wy.start();
+ sy.start();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+// XxlJobLogger.log("渗流预测开始");
+// nkyClient.hstPredictData(SL);
+// XxlJobLogger.log("位移预测开始");
+// nkyClient.hstPredictData(X);
+// XxlJobLogger.log("渗压预测开始");
+// nkyClient.hstPredictData(SY);
+
+
}
- public void hstQuery(){
- nkyClient.hstQueryData(SY);
+ public void hstQuery() {
nkyClient.hstQueryData(SL);
nkyClient.hstQueryData(X);
nkyClient.hstQueryData(Y);
nkyClient.hstQueryData(Z);
+ nkyClient.hstQueryData(SY);
}
/**
* 南科院按库请求数据接口
+ *
* @param param
* @return
*/
@XxlJob("batchDataJobHandler")
- public ReturnT<String> batchDataJobHandler(String param){
+ public ReturnT<String> batchDataJobHandler(String param) {
XxlJobLogger.log("按库请求开始");
nkyClient.batchData(SY);
+ nkyClient.batchData(SL);
nkyClient.batchData(X);
nkyClient.batchData(Y);
nkyClient.batchData(Z);
@@ -176,11 +197,12 @@
/**
* 南科院按库请求数据接口
+ *
* @param param
* @return
*/
@XxlJob("alarmGetJobHandler")
- public ReturnT<String> alarmGetJobHandler(String param){
+ public ReturnT<String> alarmGetJobHandler(String param) {
XxlJobLogger.log("判定异常开始");
nkyClient.alarmGetData(SY);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/thread/MyThread.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/thread/MyThread.java
new file mode 100644
index 0000000..63b3afb
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/thread/MyThread.java
@@ -0,0 +1,26 @@
+package cn.gistack.job.executor.thread;
+
+import cn.gistack.nky.fegin.INkyClient;
+import lombok.Data;
+
+@Data
+public class MyThread extends Thread{
+
+ private INkyClient nkyClient;
+ private String type;
+
+
+ @Override
+ public void run() {
+ nkyClient.hstPredictData(this.type);
+ }
+
+ public MyThread(INkyClient nkyClient, String type) {
+ this.nkyClient = nkyClient;
+ this.type = type;
+ }
+
+ public MyThread(String type) {
+ this.type = type;
+ }
+}
--
Gitblit v1.9.3