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/service/CaseSuperviseService.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 96 insertions(+), 18 deletions(-) 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 68bd508..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 @@ -3,7 +3,12 @@ import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; 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; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; @@ -12,10 +17,13 @@ import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum; import cn.huge.module.sys.constant.SyTimeEnum; +import cn.huge.module.sys.dto.FileIdInfoBaseDTO; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; import cn.huge.module.sys.dto.FileInfoBaseDTO; 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; @@ -54,6 +62,9 @@ @Autowired private SysClientImpl sysClient; + + @Autowired + private CaseInfoService caseInfoService; /** * 条件更新对象 @@ -139,8 +150,11 @@ public void addCaseSupervise(CaseSupervise caseSupervise, String userId){ try{ List<QuiltUnitDTO> quiltUnitDTOList = caseSupervise.getQuiltUnitDTOList(); - Integer timeTerm = sysClient.getTimeLimit("dyh_case_supervise", SyTimeEnum.SY_TIME_5.getIndex()); + Integer timeTerm = sysClient.getTimeLimitHour(SyTimeEnum.SY_TIME_5.getIndex()); List<CaseSupervise> caseSuperviseList = new ArrayList<>(); + List<FileRelateDTO> fileRelateDTOList = sysClient.listFileRelateByOwnerId(caseSupervise.getId()); + int count = 0; + List<FileRelateDTO> fileRelateDTOListNew = new ArrayList<>(); for(QuiltUnitDTO quiltUnitDTO: quiltUnitDTOList){ CaseSupervise caseSuperviseNew = new CaseSupervise(); BeanUtils.copyProperties(caseSupervise, caseSuperviseNew); @@ -150,7 +164,7 @@ caseSuperviseNew.setSupUserId(loginUser.getId()); caseSuperviseNew.setSupUserName(loginUser.getTrueName()); caseSuperviseNew.setSupUnitId(loginUser.getUnitId()); - caseSuperviseNew.setSupUnitId(loginUser.getUnitName()); + caseSuperviseNew.setSupUnitName(loginUser.getUnitName()); caseSuperviseNew.setSupTime(nowDate); caseSuperviseNew.setQuiltUnitId(quiltUnitDTO.getQuiltUnitId()); caseSuperviseNew.setQuiltUnitName(quiltUnitDTO.getQuiltUnitName()); @@ -158,9 +172,26 @@ caseSuperviseNew.setCreateTime(nowDate); caseSuperviseNew.setUpdateTime(nowDate); caseSuperviseNew.setReplyTerm(timeTerm); + //给每条督办添加附件信息 + if(0 != count){ + String caseSupId = utilsClient.getNewTimeId(); + caseSuperviseNew.setId(caseSupId); + for(FileRelateDTO fileRelateDTO: fileRelateDTOList){ + String fileRealateId = utilsClient.getNewTimeSysId(); + FileRelateDTO fileRelateDTONew = new FileRelateDTO(); + BeanUtils.copyProperties(fileRelateDTO, fileRelateDTONew); + fileRelateDTONew.setOwnerId(caseSuperviseNew.getId()); + fileRelateDTONew.setId(fileRealateId); + fileRelateDTOListNew.add(fileRelateDTONew); + } + } caseSuperviseList.add(caseSuperviseNew); + count++; } this.saveBatch(caseSuperviseList); + if(CollectionUtils.isNotEmpty(fileRelateDTOListNew)){ + sysClient.saveFileRelateList(fileRelateDTOListNew); + } }catch (Exception e){ log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e); throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e); @@ -179,7 +210,7 @@ caseSupervise.setSupStatus(1); caseSupervise.setReplyUserId(loginUser.getId()); caseSupervise.setReplyUserName(loginUser.getTrueName()); - caseSupervise.setReplyTime(String.valueOf(now)); + caseSupervise.setReplyTime(now); caseSupervise.setUpdateTime(now); mapper.updateCaseSupervise(caseSupervise); }catch (Exception e){ @@ -192,22 +223,46 @@ * 流转办理-督办列表 * @param caseId 事项Id */ - public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId){ + public Page<CaseSupervise> pageCaseSupervise(String caseId, PageRequest page, int supStatus, String userId, int type){ try{ CtUserDTO loginUser = custClient.clientGetUserAll(userId); String quiltUnitId = loginUser.getUnitId(); - long countSuperviseList = mapper.countCaseSupervise(caseId, supStatus, quiltUnitId); - List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(caseId, page, supStatus, quiltUnitId); + Map<String, Object> terms = new HashMap<>(); + terms.put("caseId", caseId); + terms.put("type", type); + if(1 == type){ + terms.put("supStatus", supStatus); + terms.put("quiltUnitId", quiltUnitId); + } + long countSuperviseList = mapper.countCaseSupervise(terms); + List<CaseSupervise> caseSuperviseList = mapper.pageCaseSupervise(terms, page); + CaseInfo caseInfo = new CaseInfo(); + if(CollectionUtils.isNotEmpty(caseSuperviseList)){ + if(1 != type){ - 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()); - List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map); - for(CaseSupervise caseSupervise: caseSuperviseList){ - for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){ - if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){ - caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList()); + 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()); + } + } + }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()); + } + } } } } @@ -223,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); @@ -243,4 +298,27 @@ public long countCaseSuperviseList(Integer supStatus, String quiltUnitId){ return mapper.countCaseSuperviseList(supStatus, quiltUnitId); } + + /** + * 根据督办编号查询督办信息 + * @param id 督办编号 + * @return List + */ + public CaseSupervise getById(String id){ + try { + CaseSupervise caseSupervise = mapper.selectById(id); + Map<String, Object> terms = new HashMap<>(); + terms.put("mainId", caseSupervise.getCaseId()); + terms.put("ownerIds", "'" + id + "'"); + List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms); + if(CollectionUtils.isNotEmpty(fileIdTypeInfoBaseDTOList)){ + caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTOList.get(0).getFileList()); + } + return caseSupervise; + }catch (Exception e){ + log.error("[CaseSuperviseService.getById]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseSuperviseService.getById", e); + } + + } } -- Gitblit v1.8.0