guoshilong
2024-03-12 b7c3fc85eba070a5c6625bc680ae9993d5553fae
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -6,6 +6,7 @@
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;
@@ -13,6 +14,8 @@
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;
@@ -20,9 +23,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @ClassName AttResManagePersonServiceImpl
@@ -198,4 +200,117 @@
   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 (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;
   }
}