forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-09-25 c9dfc82c1b2a51a4961c0c8c955bc646acf6b8cb
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -22,6 +22,8 @@
import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.cust.dto.CtUnitDTO;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.draft.domain.po.CasedraftInfo;
import cn.huge.module.draft.service.CasedraftInfoService;
import cn.huge.module.mediate.constant.AuditBaseConsts;
import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
import cn.huge.module.disp.constant.DispBaseConstsEnum;
@@ -99,6 +101,8 @@
    private CaseAssistInfoService caseAssistInfoService;
    @Autowired
    private CaseDismissService caseDismissService;
    @Autowired
    private CasedraftInfoService casedraftInfoService;
    /**
    * 更新对象
@@ -211,8 +215,6 @@
     */
    public TabButtonDTO webGetTabButton(String caseTaskId, String userId){
        try{
            // 查询当前任务信息
            CaseTask caseTask = mapper.selectById(caseTaskId);
            // 定义tab
            TabButtonInfoDTO sxxq = new TabButtonInfoDTO();
            sxxq.setId("sxxq");
@@ -279,98 +281,91 @@
            TabButtonInfoDTO bysl = new TabButtonInfoDTO();
            bysl.setId("bysl");
            bysl.setName("不予受理");
            // 根据流程显示tab
            List<TabButtonInfoDTO> tabList = new LinkedList<>();
            // 根据流程显示button
            List<TabButtonInfoDTO> buttonList = new LinkedList<>();
            // 查询当前任务信息
            CaseTask caseTask = mapper.selectById(caseTaskId);
            if (ObjectUtils.isNotEmpty(caseTask)) {
                // 不予受理
                if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                    tabList.add(byslxq);
                    tabList.add(sqjl);
                // 已完成任务
                if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
                    // 不予受理
                    if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                        tabList.add(byslxq);
                        tabList.add(sqjl);
                    }else {
                        // 正常任务
                        CaseInfo caseInfo = caseInfoService.getById(caseTask.getCaseId());
                        if (CaseProcessBaseConstsEnum.CASE_PROCESS_6.getIndex() != caseInfo.getProcess()){
                            daxx.setName("详情");
                        }
                        tabList.add(daxx);
                        tabList.add(lcdb);
                        tabList.add(sqjl);
                    }
                }else {
                    // 正常流程
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                    // 进行中任务
                    // 待分派节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(zxsl);
                        sl.setName("自行受理");
                        buttonList.add(sl);
                        buttonList.add(jb);
                        buttonList.add(sb);
                        buttonList.add(bysl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                    // 待受理节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(bysl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                    // 回退审核节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                    // 上报审核节点
                    if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(sbsh);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(zxsl);
                        buttonList.add(jb);
                        buttonList.add(sb);
                        buttonList.add(bysl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(bysl);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(sbsh);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(zxsl);
                        buttonList.add(jb);
                        buttonList.add(bysl);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(bysl);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                    }
                    // 办理反馈节点
                    if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
                        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
                            tabList.add(sxxq);
@@ -381,7 +376,11 @@
                            buttonList.add(tjbljl);
                            buttonList.add(lhczsq);
                            buttonList.add(jasq);
                            buttonList.add(db);
//                            buttonList.add(db);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                        } else {
                            tabList.add(sxxq);
                            tabList.add(sxbl);
@@ -389,42 +388,53 @@
                            tabList.add(sqjl);
                            buttonList.add(tjbljl);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                        }
                    }
                    // 结案审核节点
                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(jash);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    // 当事人评价节点
                    if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) {
                        daxx.setName("信息");
                        daxx.setName("详情");
                        tabList.add(daxx);
                        tabList.add(lcdb);
                        tabList.add(sqjl);
                    }
                    // 结案归档节点
                    if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(daxx);
                        tabList.add(lcdb);
                        tabList.add(sqjl);
                    }
                    // 联合处置-待受理
                    if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                    }
                    if (FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                }
            }else {
                tabList.add(sxxq);
                daxx.setName("详情");
                tabList.add(daxx);
                tabList.add(lcdb);
                tabList.add(sqjl);
                tabList.add(lhczsh);
            }
            // 封装数据
            TabButtonDTO tabButtonDTO = new TabButtonDTO();
@@ -518,6 +528,8 @@
                    if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                        webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                        webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                        webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
                        webCaseFlowDTO.setHandleUserName(null);
                    }else{
                        webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                    }
@@ -758,7 +770,21 @@
            long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId());
            long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId());
            long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId());
            frontPageCountDTO.setReturnReview(countReturnReview);
            frontPageCountDTO.setAppearReview(countAppearReview);
            frontPageCountDTO.setWindupReview(countApplyReview);
            frontPageCountDTO.setAssistReview(countAssistReview);
            frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview);
            // 已办
            Map<String, Object> ybTerms = new HashMap<>();
            ybTerms.put("handleUnitId", loginUser.getUnitId());
            long alreadyDone = mapper.countMyTaskYb(ybTerms);
            frontPageCountDTO.setAlreadyDone(alreadyDone);
            // 已办
            Map<String, Object> cgTerms = new HashMap<>();
            cgTerms.put("inputUnitId", loginUser.getUnitId());
            long caseDraft = casedraftInfoService.countTerms(cgTerms);
            frontPageCountDTO.setCaseDraft(caseDraft);
            return frontPageCountDTO;
        }catch (Exception e) {
            log.error("[CaseTaskService.getCountList]调用失败,异常信息:" + e, e);
@@ -2608,4 +2634,22 @@
    public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){
        return mapper.listIdByTerms(terms);
    }
    /**
     * web端-工作台-已办事项
     * @param page 分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){
        try {
            long total = mapper.countMyTaskYb(terms);
            List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms);
            return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total);
        }catch (Exception e) {
            log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseTaskService.pageMyTaskYb", e);
        }
    }
}