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); } }