From 3ecb864b90bd6f757243dae6cd139e6969d253b0 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Sun, 22 Sep 2024 00:25:53 +0800
Subject: [PATCH] 1、不予受理流程优化

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java |  261 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 204 insertions(+), 57 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
index 7b53fdb..fd3767b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -6,16 +6,15 @@
 import cn.huge.base.config.CurrentUser;
 import cn.huge.module.cases.domain.dto.AcceptTaskDTO;
 import cn.huge.module.cases.domain.dto.AssignTaskDTO;
+import cn.huge.module.cases.domain.dto.FrontPageListSLDTO;
 import cn.huge.module.cases.domain.dto.SignTaskDTO;
-import cn.huge.module.cases.domain.po.CaseAppear;
-import cn.huge.module.cases.domain.po.CaseReturn;
-import cn.huge.module.cases.domain.po.CaseTask;
-import cn.huge.module.cases.domain.po.CaseWindupApply;
+import cn.huge.module.cases.domain.po.*;
 import cn.huge.module.cases.service.*;
 import cn.huge.module.client.api.SysClient;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
 import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
@@ -64,6 +63,8 @@
     private CustClientImpl custClient;
     @Autowired
     private CaseSuperviseService superviseService;
+    @Autowired
+    private CaseDismissService caseDismissService;
 
     /**
     * web端-任务处理页面-初始化tab和按钮
@@ -75,6 +76,22 @@
     public Object getTabButton(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
         try {
             return ReturnSucUtils.getRepInfo(service.webGetTabButton(caseTaskId, userId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-不予受理
+     * @url {ctx}/api/web/caseTask/dismiss
+     * @param caseDismiss 不予受理表单
+     * @return Object
+     */
+    @PostMapping("/dismiss")
+    public Object dismiss(@RequestBody CaseDismiss caseDismiss, @CurrentUser String userId) {
+        try {
+            service.webDismiss(caseDismiss, userId);
+            return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -121,8 +138,7 @@
     @PostMapping("/accept")
     public Object accept(@RequestBody AcceptTaskDTO acceptTaskDTO, @CurrentUser String userId) {
         try {
-            service.webAccept(acceptTaskDTO, userId);
-            return ReturnSucUtils.getRepInfo();
+            return ReturnSucUtils.getRepInfo(service.webAccept(acceptTaskDTO, userId));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -314,7 +330,7 @@
      * @param size 每页数量
      * @param status 状态,1:待分派,2:已分派
      * @param sortType 排序方式(1:正序;2:倒序)
-     * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级)
+     * @param sortColmn 排序字段(1:流转时间;2:分派时限/分派时间;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskFp")
@@ -322,19 +338,31 @@
                                @RequestParam(value = "status") int status, @CurrentUser String userId,
                                @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) {
         try {
+            // 条件
             Map<String, Object> terms = Maps.newHashMap();
             // 流程/分派时间区间
             String timeStart = request.getParameter("timeStart");
             String timeEnd = request.getParameter("timeEnd");
             if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
-                terms.put("timeStart", timeStart);
-                terms.put("timeEnd", timeEnd);
+                // 待分派,查询流转时间
+                if (status == 1){
+                    terms.put("createTimeStart", timeStart);
+                    terms.put("createTimeEnd", timeEnd);
+                }else {
+                    // 已分派,查询分派时间
+                    terms.put("handleTimeStart", timeStart);
+                    terms.put("handleTimeEnd", timeEnd);
+                }
             }
             // 查询申请方/被申请方关键词
             String partyName = request.getParameter("partyName");
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("candeUnitId",loginUser.getUnitId());
+            terms.put("status", status);
+            // 排序
             Sort sort = null;
             String sortName = null;
             switch (sortColmn){
@@ -342,7 +370,11 @@
                     sortName = "t1.create_time";
                     break;
                 case 2:
-                    sortName = "t1.expire_time";
+                    if (status == 1){
+                        sortName = "t1.expire_time";
+                    }else {
+                        sortName = "t1.handle_time";
+                    }
                     break;
                 case 3:
                     sortName = "t2.case_level";
@@ -360,9 +392,6 @@
                 sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
             }
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            terms.put("candeUnitId",loginUser.getUnitId());
-            terms.put("status", status);
             return ReturnSucUtils.getRepInfo(service.pageMyTaskFp(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -376,7 +405,7 @@
      * @param size 每页数量
      * @param status 状态,1:待签收,2:已签收
      * @param sortType 排序方式(1:正序;2:倒序)
-     * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级)
+     * @param sortColmn 排序字段(1:流转时间;2:签收时限/签收时间;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskQs")
@@ -384,19 +413,31 @@
                                @RequestParam(value = "status") int status, @CurrentUser String userId,
                                @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) {
         try {
+            // 条件
             Map<String, Object> terms = Maps.newHashMap();
             // 流程/签收时间区间
             String timeStart = request.getParameter("timeStart");
             String timeEnd = request.getParameter("timeEnd");
             if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
-                terms.put("timeStart", timeStart);
-                terms.put("timeEnd", timeEnd);
+                // 待签收,查询流转时间
+                if (status == 1){
+                    terms.put("createTimeStart", timeStart);
+                    terms.put("createTimeEnd", timeEnd);
+                }else {
+                    // 已签收,查询签收时间
+                    terms.put("signTimeStart", timeStart);
+                    terms.put("signTimeEnd", timeEnd);
+                }
             }
             // 查询申请方/被申请方关键词
             String partyName = request.getParameter("partyName");
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("candeUnitId",loginUser.getUnitId());
+            terms.put("signStatus", status);
+            // 排序
             Sort sort = null;
             String sortName = null;
             switch (sortColmn){
@@ -404,7 +445,11 @@
                     sortName = "t1.create_time";
                     break;
                 case 2:
-                    sortName = "t1.expire_time";
+                    if (status == 1){
+                        sortName = "t1.sign_expire_time";
+                    }else {
+                        sortName = "t1.sign_time";
+                    }
                     break;
                 case 3:
                     sortName = "t2.case_level";
@@ -422,9 +467,6 @@
                 sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
             }
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            terms.put("candeUnitId",loginUser.getUnitId());
-            terms.put("signStatus", status);
             return ReturnSucUtils.getRepInfo(service.pageMyTaskQs(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -436,9 +478,9 @@
      * @url {ctx}/api/web/caseTask/pageMyTaskSl
      * @param page 页码
      * @param size 每页数量
-     * @param status 状态,1:待受理,2:已受理
+     * @param status 状态,1:待受理,2:已受理,3:不予受理
      * @param sortType 排序方式(1:正序;2:倒序)
-     * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级)
+     * @param sortColmn 排序字段(1:流转时间;2:受理时限/受理时间/不予受理时间;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskSl")
@@ -446,27 +488,29 @@
                                @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn,
                                @RequestParam(value = "status") int status, @CurrentUser String userId) {
         try {
-            Map<String, Object> terms = Maps.newHashMap();
-            // 流程/受理时间区间
-            String timeStart = request.getParameter("timeStart");
-            String timeEnd = request.getParameter("timeEnd");
-            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
-                terms.put("timeStart", timeStart);
-                terms.put("timeEnd", timeEnd);
-            }
-            // 查询申请方/被申请方关键词
-            String partyName = request.getParameter("partyName");
-            if (StringUtils.isNotBlank(partyName)){
-                terms.put("partyName", partyName);
-            }
+            // 排序
             Sort sort = null;
             String sortName = null;
             switch (sortColmn){
                 case 1:
-                    sortName = "t1.create_time";
+                    // 不予受理
+                    if (status == 3){
+                        sortName = "t1.case_task_time";
+                    }else {
+                        sortName = "t1.create_time";
+                    }
                     break;
                 case 2:
-                    sortName = "t1.expire_time";
+                    // 待受理
+                    if (status == 1){
+                        sortName = "t1.expire_time";
+                    }else if (status == 2){
+                        // 已受理
+                        sortName = "t1.handle_time";
+                    }else {
+                        // 不予受理
+                        sortName = "t1.dis_time";
+                    }
                     break;
                 case 3:
                     sortName = "t2.case_level";
@@ -484,10 +528,41 @@
                 sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
             }
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            // 条件
+            Map<String, Object> terms = Maps.newHashMap();
+            // 流程/受理时间区间
+            String timeStart = request.getParameter("timeStart");
+            String timeEnd = request.getParameter("timeEnd");
+            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
+                // 待受理,查询流转时间
+                if (status == 1){
+                    terms.put("createTimeStart", timeStart);
+                    terms.put("createTimeEnd", timeEnd);
+                }else if (status == 2){
+                    // 已受理,查询受理时间
+                    terms.put("handleTimeStart", timeStart);
+                    terms.put("handleTimeEnd", timeEnd);
+                }else {
+                    // 不予受理,查询不予受理时间
+                    terms.put("disTimeStart", timeStart);
+                    terms.put("disTimeEnd", timeEnd);
+                }
+            }
+            // 查询申请方/被申请方关键词
+            String partyName = request.getParameter("partyName");
+            if (StringUtils.isNotBlank(partyName)){
+                terms.put("partyName", partyName);
+            }
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            terms.put("candeUnitId",loginUser.getUnitId());
-            terms.put("status", status);
-            return ReturnSucUtils.getRepInfo(service.pageMyTaskSl(pageRequest, terms));
+            // 不予受理,查询case_dismiss表
+            if (status == 3){
+                terms.put("disUnitId", loginUser.getUnitId());
+                return ReturnSucUtils.getRepInfo(caseDismissService.pageMyTaskBysl(pageRequest, terms));
+            }else {
+                terms.put("status", status);
+                terms.put("candeUnitId", loginUser.getUnitId());
+                return ReturnSucUtils.getRepInfo(service.pageMyTaskSl(pageRequest, terms));
+            }
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -498,28 +573,34 @@
      * @url {ctx}/api/web/caseTask/pageMyTaskBlz
      * @param page 页码
      * @param size 每页数量
+     * @param caseTaskType 纠纷任务类型(1:我承办的;2:我配合的)
      * @param sortType 排序方式(1:正序;2:倒序)
      * @param sortColmn 排序字段(1:流转时间/已办天数;2:分派时限;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskBlz")
     public Object pageMyTaskBlz(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-                                @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn,
-                                @CurrentUser String userId) {
+                                @RequestParam(value = "caseTaskType") int caseTaskType, @RequestParam(value = "sortType") int sortType,
+                                @RequestParam(value = "sortColmn") int sortColmn, @CurrentUser String userId) {
         try {
+            // 条件
             Map<String, Object> terms = Maps.newHashMap();
             // 流程/结案申请/结案时间区间
             String timeStart = request.getParameter("timeStart");
             String timeEnd = request.getParameter("timeEnd");
             if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
-                terms.put("timeStart", timeStart);
-                terms.put("timeEnd", timeEnd);
+                terms.put("createTimeStart", timeStart);
+                terms.put("createTimeEnd", timeEnd);
             }
             // 查询申请方/被申请方关键词
             String partyName = request.getParameter("partyName");
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
+            terms.put("caseTaskType", caseTaskType);
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("candeUnitId", loginUser.getUnitId());
+            // 排序
             Sort sort = null;
             String sortName = null;
             switch (sortColmn){
@@ -544,10 +625,7 @@
             if(ObjectUtils.isEmpty(sort)){
                 sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
             }
-
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            terms.put("candeUnitId",loginUser.getUnitId());
             return ReturnSucUtils.getRepInfo(service.pageMyTaskBlz(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -555,38 +633,55 @@
     }
 
     /**
-     * web端-工作台-查询待办任务-办理任务
+     * web端-工作台-查询待办任务-已办理任务
      * @url {ctx}/api/web/caseTask/pageMyTaskBl
      * @param page 页码
      * @param size 每页数量
      * @param status 状态,0:结案申请,1:已结案
+     * @param caseTaskType 纠纷任务类型(1:我承办的;2:我配合的)
      * @param sortType 排序方式(1:正序;2:倒序)
      * @param sortColmn 排序字段(1:结案申请时间;2:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskBl")
     public Object pageMyTaskBl(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-                               @RequestParam(value = "status") int status, @CurrentUser String userId,
-                               @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) {
+                               @RequestParam(value = "status") int status, @RequestParam(value = "caseTaskType") int caseTaskType,
+                               @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn,
+                               @CurrentUser String userId) {
         try {
             Map<String, Object> terms = Maps.newHashMap();
             // 流程/结案申请/结案时间区间
             String timeStart = request.getParameter("timeStart");
             String timeEnd = request.getParameter("timeEnd");
             if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
-                terms.put("timeStart", timeStart);
-                terms.put("timeEnd", timeEnd);
+                terms.put("applyTimeStart", timeStart);
+                terms.put("applyTimeStart", timeEnd);
             }
             // 查询申请方/被申请方关键词
             String partyName = request.getParameter("partyName");
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
+            terms.put("applyStatus", status);
+            if (status == 1){
+                terms.put("auditResult", AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+            }
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            if (caseTaskType == 1){
+                terms.put("applyUnitId", loginUser.getUnitId());
+            }else {
+                terms.put("assistUnitId", loginUser.getUnitId());
+            }
+            // 排序
             Sort sort = null;
             String sortName = null;
             switch (sortColmn){
                 case 1:
-                    sortName = "t1.apply_time";
+                    if (status == 0) {
+                        sortName = "t1.apply_time";
+                    }else {
+                        sortName = "t1.audit_time";
+                    }
                     break;
                 case 2:
                     sortName = "t1.case_level";
@@ -604,10 +699,7 @@
                 sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
             }
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
-            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            terms.put("applyUnitId",loginUser.getUnitId());
-            terms.put("applyStatus", status);
-            return ReturnSucUtils.getRepInfo(service.pageMyTaskBl(pageRequest, terms));
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskJa(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -678,6 +770,47 @@
         }
     }
 
+//    /**
+//     * web端-工作台-查询待办任务-审核任务
+//     * @url {ctx}/api/web/caseTask/pageMyTaskShWSQD
+//     * @param page 页码
+//     * @param size 每页数量
+//     * @param status 状态,0:待审核,1:已审核
+//     * @param sortType 排序方式(1:正序;2:倒序)
+//     * @param sortColmn 排序字段(1:结案申请时间;2:事项等级)
+//     * @return
+//     */
+//    @GetMapping("/pageMyTaskShWSQD")
+//    public Object pageMyTaskShWSQD(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+//                               @RequestParam(value = "status") int status, @CurrentUser String userId,
+//                                   @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) {
+//        try {
+//            Map<String, Object> terms = Maps.newHashMap();
+//            // 回退/上报/结案申请/联合处置申请/审核时间区间
+//            String timeStart = request.getParameter("timeStart");
+//            String timeEnd = request.getParameter("timeEnd");
+//            if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
+//                terms.put("timeStart", timeStart);
+//                terms.put("timeEnd", timeEnd);
+//            }
+//            // 查询申请方/被申请方关键词
+//            String partyName = request.getParameter("partyName");
+//            if (StringUtils.isNotBlank(partyName)){
+//                terms.put("partyName", partyName);
+//            }
+//            if(ObjectUtils.isEmpty(sort)){
+//                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+//            }
+//            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+//            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+//            terms.put("auditUnitId",loginUser.getUnitId());
+//            terms.put("applyStatus", status);
+//            return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, type, terms));
+//        } catch (Exception e) {
+//            return ReturnFailUtils.getRepInfo();
+//        }
+//    }
+
     /**
      * web端-工作台-查询待办任务-督办
      * @url {ctx}/api/web/caseTask/pageMyTaskDb
@@ -737,4 +870,18 @@
             return ReturnFailUtils.getRepInfo();
         }
     }
+
+    /**
+     * web端-申请记录
+     * @url {ctx}/api/web/caseTask/listMyApplyRecord
+     * @return
+     */
+    @GetMapping("/listMyApplyRecord")
+    public Object listMyApplyRecord(@RequestParam(value = "caseId") String caseId) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.listMyApplyRecord(caseId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }

--
Gitblit v1.8.0