forked from gzzfw/backEnd/gz-dyh

xusd
2024-09-21 0cda8b189c2c1a9d73280ae82aedcdffdee492e1
首页登记记录接口
2 files added
3 files modified
933 ■■■■■ 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 371 ●●●●● 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 371 ●●●● 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
@@ -11,75 +11,75 @@
<mapper namespace="cn.huge.module.cases.dao.mapper.CaseInfoMapper">
    <!-- 结果集 -->
    <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseInfo">
            <result property="id" column="id"/>
            <result property="caseTitle" column="case_title"/>
            <result property="caseRef" column="case_ref"/>
            <result property="caseLevel" column="case_level"/>
            <result property="visitTime" column="visit_time"/>
            <result property="visitPeopleNum" column="visit_people_num"/>
            <result property="mediType" column="medi_type"/>
            <result property="mediTypeName" column="medi_type_name"/>
            <result property="caseTypeFirst" column="case_type_first"/>
            <result property="caseTypeFirstName" column="case_type_first_name"/>
            <result property="caseType" column="case_type"/>
            <result property="caseTypeName" column="case_type_name"/>
            <result property="occurTime" column="occur_time"/>
            <result property="addr" column="addr"/>
            <result property="lng" column="lng"/>
            <result property="lat" column="lat"/>
            <result property="wgAddr" column="wg_addr"/>
            <result property="wgLng" column="wg_lng"/>
            <result property="wgLat" column="wg_lat"/>
            <result property="queProv" column="que_prov"/>
            <result property="queProvName" column="que_prov_name"/>
            <result property="queCity" column="que_city"/>
            <result property="queCityName" column="que_city_name"/>
            <result property="queArea" column="que_area"/>
            <result property="queAreaName" column="que_area_name"/>
            <result property="queRoad" column="que_road"/>
            <result property="queRoadName" column="que_road_name"/>
            <result property="queVillage" column="que_village"/>
            <result property="queVillageName" column="que_village_name"/>
            <result property="peopleNum" column="people_num"/>
            <result property="amount" column="amount"/>
            <result property="crowd" column="crowd"/>
            <result property="crowdName" column="crowd_name"/>
            <result property="canal" column="canal"/>
            <result property="canalName" column="canal_name"/>
            <result property="visitWay" column="visit_way"/>
            <result property="visitWayName" column="visit_way_name"/>
            <result property="caseDes" column="case_des"/>
            <result property="caseClaim" column="case_claim"/>
            <result property="majorStatus" column="major_status"/>
            <result property="source" column="source"/>
            <result property="sourceName" column="source_name"/>
            <result property="caseNo" column="case_no"/>
            <result property="mediateNo" column="mediate_no"/>
            <result property="mediateBookNo" column="mediate_book_no"/>
            <result property="civilNo" column="civil_no"/>
            <result property="plaintiffs" column="plaintiffs"/>
            <result property="pagents" column="pagents"/>
            <result property="defendants" column="defendants"/>
            <result property="dagents" column="dagents"/>
            <result property="inputUnitId" column="input_unit_id"/>
            <result property="inputUnitName" column="input_unit_name"/>
            <result property="inputUserId" column="input_user_id"/>
            <result property="inputUserName" column="input_user_name"/>
            <result property="inputWay" column="input_way"/>
            <result property="status" column="status"/>
            <result property="statusName" column="status_name"/>
            <result property="process" column="process"/>
            <result property="processName" column="process_name"/>
            <result property="infoProcess" column="info_process"/>
            <result property="infoProcessName" column="info_process_name"/>
            <result property="wantUnitId" column="want_unit_id"/>
            <result property="wantUnitName" column="want_unit_name"/>
            <result property="wantUserId" column="want_user_id"/>
            <result property="wantUserName" column="want_user_name"/>
            <result property="deleteStatus" column="delete_status"/>
            <result property="custId" column="cust_id"/>
            <result property="createTime" column="create_time"/>
            <result property="updateTime" column="update_time"/>
        <result property="id" column="id"/>
        <result property="caseTitle" column="case_title"/>
        <result property="caseRef" column="case_ref"/>
        <result property="caseLevel" column="case_level"/>
        <result property="visitTime" column="visit_time"/>
        <result property="visitPeopleNum" column="visit_people_num"/>
        <result property="mediType" column="medi_type"/>
        <result property="mediTypeName" column="medi_type_name"/>
        <result property="caseTypeFirst" column="case_type_first"/>
        <result property="caseTypeFirstName" column="case_type_first_name"/>
        <result property="caseType" column="case_type"/>
        <result property="caseTypeName" column="case_type_name"/>
        <result property="occurTime" column="occur_time"/>
        <result property="addr" column="addr"/>
        <result property="lng" column="lng"/>
        <result property="lat" column="lat"/>
        <result property="wgAddr" column="wg_addr"/>
        <result property="wgLng" column="wg_lng"/>
        <result property="wgLat" column="wg_lat"/>
        <result property="queProv" column="que_prov"/>
        <result property="queProvName" column="que_prov_name"/>
        <result property="queCity" column="que_city"/>
        <result property="queCityName" column="que_city_name"/>
        <result property="queArea" column="que_area"/>
        <result property="queAreaName" column="que_area_name"/>
        <result property="queRoad" column="que_road"/>
        <result property="queRoadName" column="que_road_name"/>
        <result property="queVillage" column="que_village"/>
        <result property="queVillageName" column="que_village_name"/>
        <result property="peopleNum" column="people_num"/>
        <result property="amount" column="amount"/>
        <result property="crowd" column="crowd"/>
        <result property="crowdName" column="crowd_name"/>
        <result property="canal" column="canal"/>
        <result property="canalName" column="canal_name"/>
        <result property="visitWay" column="visit_way"/>
        <result property="visitWayName" column="visit_way_name"/>
        <result property="caseDes" column="case_des"/>
        <result property="caseClaim" column="case_claim"/>
        <result property="majorStatus" column="major_status"/>
        <result property="source" column="source"/>
        <result property="sourceName" column="source_name"/>
        <result property="caseNo" column="case_no"/>
        <result property="mediateNo" column="mediate_no"/>
        <result property="mediateBookNo" column="mediate_book_no"/>
        <result property="civilNo" column="civil_no"/>
        <result property="plaintiffs" column="plaintiffs"/>
        <result property="pagents" column="pagents"/>
        <result property="defendants" column="defendants"/>
        <result property="dagents" column="dagents"/>
        <result property="inputUnitId" column="input_unit_id"/>
        <result property="inputUnitName" column="input_unit_name"/>
        <result property="inputUserId" column="input_user_id"/>
        <result property="inputUserName" column="input_user_name"/>
        <result property="inputWay" column="input_way"/>
        <result property="status" column="status"/>
        <result property="statusName" column="status_name"/>
        <result property="process" column="process"/>
        <result property="processName" column="process_name"/>
        <result property="infoProcess" column="info_process"/>
        <result property="infoProcessName" column="info_process_name"/>
        <result property="wantUnitId" column="want_unit_id"/>
        <result property="wantUnitName" column="want_unit_name"/>
        <result property="wantUserId" column="want_user_id"/>
        <result property="wantUserName" column="want_user_name"/>
        <result property="deleteStatus" column="delete_status"/>
        <result property="custId" column="cust_id"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
    </resultMap>
    <resultMap id="dataResult-all" type="cn.huge.module.cases.domain.dto.CasePageDTO">
        <result property="id" column="id"/>
@@ -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,
@@ -203,74 +207,74 @@
    </sql>
    <!-- 更新实体字段 -->
    <sql id="set-part">
            <if test="entity.caseTitle != null">case_title = #{entity.caseTitle},</if>
            <if test="entity.caseRef != null">case_ref = #{entity.caseRef},</if>
            <if test="entity.caseLevel != null">case_level = #{entity.caseLevel},</if>
            <if test="entity.visitTime != null">visit_time = #{entity.visitTime},</if>
            <if test="entity.visitPeopleNum != null">visit_people_num = #{entity.visitPeopleNum},</if>
            <if test="entity.mediType != null">medi_type = #{entity.mediType},</if>
            <if test="entity.mediTypeName != null">medi_type_name = #{entity.mediTypeName},</if>
            <if test="entity.caseTypeFirst != null">case_type_first = #{entity.caseTypeFirst},</if>
            <if test="entity.caseTypeFirstName != null">case_type_first_name = #{entity.caseTypeFirstName},</if>
            <if test="entity.caseType != null">case_type = #{entity.caseType},</if>
            <if test="entity.caseTypeName != null">case_type_name = #{entity.caseTypeName},</if>
            <if test="entity.occurTime != null">occur_time = #{entity.occurTime},</if>
            <if test="entity.addr != null">addr = #{entity.addr},</if>
            <if test="entity.lng != null">lng = #{entity.lng},</if>
            <if test="entity.lat != null">lat = #{entity.lat},</if>
            <if test="entity.wgAddr != null">wg_addr = #{entity.wgAddr},</if>
            <if test="entity.wgLng != null">wg_lng = #{entity.wgLng},</if>
            <if test="entity.wgLat != null">wg_lat = #{entity.wgLat},</if>
            <if test="entity.queProv != null">que_prov = #{entity.queProv},</if>
            <if test="entity.queProvName != null">que_prov_name = #{entity.queProvName},</if>
            <if test="entity.queCity != null">que_city = #{entity.queCity},</if>
            <if test="entity.queCityName != null">que_city_name = #{entity.queCityName},</if>
            <if test="entity.queArea != null">que_area = #{entity.queArea},</if>
            <if test="entity.queAreaName != null">que_area_name = #{entity.queAreaName},</if>
            <if test="entity.queRoad != null">que_road = #{entity.queRoad},</if>
            <if test="entity.queRoadName != null">que_road_name = #{entity.queRoadName},</if>
            <if test="entity.queVillage != null">que_village = #{entity.queVillage},</if>
            <if test="entity.queVillageName != null">que_village_name = #{entity.queVillageName},</if>
            <if test="entity.peopleNum != null">people_num = #{entity.peopleNum},</if>
            <if test="entity.amount != null">amount = #{entity.amount},</if>
            <if test="entity.crowd != null">crowd = #{entity.crowd},</if>
            <if test="entity.crowdName != null">crowd_name = #{entity.crowdName},</if>
            <if test="entity.canal != null">canal = #{entity.canal},</if>
            <if test="entity.canalName != null">canal_name = #{entity.canalName},</if>
            <if test="entity.visitWay != null">visit_way = #{entity.visitWay},</if>
            <if test="entity.visitWayName != null">visit_way_name = #{entity.visitWayName},</if>
            <if test="entity.caseDes != null">case_des = #{entity.caseDes},</if>
            <if test="entity.caseClaim != null">case_claim = #{entity.caseClaim},</if>
            <if test="entity.majorStatus != null">major_status = #{entity.majorStatus},</if>
            <if test="entity.source != null">source = #{entity.source},</if>
            <if test="entity.sourceName != null">source_name = #{entity.sourceName},</if>
            <if test="entity.caseNo != null">case_no = #{entity.caseNo},</if>
            <if test="entity.mediateNo != null">mediate_no = #{entity.mediateNo},</if>
            <if test="entity.mediateBookNo != null">mediate_book_no = #{entity.mediateBookNo},</if>
            <if test="entity.civilNo != null">civil_no = #{entity.civilNo},</if>
            <if test="entity.plaintiffs != null">plaintiffs = #{entity.plaintiffs},</if>
            <if test="entity.pagents != null">pagents = #{entity.pagents},</if>
            <if test="entity.defendants != null">defendants = #{entity.defendants},</if>
            <if test="entity.dagents != null">dagents = #{entity.dagents},</if>
            <if test="entity.inputUnitId != null">input_unit_id = #{entity.inputUnitId},</if>
            <if test="entity.inputUnitName != null">input_unit_name = #{entity.inputUnitName},</if>
            <if test="entity.inputUserId != null">input_user_id = #{entity.inputUserId},</if>
            <if test="entity.inputUserName != null">input_user_name = #{entity.inputUserName},</if>
            <if test="entity.inputWay != null">input_way = #{entity.inputWay},</if>
            <if test="entity.status != null">status = #{entity.status},</if>
            <if test="entity.statusName != null">status_name = #{entity.statusName},</if>
            <if test="entity.process != null">process = #{entity.process},</if>
            <if test="entity.processName != null">process_name = #{entity.processName},</if>
            <if test="entity.infoProcess != null">info_process = #{entity.infoProcess},</if>
            <if test="entity.infoProcessName != null">info_process_name = #{entity.infoProcessName},</if>
            <if test="entity.wantUnitId != null">want_unit_id = #{entity.wantUnitId},</if>
            <if test="entity.wantUnitName != null">want_unit_name = #{entity.wantUnitName},</if>
            <if test="entity.wantUserId != null">want_user_id = #{entity.wantUserId},</if>
            <if test="entity.wantUserName != null">want_user_name = #{entity.wantUserName},</if>
            <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
            <if test="entity.custId != null">cust_id = #{entity.custId},</if>
            <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
            <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
        <if test="entity.caseTitle != null">case_title = #{entity.caseTitle},</if>
        <if test="entity.caseRef != null">case_ref = #{entity.caseRef},</if>
        <if test="entity.caseLevel != null">case_level = #{entity.caseLevel},</if>
        <if test="entity.visitTime != null">visit_time = #{entity.visitTime},</if>
        <if test="entity.visitPeopleNum != null">visit_people_num = #{entity.visitPeopleNum},</if>
        <if test="entity.mediType != null">medi_type = #{entity.mediType},</if>
        <if test="entity.mediTypeName != null">medi_type_name = #{entity.mediTypeName},</if>
        <if test="entity.caseTypeFirst != null">case_type_first = #{entity.caseTypeFirst},</if>
        <if test="entity.caseTypeFirstName != null">case_type_first_name = #{entity.caseTypeFirstName},</if>
        <if test="entity.caseType != null">case_type = #{entity.caseType},</if>
        <if test="entity.caseTypeName != null">case_type_name = #{entity.caseTypeName},</if>
        <if test="entity.occurTime != null">occur_time = #{entity.occurTime},</if>
        <if test="entity.addr != null">addr = #{entity.addr},</if>
        <if test="entity.lng != null">lng = #{entity.lng},</if>
        <if test="entity.lat != null">lat = #{entity.lat},</if>
        <if test="entity.wgAddr != null">wg_addr = #{entity.wgAddr},</if>
        <if test="entity.wgLng != null">wg_lng = #{entity.wgLng},</if>
        <if test="entity.wgLat != null">wg_lat = #{entity.wgLat},</if>
        <if test="entity.queProv != null">que_prov = #{entity.queProv},</if>
        <if test="entity.queProvName != null">que_prov_name = #{entity.queProvName},</if>
        <if test="entity.queCity != null">que_city = #{entity.queCity},</if>
        <if test="entity.queCityName != null">que_city_name = #{entity.queCityName},</if>
        <if test="entity.queArea != null">que_area = #{entity.queArea},</if>
        <if test="entity.queAreaName != null">que_area_name = #{entity.queAreaName},</if>
        <if test="entity.queRoad != null">que_road = #{entity.queRoad},</if>
        <if test="entity.queRoadName != null">que_road_name = #{entity.queRoadName},</if>
        <if test="entity.queVillage != null">que_village = #{entity.queVillage},</if>
        <if test="entity.queVillageName != null">que_village_name = #{entity.queVillageName},</if>
        <if test="entity.peopleNum != null">people_num = #{entity.peopleNum},</if>
        <if test="entity.amount != null">amount = #{entity.amount},</if>
        <if test="entity.crowd != null">crowd = #{entity.crowd},</if>
        <if test="entity.crowdName != null">crowd_name = #{entity.crowdName},</if>
        <if test="entity.canal != null">canal = #{entity.canal},</if>
        <if test="entity.canalName != null">canal_name = #{entity.canalName},</if>
        <if test="entity.visitWay != null">visit_way = #{entity.visitWay},</if>
        <if test="entity.visitWayName != null">visit_way_name = #{entity.visitWayName},</if>
        <if test="entity.caseDes != null">case_des = #{entity.caseDes},</if>
        <if test="entity.caseClaim != null">case_claim = #{entity.caseClaim},</if>
        <if test="entity.majorStatus != null">major_status = #{entity.majorStatus},</if>
        <if test="entity.source != null">source = #{entity.source},</if>
        <if test="entity.sourceName != null">source_name = #{entity.sourceName},</if>
        <if test="entity.caseNo != null">case_no = #{entity.caseNo},</if>
        <if test="entity.mediateNo != null">mediate_no = #{entity.mediateNo},</if>
        <if test="entity.mediateBookNo != null">mediate_book_no = #{entity.mediateBookNo},</if>
        <if test="entity.civilNo != null">civil_no = #{entity.civilNo},</if>
        <if test="entity.plaintiffs != null">plaintiffs = #{entity.plaintiffs},</if>
        <if test="entity.pagents != null">pagents = #{entity.pagents},</if>
        <if test="entity.defendants != null">defendants = #{entity.defendants},</if>
        <if test="entity.dagents != null">dagents = #{entity.dagents},</if>
        <if test="entity.inputUnitId != null">input_unit_id = #{entity.inputUnitId},</if>
        <if test="entity.inputUnitName != null">input_unit_name = #{entity.inputUnitName},</if>
        <if test="entity.inputUserId != null">input_user_id = #{entity.inputUserId},</if>
        <if test="entity.inputUserName != null">input_user_name = #{entity.inputUserName},</if>
        <if test="entity.inputWay != null">input_way = #{entity.inputWay},</if>
        <if test="entity.status != null">status = #{entity.status},</if>
        <if test="entity.statusName != null">status_name = #{entity.statusName},</if>
        <if test="entity.process != null">process = #{entity.process},</if>
        <if test="entity.processName != null">process_name = #{entity.processName},</if>
        <if test="entity.infoProcess != null">info_process = #{entity.infoProcess},</if>
        <if test="entity.infoProcessName != null">info_process_name = #{entity.infoProcessName},</if>
        <if test="entity.wantUnitId != null">want_unit_id = #{entity.wantUnitId},</if>
        <if test="entity.wantUnitName != null">want_unit_name = #{entity.wantUnitName},</if>
        <if test="entity.wantUserId != null">want_user_id = #{entity.wantUserId},</if>
        <if test="entity.wantUserName != null">want_user_name = #{entity.wantUserName},</if>
        <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
        <if test="entity.custId != null">cust_id = #{entity.custId},</if>
        <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
        <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
    </sql>
    <!-- 条件 -->
    <sql id="where-part-all">
@@ -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>
@@ -563,14 +568,14 @@
                </if>
                <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
                    and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
                        and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
                    and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
                </if>
                <if test="terms.updateTime != null and terms.updateTime !=''">
                    and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
                </if>
                <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
                    and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
                        and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
                    and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
                </if>
            </where>
        </if>
@@ -614,7 +619,7 @@
    <!--  根据编号物理删除  -->
    <delete id="deleteCaseInfo">
        delete from
        <include refid="table-name" />
        <include refid="table-name"/>
        where id = #{id}
    </delete>
    <!--  根据条件查询  -->
@@ -622,7 +627,7 @@
        select
        <include refid="column-part"/>
        from
        <include refid="table-name" />
        <include refid="table-name"/>
        <include refid="where-part"/>
    </select>
    <!--  根据条件统计  -->
@@ -630,7 +635,7 @@
        select
        COUNT(1)
        from
        <include refid="table-name" />
        <include refid="table-name"/>
        <include refid="where-part"/>
    </select>
    <!--  根据条件分页查询  -->
@@ -638,7 +643,7 @@
        SELECT
        <include refid="column-part"/>
        FROM
        <include refid="table-name" />
        <include refid="table-name"/>
        <include refid="where-part"/>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -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,17 +44,17 @@
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
@Transactional(rollbackFor = Exception.class)
public class CaseInfoService extends ServiceImpl<CaseInfoMapper, CaseInfo>{
public class CaseInfoService extends ServiceImpl<CaseInfoMapper, CaseInfo> {
    @Autowired
    private CaseInfoMapper mapper;
@@ -88,116 +88,138 @@
    /**
    * 更新对象
    * @param entity 对象
    */
    public void updateCaseInfo(CaseInfo entity){
        try{
     * 更新对象
     *
     * @param entity 对象
     */
    public void updateCaseInfo(CaseInfo entity) {
        try {
            mapper.updateCaseInfo(entity);
        }catch (Exception e){
            log.error("[CaseInfoService.updateCaseInfo]调用失败,异常信息:"+e, e);
        } catch (Exception e) {
            log.error("[CaseInfoService.updateCaseInfo]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseInfoService.updateCaseInfo", e);
        }
    }
    /**
     * 批量更新对象
     * @param entity 对象
     *
     * @param entity     对象
     * @param caseIdList
     */
    public void updateCaseInfoList(CaseInfo entity, List<String> caseIdList){
        try{
    public void updateCaseInfoList(CaseInfo entity, List<String> caseIdList) {
        try {
            mapper.updateCaseInfoList(entity, caseIdList);
        }catch (Exception e){
            log.error("[CaseInfoService.updateCaseInfoList]调用失败,异常信息:"+e, e);
        } catch (Exception e) {
            log.error("[CaseInfoService.updateCaseInfoList]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseInfoService.updateCaseInfoList", e);
        }
    }
    /**
    * 条件更新对象
    * @param entity 对象
    * @param terms 条件
    */
    public void updateCaseInfoTerms(CaseInfo entity, Map<String, Object> terms){
        try{
     * 条件更新对象
     *
     * @param entity 对象
     * @param terms  条件
     */
    public void updateCaseInfoTerms(CaseInfo entity, Map<String, Object> terms) {
        try {
            mapper.updateCaseInfoTerms(entity, terms);
        }catch (Exception e){
            log.error("[CaseInfoService.updateCaseInfoTerms]调用失败,异常信息:"+e, e);
        } catch (Exception e) {
            log.error("[CaseInfoService.updateCaseInfoTerms]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseInfoService.updateCaseInfoTerms", e);
        }
    }
    /**
    * 根据编号物理删除
    * @param id 查询条件集合
    */
    public void deleteCaseInfo(String id){
        try{
     * 根据编号物理删除
     *
     * @param id 查询条件集合
     */
    public void deleteCaseInfo(String id) {
        try {
            mapper.deleteCaseInfo(id);
        }catch (Exception e){
            log.error("[CaseInfoService.deleteCaseInfo]调用失败,异常信息:"+e, e);
        } catch (Exception e) {
            log.error("[CaseInfoService.deleteCaseInfo]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseInfoService.deleteCaseInfo", e);
        }
    }
    /**
    * 按条件查询
    * @param terms 条件
    * @return List
    */
    public List<CaseInfo> listTerms(Map<String, Object> terms){
     * 按条件查询
     *
     * @param terms 条件
     * @return List
     */
    public List<CaseInfo> listTerms(Map<String, Object> terms) {
        return mapper.listTerms(terms);
    }
    /**
    * 按条件统计
    * @param terms 条件
    * @return long
    */
    public long countTerms(Map<String, Object> terms){
     * 按条件统计
     *
     * @param terms 条件
     * @return long
     */
    public long countTerms(Map<String, Object> terms) {
        return mapper.countTerms(terms);
    }
    /**
    * 按条件分页查询
    * @param page 分页对象
    * @param terms 条件
    * @return Page
    */
    public Page<CaseInfo> pageQuery(PageRequest page, Map<String, Object> terms){
     * 按条件分页查询
     *
     * @param page  分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<CaseInfo> pageQuery(PageRequest page, Map<String, Object> terms) {
        long total = mapper.countTerms(terms);
        List<CaseInfo> content = mapper.pageTerms(page, terms);
        return new PageImpl<CaseInfo>(content, page, total);
    }
    /**
    * 新增或更新对象
    * @param caseInfo 实体对象
    */
    public void saveCaseInfo(CaseInfo caseInfo){
        try{
     * 按条件分页查询
     *
     * @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) {
        try {
            Date nowDate = DateUtils.getNowDate();
            // 判断是否新增
            if (IdUtils.checkNewId(caseInfo.getId())){
            if (IdUtils.checkNewId(caseInfo.getId())) {
                caseInfo.setId(utilsClient.getNewTimeId());
                caseInfo.setCreateTime(nowDate);
            }
            caseInfo.setUpdateTime(nowDate);
            this.saveOrUpdate(caseInfo);
        }catch (Exception e){
            log.error("[CaseInfoService.saveCaseInfo]调用失败,异常信息:"+e, e);
        } catch (Exception e) {
            log.error("[CaseInfoService.saveCaseInfo]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseInfoService.saveCaseInfo", e);
        }
    }
    /**
     * PC端-纠纷登记-保存纠纷信息-正常案件
     *
     * @param registerSaveDTO 纠纷信息
     * @param userId 用户编号
     * @param userId          用户编号
     * @return String 纠纷编号
     */
    public String caseRegister(RegisterSaveDTO registerSaveDTO, String userId){
    public String caseRegister(RegisterSaveDTO registerSaveDTO, String userId) {
        try {
            // 获取当前登录用户
            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
@@ -224,7 +246,7 @@
            caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_1.getIndex());
            caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_1.getDes());
            //todo case_title生成、经纬度转换
            if(0 == registerSaveDTO.getOperateType()){
            if (0 == registerSaveDTO.getOperateType()) {
                caseInfo.setInputUnitId(loginUser.getUnitId());
                caseInfo.setInputUnitName(loginUser.getUnitName());
                caseInfo.setInputUserId(loginUser.getId());
@@ -238,7 +260,7 @@
                caseInfo.setQueCity("1601");
                caseInfo.setQueCityName("广州市");
                // 删除草稿案件
                if(1 == registerSaveDTO.getIsDraft() ){
                if (1 == registerSaveDTO.getIsDraft()) {
                    draftInfoService.removeDraftInfo(registerSaveDTO.getId());
                }
                // 新增纠纷信息
@@ -251,34 +273,35 @@
                caseInfoUnfoldService.save(caseInfoUnfold);
                // 启动工作流
                // 判断是否自行受理
                if(1 == registerSaveDTO.getIsSelfAccept()){
                if (1 == registerSaveDTO.getIsSelfAccept()) {
                    // 自行受理流程
                     return caseTaskService.webStartFlowZXSL(caseInfo, loginUser);
                }else {
                    return caseTaskService.webStartFlowZXSL(caseInfo, loginUser);
                } else {
                    // 自动调度流程
                    caseTaskService.webStartFlowLFDJ(caseInfo);
                }
            }else if(1 == registerSaveDTO.getOperateType()){
            } else if (1 == registerSaveDTO.getOperateType()) {
                this.updateById(caseInfo);
            }
            return registerSaveDTO.getId();
        }catch (Exception e){
            log.error("service方法[CaseInfoService.caseRegister]调用异常:"+e, e);
        } catch (Exception e) {
            log.error("service方法[CaseInfoService.caseRegister]调用异常:" + e, e);
            throw new ServiceException("CaseInfoService.caseRegister", e);
        }
    }
    /**
     * pc端-常规登记-保存正式案件-保存人员信息
     *
     * @param registerSaveDTO 纠纷信息
     * @param plaintiffs 申请人
     * @param pagents 申请人代理人
     * @param defendants 被申请人
     * @param dagents 被申请人代理人
     * @param plaintiffs      申请人
     * @param pagents         申请人代理人
     * @param defendants      被申请人
     * @param dagents         被申请人代理人
     * @return int
     */
    private void saveCasePerson(RegisterSaveDTO registerSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
                               StringBuffer defendants, StringBuffer dagents){
                                StringBuffer defendants, StringBuffer dagents) {
        Date now = DateUtils.getNowDate();
@@ -293,8 +316,8 @@
        List<String> newPersonIdList = new ArrayList<>();
        List<String> newAgentIdList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(personList)){
            for(CasePerson casePerson: personList){
        if (CollectionUtils.isNotEmpty(personList)) {
            for (CasePerson casePerson : personList) {
                newPersonIdList.add(casePerson.getId());
                casePerson.setCaseId(registerSaveDTO.getId());
                casePerson.setCustId(registerSaveDTO.getCustId());
@@ -302,13 +325,13 @@
                //绑定当事人小程序
                this.setPartyUserId(casePerson);
                //添加申请方和被申请方人名组合
                if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
                if (CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())) {
                    //申请方
                    if (StringUtils.isNotEmpty(plaintiffs.toString())) {
                        plaintiffs.append(BaseConsts.COMMA);
                    }
                    plaintiffs.append(casePerson.getTrueName());
                }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
                } else if (CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())) {
                    //被申请方
                    if (StringUtils.isNotEmpty(defendants.toString())) {
                        defendants.append(BaseConsts.COMMA);
@@ -317,9 +340,9 @@
                }
                //判断是否为更新(用原有的Id对比性的Id)
                if(oldPersonIds.contains(casePerson.getId())){
                if (oldPersonIds.contains(casePerson.getId())) {
                    personService.updateById(casePerson);
                }else{
                } else {
                    casePerson.setCreateTime(now);
                    personService.save(casePerson);
                }
@@ -327,7 +350,7 @@
            }
        }
        if(CollectionUtils.isNotEmpty(agentList)) {
        if (CollectionUtils.isNotEmpty(agentList)) {
            for (CaseAgent caseAgent : agentList) {
                newAgentIdList.add(caseAgent.getId());
                caseAgent.setCaseId(registerSaveDTO.getId());
@@ -336,12 +359,12 @@
                caseAgent.setUpdateTime(now);
                //绑定当事人小程序
                this.setPartyUserId(caseAgent);
                if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())) {
                if (CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())) {
                    if (StringUtils.isNotEmpty(pagents.toString())) {
                        pagents.append(BaseConsts.COMMA);
                    }
                    pagents.append(caseAgent.getTrueName());
                }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())) {
                } else if (CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())) {
                    if (StringUtils.isNotEmpty(dagents.toString())) {
                        dagents.append(BaseConsts.COMMA);
                    }
@@ -349,9 +372,9 @@
                }
                //判断是否为更新(用原有的Id对比性的Id)
                if(oldAgentIds.contains(caseAgent.getId())){
                if (oldAgentIds.contains(caseAgent.getId())) {
                    agentService.updateById(caseAgent);
                }else{
                } else {
                    caseAgent.setCreateTime(now);
                    agentService.save(caseAgent);
                }
@@ -363,23 +386,23 @@
            for (String oldPersonId : oldPersonIdList) {
                if (!newPersonIdList.contains(oldPersonId)) {
                    personService.removeById(oldPersonId);
                }else{
                } else {
                }
            }
        }else{
        } else {
            QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
            casePersonQueryWrapper.eq("case_id", registerSaveDTO.getId());
            personService.remove(casePersonQueryWrapper);
        }
        //删除冗余的代理人
        if(CollectionUtils.isNotEmpty(newAgentIdList)){
            for(String oldAgentId: oldAgentIdList){
                if(!newAgentIdList.contains(oldAgentId)){
        if (CollectionUtils.isNotEmpty(newAgentIdList)) {
            for (String oldAgentId : oldAgentIdList) {
                if (!newAgentIdList.contains(oldAgentId)) {
                    agentService.removeById(oldAgentId);
                }
            }
        }else{
        } else {
            QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
            caseAgentQueryWrapper.eq("case_id", registerSaveDTO.getId());
            agentService.remove(caseAgentQueryWrapper);
@@ -388,10 +411,11 @@
    /**
     * PC端-查询纠纷信息
     *
     * @param caseId 纠纷编号
     * @return CaseInfo 纠纷信息
     */
    public CaseInfoDTO getCaseInfo(String caseId){
    public CaseInfoDTO getCaseInfo(String caseId) {
        CaseInfo caseInfo = mapper.selectById(caseId);
        CaseInfoDTO caseInfoDTO = new CaseInfoDTO();
        if (ObjectUtils.isNotEmpty(caseInfo)) {
@@ -412,28 +436,28 @@
            idList.addAll(casePersonList.stream().map(CasePerson::getId).collect(Collectors.toList()));
            idList.addAll(caseAgentList.stream().map(CaseAgent::getId).collect(Collectors.toList()));
            String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
            ids = "'"+ ids + "'";
            ids = "'" + ids + "'";
            Map<String, Object> term = new HashMap<>();
            term.put("mainId", caseId);
            term.put("ownerIds", ids);
            //查询所有附件
            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
            for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                if(caseId.equals(fileInfo.getOwnerId())){
            for (FileIdTypeInfoBaseDTO fileInfo : fileInfoList) {
                if (caseId.equals(fileInfo.getOwnerId())) {
                    caseInfoDTO.setFileInfoList(fileInfo.getFileList());
                }
            }
            for(CasePerson casePerson: casePersonList){
            for (CasePerson casePerson : casePersonList) {
                //把附件根据编号放入
                for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                    if(casePerson.getId().equals(fileInfo.getOwnerId())){
                for (FileIdTypeInfoBaseDTO fileInfo : fileInfoList) {
                    if (casePerson.getId().equals(fileInfo.getOwnerId())) {
                        casePerson.setFileInfoList(fileInfo.getFileList());
                    }
                }
            }
            for(CaseAgent caseAgent: caseAgentList){
                for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                    if(caseAgent.getId().equals(fileInfo.getOwnerId())){
            for (CaseAgent caseAgent : caseAgentList) {
                for (FileIdTypeInfoBaseDTO fileInfo : fileInfoList) {
                    if (caseAgent.getId().equals(fileInfo.getOwnerId())) {
                        caseAgent.setFileInfoList(fileInfo.getFileList());
                    }
                }
@@ -446,10 +470,11 @@
    /**
     * PC端-查询纠纷信息
     *
     * @param caseId 纠纷编号
     * @return CaseInfo 纠纷信息
     */
    public CaseInfoDTO getCaseArchivesInfo(String caseId){
    public CaseInfoDTO getCaseArchivesInfo(String caseId) {
        CaseInfo caseInfo = mapper.selectById(caseId);
        CaseInfoDTO caseInfoDTO = new CaseInfoDTO();
        if (ObjectUtils.isNotEmpty(caseInfo)) {
@@ -470,28 +495,28 @@
            idList.addAll(casePersonList.stream().map(CasePerson::getId).collect(Collectors.toList()));
            idList.addAll(caseAgentList.stream().map(CaseAgent::getId).collect(Collectors.toList()));
            String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
            ids = "'"+ ids + "'";
            ids = "'" + ids + "'";
            Map<String, Object> term = new HashMap<>();
            term.put("mainId", caseId);
            term.put("ownerIds", ids);
            //查询所有附件
            List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
            for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                if(caseId.equals(fileInfo.getOwnerId())){
            for (FileIdTypeInfoBaseDTO fileInfo : fileInfoList) {
                if (caseId.equals(fileInfo.getOwnerId())) {
                    caseInfoDTO.setFileInfoList(fileInfo.getFileList());
                }
            }
            for(CasePerson casePerson: casePersonList){
            for (CasePerson casePerson : casePersonList) {
                //把附件根据编号放入
                for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                    if(casePerson.getId().equals(fileInfo.getOwnerId())){
                for (FileIdTypeInfoBaseDTO fileInfo : fileInfoList) {
                    if (casePerson.getId().equals(fileInfo.getOwnerId())) {
                        casePerson.setFileInfoList(fileInfo.getFileList());
                    }
                }
            }
            for(CaseAgent caseAgent: caseAgentList){
                for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
                    if(caseAgent.getId().equals(fileInfo.getOwnerId())){
            for (CaseAgent caseAgent : caseAgentList) {
                for (FileIdTypeInfoBaseDTO fileInfo : fileInfoList) {
                    if (caseAgent.getId().equals(fileInfo.getOwnerId())) {
                        caseAgent.setFileInfoList(fileInfo.getFileList());
                    }
                }
@@ -504,6 +529,7 @@
    /**
     * 绑定当事人小程序
     *
     * @param casePerson 当事人信息
     */
    public void setPartyUserId(CasePerson casePerson) {
@@ -527,9 +553,10 @@
    /**
     * 绑定当事人小程序
     *
     * @param caseAgent 代理人人信息
     */
    public void setPartyUserId(CaseAgent caseAgent){
    public void setPartyUserId(CaseAgent caseAgent) {
        if (StringUtils.isEmpty(caseAgent.getPartyUserId())) {
            if (CaseBaseConstsEnum.CARD_TYPE_1.getIndex().equals(caseAgent.getCertiType())) {
                if (StringUtils.isNotEmpty(caseAgent.getCertiNo())) {
@@ -546,14 +573,15 @@
    /**
     * PC端-纠纷登记-保存纠纷信息-正常案件
     *
     * @param registerSaveDTO 纠纷信息
     * @param userId 用户编号
     * @param userId          用户编号
     * @return String 纠纷编号
     */
    public String caseRegisterWechat(RegisterSaveDTO registerSaveDTO, String userId){
    public String caseRegisterWechat(RegisterSaveDTO registerSaveDTO, String userId) {
        // 获取当前登录用户
        PaUserDTO loginUser = custClient.paclientGetUser(userId);
        if(ObjectUtils.isEmpty(registerSaveDTO.getCustId())){
        if (ObjectUtils.isEmpty(registerSaveDTO.getCustId())) {
            registerSaveDTO.setCustId(loginUser.getCustId());
        }
@@ -563,7 +591,7 @@
        CaseInfo caseInfo = new CaseInfo();
        CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
        BeanUtils.copyProperties(registerSaveDTO, caseInfo);
        if(ObjectUtils.isEmpty(caseInfo.getId())){
        if (ObjectUtils.isEmpty(caseInfo.getId())) {
            caseInfo.setId(utilsClient.getNewTimeCaseId());
        }
//            caseInfo.setInputUnitId(loginUser.getUnitId());
@@ -582,16 +610,15 @@
        caseInfo.setVisitTime(nowDate);
        caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
        //坐标转换
        if(ObjectUtils.isNotEmpty(caseInfo.getLat()) && ObjectUtils.isNotEmpty(caseInfo.getLng())){
        if (ObjectUtils.isNotEmpty(caseInfo.getLat()) && ObjectUtils.isNotEmpty(caseInfo.getLng())) {
            PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(caseInfo.getLng()), Double.valueOf(caseInfo.getLat()));
            caseInfo.setLat(pointXY.getLat()+"");
            caseInfo.setLng(pointXY.getLon()+"");
            caseInfo.setLat(pointXY.getLat() + "");
            caseInfo.setLng(pointXY.getLon() + "");
        }
        //todo case_title生成
        caseInfo.setCaseRef(utilsClient.createCaseRef());
        // 为了演示先兼容小程序没属地问题,写死属地
        if (ObjectUtils.isEmpty(caseInfo.getQueProv())) {
//                caseInfo.setQueProv("19");
//                caseInfo.setQueProvName("广东");
//                caseInfo.setQueCity("1601");
@@ -600,18 +627,18 @@
//                caseInfo.setQueAreaName("白云区");
//                caseInfo.setQueRoad("62857");
//                caseInfo.setQueRoadName("新市街道");
            // 根据经纬度查询问题属地
            QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat());
            caseInfo.setQueProv(queAddrBaseDTO.getQueProv());
            caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName());
            caseInfo.setQueCity(queAddrBaseDTO.getQueCity());
            caseInfo.setQueCityName(queAddrBaseDTO.getQueCityName());
            caseInfo.setQueArea(queAddrBaseDTO.getQueArea());
            caseInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName());
            caseInfo.setQueRoad(queAddrBaseDTO.getQueRoad());
            caseInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName());
        }
        // 根据经纬度查询问题属地
        QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat());
        log.info("xsdqueAddrBaseDTO:{}", queAddrBaseDTO);
        caseInfo.setQueProv(queAddrBaseDTO.getQueProv());
        caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName());
        caseInfo.setQueCity(queAddrBaseDTO.getQueCity());
        caseInfo.setQueCityName(queAddrBaseDTO.getQueCityName());
        caseInfo.setQueArea(queAddrBaseDTO.getQueArea());
        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);
@@ -621,7 +648,7 @@
        StringBuffer pagents = new StringBuffer();
        StringBuffer dagents = new StringBuffer();
        // 常规登记-保存当事人
        int peopleNum = this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser);
        int peopleNum = this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents, loginUser);
        caseInfo.setVisitPeopleNum(peopleNum);
        caseInfo.setPlaintiffs(plaintiffs.toString());
        caseInfo.setPagents(pagents.toString());
@@ -657,16 +684,17 @@
    /**
     * 生成调解案件标题
     * @param plaintiffs 申请人
     * @param defendants 被申请人
     *
     * @param plaintiffs   申请人
     * @param defendants   被申请人
     * @param caseTypeName 纠纷类型
     * @return String
     */
    public String createCaseTitle(String plaintiffs, String defendants, String caseTypeName){
    public String createCaseTitle(String plaintiffs, String defendants, String caseTypeName) {
        StringBuffer caseTitle = new StringBuffer();
        if (plaintiffs.indexOf(BaseConsts.COMMA) != -1){
        if (plaintiffs.indexOf(BaseConsts.COMMA) != -1) {
            caseTitle.append(plaintiffs.split(BaseConsts.COMMA)[0]).append("等");
        }else {
        } else {
            caseTitle.append(plaintiffs.split(BaseConsts.COMMA)[0]);
        }
        if (StringUtils.isNotEmpty(defendants)) {
@@ -678,7 +706,7 @@
            }
        }
        caseTitle.append("的");
        if (StringUtils.isNotEmpty(caseTypeName)){
        if (StringUtils.isNotEmpty(caseTypeName)) {
            caseTitle.append(caseTypeName);
        }
        caseTitle.append("案件");
@@ -687,15 +715,16 @@
    /**
     * pc端-常规登记-保存正式案件-保存人员信息
     *
     * @param registerSaveDTO 纠纷信息
     * @param plaintiffs 申请人
     * @param pagents 申请人代理人
     * @param defendants 被申请人
     * @param dagents 被申请人代理人
     * @param plaintiffs      申请人
     * @param pagents         申请人代理人
     * @param defendants      被申请人
     * @param dagents         被申请人代理人
     * @return int
     */
    private int saveCasePersonWechat(RegisterSaveDTO registerSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
                               StringBuffer defendants, StringBuffer dagents,PaUserDTO loginUser){
                                     StringBuffer defendants, StringBuffer dagents, PaUserDTO loginUser) {
        int peopleNum = 0;
        // 保存申请人
        List<CasePerson> personList = registerSaveDTO.getPersonList();
@@ -711,13 +740,13 @@
                personService.saveOrUpdate(casePerson);
                //添加申请方和被申请方人名组合
                if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
                if (CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())) {
                    //申请方
                    if (StringUtils.isNotEmpty(plaintiffs.toString())) {
                        plaintiffs.append(BaseConsts.COMMA);
                    }
                    plaintiffs.append(casePerson.getTrueName());
                }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
                } else if (CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())) {
                    //被申请方
                    if (StringUtils.isNotEmpty(defendants.toString())) {
                        defendants.append(BaseConsts.COMMA);
@@ -730,7 +759,7 @@
            //保存代理人
            List<CaseAgent> agentList = registerSaveDTO.getAgentList();
            if (CollectionUtils.isNotEmpty(agentList)) {
                for(CaseAgent caseAgent: agentList){
                for (CaseAgent caseAgent : agentList) {
                    caseAgent.setId(utilsClient.getNewTimeCaseId());
                    caseAgent.setPartyUserId(loginUser.getId());
                    caseAgent.setCaseId(registerSaveDTO.getId());
@@ -739,12 +768,12 @@
                    caseAgent.setCreateTime(registerSaveDTO.getUpdateTime());
                    caseAgent.setUpdateTime(registerSaveDTO.getUpdateTime());
                    agentService.saveOrUpdate(caseAgent);
                    if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())){
                    if (CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())) {
                        if (StringUtils.isNotEmpty(pagents.toString())) {
                            pagents.append(BaseConsts.COMMA);
                        }
                        pagents.append(caseAgent.getTrueName());
                    }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())){
                    } else if (CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())) {
                        if (StringUtils.isNotEmpty(dagents.toString())) {
                            dagents.append(BaseConsts.COMMA);
                        }
@@ -758,15 +787,15 @@
        return peopleNum;
    }
    public RegisterSaveDTO getCaseInfoWechat(String id){
    public RegisterSaveDTO getCaseInfoWechat(String id) {
        RegisterSaveDTO registerSaveDTO = new RegisterSaveDTO();
        CaseInfo caseInfo = this.getById(id);
        if(ObjectUtils.isNotEmpty(caseInfo)){
        if (ObjectUtils.isNotEmpty(caseInfo)) {
            BeanUtils.copyProperties(caseInfo, registerSaveDTO);
        }
        QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
        casePersonQueryWrapper.eq("case_id", registerSaveDTO.getId());
        List<CasePerson>  personList = personService.list(casePersonQueryWrapper);
        List<CasePerson> personList = personService.list(casePersonQueryWrapper);
        registerSaveDTO.setPersonList(personList);
        QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
@@ -779,45 +808,46 @@
    /**
     * 按条件分页查询-小程序查询
     * @param page 分页对象
     *
     * @param page  分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<CaseInfoWeChatDTO> pageQueryWechat(String userId, PageRequest page, Map<String, Object> terms){
    public Page<CaseInfoWeChatDTO> pageQueryWechat(String userId, PageRequest page, Map<String, Object> terms) {
        PaUserDTO loginUser = custClient.paclientGetUser(userId);
        List<CaseInfoWeChatDTO> list = new ArrayList<>();
        String personType = terms.get("personType")+"";
        if(ObjectUtils.isEmpty(personType)){
        String personType = terms.get("personType") + "";
        if (ObjectUtils.isEmpty(personType)) {
            throw new RuntimeException("请选择人员类型");
        }
        if(ObjectUtils.isEmpty(loginUser.getIdcard())){
        if (ObjectUtils.isEmpty(loginUser.getIdcard())) {
            return new PageImpl<CaseInfoWeChatDTO>(list, page, 0);
        }
        QueryWrapper<CasePerson> personWrapper = new QueryWrapper<>();
        personWrapper.select("case_id");
        personWrapper.eq("certi_no", loginUser.getIdcard());
        if("1".equals(personType)){
            personWrapper.eq("per_type",CaseBaseConstsEnum.PERSON_TYPE_1.getIndex());
        }else {
            personWrapper.eq("per_type",CaseBaseConstsEnum.PERSON_TYPE_2.getIndex());
        if ("1".equals(personType)) {
            personWrapper.eq("per_type", CaseBaseConstsEnum.PERSON_TYPE_1.getIndex());
        } else {
            personWrapper.eq("per_type", CaseBaseConstsEnum.PERSON_TYPE_2.getIndex());
        }
        List<CasePerson> casePersonList = personService.list(personWrapper);
        if(ObjectUtils.isEmpty(casePersonList)){
        if (ObjectUtils.isEmpty(casePersonList)) {
            return new PageImpl<CaseInfoWeChatDTO>(list, page, 0);
        }
        List<String> ids = casePersonList.stream().map(CasePerson::getCaseId).collect(Collectors.toList());
        terms.put("ids",ids);
        terms.put("ids", ids);
        long total = mapper.countTerms(terms);
        List<CaseInfo> content = mapper.pageTerms(page, terms);
        if(ObjectUtils.isNotEmpty(content)){
            for(CaseInfo caseInfo: content){
        if (ObjectUtils.isNotEmpty(content)) {
            for (CaseInfo caseInfo : content) {
                CaseInfoWeChatDTO caseInfoWeChatDTO = new CaseInfoWeChatDTO();
                BeanUtils.copyProperties(caseInfo, caseInfoWeChatDTO);
                caseInfoWeChatDTO.setProcessStatus(caseInfo.getInfoProcess());
                caseInfoWeChatDTO.setProcessStatusName(caseInfo.getInfoProcessName());
                //扩展信息
                CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseInfo.getId());
                if(ObjectUtils.isNotEmpty(caseInfoUnfold)){
                if (ObjectUtils.isNotEmpty(caseInfoUnfold)) {
                    caseInfoWeChatDTO.setMediResult(caseInfoUnfold.getMediResult());
                    caseInfoWeChatDTO.setMediResultName(caseInfoUnfold.getMediResultName());
                    caseInfoWeChatDTO.setMediateDeptId(caseInfoUnfold.getMediateUnitId());
@@ -837,9 +867,9 @@
                for (CasePerson casePerson : casePersonList1) {
                    CasePersonWechatDTO casePersonWechatDTO = new CasePersonWechatDTO();
                    BeanUtils.copyProperties(casePerson, casePersonWechatDTO);
                    if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
                    if (CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())) {
                        plaintiffList.add(casePersonWechatDTO);
                    }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
                    } else if (CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())) {
                        defendantList.add(casePersonWechatDTO);
                    }
                }
@@ -851,9 +881,9 @@
                evaluateTerms.put("deleteStatus", BaseConsts.DELETE_STATUS_0);
                evaluateTerms.put("evaluateUserId", loginUser.getId());
                long evaluateCount = caseEvaluateService.countTerms(evaluateTerms);
                if(evaluateCount > 0){
                if (evaluateCount > 0) {
                    caseInfoWeChatDTO.setIsEvaluate("1");
                }else{
                } else {
                    caseInfoWeChatDTO.setIsEvaluate("0");
                }
@@ -865,14 +895,15 @@
    /**
     * 按条件分页查询-综合查询
     * @param page 分页对象
     *
     * @param page  分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<CasePageDTO> pageQueryAll(PageRequest page, Map<String, Object> terms){
    public Page<CasePageDTO> pageQueryAll(PageRequest page, Map<String, Object> terms) {
        long total = mapper.countTermsAll(terms);
        List<CasePageDTO> content = mapper.pageTermsAll(page, terms);
        if(ObjectUtils.isNotEmpty(content)){
        if (ObjectUtils.isNotEmpty(content)) {
            for (CasePageDTO casePageDTO : content) {
                QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>();
                personWrapper1.eq("case_id", casePageDTO.getId());
@@ -884,9 +915,9 @@
                for (CasePerson casePerson : casePersonList1) {
                    CasePersonWeDTO casePersonWechatDTO = new CasePersonWeDTO();
                    BeanUtils.copyProperties(casePerson, casePersonWechatDTO);
                    if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
                    if (CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())) {
                        plaintiffList.add(casePersonWechatDTO);
                    }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
                    } else if (CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())) {
                        defendantList.add(casePersonWechatDTO);
                    }
                }