xieb
2023-10-19 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4
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);
   }
}