From 9d27d3439ea42d34a9cf9602f1a2c0b5e9bb75a2 Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Mon, 23 Sep 2024 20:29:43 +0800 Subject: [PATCH] 全部签收接口优化、首页-统计数量添加返回字段、首页督办修复、查询案件督办信息接口添加字段 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageCountDTO.java | 20 +++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 4 + dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java | 3 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AllSignDTO.java | 21 +++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java | 7 + dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java | 53 +++++++----- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java | 83 +++++++++++++------- 7 files changed, 139 insertions(+), 52 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java index b46a0a6..956445f 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java @@ -4,10 +4,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.dto.AcceptTaskDTO; -import cn.huge.module.cases.domain.dto.AssignTaskDTO; -import cn.huge.module.cases.domain.dto.FrontPageListSLDTO; -import cn.huge.module.cases.domain.dto.SignTaskDTO; +import cn.huge.module.cases.domain.dto.*; import cn.huge.module.cases.domain.po.*; import cn.huge.module.cases.service.*; import cn.huge.module.client.api.SysClient; @@ -137,22 +134,21 @@ * @return Object */ @PostMapping("/allSign") - public Object allSign(@CurrentUser String userId) { + public Object allSign(@CurrentUser String userId, @RequestBody AllSignDTO allSignDTO) { try { // 条件 Map<String, Object> terms = Maps.newHashMap(); - // 流程/签收时间区间 - String timeStart = request.getParameter("timeStart"); - String timeEnd = request.getParameter("timeEnd"); - if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) { - // 待签收,查询流转时间 - terms.put("createTimeStart", timeStart); - terms.put("createTimeEnd", timeEnd); - } - // 查询申请方/被申请方关键词 - String partyName = request.getParameter("partyName"); - if (StringUtils.isNotBlank(partyName)){ - terms.put("partyName", partyName); + if(ObjectUtils.isNotEmpty(allSignDTO)){ + // 流程/签收时间区间 + if(StringUtils.isNotBlank(allSignDTO.getTimeStart()) && StringUtils.isNotBlank(allSignDTO.getTimeEnd())) { + // 待签收,查询流转时间 + terms.put("createTimeStart", allSignDTO.getTimeStart()); + terms.put("createTimeEnd", allSignDTO.getTimeEnd()); + } + // 查询申请方/被申请方关键词 + if (StringUtils.isNotBlank(allSignDTO.getPartyName())){ + terms.put("partyName", allSignDTO.getPartyName()); + } } CtUserDTO loginUser = custClient.clientGetUserAll(userId); terms.put("candeUnitId",loginUser.getUnitId()); @@ -823,7 +819,8 @@ @GetMapping("/pageMyTaskSh") public Object pageMyTaskSh(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "status") int status, @RequestParam(value = "type") int type, - @CurrentUser String userId, @RequestParam(value = "sortType") int sortType) { + @CurrentUser String userId, @RequestParam(value = "sortType") int sortType, + @RequestParam(value = "sortColmn") int sortColmn) { try { Map<String, Object> terms = Maps.newHashMap(); // 回退/上报/结案申请/联合处置申请/审核时间区间 @@ -842,19 +839,43 @@ String sortName = null; switch (type){ case 1: - sortName = "t1.return_time"; + if(1 == sortColmn){ + sortName = "t1.return_time"; + }else if(2 == sortColmn){ + sortName = "t2.case_level"; + }else if(3 == sortColmn){ + sortName = "t1.return_status"; + } break; case 2: - sortName = "t1.appear_time"; + if(1 == sortColmn) { + sortName = "t1.appear_time"; + }else if(2 == sortColmn){ + sortName = "t2.case_level"; + }else if(3 == sortColmn){ + sortName = "t1.apply_status"; + } break; case 3: - sortName = "t1.apply_time"; + if(1 == sortColmn) { + sortName = "t1.apply_time"; + }else if(2 == sortColmn){ + sortName = "t2.case_level"; + }else if(3 == sortColmn){ + sortName = "t1.apply_status"; + } break; case 4: - sortName = "t1.apply_time"; + if(1 == sortColmn) { + sortName = "t1.apply_time"; + }else if(2 == sortColmn){ + sortName = "t2.case_level"; + }else if(3 == sortColmn){ + sortName = "t1.apply_status"; + } break; default: - sortName = "t1.return_time"; + sortName = "t1.create_time"; break; } switch (sortType){ @@ -928,7 +949,7 @@ sortName = "t1.auditTime"; break; case 3: - sortName = "t2.caseGrade"; + sortName = "caseGrade"; break; default: sortName = "t1.turnaroundTime"; @@ -992,10 +1013,16 @@ sortName = "t1.sup_time"; break; case 2: + sortName = "timeLimit"; + break; + case 3: + sortName = "t1.case_level"; + break; + case 4: sortName = "t1.case_level"; break; default: - sortName = "t1.sup_time"; + sortName = "t1.sup_status"; break; } switch (sortType){ @@ -1014,7 +1041,7 @@ } PageRequest pageRequest = PageRequest.of(page-1, size, sort); CtUserDTO loginUser = custClient.clientGetUserAll(userId); - Page<CaseSupervise> caseSupervisePage = null; + Page<FrontPageListDTO> frontPageListDTOPage = null; if(StringUtils.isNotBlank(loginUser.getUnitId())){ terms.put("type", status); if(3 != status){ @@ -1023,9 +1050,9 @@ }else{ terms.put("supUnitId",loginUser.getUnitId()); } - caseSupervisePage = superviseService.pageMyTaskDb(pageRequest, terms); + frontPageListDTOPage = superviseService.pageMyTaskDb(pageRequest, terms); } - return ReturnSucUtils.getRepInfo(caseSupervisePage); + return ReturnSucUtils.getRepInfo(frontPageListDTOPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java index cfe9b6d..18e5139 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java @@ -1,5 +1,6 @@ package cn.huge.module.cases.dao.mapper; +import cn.huge.module.cases.domain.dto.FrontPageListDTO; import cn.huge.module.cases.domain.po.CaseSupervise; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -87,7 +88,7 @@ * @param terms 条件 * @return List<CaseSupervise> */ - List<CaseSupervise> pageMyTaskDb(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); + List<FrontPageListDTO> pageMyTaskDb(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); /** * 首页-督办数量 diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AllSignDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AllSignDTO.java new file mode 100644 index 0000000..90c2819 --- /dev/null +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AllSignDTO.java @@ -0,0 +1,21 @@ +package cn.huge.module.cases.domain.dto; + +import lombok.Data; + +@Data +public class AllSignDTO { + /** + * 开始时间 + */ + private String timeStart; + + /** + * 结束时间 + */ + private String timeEnd; + + /** + * 查询申请方/被申请方关键词 + */ + private String partyName; +} diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageCountDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageCountDTO.java index 8644f9d..e6ee3b5 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageCountDTO.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/FrontPageCountDTO.java @@ -33,6 +33,26 @@ private Long waitReview; /** + * 待审核(回退审核) + */ + private Long returnReview; + + /** + * 待审核(上报审核) + */ + private Long appearReview; + + /** + * 待审核(结案申请审核) + */ + private Long windupReview; + + /** + * 待审核(联合处置审核) + */ + private Long assistReview; + + /** * 督办 */ private Long supervise; diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java index 4d77ec9..cbf3199 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java @@ -166,4 +166,11 @@ */ @TableField(exist = false) private Integer caseGrade; + + /** + * 回复时限 + */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8") + @TableField(exist = false) + private Date timeLimit; } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java index 9347be4..2d305e2 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java @@ -5,6 +5,7 @@ import cn.huge.base.common.utils.IdUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.cases.domain.dto.FileRelateDTO; +import cn.huge.module.cases.domain.dto.FrontPageListDTO; import cn.huge.module.cases.domain.dto.QuiltUnitDTO; import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.cases.domain.po.CaseInfoUnfold; @@ -22,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -235,27 +237,32 @@ long countSuperviseList = mapper.countCaseSupervise(terms); List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(terms, page); CaseInfo caseInfo = new CaseInfo(); - if(1 != type && CollectionUtils.isNotEmpty(caseSuperviseList)){ - QueryWrapper<CaseInfo>caseInfoQueryWrapper = new QueryWrapper<>(); - caseInfoQueryWrapper.eq("id", caseId); - caseInfo = caseInfoService.getOne(caseInfoQueryWrapper); - for(CaseSupervise caseSupervise: caseSuperviseList){ - if(ObjectUtils.isNotEmpty(caseInfo)){ - caseSupervise.setCaseGrade(caseInfo.getCaseLevel()); + if(CollectionUtils.isNotEmpty(caseSuperviseList)){ + if(1 != type){ + + QueryWrapper<CaseInfo>caseInfoQueryWrapper = new QueryWrapper<>(); + caseInfoQueryWrapper.eq("id", caseId); + caseInfo = caseInfoService.getOne(caseInfoQueryWrapper); + for(CaseSupervise caseSupervise: caseSuperviseList){ + if(ObjectUtils.isNotEmpty(caseSupervise.getSupTime()) && ObjectUtils.isNotEmpty(caseSupervise.getReplyTerm())){ + caseSupervise.setTimeLimit(DateUtils.addDay(caseSupervise.getSupTime(), caseSupervise.getReplyTerm())); + } + if(ObjectUtils.isNotEmpty(caseInfo)){ + caseSupervise.setCaseGrade(caseInfo.getCaseLevel()); + } } - } - - } - - Map<String, Object>map = new HashMap<>(); - map.put("mainId", caseId); - map.put("ownerIds", "'" + caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','"))+ "'"); - map.put("types", "'"+ FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()+ "','" +FileOwnerTypeBaseEnum.OWNER_TYPE_507.getIndex()+"'"); - List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map); - for(CaseSupervise caseSupervise: caseSuperviseList){ - for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ - if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ - caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList()); + }else{ + Map<String, Object>map = new HashMap<>(); + map.put("mainId", caseId); + map.put("ownerIds", "'" + caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','"))+ "'"); + map.put("types", "'"+ FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex()+ "','" +FileOwnerTypeBaseEnum.OWNER_TYPE_507.getIndex()+"'"); + List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map); + for(CaseSupervise caseSupervise: caseSuperviseList){ + for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ + if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ + caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList()); + } + } } } } @@ -271,11 +278,11 @@ * @param page * @param terms */ - public Page<CaseSupervise> pageMyTaskDb(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListDTO> pageMyTaskDb(PageRequest page, Map<String, Object> terms){ try{ long countSuperviseList = mapper.countMyTaskDb(terms); - List<CaseSupervise> caseSuperviseList = mapper.pageMyTaskDb(page, terms); - return new PageImpl<CaseSupervise>(caseSuperviseList, page, countSuperviseList); + List<FrontPageListDTO> caseSuperviseList = mapper.pageMyTaskDb(page, terms); + return new PageImpl<FrontPageListDTO>(caseSuperviseList, page, countSuperviseList); }catch (Exception e){ log.error("[CaseSuperviseService.pageReplied]调用失败,异常信息:"+e, e); throw new ServiceException("CaseSuperviseService.pageReplied", e); diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java index bbc30dd..e0db98e 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java @@ -768,6 +768,10 @@ long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId()); long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId()); long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId()); + frontPageCountDTO.setReturnReview(countReturnReview); + frontPageCountDTO.setAppearReview(countAppearReview); + frontPageCountDTO.setWindupReview(countApplyReview); + frontPageCountDTO.setAssistReview(countAssistReview); frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview); // 已办 Map<String, Object> ybTerms = new HashMap<>(); -- Gitblit v1.8.0