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;
|
|
/**
|
* @ClassName AttResBaseServiceImpl
|
* @Description TODO
|
* @Author aix
|
* @Date 2023/4/21 20:01
|
* @Version 1.0
|
*/
|
@Service
|
@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));
|
}
|
|
@Override
|
public IPage<AttResBase> getListByRegion(IPage<AttResBase> page,Map<String, Object> obj) {
|
return page.setRecords(baseMapper.getListByRegion(page,obj));
|
}
|
|
@Override
|
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);
|
}
|
}
|