| | |
| | | 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 |
| | |
| | | @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())) |
| | |
| | | * @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; |
| | | } |
| | | } |