From 3a73d5c21bb96dde33c97a6d4d50f4632678b329 Mon Sep 17 00:00:00 2001 From: zhouxiantao <1026371446@qq.com> Date: Wed, 09 Oct 2024 20:32:35 +0800 Subject: [PATCH] web查询个人来访记录 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java | 9 ++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonCountBO.java | 20 +++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAgentService.java | 5 + dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CasePersonMapper.xml | 10 ++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml | 8 ++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java | 68 +++++++++++++++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml | 6 + dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 99 ++++++++++++++++++++++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAgentMapper.java | 3 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CasePersonMapper.java | 7 + 10 files changed, 235 insertions(+), 0 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java index 8490553..be07a0b 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java +++ b/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(); + } + } } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAgentMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAgentMapper.java index 21e65e6..be6f524 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAgentMapper.java +++ b/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); } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CasePersonMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CasePersonMapper.java index 1950d7f..0e650c1 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CasePersonMapper.java +++ b/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); + } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml index 8795500..33ac591 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml +++ b/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> \ No newline at end of file diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml index 0508102..68ae3d9 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml +++ b/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> diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CasePersonMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CasePersonMapper.xml index 27a66ab..df5e756 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CasePersonMapper.xml +++ b/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> \ No newline at end of file diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonCountBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonCountBO.java new file mode 100644 index 0000000..a0945c3 --- /dev/null +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonCountBO.java @@ -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;//被申请方代理人数 +} diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAgentService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAgentService.java index ad2d568..6b3bef3 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAgentService.java +++ b/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); + } + } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java index 0584249..e6b6067 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java +++ b/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; + } + } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java index 9f99be6..b4f686f 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java +++ b/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); + } } -- Gitblit v1.8.0