From 5aa1a5263745b746b98d05c3296bf91c5c7d5edf Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Fri, 27 Sep 2024 18:00:02 +0800 Subject: [PATCH] 1、联合处置审核页面bug修复 2、详情也办理结果-办理意见为空修复 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java | 163 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 125 insertions(+), 38 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java index 5ce5c6d..294d540 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java @@ -1,21 +1,30 @@ package cn.huge.module.cases.service; +import cn.huge.base.common.dto.SelectTermDTO; 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.po.CaseAssistApply; +import cn.huge.module.cases.consts.CaseTaskConsts; +import cn.huge.module.cases.domain.po.*; import cn.huge.module.cases.domain.dto.TransactResultDTO; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.cases.dao.mapper.CaseInfoUnfoldMapper; -import cn.huge.module.cases.domain.po.CaseInfoUnfold; +import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; +import cn.huge.module.mediate.constant.AuditBaseConstsEnum; import cn.huge.module.mediate.constant.CaseBaseConsts; +import cn.huge.module.mediate.constant.CaseBaseConstsEnum; +import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum; import cn.huge.module.sys.dto.FileIdInfoBaseDTO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Maps; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.el.stream.Stream; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,10 +34,8 @@ import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @title: 纠纷信息扩展表业务逻辑处理 @@ -57,6 +64,15 @@ @Autowired private SysClientImpl sysClient; + + @Autowired + private CaseTaskService caseTaskService; + + @Autowired + private CaseAssistInfoService caseAssistInfoService; + + @Autowired + private CaseFeedbackService caseFeedbackService; /** * 更新对象 @@ -150,20 +166,47 @@ /** * PC端-选择经办人 - * @param caseId 对象 + * @param caseId 纠纷编号 + * @param caseTaskId 办理反馈任务编号 * @param userId 条件 */ - public void choosePrincipal(String caseId, String userId){ + public void choosePrincipal(String caseId, String caseTaskId, String userId){ try{ - // 获取当前登录用户 - CtUserDTO loginUser = custClient.clientGetUserAll(userId); - CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold(); - CaseInfoUnfold.setMediatorId(loginUser.getId()); - CaseInfoUnfold.setMediator(loginUser.getTrueName()); - CaseInfoUnfold.setMediatorMobile(loginUser.getMobile()); - Map<String, Object> terms = new HashMap<>(); - terms.put("case_id", caseId); - mapper.updateCaseInfoUnfoldTerms(CaseInfoUnfold, terms); + Date nowDate = DateUtils.getNowDate(); + // 获取经办人信息 + CtUserDTO ctUserDTO = custClient.clientGetUser(userId); + CaseTask caseTask = caseTaskService.getById(caseTaskId); + // 承办部门,更新扩展表 + if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) { + CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold(); + CaseInfoUnfold.setId(caseId); + CaseInfoUnfold.setMediatorId(ctUserDTO.getId()); + CaseInfoUnfold.setMediator(ctUserDTO.getTrueName()); + CaseInfoUnfold.setMediatorMobile(ctUserDTO.getMobile()); + CaseInfoUnfold.setUpdateTime(nowDate); + mapper.updateCaseInfoUnfold(CaseInfoUnfold); + }else { + // 配合部门,更新联合处置信息表 + CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId); + caseAssistInfo.setAssistUserId(ctUserDTO.getId()); + caseAssistInfo.setAssistUserName(ctUserDTO.getTrueName()); + caseAssistInfo.setUpdateTime(nowDate); + caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); + + } + }catch (Exception e){ + log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e); + } + } + + /** + * PC端-删除经办人 + * @param caseId 对象 + */ + public void deletePrincipal(String caseId){ + try{ + mapper.deletePrincipal(caseId); }catch (Exception e){ log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e); throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e); @@ -171,31 +214,75 @@ } public TransactResultDTO getTransactResult(String caseId){ - //查询办理结果信息 - QueryWrapper<CaseInfoUnfold>caseInfoUnfoldQueryWrapper = new QueryWrapper<>(); - caseInfoUnfoldQueryWrapper.eq("case_id", caseId); - CaseInfoUnfold caseInfoUnfold = this.getOne(caseInfoUnfoldQueryWrapper); + try { + //查询办理结果信息 + CaseInfoUnfold caseInfoUnfold = this.getById(caseId); + if(StringUtils.isNotBlank(caseInfoUnfold.getMediResult())) { + TransactResultDTO transactResultDTO = new TransactResultDTO(); + if (ObjectUtils.isNotEmpty(caseInfoUnfold)) { + BeanUtils.copyProperties(caseInfoUnfold, transactResultDTO); + QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>(); + caseAssistApplyQueryWrapper.select("apply_assist_unit_name").eq("case_id", caseId).eq("apply_status", 1) + .eq("audit_result", AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); + CaseAssistApply caseAssistApply = assistApplyService.getOne(caseAssistApplyQueryWrapper); - TransactResultDTO transactResultDTO = new TransactResultDTO(); - BeanUtils.copyProperties(caseInfoUnfold, transactResultDTO); - if(ObjectUtils.isNotEmpty(transactResultDTO)){ - QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>(); - caseAssistApplyQueryWrapper.select("apply_assist_unit_name").eq("case_id", caseId).eq("apply_status", 1) - .eq("audit_result", CaseBaseConsts.AUDIT_RESULT_1); - CaseAssistApply caseAssistApply = assistApplyService.getOne(caseAssistApplyQueryWrapper); + if (ObjectUtils.isNotEmpty(caseAssistApply)) { + transactResultDTO.setApplyAssistUnitName(caseAssistApply.getApplyAssistUnitName()); + } - if(ObjectUtils.isNotEmpty(caseAssistApply)){ - transactResultDTO.setApplyAssistUnitName(caseAssistApply.getApplyAssistUnitName()); + // 查询最新的办理意见 + QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>(); + caseFeedbackQueryWrapper.eq("case_id", caseId).eq("handle_type", CaseTaskConsts.HANDLE_TYPE_1) + .orderByDesc("create_time"); + List<CaseFeedback> caseFeedbackList = caseFeedbackService.list(caseFeedbackQueryWrapper); + if (CollectionUtils.isNotEmpty(caseFeedbackList)){ + transactResultDTO.setHandleContent(caseFeedbackList.get(0).getHandleContent()); + } + } + Map<String, Object> terms = new HashMap<>(); + terms.put("mainId", caseId); + terms.put("types", "'" + FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex() + "'"); + List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms); + if (ObjectUtils.isNotEmpty(fileIdInfoBaseDTOList)) { + transactResultDTO.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList()); + } + return transactResultDTO; + }else { + return null; } + }catch (Exception e){ + log.error("[CaseInfoUnfoldService.getTransactResult]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseInfoUnfoldService.getTransactResult", e); } - Map<String, Object> terms = new HashMap<>(); - terms.put("mainId", caseId); - terms.put("ownerIds", "'"+caseId+"'"); - List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms); - if(ObjectUtils.isNotEmpty(fileIdInfoBaseDTOList)){ - transactResultDTO.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList()); - } - return transactResultDTO; } + /** + * 联合处置申请-查询组织 + * @param caseId + * @return + */ + public List<SelectTermDTO> superviceUnitChoose(String caseId) { + try { + CaseInfoUnfold caseInfoUnfold = getById(caseId); + List<String> unitIdList = new ArrayList<>(); + unitIdList.add(caseInfoUnfold.getMediateUnitId()); + if(StringUtils.isNotBlank(caseInfoUnfold.getAssistUnitId())){ + unitIdList.addAll(Arrays.stream(caseInfoUnfold.getAssistUnitId().split(",")).map(String::valueOf).collect(Collectors.toList())); + } + List<SelectTermDTO> selectTermDTOList = new ArrayList<>(); + for (String unitId : unitIdList) { + CtUnitDTO ctUnitDTO = custClient.getUnitById(unitId); + SelectTermDTO unitSelectTerm = new SelectTermDTO(); + unitSelectTerm.setValue(ctUnitDTO.getId()); + unitSelectTerm.setLabel(ctUnitDTO.getUnitName()); + unitSelectTerm.setParentId(ctUnitDTO.getParentId()); + unitSelectTerm.setCheckable(true); + selectTermDTOList.add(unitSelectTerm); + } + return selectTermDTOList; + }catch (Exception e){ + log.error("[CaseInfoUnfoldService.superviceUnitChoose] 调用失败,异常信息:"+e, e); + throw new ServiceException("CaseInfoUnfoldService.superviceUnitChoose", e); + } + } } -- Gitblit v1.8.0