From 31c0b7efab611b1461c0480437db2ec0c5727230 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 11 May 2023 20:44:35 +0800
Subject: [PATCH] 新增水库对应责任人查询接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)

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 54c3489..6587f8a 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
@@ -1,13 +1,19 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
+import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper;
+import cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO;
 import cn.gistack.sm.sjztmd.entity.AttResBase;
 import cn.gistack.sm.sjztmd.mapper.AttResBaseMapper;
 import cn.gistack.sm.sjztmd.service.IAttResBaseService;
+import cn.gistack.sm.sjztmd.vo.ManagePersonVO;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -22,6 +28,9 @@
 @DS("zt")
 public class AttResBaseServiceImpl extends ServiceImpl<AttResBaseMapper, AttResBase> implements IAttResBaseService {
 
+	@Autowired
+	private CallTaskMapper callTaskMapper;
+
 	@Override
 	public IPage<AttResBase> selectAttResBasePage(IPage<AttResBase> page, AttResBase attResBase) {
 		return page.setRecords(baseMapper.selectAttResBasePage(page,attResBase));
@@ -36,4 +45,72 @@
 	public AttResBase getDetailByCode(String code) {
 		return baseMapper.getDetailByCode(code);
 	}
+
+	/**
+	 * 获取水库对应责任人分页数据
+	 * @param params 条件查询参数对象
+	 * @param page 分页查询参数对象
+	 * @return
+	 */
+	@Override
+	public IPage<AttResBaseUserDTO> getAttResBaseUserPage(IPage<AttResBaseUserDTO> page,Map<String, Object> params) {
+		List<String> list = new ArrayList<>();
+		Object adCode = params.get("adCode");
+		if (null != adCode && !adCode.equals("")) {
+			list = callTaskMapper.getAllChildrenAreaByAreaCode(adCode.toString());
+		}
+		List<AttResBaseUserDTO> attResBaseUserDTOList = baseMapper.getAttResBaseUserPage(page,list,params);
+		// 遍历查询所在地点和其它责任人信息
+		for (AttResBaseUserDTO attResBaseUserDTO : attResBaseUserDTOList) {
+			// 查询各类型责任人
+			List<ManagePersonVO> userList = baseMapper.getUserByResBaseGuid(attResBaseUserDTO.getGuid());
+			// 组装数据
+			if (userList.size() > 0){
+				// 责任人类型 1:行政责任人 2:主管部门责任人 3:管理单位责任人 4:技术责任人 5:巡查责任人
+				for (ManagePersonVO person : userList) {
+					// 1:行政责任人
+					if (person.getType().equals(1)) {
+						attResBaseUserDTO.setAreaUsername(person.getUsername());
+						attResBaseUserDTO.setAreaUnitName(person.getUnitName());
+						attResBaseUserDTO.setAreaPosition(person.getPosition());
+						attResBaseUserDTO.setAreaPhone(person.getPhone());
+					}
+
+					// 2:主管部门责任人
+					if (person.getType().equals(2)) {
+						attResBaseUserDTO.setCustomsUsername(person.getUsername());
+						attResBaseUserDTO.setCustomsUnitName(person.getUnitName());
+						attResBaseUserDTO.setCustomsPosition(person.getPosition());
+						attResBaseUserDTO.setCustomsPhone(person.getPhone());
+					}
+
+					// 3:管理单位责任人
+					if (person.getType().equals(3)) {
+						attResBaseUserDTO.setManageUnitUsername(person.getUsername());
+						attResBaseUserDTO.setManageUnitUnitName(person.getUnitName());
+						attResBaseUserDTO.setManageUnitPosition(person.getPosition());
+						attResBaseUserDTO.setManageUnitPhone(person.getPhone());
+					}
+
+					// 4:技术责任人
+					if (person.getType().equals(4)) {
+						attResBaseUserDTO.setTechnologyUsername(person.getUsername());
+						attResBaseUserDTO.setTechnologyUnitName(person.getUnitName());
+						attResBaseUserDTO.setTechnologyPosition(person.getPosition());
+						attResBaseUserDTO.setTechnologyPhone(person.getPhone());
+					}
+
+					// 5:巡查责任人
+					if (person.getType().equals(5)) {
+						attResBaseUserDTO.setPatrolUsername(person.getUsername());
+						attResBaseUserDTO.setPatrolUnitName(person.getUnitName());
+						attResBaseUserDTO.setPatrolPosition(person.getPosition());
+						attResBaseUserDTO.setPatrolPhone(person.getPhone());
+					}
+				}
+			}
+		}
+		// 返回数据
+		return page.setRecords(attResBaseUserDTOList);
+	}
 }

--
Gitblit v1.9.3