From 9d27d3439ea42d34a9cf9602f1a2c0b5e9bb75a2 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Mon, 23 Sep 2024 20:29:43 +0800
Subject: [PATCH] 全部签收接口优化、首页-统计数量添加返回字段、首页督办修复、查询案件督办信息接口添加字段

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java |  188 ++++++++++++++++++++++++++++------------------
 1 files changed, 115 insertions(+), 73 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 3babc30..e0db98e 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
@@ -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();
@@ -758,7 +768,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 +2632,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);
+        }
+    }
+
 }

--
Gitblit v1.8.0