forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-21 1a34864a39b41159f83c608e72a04f14a1038228
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -97,15 +97,8 @@
    private CaseEvaluateService caseEvaluateService;
    @Autowired
    private CaseAssistInfoService caseAssistInfoService;
    @Autowired
    private CaseWindupApplyMapper caseWindupApplyMapper;
    @Autowired
    private CaseReturnMapper caseReturnMapper;
    @Autowired
    private CaseAppearMapper caseAppearMapper;
    @Autowired
    private CaseAssistApplyMapper caseAssistApplyMapper;
    private CaseDismissService caseDismissService;
    /**
    * 更新对象
@@ -195,6 +188,20 @@
            log.error("[CaseTaskService.saveCaseTask]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseTaskService.saveCaseTask", e);
        }
    }
    /**
     * 根据纠纷编号查询进行中的配合部门任务
     * @param caseId
     * @return
     */
    public List<CaseTask> listAssistTasking(String caseId){
        // 查询配合部门的任务
        QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
        caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId)
                .eq("status", CaseTaskConsts.TASK_STATUS_1);
        List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
       return assistCaseTaskList;
    }
    /**
@@ -532,6 +539,10 @@
                            // 临时加上
                            webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
                        }
                    }
                    // 不予受理
                    if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                        webCaseFlowDTO.setNodeShowName("不予受理");
                    }
                    handleCaseFlowList.add(webCaseFlowDTO);
                }else {
@@ -1290,6 +1301,78 @@
    }
    /**
     * web端任务处理-不予受理
     * @param caseDismiss 不予受理表单
     * @param userId 当前登录用户
     */
    public void webDismiss(CaseDismiss caseDismiss, String userId){
        try{
            Date nowDate = DateUtils.getNowDate();
            // 获取当前登录用户
            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
            // 查询当前任务
            CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId());
            // 结束当前任务
            CaseTask caseTaskPO = new CaseTask();
            caseTaskPO.setId(caseDismiss.getCaseTaskId());
            caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
            caseTaskPO.setHandleUnitId(loginUser.getUnitId());
            caseTaskPO.setHandleUnitName(loginUser.getUnitName());
            caseTaskPO.setHandleUserId(loginUser.getId());
            caseTaskPO.setHandleUserName(loginUser.getTrueName());
            caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3);
            caseTaskPO.setHandleContent(caseDismiss.getDisContent());
            caseTaskPO.setHandleTime(nowDate);
            caseTaskPO.setUpdateTime(nowDate);
            mapper.updateCaseTask(caseTaskPO);
            // 结束当前工作流任务
            flowInfoService.endFlow(caseTask.getProcessInstanceId());
            // 更新纠纷信息
            CaseInfo caseInfoPO = new CaseInfo();
            caseInfoPO.setId(caseTask.getCaseId());
            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.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);
            // 有配合部门,也结束配合部门工作流程
            List<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId());
            for (CaseTask assistCaseTask: assistCaseTaskList){
                // 完成配合部门当前任务
                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.endFlow(assistCaseTask.getProcessInstanceId());
            }
            // 新增不予受理信息
            caseDismiss.setCaseTaskTime(caseTask.getCreateTime());
            caseDismiss.setDisUnitId(loginUser.getUnitId());
            caseDismiss.setDisUnitName(loginUser.getUnitName());
            caseDismiss.setDisUserId(loginUser.getId());
            caseDismiss.setDisUserName(loginUser.getTrueName());
            caseDismiss.setDisTime(nowDate);
            caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
            caseDismiss.setCustId(caseTask.getCustId());
            caseDismiss.setCreateTime(nowDate);
            caseDismiss.setUpdateTime(nowDate);
            caseDismissService.save(caseDismiss);
        }catch (Exception e){
            log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseTaskService.webAssign", e);
        }
    }
    /**
     * web端任务处理-交办
     * @param assignTaskDTO 交办任务表单
     * @param userId 当前登录用户
@@ -1383,6 +1466,7 @@
            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);
            // 分派配合组织
            if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
@@ -1605,6 +1689,7 @@
                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);
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1869,12 +1954,9 @@
                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);
            List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId());
            for (CaseTask assistCaseTask: assistCaseTaskList){
                // 完成配合部门当前办理反馈任务
                assistCaseTask.setId(caseWindupApply.getCaseTaskId());
                // 完成配合部门当前任务
                assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                assistCaseTask.setHandleUnitId(loginUser.getUnitId());
                assistCaseTask.setHandleUnitName(loginUser.getUnitName());
@@ -1884,10 +1966,8 @@
                assistCaseTask.setHandleTime(nowDate);
                assistCaseTask.setUpdateTime(nowDate);
                mapper.updateCaseTask(assistCaseTask);
                // 完成当前配合部门办理反馈工作流任务
                flowInfoService.completeTask(assistCaseTask.getFlowableId(), assistCaseTask.getProcessTaskId(),
                        FlowableConsts.OPERATION_forward, userId);
                // 结束配合部门当前工作流任务
                flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
            }
        }catch (Exception e){
            log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
@@ -2210,6 +2290,22 @@
                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                    caseInfoPO.setUpdateTime(nowDate);
                    caseInfoService.updateCaseInfo(caseInfoPO);
                    // 有配合部门,也结束配合部门工作流程
                    List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId());
                    for (CaseTask assistCaseTask: assistCaseTaskList){
                        // 完成配合部门当前任务
                        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.endFlow(assistCaseTask.getProcessInstanceId());
                    }
                }else {
                    // 更新联合处置信息
                    QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();