forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-10-09 3a73d5c21bb96dde33c97a6d4d50f4632678b329
web查询个人来访记录
1 files added
9 files modified
235 ■■■■■ changed files
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java 68 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAgentMapper.java 3 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CasePersonMapper.java 7 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml 8 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml 6 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CasePersonMapper.xml 10 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonCountBO.java 20 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAgentService.java 5 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java 99 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java 9 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -5,6 +5,7 @@
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
import cn.huge.base.config.CurrentUser;
import cn.huge.module.cases.domain.bo.CasePersonCountBO;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.cases.service.CaseInfoService;
@@ -755,4 +756,71 @@
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 个人查询
     * @url {ctx}/api/web/caseInfo/pagePerson
     * @param page 页码
     * @param size 每页数量
     * @return Object
     */
    @GetMapping("/pagePerson")
    public Object pagePerson(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "certiNo") String certiNo) {
        try {
            Map<String, Object> terms = getParameterAll();
            Sort sort = null;
            String sortName = null;
            String sortColmnStr = request.getParameter("sortColmn");
            String sortTypeStr = request.getParameter("sortType");
            int sortColmn = 1;
            int sortType = 1;
            if (StringUtils.isNotBlank(sortColmnStr)) {
                sortColmn = Integer.valueOf(sortColmnStr);
            }
            if (StringUtils.isNotBlank(sortTypeStr)) {
                sortType = Integer.valueOf(sortTypeStr);
            }
            switch (sortColmn) {
                case 1:
                    sortName = "a.create_time";
                    break;
                case 2:
                    sortName = "b.close_time";
                    break;
            }
            switch (sortType) {
                case 1:
                    sort = Sort.by(Sort.Direction.ASC, sortName);
                    break;
                case 2:
                    sort = Sort.by(Sort.Direction.DESC, sortName);
                    break;
            }
            if (ObjectUtils.isEmpty(sort)) {
                sort = Sort.by(Sort.Direction.DESC, "a.create_time");
            }
            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
            Page<CasePageDTO> caseInfoPage = service.pagePerson(pageRequest, terms,certiNo);
            return ReturnSucUtils.getRepInfo( "处理成功", caseInfoPage);
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.pageQueryAll]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 个人查询统计
     * @url {ctx}/api/web/caseInfo/countPerson
     * @return Object
     */
    @GetMapping("/countPerson")
    public Object countPerson(@RequestParam(value = "certiNo") String certiNo) {
        try {
            CasePersonCountBO casePersonCountBO = service.countPerson(certiNo);
            return ReturnSucUtils.getRepInfo( "处理成功", casePersonCountBO);
        } catch (Exception e) {
            log.error("Controller接口[CaseInfoWebController.pageQueryAll]请求异常:"+e, e);
            return ReturnFailUtils.getRepInfo();
        }
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAgentMapper.java
@@ -1,6 +1,7 @@
package cn.huge.module.cases.dao.mapper;
import cn.huge.module.cases.domain.po.CaseAgent;
import cn.huge.module.cases.domain.po.CasePerson;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.PageRequest;
@@ -67,4 +68,6 @@
     * @return List<String>
     */
    List<String> listIdByCaseId(@Param("caseId") String caseId);
    List<CaseAgent> listByCertiNo(@Param("certiNo") String certiNo);
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CasePersonMapper.java
@@ -67,4 +67,11 @@
     * @return List<String>
     */
    List<String> listIdByCaseId(@Param("caseId") String caseId);
    /**
     * 根据证件编号查询人员
     * @param certiNo 证件编号
     * @return List<String>
     */
    List<CasePerson> listByCertiNo(@Param("certiNo") String certiNo);
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml
@@ -435,4 +435,12 @@
        <include refid="table-name" />
        where case_id = #{caseId}
    </select>
    <select id="listByCertiNo" resultMap="dataResult">
        select
            a.case_id,a.certi_no,a.per_type
        from
            dyh_case_agent a INNER JOIN dyh_case_info b ON a.case_id = b.id
        where a.certi_no = #{certiNo} and b.delete_status = 0
    </select>
</mapper> 
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -297,6 +297,12 @@
        <if test="terms != null">
            <where>
                and delete_status = 0
                <if test="terms.ids != null and terms.ids.size > 0">
                    and a.id in
                    <foreach collection="terms.ids" item="id" index="index" open="(" separator="," close=")">
                        #{id}
                    </foreach>
                </if>
                <if test="terms.status != null and terms.status !=''">
                    and a.status = #{terms.status}
                </if>
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CasePersonMapper.xml
@@ -441,4 +441,14 @@
        <include refid="table-name" />
        where case_id = #{caseId}
    </select>
    <!--  根据纠纷编号查询人员编号  -->
    <select id="listByCertiNo" resultMap="dataResult">
        select
        a.case_id,a.certi_no,a.per_type
        from
            dyh_case_person a INNER JOIN dyh_case_info b ON a.case_id = b.id
        where a.certi_no = #{certiNo} and b.delete_status = 0
    </select>
</mapper>
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonCountBO.java
New file
@@ -0,0 +1,20 @@
package cn.huge.module.cases.domain.bo;
import lombok.Data;
/**
 * @author zhouxiantao
 * @create 2024-10-09 19:55
 */
@Data
public class CasePersonCountBO {
    private Integer totalNum = 0;//来访总数
    private Integer zzzxNum = 0;//综治中心数
    private Integer xfNum = 0;//信访数
    private Integer wlNum = 0;//网络数据
    private Integer ottfNum = 0;//12345数量
    private Integer plaintiffNum = 0;//申请方当事人数
    private Integer defendantNum = 0;//被申请方当事人数
    private Integer pagentsNum = 0;//申请方代理人数
    private Integer dagentsNum = 0;//被申请方代理人数
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAgentService.java
@@ -3,6 +3,7 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
import cn.huge.module.cases.domain.po.CasePerson;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseAgentMapper;
import cn.huge.module.cases.domain.po.CaseAgent;
@@ -139,4 +140,8 @@
        return mapper.listIdByCaseId(caseId);
    }
    public List<CaseAgent> listByCertiNo(String certiNo){
        return mapper.listByCertiNo(certiNo);
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -4,6 +4,7 @@
import cn.huge.base.common.utils.*;
import cn.huge.module.cases.domain.bo.CaseAgentBO;
import cn.huge.module.cases.domain.bo.CasePersonBO;
import cn.huge.module.cases.domain.bo.CasePersonCountBO;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.module.cases.domain.dto.CaseAreaDTO;
@@ -981,6 +982,7 @@
        return new PageImpl<CasePageDTO>(content, page, total);
    }
    public CaseStatisticsBaseDTO statistics(Map<String, Object> terms) throws IOException {
        Object canal = null;
        if(ObjectUtils.isNotEmpty(terms.get("canal"))){
@@ -1191,4 +1193,101 @@
        List<QueAreaDTO> queAreaDTOS = sysClient.listByParentId(parentId);
        return queAreaDTOS;
    }
    public Page<CasePageDTO> pagePerson(PageRequest page, Map<String, Object> terms,String certiNo) {
        QueryWrapper<CasePerson> personWrapper = new QueryWrapper<>();
        personWrapper.select("case_id,certi_no");
        personWrapper.eq("certi_no", certiNo);
        List<CasePerson> personList = personService.list(personWrapper);
        List<String> ids = new ArrayList<>();
        if(ObjectUtils.isNotEmpty(personList)){
            for (CasePerson casePerson : personList) {
                ids.add(casePerson.getCaseId());
            }
        }
        QueryWrapper<CaseAgent> agentWrapper = new QueryWrapper<>();
        agentWrapper.select("case_id,certi_no");
        agentWrapper.in("certi_no", certiNo);
        List<CaseAgent> agentList = agentService.list(agentWrapper);
        if(ObjectUtils.isNotEmpty(agentList)){
            for (CaseAgent caseAgent : agentList) {
                ids.add(caseAgent.getCaseId());
            }
        }
        if(ObjectUtils.isEmpty(ids)){
            return new PageImpl<CasePageDTO>(new ArrayList<>(), page, 0);
        }
        terms.put("ids", ids);
        long total = mapper.countTermsAll(terms);
        List<CasePageDTO> content = mapper.pageTermsAll(page, terms);
        if (ObjectUtils.isNotEmpty(content)) {
            for (CasePageDTO casePageDTO : content) {
                if(ObjectUtils.isNotEmpty(casePageDTO.getQueRoadName())){
                    casePageDTO.setAreaName(casePageDTO.getQueRoadName());
                }else if(ObjectUtils.isNotEmpty(casePageDTO.getAreaName())){
                    casePageDTO.setAreaName(casePageDTO.getAreaName());
                }else if(ObjectUtils.isNotEmpty(casePageDTO.getQueCityName())){
                    casePageDTO.setAreaName(casePageDTO.getQueCityName());
                }
                if(ObjectUtils.isNotEmpty(casePageDTO.getCaseLevel())){
                    switch (casePageDTO.getCaseLevel()){
                        case "1":
                            casePageDTO.setCaseLevel("一级");
                            break;
                        case "2":
                            casePageDTO.setCaseLevel("二级");
                            break;
                        case "3":
                            casePageDTO.setCaseLevel("三级");
                            break;
                    }
                }
            }
        }
        return new PageImpl<CasePageDTO>(content, page, total);
    }
    public CasePersonCountBO countPerson(String certiNo){
        CasePersonCountBO casePersonCountBO = new CasePersonCountBO();
        Integer plaintiffNum = 0;//申请方当事人数
        Integer defendantNum = 0;//被申请方当事人数
        Integer pagentsNum = 0;//申请方代理人数
        Integer dagentsNum = 0;//被申请方代理人数
        List<CasePerson> personList = personService.listByCertiNo(certiNo);
        List<String> ids = new ArrayList<>();
        if(ObjectUtils.isNotEmpty(personList)){
            for (CasePerson casePerson : personList) {
                ids.add(casePerson.getCaseId());
                if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
                    plaintiffNum++;
                }
                if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
                    defendantNum++;
                }
            }
        }
        List<CaseAgent> agentList = agentService.listByCertiNo(certiNo);
        if(ObjectUtils.isNotEmpty(agentList)){
            for (CaseAgent caseAgent : agentList) {
                ids.add(caseAgent.getCaseId());
                if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())){
                    pagentsNum++;
                }
                if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())){
                    dagentsNum++;
                }
            }
        }
        casePersonCountBO.setDagentsNum(dagentsNum);
        casePersonCountBO.setPagentsNum(pagentsNum);
        casePersonCountBO.setDefendantNum(defendantNum);
        casePersonCountBO.setPlaintiffNum(plaintiffNum);
        casePersonCountBO.setTotalNum(ids.size());
        casePersonCountBO.setZzzxNum(ids.size());
        return casePersonCountBO;
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
@@ -141,4 +141,13 @@
    public List<String> listIdByCaseId(String caseId){
        return mapper.listIdByCaseId(caseId);
    }
    /**
     * 根据证件编号查询人员
     * @param certiNo 证件编号
     * @return List<String>
     */
    public List<CasePerson> listByCertiNo(String certiNo){
        return mapper.listByCertiNo(certiNo);
    }
}