forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-20 0638eafaa8eaaad126d39becae52f48813c24844
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -348,11 +348,13 @@
                if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
                    tabList.add(sxxq);
                    tabList.add(sxbl);
                    tabList.add(lcdb);
//                    tabList.add(sqjl);
                    buttonList.add(tjbljl);
                    buttonList.add(lhczsq);
                    buttonList.add(jasq);
                    buttonList.add(db);
                }
                if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                    tabList.add(sxxq);
@@ -518,32 +520,118 @@
            result.put("handleCaseFlowList", handleCaseFlowList);
            // 查询配合组织流程
            CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId);
            if (StringUtils.isNotEmpty(caseInfoUnfold.getAssistUnitId())){
            List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId);
            if (CollectionUtils.isNotEmpty(caseAssistInfoList)){
                LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
                String[] unitIdList = caseInfoUnfold.getAssistUnitId().split(BaseConsts.COMMA);
                String[] unitNameList = caseInfoUnfold.getAssistUnitName().split(BaseConsts.COMMA);
                for (int i=0; i<unitIdList.length; i++){
                    String unitId = unitIdList[i];
                    String unitName = unitNameList[i];
                for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){
                    WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
                    webAssistCaseFlowDTO.setUnitId(unitId);
                    webAssistCaseFlowDTO.setUnitName(unitName);
                    i ++;
                    webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUserId());
                    webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUserName());
                    LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
                    caseTaskQueryWrapper.clear();
                    caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", unitId)
                    caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUserId())
                            .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
                    List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
                    for (CaseTask caseTask: assistCaseTaskList){
                        WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                        webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                        webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                        webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                        webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                        webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                        webCaseFlowDTO.setStatus(caseTask.getStatus());
                        caseFlowList.add(webCaseFlowDTO);
                        // 已结束节点
                        if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
                            // 待受理并已签收的正常任务节点,需要加多一个签收节点
                            if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
                                if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
                                    WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                                    slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                    slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                                    slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                                    slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                                    slWebCaseFlowDTO.setHandleNotes("已签收");
                                    slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                                    slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                                    caseFlowList.add(slWebCaseFlowDTO);
                                }
                            }
                            // 普通节点
                            WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                            webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                            webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                            webCaseFlowDTO.setStatus(caseTask.getStatus());
                            webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                            webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                            // 回退申请节点
                            if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
                                webCaseFlowDTO.setNodeShowName("事件回退");
                                CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
                                if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
                                    webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
                                }else {
                                    webCaseFlowDTO.setHandleNotes("回退理由:-");
                                }
                            }
                            // 上报申请节点
                            if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){
                                webCaseFlowDTO.setNodeShowName("事件上报");
                                CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId);
                                if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) {
                                    webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent());
                                }else {
                                    webCaseFlowDTO.setHandleNotes("上报意见:-" );
                                }
                            }
                            // 当事人评价节点,特殊处理
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                            }else{
                                webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                            }
                            // 审核节点要判断通过/不通过
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
                                // 处理不通过,任务类型就是回退
                                if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
                                    webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                                    webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
                                    webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
                                }else{
                                    // 处理通过
                                    webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                                    webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                                }
                                // 临时加上
                                webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName());
                            }
                            // 结案申请,需要展示化解结果
                            if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){
                                CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId());
                                if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
                                    webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult());
                                    webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName());
                                    // 临时加上
                                    webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
                                }
                            }
                            caseFlowList.add(webCaseFlowDTO);
                        }else {
                            // 进行中的节点
                            WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                            webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            webCaseFlowDTO.setStatus(caseTask.getStatus());
                            // 当事人评价节点,特殊处理
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                            }else{
                                webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                            }
                            caseFlowList.add(webCaseFlowDTO);
                        }
                    }
                    webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
                    assistCaseFlowList.add(webAssistCaseFlowDTO);
@@ -742,6 +830,26 @@
    /**
     * 首页-待审核分页查询
     * @param page 分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<FrontPageListDTO> pageMyTaskShWSQD(PageRequest page, int type, Map<String, Object> terms){
        try {
            long total = 0;
            List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>();
            total = mapper.countMyTaskShWSQD(terms);
            frontPageListDTOList = mapper.pageMyTaskShWSQD(page,terms);
            return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total);
        }catch (Exception e) {
            log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
        }
    }
    /**
     * 首页-待审核分页查询
     * @param caseId 事项编号
     * @return Page
     */