zhongrj
2023-05-11 31c0b7efab611b1461c0480437db2ec0c5727230
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
@@ -1,13 +1,19 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper;
import cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.mapper.AttResBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.vo.ManagePersonVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -22,6 +28,9 @@
@DS("zt")
public class AttResBaseServiceImpl extends ServiceImpl<AttResBaseMapper, AttResBase> implements IAttResBaseService {
   @Autowired
   private CallTaskMapper callTaskMapper;
   @Override
   public IPage<AttResBase> selectAttResBasePage(IPage<AttResBase> page, AttResBase attResBase) {
      return page.setRecords(baseMapper.selectAttResBasePage(page,attResBase));
@@ -36,4 +45,72 @@
   public AttResBase getDetailByCode(String code) {
      return baseMapper.getDetailByCode(code);
   }
   /**
    * 获取水库对应责任人分页数据
    * @param params 条件查询参数对象
    * @param page 分页查询参数对象
    * @return
    */
   @Override
   public IPage<AttResBaseUserDTO> getAttResBaseUserPage(IPage<AttResBaseUserDTO> page,Map<String, Object> params) {
      List<String> list = new ArrayList<>();
      Object adCode = params.get("adCode");
      if (null != adCode && !adCode.equals("")) {
         list = callTaskMapper.getAllChildrenAreaByAreaCode(adCode.toString());
      }
      List<AttResBaseUserDTO> attResBaseUserDTOList = baseMapper.getAttResBaseUserPage(page,list,params);
      // 遍历查询所在地点和其它责任人信息
      for (AttResBaseUserDTO attResBaseUserDTO : attResBaseUserDTOList) {
         // 查询各类型责任人
         List<ManagePersonVO> userList = baseMapper.getUserByResBaseGuid(attResBaseUserDTO.getGuid());
         // 组装数据
         if (userList.size() > 0){
            // 责任人类型 1:行政责任人 2:主管部门责任人 3:管理单位责任人 4:技术责任人 5:巡查责任人
            for (ManagePersonVO person : userList) {
               // 1:行政责任人
               if (person.getType().equals(1)) {
                  attResBaseUserDTO.setAreaUsername(person.getUsername());
                  attResBaseUserDTO.setAreaUnitName(person.getUnitName());
                  attResBaseUserDTO.setAreaPosition(person.getPosition());
                  attResBaseUserDTO.setAreaPhone(person.getPhone());
               }
               // 2:主管部门责任人
               if (person.getType().equals(2)) {
                  attResBaseUserDTO.setCustomsUsername(person.getUsername());
                  attResBaseUserDTO.setCustomsUnitName(person.getUnitName());
                  attResBaseUserDTO.setCustomsPosition(person.getPosition());
                  attResBaseUserDTO.setCustomsPhone(person.getPhone());
               }
               // 3:管理单位责任人
               if (person.getType().equals(3)) {
                  attResBaseUserDTO.setManageUnitUsername(person.getUsername());
                  attResBaseUserDTO.setManageUnitUnitName(person.getUnitName());
                  attResBaseUserDTO.setManageUnitPosition(person.getPosition());
                  attResBaseUserDTO.setManageUnitPhone(person.getPhone());
               }
               // 4:技术责任人
               if (person.getType().equals(4)) {
                  attResBaseUserDTO.setTechnologyUsername(person.getUsername());
                  attResBaseUserDTO.setTechnologyUnitName(person.getUnitName());
                  attResBaseUserDTO.setTechnologyPosition(person.getPosition());
                  attResBaseUserDTO.setTechnologyPhone(person.getPhone());
               }
               // 5:巡查责任人
               if (person.getType().equals(5)) {
                  attResBaseUserDTO.setPatrolUsername(person.getUsername());
                  attResBaseUserDTO.setPatrolUnitName(person.getUnitName());
                  attResBaseUserDTO.setPatrolPosition(person.getPosition());
                  attResBaseUserDTO.setPatrolPhone(person.getPhone());
               }
            }
         }
      }
      // 返回数据
      return page.setRecords(attResBaseUserDTOList);
   }
}