zhongrj
2023-05-11 31c0b7efab611b1461c0480437db2ec0c5727230
新增水库对应责任人查询接口
5 files modified
2 files added
367 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/dto/AttResBaseUserDTO.java 160 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml 41 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java 77 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ManagePersonVO.java 48 ●●●●● patch | view | raw | blame | history
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;
}