From 99bb79a7ceac1107d2bf65df29e149810bf2bbb7 Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Fri, 13 Sep 2024 21:03:59 +0800 Subject: [PATCH] 申请记录接口 修改流程相关的接口 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 195 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 140 insertions(+), 55 deletions(-) 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 c769b23..4eab94f 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 @@ -11,7 +11,6 @@ import cn.huge.module.cases.domain.dto.TabButtonInfoDTO; import cn.huge.module.cases.domain.po.CaseAssistApply; import cn.huge.module.cases.domain.po.CaseInfoUnfold; -import cn.huge.module.cases.domain.dto.*; import cn.huge.module.cases.domain.po.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.DispClientImpl; @@ -25,7 +24,6 @@ import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.mediate.constant.AuditBaseConsts; import cn.huge.module.mediate.constant.AuditBaseConstsEnum; -import cn.huge.module.mediate.constant.CaseBaseConsts; import cn.huge.module.disp.constant.DispBaseConstsEnum; import cn.huge.module.disp.dto.CaseDispBaseDTO; import cn.huge.module.disp.dto.DispCaseBaseDTO; @@ -43,7 +41,6 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -51,8 +48,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.PostConstruct; -import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -722,6 +717,70 @@ throw new ServiceException("CaseTaskService.pageMyTaskQs", e); } } + + /** + * 首页-待审核分页查询 + * @param caseId 事项编号 + * @return Page + */ + public List<Object> listMyApplyRecord(String caseId){ + try { + QueryWrapper<CaseReturn> caseReturnQueryWrapper = new QueryWrapper<>(); + caseReturnQueryWrapper.eq("case_id", caseId); + List<CaseReturn>caseReturnList = caseReturnService.list(caseReturnQueryWrapper); + + QueryWrapper<CaseAppear> caseAppearQueryWrapper = new QueryWrapper<>(); + caseAppearQueryWrapper.eq("case_id", caseId); + List<CaseAppear>caseAppearList = caseAppearService.list(caseAppearQueryWrapper); + + QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>(); + caseWindupApplyQueryWrapper.eq("case_id", caseId); + List<CaseWindupApply>caseWindupApplyList = caseWindupApplyService.list(caseWindupApplyQueryWrapper); + + QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>(); + caseAssistApplyQueryWrapper.eq("case_id", caseId); + List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper); + List<SortUtilDTO> sortUtilDTOList = new ArrayList<>(); + for(CaseReturn caseReturn: caseReturnList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseReturn); + sortUtilDTO.setDate(caseReturn.getCreateTime()); + sortUtilDTO.setType("回退申请"); + sortUtilDTOList.add(sortUtilDTO); + } + for(CaseAppear caseAppear: caseAppearList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseAppear); + sortUtilDTO.setDate(caseAppear.getCreateTime()); + sortUtilDTO.setType("上报申请"); + sortUtilDTOList.add(sortUtilDTO); + } + for(CaseWindupApply caseWindupApply: caseWindupApplyList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseWindupApply); + sortUtilDTO.setDate(caseWindupApply.getCreateTime()); + sortUtilDTO.setType("结案申请"); + sortUtilDTOList.add(sortUtilDTO); + } + for(CaseAssistApply caseAssistApply: caseAssistApplyList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseAssistApply); + sortUtilDTO.setDate(caseAssistApply.getCreateTime()); + sortUtilDTO.setType("联合处置申请"); + sortUtilDTOList.add(sortUtilDTO); + } + sortUtilDTOList.sort(Comparator.comparing(SortUtilDTO::getDate)); + List<Object> resultList = new ArrayList<>(); + for(SortUtilDTO sortUtilDTO: sortUtilDTOList){ + resultList.add(sortUtilDTO); + } + return resultList; + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + /** * wechat端-查询流程进度 * @param caseId 纠纷编号 @@ -896,7 +955,7 @@ */ public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ try{ - // 启动自行手里工作流 + // 启动自行受理工作流 FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId()); // 进入第1个节点-办理反馈 CaseTask blfkCaseTask = new CaseTask(); @@ -1124,32 +1183,31 @@ CtUserDTO loginUser = custClient.clientGetUserAll(userId); List<String> taskIdList = new ArrayList<>(); List<String> caseIdList = new ArrayList<>(); - - // 更新纠纷任务信息 - CaseTask caseTaskPO = new CaseTask(); - caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); - caseTaskPO.setSignTime(nowDate); - caseTaskPO.setSignUserId(loginUser.getId()); - caseTaskPO.setSignUserName(loginUser.getTrueName()); - caseTaskPO.setHandleIllust("已签收"); - caseTaskPO.setUpdateTime(nowDate); - - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); - caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); - caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); - caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); - caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); - caseInfoPO.setUpdateTime(nowDate); - - for(SignTaskDTO signTaskDTO: signTaskDTOList){ - taskIdList.add(signTaskDTO.getCaseTaskId()); - caseIdList.add(signTaskDTO.getCaseId()); + for (SignTaskDTO signTaskDTO: signTaskDTOList){ + CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseId()); + // 更新纠纷任务信息 + CaseTask caseTaskPO = new CaseTask(); + caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); + caseTaskPO.setSignTime(nowDate); + caseTaskPO.setSignUserId(loginUser.getId()); + caseTaskPO.setSignUserName(loginUser.getTrueName()); + caseTaskPO.setHandleIllust("已签收"); + caseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(caseTaskPO); + // 承办部门签收才更新纠纷信息 + if (CaseTaskConsts.CASE_TASK_TYPE_1 == qsCaseTask.getCaseTaskType()) { + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoPO.setUpdateTime(nowDate); + caseInfoService.updateCaseInfo(caseInfoPO); + } } - mapper.updateCaseTaskList(caseTaskPO, taskIdList); - caseInfoService.updateCaseInfoList(caseInfoPO, caseIdList); }catch (Exception e){ log.error("[CaseTaskService.webSign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webSign", e); @@ -1197,7 +1255,7 @@ blfkCaseTask.setNodeName(newFlowNode.getNodeName()); blfkCaseTask.setFlowId(newFlowNode.getFlowId()); blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); - blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + blfkCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType()); // 受理任务,任务候选执行者类型是上一步骤选择 blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); @@ -1214,23 +1272,26 @@ blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(blfkCaseTask.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); - caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); - caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); - caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); - caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); - caseInfoService.updateCaseInfo(caseInfoPO); - // 更新纠纷扩展信息 - CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); - caseInfoUnfoldPO.setAcceptTime(nowDate); - caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); - caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); - caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + // 承办部门签收才更新纠纷信息 + if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(blfkCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoService.updateCaseInfo(caseInfoPO); + // 更新纠纷扩展信息 + CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); + caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); + caseInfoUnfoldPO.setAcceptTime(nowDate); + caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); + caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); + caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + } }catch (Exception e){ log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAccept", e); @@ -1475,6 +1536,27 @@ caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } + // 查询配合部门的任务,全部结束流程 + QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); + caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", jasqCaseTask.getCaseId()); + List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + for (CaseTask assistCaseTask: assistCaseTaskList){ + // 完成配合部门当前办理反馈任务 + assistCaseTask.setId(caseWindupApply.getCaseTaskId()); + assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + assistCaseTask.setHandleUnitId(loginUser.getUnitId()); + assistCaseTask.setHandleUnitName(loginUser.getUnitName()); + assistCaseTask.setHandleUserId(loginUser.getId()); + assistCaseTask.setHandleUserName(loginUser.getTrueName()); + assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + assistCaseTask.setHandleTime(nowDate); + assistCaseTask.setUpdateTime(nowDate); + mapper.updateCaseTask(assistCaseTask); + // 完成当前配合部门办理反馈工作流任务 + flowInfoService.completeTask(assistCaseTask.getFlowableId(), assistCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_forward, userId); + + } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webWindupApply", e); @@ -1652,7 +1734,7 @@ } /** - * web端任务处理-上报 + * web端任务处理-回退申请 * @param caseReturn 回退申请表单 * @param userId 当前登录用户 */ @@ -1667,6 +1749,9 @@ caseReturn.setReturnUserId(loginUser.getId()); caseReturn.setReturnUserName(loginUser.getTrueName()); caseReturn.setReturnTime(nowDate); + CtUnitDTO zzzxUnit = custClient.getParentZzzxUnit(loginUser.getUnitId()); + caseReturn.setAuditUnitId(zzzxUnit.getId()); + caseReturn.setAuditUnitName(zzzxUnit.getUnitName()); caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_0); caseReturn.setDeleteStatus(BaseConsts.DELETE_STATUS_0); caseReturn.setCustId(loginUser.getCustId()); @@ -1770,7 +1855,7 @@ // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); - dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setCaseId(htshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); @@ -1799,7 +1884,7 @@ mapper.insert(dfphCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dfphCaseTask.getCaseId()); + caseInfoPO.setId(htshCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); @@ -1989,7 +2074,7 @@ // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); - dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); @@ -2018,7 +2103,7 @@ mapper.insert(dfphCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dfphCaseTask.getCaseId()); + caseInfoPO.setId(sbshCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); @@ -2048,7 +2133,7 @@ // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); - dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); -- Gitblit v1.8.0