From 39b3d16e78a22e70e99341f366dcfa2c3e6519b9 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 12 Oct 2023 16:51:25 +0800
Subject: [PATCH] 智能外呼导入水库编号发送,新增水库同步到海康接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java | 31 +++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java | 5
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java | 13 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java | 12 +
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/pom.xml | 5
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/listener/ExcelListener.java | 55 +++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml | 24 ++++
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/excel/CallExcel.java | 21 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java | 39 ++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java | 39 ++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java | 4
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java | 2
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java | 9 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/VideoVO.java | 24 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java | 5
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java | 9 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java | 2
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkVO.java | 10 +
18 files changed, 298 insertions(+), 11 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/pom.xml b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/pom.xml
index 8afeef7..f683439 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/pom.xml
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/pom.xml
@@ -19,6 +19,11 @@
<groupId>org.springblade</groupId>
<artifactId>blade-starter-cache</artifactId>
</dependency>
+ <!--excel-->
+ <dependency>
+ <groupId>org.springblade</groupId>
+ <artifactId>blade-starter-excel</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/excel/CallExcel.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/excel/CallExcel.java
new file mode 100644
index 0000000..f992c0e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/excel/CallExcel.java
@@ -0,0 +1,21 @@
+package cn.gistack.sm.intelligentCall.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class CallExcel implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ColumnWidth(15)
+ @ExcelProperty("水库代码")
+ private String waterCode;
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/listener/ExcelListener.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/listener/ExcelListener.java
new file mode 100644
index 0000000..4720451
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/listener/ExcelListener.java
@@ -0,0 +1,55 @@
+package cn.gistack.sm.intelligentCall.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 自定义excel 解析监听器
+ * @param <T>
+ */
+public final class ExcelListener<T> extends AnalysisEventListener<T> {
+
+ /**
+ * 自定义用于暂时存储data
+ * 可以通过实例获取该值
+ */
+ private List<T> datas = new ArrayList<>();
+
+ /**
+ * 每解析一行都会回调invoke()方法
+ * @param object 读取后的数据对象
+ * @param context 内容
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public void invoke(Object object, AnalysisContext context) {
+ T map = (T) object;
+ //数据存储到list,供批量处理,或后续自己业务逻辑处理。
+ datas.add(map);
+ }
+
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext context) {
+ //解析结束销毁不用的资源
+ //注意不要调用datas.clear(),否则getDatas为null
+ }
+
+ /**
+ * 返回数据
+ * @return 返回读取的数据集合
+ **/
+ public List<T> getDatas() {
+ return datas;
+ }
+
+ /**
+ * 设置读取的数据集合
+ * @param datas 设置读取的数据集合
+ **/
+ public void setDatas(List<T> datas) {
+ this.datas = datas;
+ }
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
index 28d39b0..5b34db2 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
@@ -135,6 +135,11 @@
*/
public static final String eventSubscriptionViewURLs = "/api/eventService/v1/eventSubscriptionView";
+ /**
+ * 区域的批量添加
+ */
+ public static final String batchAddURLs = "/api/resource/v1/region/batch/add";
+
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java
index eb5aee8..d4619e9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkController.java
@@ -4,6 +4,8 @@
import cn.gistack.sm.hk.constant.ProtocolConstant;
import cn.gistack.sm.hk.service.HkService;
import cn.gistack.sm.hk.vo.HkVO;
+import cn.gistack.sm.hk.vo.VideoVO;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -13,6 +15,8 @@
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import static cn.gistack.sm.hk.util.GetCameraUtils.*;
@@ -310,4 +314,31 @@
return R.data(common(null==hk.getType()?1:hk.getType(),HkConstant.presetsDeletionURLs, body));
}
+ /**
+ * 同步水库设备信息
+ * @param hk 水库设备
+ * @return
+ */
+ @ApiOperation(value = "海康设备-同步水库设备信息", notes = "海康设备-同步水库设备信息")
+ @PostMapping(value = "/syncVideo")
+ public R syncVideo(@RequestBody HkVO hk) {
+ /**
+ * 组装请求参数
+ */
+ List<VideoVO> list = new ArrayList<>();
+ VideoVO video = new VideoVO();
+ video.setRegionName(hk.getRegionName());
+ video.setRegionIndexCode(hk.getRegionIndexCode());
+ video.setParentIndexCode("root000000");
+ video.setRegionType(10);
+ list.add(video);
+ String body = JSON.toJSONString(list);
+
+ /**
+ * 调用接口并返回数据
+ * post请求application/json类型参数;
+ */
+ return R.data(JSONObject.parseObject(common(null==hk.getType()?2:hk.getType(),HkConstant.batchAddURLs, body)));
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkVO.java
index 286c874..d53edf6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkVO.java
@@ -139,4 +139,14 @@
* 扩展
*/
private String expand;
+
+ /**
+ * 水库/区域名称
+ */
+ private String regionName;
+
+ /**
+ * 水库/区域编号
+ */
+ private String regionIndexCode;
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/VideoVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/VideoVO.java
new file mode 100644
index 0000000..e59508f
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/VideoVO.java
@@ -0,0 +1,24 @@
+package cn.gistack.sm.hk.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class VideoVO implements Serializable {
+
+ private String parentIndexCode;
+
+ /**
+ * 水库名称
+ */
+ private String regionName;
+
+ /**
+ * 水库编号
+ */
+ private String regionIndexCode;
+
+ private Integer regionType;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
index dd80561..055cbe3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
@@ -2,18 +2,26 @@
import cn.gistack.sm.intelligentCall.entity.CallTaskResult;
import cn.gistack.sm.intelligentCall.entity.Scene;
+import cn.gistack.sm.intelligentCall.excel.CallExcel;
+import cn.gistack.sm.intelligentCall.listener.ExcelListener;
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.intelligentCall.service.ICallSmsNoticeTaskService;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
+import com.alibaba.excel.EasyExcel;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.util.*;
/**
@@ -177,4 +185,35 @@
// 返回
return R.data(callService.getCallResultListTemp(Condition.getPage(query),callTaskResult));
}
+
+
+ /**
+ * 导入表格发送智能外呼
+ * @param file excel文件
+ * @param time 呼叫时间(空的话默认选择当前时间)
+ * @return
+ */
+ @PostMapping("/import-call")
+ public R importCall(MultipartFile file,String time){
+ ExcelListener<CallExcel> listener = new ExcelListener<>();
+ //headRowNumber(1)从第2行开始读取,使用getDatas()方法取出数据
+ try {
+ EasyExcel.read(file.getInputStream(), CallExcel.class, listener).headRowNumber(1).sheet(0).doRead();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ List<CallExcel> list = listener.getDatas();
+ // 导入并返回
+ return R.data(callService.importCall(list,time));
+ }
+
+ /**
+ * 导出模板
+ */
+ @GetMapping("/export-template")
+ @ApiOperation(value = "导出模板")
+ public void exportTemplate(HttpServletResponse response) {
+ List<CallExcel> list = new ArrayList<>();
+ ExcelUtil.export(response, "智能外呼数据模板", "智能外呼数据表", list, CallExcel.class);
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
index dd22851..2c3a1de 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
@@ -2,6 +2,7 @@
import cn.gistack.sm.intelligentCall.entity.CallNotFillRecord;
+import cn.gistack.sm.intelligentCall.excel.CallExcel;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -122,4 +123,12 @@
* @return
*/
List<String> createOutCallTaskByAlarm(Map<String, Object> map);
+
+ /**
+ * 导入表格发送智能外呼
+ * @param list
+ * @param time
+ * @return
+ */
+ Object importCall(List<CallExcel> list,String time);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
index 8074542..f9b29bc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -4,12 +4,14 @@
import cn.gistack.sm.intelligentCall.constant.CallConstant;
import cn.gistack.sm.intelligentCall.constant.ZtConstant;
import cn.gistack.sm.intelligentCall.entity.Scene;
+import cn.gistack.sm.intelligentCall.excel.CallExcel;
import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper;
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
+import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -20,6 +22,7 @@
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
@@ -53,6 +56,9 @@
@Autowired
private BladeRedis bladeRedis;
+
+ @Autowired
+ private IAttResManagePersonService attResManagePersonService;
@Autowired
private AsyncCallService asyncCallService;
@@ -1225,4 +1231,37 @@
// 不分页
return callTaskMapper.getCallResultListTemp(null,callTaskResult,list);
}
+
+ /**
+ * 导入表格发送智能外呼
+ * @param list
+ * @param time
+ * @return
+ */
+ @Override
+ public Object importCall(List<CallExcel> list,String time) {
+ // 转换
+ List<String> stringList = list.stream().map(CallExcel::getWaterCode).collect(Collectors.toList());
+ // 通过水库代码获取水库及巡查责任人信息
+ Set<Scene> personList = attResManagePersonService.getPatrolPersonListByWaterCodeList(stringList);
+ Map<String, Object> params = new HashMap<>();
+ //传入调度时间和随机得到的人员信息进行任务的创建并返回
+ params.put("list",setForListMap(personList));
+ // 调度时间处理
+ if (null!=time && !time.equals("")){
+ params.put("taskScheduleTime",new SimpleDateFormat("yyyy-MM-dd").format(new Date())+ " " + time + ":00");
+ }else {
+ params.put("taskScheduleTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ }
+ // 创建任务并返回结果
+ List<String> task = createTask(params);
+ if (null!=task.get(1) && !task.get(1).equals("")){
+ String successMsg = "外呼任务创建成功";
+ // 返回
+ return R.data(200,successMsg,null);
+ }
+ String errorMsg = task.get(0);
+ // 返回
+ return R.data(400,errorMsg,null);
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java
index 62cc021..d2d6a95 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java
@@ -81,7 +81,7 @@
* @return
*/
@Override
- public List<PersonVO> getUserListByResGuid(String res_cd,String areaList) {
+ public List<PersonVO> getUserListByResGuid(String res_cd, String areaList) {
return adBaseService.getPersonListByResGuid(res_cd,areaList);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
index f8ff127..662f5b3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
@@ -1,13 +1,12 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.common.node.TreeNode;
-import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
+import cn.gistack.sm.sjztmd.vo.PersonVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
-import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
import java.util.Map;
@@ -37,7 +36,7 @@
* @param res_cd
* @return
*/
- List<PersonVO> getPersonListByResGuid(@Param("res_cd")String res_cd,@Param("roleName") String areaList);
+ List<PersonVO> getPersonListByResGuid(@Param("res_cd")String res_cd, @Param("roleName") String areaList);
AttAdBaseVO getDetail(@Param("attAdBase") AttAdBase attAdBase);
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 1eeb77e..8a5e704 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
@@ -1,5 +1,6 @@
package cn.gistack.sm.sjztmd.mapper;
+import cn.gistack.sm.intelligentCall.entity.Scene;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.vo.PersonVO;
@@ -59,8 +60,16 @@
* @return
*/
List<PersonVO> getCityCountyPersonListByResGuid(@Param("adCode") String res_cd,
- @Param("roleAlias") String roleAlias,
- @Param("type") String type);
+ @Param("roleAlias") String roleAlias,
+ @Param("type") String type);
List<PatrolResponsiblePerson> getPatrolResponsiblePersonByResCdList(@Param("ids") List<String> reservoirList);
+
+ /**
+ * 通过水库代码获取水库及巡查责任人信息
+ * @param list
+ * @return
+ */
+ @DS("zt")
+ Set<Scene> getPatrolPersonListByWaterCodeList(@Param("list") List<String> list);
}
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 f646860..efb2f34 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
@@ -175,6 +175,30 @@
group by b."user_phone"
</select>
+ <!--通过水库代码获取巡查责任人及技术责任人手机号-->
+ <select id="getPatrolPersonListByWaterCodeList" resultType="cn.gistack.sm.intelligentCall.entity.Scene">
+ SELECT
+ a."guid" as waterCode,
+ a."name" as waterName,
+ b."user_name" as username,
+ b."user_phone" as userId,
+ b."user_phone" as phone
+ FROM SJZT_MD."att_res_base" a
+ LEFT JOIN SJZT_MD."att_res_manage_person" b ON a."guid" = b."res_guid"
+ where 1=1 and b."type" = 5
+ <choose>
+ <when test="list!=null and list.size()>0">
+ and "sk_code" in
+ <foreach collection="list" item="id" open="(" close=")" separator=",">
+ #{id}
+ </foreach>
+ </when>
+ <otherwise>
+ and "sk_code" in ('')
+ </otherwise>
+ </choose>
+ </select>
+
<!--根据水库编号查询市县水利部人员姓名及联系方式-->
<select id="getCityCountyPersonListByResGuid" resultType="cn.gistack.sm.sjztmd.vo.PersonVO">
select real_name as name,phone,#{type} as type from YWXT.blade_user bu
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
index f8e011e..bc65a5c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
@@ -35,7 +35,7 @@
* @param areaList
* @return
*/
- List<PersonVO> getPersonListByResGuid(String res_cd,String areaList);
+ List<PersonVO> getPersonListByResGuid(String res_cd, String areaList);
/**
* 获取详情
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 434f7d3..46d9c4e 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
@@ -1,9 +1,9 @@
package cn.gistack.sm.sjztmd.service;
+import cn.gistack.sm.intelligentCall.entity.Scene;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.vo.PersonVO;
-import cn.gistack.sm.sjztmd.vo.UserPersonVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.tool.api.R;
@@ -76,4 +76,11 @@
* @return
*/
List<PatrolResponsiblePerson> getPatrolResponsiblePersonByResCdList(List<String> reservoirList);
+
+ /**
+ * 通过水库代码获取水库及巡查责任人信息
+ * @param stringList
+ * @return
+ */
+ Set<Scene> getPatrolPersonListByWaterCodeList(List<String> stringList);
}
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 c86285f..86ea764 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
@@ -2,11 +2,11 @@
import cn.gistack.common.node.TreeNode;
import cn.gistack.common.utils.NodeTreeUtil;
-import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
+import cn.gistack.sm.sjztmd.vo.PersonVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@@ -75,7 +75,7 @@
* @return
*/
@Override
- public List<PersonVO> getPersonListByResGuid(String res_cd,String areaList) {
+ public List<PersonVO> getPersonListByResGuid(String res_cd, String areaList) {
return baseMapper.getPersonListByResGuid(res_cd,areaList);
}
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 1ba0b03..727eb67 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
@@ -1,6 +1,6 @@
package cn.gistack.sm.sjztmd.service.impl;
-import cn.gistack.sm.sjztmd.entity.AttResBase;
+import cn.gistack.sm.intelligentCall.entity.Scene;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.mapper.AttResManagePersonMapper;
@@ -178,4 +178,14 @@
public List<PatrolResponsiblePerson> getPatrolResponsiblePersonByResCdList(List<String> reservoirList) {
return baseMapper.getPatrolResponsiblePersonByResCdList(reservoirList);
}
+
+ /**
+ * 通过水库代码获取水库及巡查责任人信息
+ * @param stringList
+ * @return
+ */
+ @Override
+ public Set<Scene> getPatrolPersonListByWaterCodeList(List<String> stringList) {
+ return baseMapper.getPatrolPersonListByWaterCodeList(stringList);
+ }
}
--
Gitblit v1.9.3