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