From 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 19 Oct 2023 15:01:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 1 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 b0490de..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,19 +1,28 @@
 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.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.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @ClassName AttResManagePersonServiceImpl
@@ -25,6 +34,13 @@
 @Service
 @DS("zt")
 public class AttResManagePersonServiceImpl extends ServiceImpl<AttResManagePersonMapper, AttResManagePerson> implements IAttResManagePersonService {
+
+	@Autowired
+	private IUserClient userClient;
+
+	@Autowired
+	private IAttResBaseService attResBaseService;
+
 	@Override
 	public Boolean saveOrUpdateResManagePerson(AttResManagePerson attResManagePerson) {
 		if (StringUtil.isBlank(attResManagePerson.getResGuid()))
@@ -75,8 +91,101 @@
 	 * @return
 	 */
 	@Override
-	@DS("zt")
 	public List<PersonVO> getPersonListByResGuid(String res_cd, List<String> personList) {
 		return baseMapper.getPersonListByResGuid(res_cd,personList);
 	}
+
+	@Override
+	public int synchronizationAddUser() {
+		// 同步没有责任人表中没有的用户
+		List<UserPersonVO> userPersonVOS = baseMapper.getPersonByUserNotExists();
+		int i = 0;
+		for (UserPersonVO vo:userPersonVOS) {
+			User user = new User();
+			user.setId(Long.parseLong(vo.getUserPhone()));
+			user.setAccount(vo.getUserPhone());
+			user.setPassword("Zhsk@123456");
+			user.setRoleId(vo.getRoleId());
+			// 如果是巡查责任人,设置为默认部门
+			if (user.getRoleId().equals("1642713427301355522")) {
+				user.setDeptId(String.valueOf(Long.valueOf(vo.getAdCode()) + 1));
+			} else {
+				user.setDeptId(vo.getAdCode());
+			}
+			user.setDeptId(vo.getAdCode());
+			user.setName(vo.getUserName().trim());
+			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++;
+				}
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+
+		}
+		return i;
+	}
+
+	@Override
+	public int synchronizationUpdateUser() {
+		// 同步没有责任人表中没有的用户
+		int ret = baseMapper.updateUserByPerson();
+		return ret;
+	}
+
+	/**
+	 * 通过水库代码获取巡查责任人及技术责任人手机号
+	 * @param list
+	 * @return
+	 */
+	@Override
+	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);
+	}
 }

--
Gitblit v1.9.3