skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java
@@ -71,4 +71,16 @@ AttResBase attResBase = attResBaseService.getDetailByCode(code); return R.data(attResBase); } /** * 获取水库对应责任人分页数据 * @param params 条件查询参数对象 * @param query 分页查询参数对象 * @return */ @ApiOperation(value = "中台水库-获取水库对应责任人分页数据", notes = "中台水库-获取水库对应责任人分页数据") @GetMapping(value = "/getAttResBaseUserPage") public R getAttResBaseUserPage(@RequestParam Map<String, Object> params,Query query) { return R.data(attResBaseService.getAttResBaseUserPage(Condition.getPage(query),params)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/dto/AttResBaseUserDTO.java
New file @@ -0,0 +1,160 @@ package cn.gistack.sm.sjztmd.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; /** * 水库对应责任人信息对象 * @author zhongrj * @date 2023-05-11 */ @Data public class AttResBaseUserDTO implements Serializable{ private static final long serialVersionUID = 1L; /** * 主键 */ @ApiModelProperty(value = "主键") private String guid; /** * 水库编码 */ @ApiModelProperty(value = "水库编码") private String code; /** * 水库名称 */ @ApiModelProperty(value = "水库名称") private String name; /** * 注册登记码 */ @ApiModelProperty(value = "注册登记码") private String resRegCode; /** * 所属区域 */ @ApiModelProperty(value = "所属区域") private String adName; /** * 工程规模 */ @ApiModelProperty(value = "工程规模") private String engScal; /** * 所属地点 */ @ApiModelProperty(value = "所属地点") private String place; /** * 行政责任人-姓名 */ @ApiModelProperty(value = "行政责任人-姓名") private String areaUsername; /** * 行政责任人-联系电话 */ @ApiModelProperty(value = "行政责任人-联系电话") private String areaPhone; /** * 行政责任人-职务 */ @ApiModelProperty(value = "行政责任人-职务") private String areaPosition; /** * 行政责任人-所属单位 */ @ApiModelProperty(value = "行政责任人-所属单位") private String areaUnitName; /** * 主管部门责任人-姓名 */ @ApiModelProperty(value = "主管部门责任人-姓名") private String customsUsername; /** * 主管部门责任人-联系电话 */ @ApiModelProperty(value = "主管部门责任人-联系电话") private String customsPhone; /** * 主管部门责任人-职务 */ @ApiModelProperty(value = "主管部门责任人-职务") private String customsPosition; /** * 主管部门责任人-所属单位 */ @ApiModelProperty(value = "主管部门责任人-所属单位") private String customsUnitName; /** * 管理单位责任人-姓名 */ @ApiModelProperty(value = "管理单位责任人-姓名") private String manageUnitUsername; /** * 管理单位责任人-联系电话 */ @ApiModelProperty(value = "管理单位责任人-联系电话") private String manageUnitPhone; /** * 管理单位责任人-职务 */ @ApiModelProperty(value = "管理单位责任人-职务") private String manageUnitPosition; /** * 管理单位责任人-所属单位 */ @ApiModelProperty(value = "管理单位责任人-所属单位") private String manageUnitUnitName; /** * 技术责任人-姓名 */ @ApiModelProperty(value = "技术责任人-姓名") private String technologyUsername; /** * 技术责任人-联系电话 */ @ApiModelProperty(value = "技术责任人-联系电话") private String technologyPhone; /** * 技术责任人-职务 */ @ApiModelProperty(value = "技术责任人-职务") private String technologyPosition; /** * 技术责任人-所属单位 */ @ApiModelProperty(value = "技术责任人-所属单位") private String technologyUnitName; /** * 巡查责任人-姓名 */ @ApiModelProperty(value = "巡查责任人-姓名") private String patrolUsername; /** * 巡查责任人-联系电话 */ @ApiModelProperty(value = "巡查责任人-联系电话") private String patrolPhone; /** * 巡查责任人-职务 */ @ApiModelProperty(value = "巡查责任人-职务") private String patrolPosition; /** * 巡查责任人-所属单位 */ @ApiModelProperty(value = "巡查责任人-所属单位") private String patrolUnitName; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
@@ -1,6 +1,8 @@ package cn.gistack.sm.sjztmd.mapper; import cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO; import cn.gistack.sm.sjztmd.entity.AttResBase; import cn.gistack.sm.sjztmd.vo.ManagePersonVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; @@ -21,4 +23,22 @@ List<AttResBase> getListByRegion(IPage<AttResBase> page,@Param("obj") Map<String, Object> obj); AttResBase getDetailByCode(@Param("code") String code); /** * 获取水库对应责任人分页数据 * @param params 条件查询参数对象 * @param list 行政区code集合 * @param page 分页查询参数对象 * @return */ List<AttResBaseUserDTO> getAttResBaseUserPage(IPage<AttResBaseUserDTO> page, @Param("list") List<String> list, @Param("params") Map<String, Object> params); /** * 查询各类型责任人 * @param guid 水库 guid * @return */ List<ManagePersonVO> getUserByResBaseGuid(@Param("guid") String guid); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -22,4 +22,45 @@ SELECT "code","name","ad_guid" FROM "att_res_base" WHERE "is_deleted"=0 and "code" = #{code} </select> <!--获取水库对应责任人分页数据--> <select id="getAttResBaseUserPage" resultType="cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO"> select arb."guid", arb."name", arb."res_loc" as place, arb."res_reg_code" as resRegCode, arb."eng_scal" as engScal, aab."ad_name" as adName from SJZT_MD."att_res_base" arb left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000') where 1=1 <if test="params.name !=null and params.name !=''"> AND arb."name" LIKE CONCAT('%',#{params.name},'%') </if> <if test="params.resRegCode !=null and params.resRegCode !=''"> AND arb."res_reg_code" LIKE CONCAT('%',#{params.resRegCode},'%') </if> <if test="params.engScal !=null and params.engScal !=''"> AND arb."eng_scal" LIKE CONCAT('%',#{params.engScal},'%') </if> <if test="list != null and list.size()>0"> and aab."ad_code" in <foreach collection="list" item="adCode" separator ="," open="(" close=")"> #{adCode} </foreach> </if> </select> <!--查询各类型责任人--> <select id="getUserByResBaseGuid" resultType="cn.gistack.sm.sjztmd.vo.ManagePersonVO"> select trmp."type", trmp."user_name" as username, trmp."user_unit" as unitName, trmp."position", trmp."user_phone" as phone from "SJZT_MD"."tb_res_manage_person" trmp where trmp."res_guid" = #{guid} </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
@@ -1,5 +1,6 @@ package cn.gistack.sm.sjztmd.service; import cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO; import cn.gistack.sm.sjztmd.entity.AttAdBase; import cn.gistack.sm.sjztmd.entity.AttResBase; import cn.gistack.sm.sjztmd.vo.AttAdBaseVO; @@ -23,4 +24,12 @@ IPage<AttResBase> getListByRegion(IPage<AttResBase> page,Map<String, Object> obj); AttResBase getDetailByCode(String code); /** * 获取水库对应责任人分页数据 * @param params 条件查询参数对象 * @param page 分页查询参数对象 * @return */ IPage<AttResBaseUserDTO> getAttResBaseUserPage(IPage<AttResBaseUserDTO> page, Map<String, Object> params); } 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); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ManagePersonVO.java
New file @@ -0,0 +1,48 @@ package cn.gistack.sm.sjztmd.vo; import lombok.Data; import java.io.Serializable; /** * 责任人信息vo * @author zhongrj * @date 2023-05-11 */ @Data public class ManagePersonVO implements Serializable { private static final long serialVersionUID = 1L; /** * 责任人类型 * 1:行政责任人 * 2:主管部门责任人 * 3:管理单位责任人 * 4:技术责任人 * 5:巡查责任人 */ private Integer type; /** * 姓名 */ private String username; /** * 单位名称 */ private String unitName; /** * 职务 */ private String position; /** * 联系电话 */ private String phone; }