forked from gzzfw/backEnd/gz-dyh

xusd
2024-09-21 0cda8b189c2c1a9d73280ae82aedcdffdee492e1
首页登记记录接口
2 files added
3 files modified
317 ■■■■■ changed files
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java 133 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java 3 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml 85 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java 55 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java 41 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java
New file
@@ -0,0 +1,133 @@
package cn.huge.module.cases.controller.web;
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
import cn.huge.module.cases.domain.dto.CaseRegisterDTO;
import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.cases.service.CaseInfoService;
import com.google.common.collect.Maps;
import dm.jdbc.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/api/web/caseRegisterInfo")
public class CaseRegisterInfoWebController {
    @Autowired(required = false)
    private HttpServletRequest request;
    private Map<String, Object> getParameter(){
        Map<String, Object> terms = Maps.newHashMap();
        // 登记部门
        String inputUnitName = request.getParameter("inputUnitName");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(inputUnitName)){
            terms.put("inputUnitName", inputUnitName);
        }
        // 事项等级
        String caseLevel = request.getParameter("caseLevel");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(caseLevel)){
            terms.put("caseLevel", caseLevel);
        }
        // 纠纷一级类型
        String caseTypeFirst = request.getParameter("caseTypeFirst");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(caseTypeFirst)){
            terms.put("caseTypeFirst", caseTypeFirst);
        }
        // 纠纷一级类型名称
        String caseTypeFirstName = request.getParameter("caseTypeFirstName");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(caseTypeFirstName)){
            terms.put("caseTypeFirstName", caseTypeFirstName);
        }
        // 纠纷类型
        String caseType = request.getParameter("caseType");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(caseType)){
            terms.put("caseType", caseType);
        }
        // 纠纷类型名称
        String caseTypeName = request.getParameter("caseTypeName");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(caseTypeName)){
            terms.put("caseTypeName", caseTypeName);
        }
        // 事项来源
        String canal = request.getParameter("canal");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(canal)){
            terms.put("canal", canal);
        }
        // 事项来源名称
        String canalName = request.getParameter("canalName");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(canalName)){
            terms.put("canalName", canalName);
        }
        // 申请方当事人名称
        String plaintiffs = request.getParameter("plaintiffs");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(plaintiffs)){
            terms.put("plaintiffs", plaintiffs);
        }
        // 被申请方当事人名称
        String defendants = request.getParameter("defendants");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(defendants)){
            terms.put("defendants", defendants);
        }
        // 事项状态,1:待分派,2:待签收,3:待受理,:4:办理中,5:结案审核,6:待评价,7:已归档
        String status = request.getParameter("status");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(status)){
            terms.put("status", status);
        }
        // 事项状态名称
        String statusName = request.getParameter("statusName");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(statusName)){
            terms.put("statusName", statusName);
        }
        // 事项状态名称
        String mediResultName = request.getParameter("mediResultName");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(mediResultName)){
            terms.put("mediResultName", mediResultName);
        }
        // 登记时间区间
        String createStart = request.getParameter("createStart");
        String createEnd = request.getParameter("createEnd");
        if(org.apache.commons.lang3.StringUtils.isNotBlank(createStart) && org.apache.commons.lang3.StringUtils.isNotBlank(createEnd)) {
            terms.put("createStart", createStart);
            terms.put("createEnd", createEnd);
        }
        return terms;
    }
    @Autowired
    private CaseInfoService service;
    @GetMapping("/pageQuery")
    public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "orderBy") String orderBy) {
        try {
            Sort sort = null;
            if (StringUtil.isEmpty(orderBy)) {
                sort = Sort.by(Sort.Direction.DESC, "create_time");
            } else {
                sort = Sort.by(Sort.Direction.DESC, orderBy);
            }
            Map<String, Object> terms = getParameter();
            PageRequest pageRequest = PageRequest.of(page - 1, size, sort);
            Page<CaseRegisterDTO> caseInfoPage = service.pageQueryRegister(pageRequest, terms);
            return ReturnSucUtils.getRepInfo("处理成功", caseInfoPage);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseInfoMapper.java
@@ -69,6 +69,9 @@
    */
    List<CaseInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
    List<CaseRegisterDTO> pageTermsCaseRegister(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
    long countTermsCaseRegister(@Param("terms") Map<String, Object> terms);
    /**
     * 按条件查询实体总数
     * @param terms 查询条件集合
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -107,7 +107,10 @@
    <!-- 表 -->
    <sql id='table-name'>dyh_case_info</sql>
    <sql id="column-part-all">
        a.id,
        a
        .
        id
        ,
        a.status,
        a.status_name,
        a.canal,
@@ -131,7 +134,8 @@
    </sql>
    <!-- 字段 -->
    <sql id="column-part">
        id,
        id
        ,
        case_title,
        case_ref,
        case_level,
@@ -521,7 +525,8 @@
                </if>
                <if test="terms.processList != null and terms.processList.size > 0">
                    and process in
                    <foreach collection="terms.processList" item="process" index="index" open="(" separator="," close=")">
                    <foreach collection="terms.processList" item="process" index="index" open="(" separator=","
                             close=")">
                        #{process}
                    </foreach>
                </if>
@@ -652,6 +657,80 @@
    </select>
    <sql id="where-register-part">
        <if test="terms != null">
            <where>
                <if test="terms.inputUnitName != null and terms.inputUnitName !=''">
                    and t1.input_unit_mame = #{inputUnitName}
                </if>
                <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
                    and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
                    and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
                </if>
                <if test="terms.caseLevel != null and terms.caseLevel !=''">
                    and t1.case_level = #{terms.caseLevel}
                </if>
                <if test="terms.caseTypeFirstName != null and terms.caseTypeFirstName !=''">
                    and t1.case_type_first_name = #{caseTypeFirstName}
                </if>
                <if test="terms.caseTypeName != null and terms.caseTypeName !=''">
                    and t1.case_type_name = #{terms.caseTypeName}
                </if>
                <if test="terms.canal != null and terms.canal !=''">
                    and t1.canal = #{canal}
                </if>
                <if test="terms.canalName != null and terms.canalName !=''">
                    and t1.canal_name = #{canalName}
                </if>
                <if test="terms.plaintiffs != null and terms.plaintiffs !=''">
                    and t1.plaintiffs = #{terms.plaintiffs}
                </if>
                <if test="terms.defendants != null and terms.defendants !=''">
                    and t1.defendants = #{terms.defendants}
                </if>
                <if test="terms.status != null and terms.status !=''">
                    and t1.status = #{terms.status}
                </if>
                <if test="terms.statusName != null and terms.statusName !=''">
                    and t1.statusName = #{terms.statusName}
                </if>
                <if test="terms.mediResultName != null and terms.mediResultName !=''">
                    and t2.medi_result_name = #{terms.mediResultName}
                </if>
            </where>
        </if>
    </sql>
    <select id="pageTermsCaseRegister" resultType="cn.huge.module.cases.domain.dto.CaseRegisterDTO">
        SELECT
        t1.create_time as createTime,t1.input_user_name as inputUserName,t1.status_name as statusName,t1.case_level as
        caseLevel,t1.canal_name as canalName,
        t1.case_type_first_name as caseTypeFirstName,t1.case_type_name as caseTypeName,t1.plaintiffs as
        plaintiffs,t1.defendants as defendants,t2.medi_result_name as mediResultName,
        t3.number as superviseCount
        FROM
        dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id
        left join (select count(*) as number ,case_id from dyh_case_supervise group by case_id) t3 on t3.case_id=t1.id
        <include refid="where-register-part"/>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                isnull(${s.property}), ${s.property} ${s.direction}
            </foreach>
        </if>
        <if test="page.sort == null">
            order by isnull(create_time), create_time desc
        </if>
        limit #{page.offset}, #{page.size}
    </select>
    <select id="countTermsCaseRegister" resultType="java.lang.Long" >
        SELECT
        count(t1.id)
        FROM
        dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id
        <include refid="where-register-part"/>
    </select>
    <!--  根据条件统计  -->
    <select id="countTermsAll" resultType="java.lang.Long">
        select
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java
New file
@@ -0,0 +1,55 @@
package cn.huge.module.cases.domain.dto;
import lombok.Data;
import java.util.Date;
@Data
public class CaseRegisterDTO {
    /**
     * 登记时间
     */
    private Date createTime;
    /**
     * 登记人员
     */
    private String inputUserName;
    /**
     * 事项状态
     */
    private String statusName;
    /**
     * 事项登记
     */
    private int caseLevel;
    /**
     * 事项来源
     */
    private String canalName;
    /**
     * 纠纷一级类型名称
     */
    private String caseTypeFirstName;
    /**
     * 纠纷二级类型名称
     */
    private String caseTypeName;
    /**
     *化解结果
     */
    private String mediResultName;
    /**
     * 申请方
     */
    private String plaintiffs;
    /**
     * 被申请方
     */
    private String defendants;
    /**
     * 督办次数
     */
    private int superviseCount;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -44,12 +44,12 @@
import java.util.stream.Collectors;
/**
 * @author wangwh
 * @version 1.0.0
 * @title: 纠纷信息主表业务逻辑处理
 * @Description 纠纷信息主表业务逻辑处理
 * @company hugeinfo
 * @author wangwh
 * @Time 2024-08-27 10:00:57
 * @version 1.0.0
 */
@Slf4j
@Service
@@ -89,6 +89,7 @@
    /**
    * 更新对象
     *
    * @param entity 对象
    */
    public void updateCaseInfo(CaseInfo entity){
@@ -102,6 +103,7 @@
    /**
     * 批量更新对象
     *
     * @param entity 对象
     * @param caseIdList
     */
@@ -116,6 +118,7 @@
    /**
    * 条件更新对象
     *
    * @param entity 对象
    * @param terms 条件
    */
@@ -130,6 +133,7 @@
    /**
    * 根据编号物理删除
     *
    * @param id 查询条件集合
    */
    public void deleteCaseInfo(String id){
@@ -143,6 +147,7 @@
    /**
    * 按条件查询
     *
    * @param terms 条件
    * @return List
    */
@@ -152,6 +157,7 @@
    /**
    * 按条件统计
     *
    * @param terms 条件
    * @return long
    */
@@ -161,6 +167,7 @@
    /**
    * 按条件分页查询
     *
    * @param page 分页对象
    * @param terms 条件
    * @return Page
@@ -172,7 +179,21 @@
    }
    /**
     * 按条件分页查询
     *
     * @param page  分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<CaseRegisterDTO> pageQueryRegister(PageRequest page, Map<String, Object> terms) {
        long total = mapper.countTermsCaseRegister(terms);
        List<CaseRegisterDTO> content = mapper.pageTermsCaseRegister(page, terms);
        return new PageImpl<CaseRegisterDTO>(content, page, total);
    }
    /**
    * 新增或更新对象
     *
    * @param caseInfo 实体对象
    */
    public void saveCaseInfo(CaseInfo caseInfo){
@@ -193,6 +214,7 @@
    /**
     * PC端-纠纷登记-保存纠纷信息-正常案件
     *
     * @param registerSaveDTO 纠纷信息
     * @param userId 用户编号
     * @return String 纠纷编号
@@ -270,6 +292,7 @@
    /**
     * pc端-常规登记-保存正式案件-保存人员信息
     *
     * @param registerSaveDTO 纠纷信息
     * @param plaintiffs 申请人
     * @param pagents 申请人代理人
@@ -388,6 +411,7 @@
    /**
     * PC端-查询纠纷信息
     *
     * @param caseId 纠纷编号
     * @return CaseInfo 纠纷信息
     */
@@ -446,6 +470,7 @@
    /**
     * PC端-查询纠纷信息
     *
     * @param caseId 纠纷编号
     * @return CaseInfo 纠纷信息
     */
@@ -504,6 +529,7 @@
    /**
     * 绑定当事人小程序
     *
     * @param casePerson 当事人信息
     */
    public void setPartyUserId(CasePerson casePerson) {
@@ -527,6 +553,7 @@
    /**
     * 绑定当事人小程序
     *
     * @param caseAgent 代理人人信息
     */
    public void setPartyUserId(CaseAgent caseAgent){
@@ -546,6 +573,7 @@
    /**
     * PC端-纠纷登记-保存纠纷信息-正常案件
     *
     * @param registerSaveDTO 纠纷信息
     * @param userId 用户编号
     * @return String 纠纷编号
@@ -591,7 +619,6 @@
        caseInfo.setCaseRef(utilsClient.createCaseRef());
        // 为了演示先兼容小程序没属地问题,写死属地
        if (ObjectUtils.isEmpty(caseInfo.getQueProv())) {
//                caseInfo.setQueProv("19");
//                caseInfo.setQueProvName("广东");
//                caseInfo.setQueCity("1601");
@@ -600,9 +627,9 @@
//                caseInfo.setQueAreaName("白云区");
//                caseInfo.setQueRoad("62857");
//                caseInfo.setQueRoadName("新市街道");
            // 根据经纬度查询问题属地
            QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat());
        log.info("xsdqueAddrBaseDTO:{}", queAddrBaseDTO);
            caseInfo.setQueProv(queAddrBaseDTO.getQueProv());
            caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName());
            caseInfo.setQueCity(queAddrBaseDTO.getQueCity());
@@ -611,7 +638,7 @@
            caseInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName());
            caseInfo.setQueRoad(queAddrBaseDTO.getQueRoad());
            caseInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName());
        }
        log.info("xsdcaseInfo:{}", caseInfo);
        caseInfoUnfold.setId(caseInfo.getId());
        caseInfoUnfold.setCreateTime(nowDate);
        caseInfoUnfold.setUpdateTime(nowDate);
@@ -657,6 +684,7 @@
    /**
     * 生成调解案件标题
     *
     * @param plaintiffs 申请人
     * @param defendants 被申请人
     * @param caseTypeName 纠纷类型
@@ -687,6 +715,7 @@
    /**
     * pc端-常规登记-保存正式案件-保存人员信息
     *
     * @param registerSaveDTO 纠纷信息
     * @param plaintiffs 申请人
     * @param pagents 申请人代理人
@@ -779,6 +808,7 @@
    /**
     * 按条件分页查询-小程序查询
     *
     * @param page 分页对象
     * @param terms 条件
     * @return Page
@@ -865,6 +895,7 @@
    /**
     * 按条件分页查询-综合查询
     *
     * @param page 分页对象
     * @param terms 条件
     * @return Page