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 | 249 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 247 insertions(+), 2 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..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,19 +1,30 @@
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;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @ClassName AttResManagePersonServiceImpl
@@ -25,6 +36,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 +93,235 @@
* @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);
+ }
+
+ @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