forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-22 1f663ba3fc00eb577f728f82a557bbf7a5c69517
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");
@@ -244,6 +246,9 @@
            TabButtonInfoDTO daxx = new TabButtonInfoDTO();
            daxx.setId("daxx");
            daxx.setName("档案信息");
            TabButtonInfoDTO byslxq = new TabButtonInfoDTO();
            byslxq.setId("byslxq");
            byslxq.setName("详情");
            // 定义button
            TabButtonInfoDTO tjbljl = new TabButtonInfoDTO();
@@ -276,139 +281,144 @@
            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 (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                    tabList.add(dslxq);
                    tabList.add(sqjl);
                    buttonList.add(zxsl);
                    buttonList.add(jb);
                    buttonList.add(sb);
                    buttonList.add(bysl);
                }
                if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                    tabList.add(dslxq);
                    tabList.add(sqjl);
                    buttonList.add(sl);
                    buttonList.add(ht);
                    buttonList.add(bysl);
                }
                if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                    sxxq.setName("详情");
                    tabList.add(sxxq);
                    tabList.add(sqjl);
                    tabList.add(htsh);
                }
                if (FlowNodeEnum.FLOW_NODE_QJ_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);
                }
                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);
                        tabList.add(sxbl);
                        tabList.add(lcdb);
                // 任务已完成
                if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
                    // 不予受理
                    if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                        tabList.add(byslxq);
                        tabList.add(sqjl);
                        buttonList.add(tjbljl);
                        buttonList.add(lhczsq);
                        buttonList.add(jasq);
                        buttonList.add(db);
                    }else {
                        tabList.add(sxxq);
                        tabList.add(sxbl);
                        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);
                        buttonList.add(tjbljl);
                    }
                }
                if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                    tabList.add(sxxq);
                    tabList.add(sqjl);
                    tabList.add(jash);
                }
                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) {
                    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);
                }else {
                    // 进行中任务
                    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(sl);
                    buttonList.add(ht);
                }
                if (FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
                    sxxq.setName("详情");
                    tabList.add(sxxq);
                    tabList.add(sqjl);
                    tabList.add(htsh);
                        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())
                            || 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())
                            || 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())
                            || FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(sbsh);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
                        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
                            tabList.add(sxxq);
                            tabList.add(sxbl);
                            tabList.add(lcdb);
                            tabList.add(sqjl);
                            buttonList.add(tjbljl);
                            buttonList.add(lhczsq);
                            buttonList.add(jasq);
                            buttonList.add(db);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                        } else {
                            tabList.add(sxxq);
                            tabList.add(sxbl);
                            tabList.add(lcdb);
                            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("详情");
                        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);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                }
            }else {
                tabList.add(sxxq);
@@ -543,6 +553,8 @@
                    // 不予受理
                    if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                        webCaseFlowDTO.setNodeShowName("不予受理");
                        webCaseFlowDTO.setHandleNotes(null);
                        webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_4);
                    }
                    handleCaseFlowList.add(webCaseFlowDTO);
                }else {
@@ -746,6 +758,16 @@
            long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId());
            long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId());
            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);
@@ -763,10 +785,6 @@
        try {
            long total = mapper.countMyTaskFp(terms);
            List<FrontPageListFPDTO> frontPageListFPDTOList = mapper.pageMyTaskFp(page, terms);
            for (FrontPageListFPDTO frontPageListFPDTO: frontPageListFPDTOList){
                // 查询督办次数
            }
            return new PageImpl<FrontPageListFPDTO>(frontPageListFPDTOList, page, total);
        }catch (Exception e) {
            log.error("[CaseTaskService.pageMyTaskFp]调用失败,异常信息:" + e, e);
@@ -887,14 +905,11 @@
     * @param terms 条件
     * @return Page
     */
    public Page<FrontPageListDTO> pageMyTaskShWSQD(PageRequest page, int type, Map<String, Object> terms){
    public Page<FrontPageListWSQDDTO> pageMyTaskShWSQD(PageRequest page, 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);
            long total = mapper.countMyTaskShWSQD(terms);
            List<FrontPageListWSQDDTO> frontPageListWSQDDTOList = mapper.pageMyTaskShWSQD(page,terms);
            return new PageImpl<FrontPageListWSQDDTO>(frontPageListWSQDDTOList, page, total);
        }catch (Exception e) {
            log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
@@ -925,16 +940,18 @@
            List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
            List<SortUtilDTO> sortUtilDTOList = new ArrayList<>();
            List<String> idList = new ArrayList<>();
            String ids = new String();
            ids += caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.joining(","));
            ids += caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.joining(","));
            ids += caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.joining(","));
            ids += caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.joining(","));
            idList.addAll(caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.toList()));
            idList.addAll(caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.toList()));
            idList.addAll(caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.toList()));
            idList.addAll(caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.toList()));
            ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
            if(StringUtils.isNotBlank(ids)){
                Map terms = new HashMap();
                terms.put("mainId", caseId);
                terms.put("ownerIds", "," + ids + ",");
                terms.put("ownerIds", "'" + ids + "'");
                fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
            }
@@ -2592,4 +2609,30 @@
        }
    }
    /**
     * 按条件查询
     * @param terms 条件
     * @return List
     */
    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);
        }
    }
}