From 3ca382419700698bf69d30b6f20d0fb493bd2c2d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 13 Mar 2024 10:40:01 +0800
Subject: [PATCH] app使用统计添加行政区划筛选

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java |  194 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 190 insertions(+), 4 deletions(-)

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 30ce858..43c08ca 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,15 +1,21 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
+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;
+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;
 import cn.gistack.system.user.entity.User;
 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;
@@ -17,8 +23,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName AttResManagePersonServiceImpl
@@ -33,6 +39,9 @@
 
 	@Autowired
 	private IUserClient userClient;
+
+	@Autowired
+	private IAttResBaseService attResBaseService;
 
 	@Override
 	public Boolean saveOrUpdateResManagePerson(AttResManagePerson attResManagePerson) {
@@ -97,11 +106,11 @@
 			User user = new User();
 			user.setId(Long.parseLong(vo.getUserPhone()));
 			user.setAccount(vo.getUserPhone());
-			user.setPassword("383977f7a48c4600a6cadff28f4340cee30f3011");
+			user.setPassword("Zhsk@123456");
 			user.setRoleId(vo.getRoleId());
 			// 如果是巡查责任人,设置为默认部门
 			if (user.getRoleId().equals("1642713427301355522")) {
-				user.setDeptId(String.valueOf(Integer.parseInt(vo.getAdCode()) + 1));
+				user.setDeptId(String.valueOf(Long.valueOf(vo.getAdCode()) + 1));
 			} else {
 				user.setDeptId(vo.getAdCode());
 			}
@@ -110,6 +119,11 @@
 			user.setRealName(vo.getUserName().trim());
 			user.setPhone(vo.getUserPhone());
 			try {
+				R<List<User>> listR = userClient.userInfoByPhoneOrAccount("000000",user.getPhone());
+				// 存在不保存
+				if (listR.getData().size() > 0) {
+					continue;
+				}
 				R<Boolean> ret = userClient.saveUser(user);
 				if (ret.getData()) {
 					i++;
@@ -138,4 +152,176 @@
 	public Set<String> getPersonListByWaterCodeList(List<String> list) {
 		return baseMapper.getPersonListByWaterCodeList(list);
 	}
+
+	/**
+	 * 根据水库编号查询市县水利部人员姓名及联系方式
+	 * @param res_cd 水库编号
+	 * @return
+	 */
+	@Override
+	public List<PersonVO> getCityCountyPersonListByResGuid(String res_cd) {
+		List<PersonVO> personVOList = new ArrayList<>();
+		// 查询当前水库对应的市级编号和县区编号
+		AttResBaseVO attResBaseVO = attResBaseService.getCityCountyCodeByResGuid(res_cd);
+		if (null!= attResBaseVO) {
+			// 通过编号查询对应的人员
+			List<PersonVO> cityPerson = baseMapper.getCityCountyPersonListByResGuid(attResBaseVO.getCityCode(), "sdglywuser", "市州水库管理业务人员");
+			List<PersonVO> countyPerson = baseMapper.getCityCountyPersonListByResGuid(attResBaseVO.getCountyCode(), "qxglywuser", "区县水库管理业务人员");
+			// 和
+			personVOList.addAll(cityPerson);
+			personVOList.addAll(countyPerson);
+		}
+		// 返回
+		return personVOList;
+	}
+
+	@DS("master")
+	@Override
+	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);
+	}
+
+	@Override
+	public String getCompetentDepart(String resCd) {
+		return baseMapper.getCompetentDepart(resCd);
+	}
+
+	@Override
+	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 (townName != null &&(townName.equals("县直管") || townName.equals("区直管"))){
+				//如果是区直管,找区县管理员
+				String townCode = resAd.getTownCode();
+
+				deptUser = baseMapper.getPersonByRoleAndAd("qxswjgly",townCode);
+				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;
+	}
 }

--
Gitblit v1.9.3