From abb0d631ffed8b67b0a78205ba127b46a4cb546b Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Tue, 10 Sep 2024 16:29:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java |  390 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 353 insertions(+), 37 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 2b86a93..c582dbd 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
@@ -1,19 +1,21 @@
 package cn.huge.module.cases.controller.web;
 
+import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
 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.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.service.CaseAppearService;
-import cn.huge.module.cases.service.CaseReturnService;
-import cn.huge.module.cases.service.CaseTaskService;
-import cn.huge.module.cases.service.CaseWindupApplyService;
+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.sys.dto.FileIdTypeInfoBaseDTO;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
@@ -58,6 +60,10 @@
     private CaseAppearService caseAppearService;
     @Autowired
     private SysClientImpl sysClient;
+    @Autowired
+    private CustClientImpl custClient;
+    @Autowired
+    private CaseSuperviseService superviseService;
 
     /**
     * web端-任务处理页面-初始化tab和按钮
@@ -68,7 +74,55 @@
     @GetMapping("/getTabButton")
     public Object getTabButton(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
         try {
-            return ReturnSucUtils.getRepInfo(service.webGetTabButton("caseTaskId", userId));
+            return ReturnSucUtils.getRepInfo(service.webGetTabButton(caseTaskId, userId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-交办
+     * @url {ctx}/api/web/caseTask/assign
+     * @param assignTaskDTO 交办表单
+     * @return Object
+     */
+    @PostMapping("/assign")
+    public Object assign(@RequestBody AssignTaskDTO assignTaskDTO, @CurrentUser String userId) {
+        try {
+            service.webAssign(assignTaskDTO, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-签收
+     * @url {ctx}/api/web/caseTask/sign
+     * @param signTaskDTO 签收表单
+     * @return Object
+     */
+    @PostMapping("/sign")
+    public Object sign(@RequestBody SignTaskDTO signTaskDTO, @CurrentUser String userId) {
+        try {
+            service.webSign(signTaskDTO, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-受理
+     * @url {ctx}/api/web/caseTask/accept
+     * @param acceptTaskDTO 受理表单
+     * @return Object
+     */
+    @PostMapping("/accept")
+    public Object accept(@RequestBody AcceptTaskDTO acceptTaskDTO, @CurrentUser String userId) {
+        try {
+            service.webAccept(acceptTaskDTO, userId);
+            return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -83,6 +137,7 @@
     @PostMapping("/windupApply")
     public Object windupApply(@RequestBody CaseWindupApply caseWindupApply, @CurrentUser String userId) {
         try {
+            service.webWindupApply(caseWindupApply, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -98,7 +153,8 @@
     @GetMapping("/getWindupApplyInfo")
     public Object getWindupApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
         try {
-            return ReturnSucUtils.getRepInfo(caseWindupApplyService.getByCaseTaskId(caseTaskId));
+            CaseWindupApply caseWindupApply = caseWindupApplyService.getByCaseTaskId(caseTaskId);
+            return ReturnSucUtils.getRepInfo(caseWindupApply);
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -113,6 +169,7 @@
     @PostMapping("/windupAudit")
     public Object windupAudit(@RequestBody CaseWindupApply caseWindupApply, @CurrentUser String userId) {
         try {
+            service.webWindupAudit(caseWindupApply, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -218,21 +275,6 @@
     }
 
     /**
-     * web端-交办
-     * @url {ctx}/api/web/caseTask/assign
-     * @param assignTaskDTO 交办表单
-     * @return Object
-     */
-    @PostMapping("/assign")
-    public Object assign(@RequestBody AssignTaskDTO assignTaskDTO, @CurrentUser String userId) {
-        try {
-            return ReturnSucUtils.getRepInfo();
-        } catch (Exception e) {
-            return ReturnFailUtils.getRepInfo();
-        }
-    }
-
-    /**
      * web端-查询流程进度
      * @url {ctx}/api/web/caseTask/listCaseFlow
      * @param caseId 纠纷编号
@@ -248,7 +290,7 @@
     }
 
     /**
-     * web端-查询流程进度
+     * web端-首页-查询待办数量
      * @url {ctx}/api/web/caseTask/getCountList
      * @return Object
      */
@@ -267,11 +309,14 @@
      * @param page 页码
      * @param size 每页数量
      * @param status 状态,1:待分派,2:已分派
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskFp")
     public Object pageMyTaskFp(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-                             @RequestParam(value = "status") int status, @CurrentUser String userId) {
+                               @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();
             // 流程/分派时间区间
@@ -286,7 +331,35 @@
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
-            return ReturnSucUtils.getRepInfo();
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    sortName = "t1.expire_time";
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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());
+            terms.put("status", status);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskFp(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -298,11 +371,14 @@
      * @param page 页码
      * @param size 每页数量
      * @param status 状态,1:待签收,2:已签收
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskQs")
     public Object pageMyTaskQs(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-                             @RequestParam(value = "status") int status, @CurrentUser String userId) {
+                               @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();
             // 流程/签收时间区间
@@ -317,7 +393,35 @@
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
-            return ReturnSucUtils.getRepInfo();
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    sortName = "t1.expire_time";
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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());
+            terms.put("signStatus", status);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskQs(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -329,10 +433,13 @@
      * @param page 页码
      * @param size 每页数量
      * @param status 状态,1:待受理,2:已受理
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级)
      * @return
      */
     @GetMapping("/pageMyTaskSl")
     public Object pageMyTaskSl(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+                               @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();
@@ -348,23 +455,53 @@
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
-            return ReturnSucUtils.getRepInfo();
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    sortName = "t1.expire_time";
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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());
+            terms.put("status", status);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskSl(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
     }
 
     /**
-     * web端-工作台-查询待办任务-办理任务
-     * @url {ctx}/api/web/caseTask/pageMyTaskBl
+     * web端-工作台-查询待办任务-办理中
+     * @url {ctx}/api/web/caseTask/pageMyTaskBlz
      * @param page 页码
      * @param size 每页数量
-     * @param status 状态,1:办理中,2:结案申请,3:已结案
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间/已办天数;2:分派时限;3:事项等级)
      * @return
      */
-    @GetMapping("/pageMyTaskBl")
-    public Object pageMyTaskBl(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
-                               @RequestParam(value = "status") int status, @CurrentUser String userId) {
+    @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) {
         try {
             Map<String, Object> terms = Maps.newHashMap();
             // 流程/结案申请/结案时间区间
@@ -379,7 +516,94 @@
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
-            return ReturnSucUtils.getRepInfo();
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    sortName = "t1.expire_time";
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-办理任务
+     * @url {ctx}/api/web/caseTask/pageMyTaskBl
+     * @param page 页码
+     * @param size 每页数量
+     * @param status 状态,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) {
+        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.apply_time";
+                    break;
+                case 2:
+                    sortName = "t1.case_level";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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("applyUnitId",loginUser.getUnitId());
+            terms.put("applyStatus", status);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskBl(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -390,14 +614,15 @@
      * @url {ctx}/api/web/caseTask/pageMyTaskSh
      * @param page 页码
      * @param size 每页数量
-     * @param status 状态,1:待审核,2:已审核
+     * @param status 状态,0:待审核,1:已审核
      * @param type 审核类型,1:回退审核,2:上报审核,3:结案审核,4:联合处置审核
+     * @param sortType 排序方式(1:正序;2:倒序)
      * @return
      */
     @GetMapping("/pageMyTaskSh")
     public Object pageMyTaskSh(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
                                @RequestParam(value = "status") int status, @RequestParam(value = "type") int type,
-                               @CurrentUser String userId) {
+                               @CurrentUser String userId, @RequestParam(value = "sortType") int sortType) {
         try {
             Map<String, Object> terms = Maps.newHashMap();
             // 回退/上报/结案申请/联合处置申请/审核时间区间
@@ -412,7 +637,98 @@
             if (StringUtils.isNotBlank(partyName)){
                 terms.put("partyName", partyName);
             }
-            return ReturnSucUtils.getRepInfo();
+            Sort sort = null;
+            String sortName = null;
+            switch (type){
+                case 1:
+                    sortName = "t1.return_time";
+                    break;
+                case 2:
+                    sortName = "t1.appear_time";
+                    break;
+                case 3:
+                    sortName = "t1.apply_time";
+                    break;
+                case 4:
+                    sortName = "t1.apply_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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.pageMyTaskSh(pageRequest, type, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-督办
+     * @url {ctx}/api/web/caseTask/pageMyTaskDb
+     * @param page 页码
+     * @param size 每页数量
+     * @param status 状态,0:未回复,1:已回复
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:督办时间/回复时限;2:事项等级)
+     * @return
+     */
+    @GetMapping("/pageMyTaskDb")
+    public Object pageMyTaskDb(@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);
+            }
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.sup_time";
+                    break;
+                case 2:
+                    sortName = "t1.case_level";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            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("quiltUnitId",loginUser.getUnitId());
+            terms.put("supStatus", status);
+
+            return ReturnSucUtils.getRepInfo(superviseService.pageMyTaskDb(pageRequest, terms));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }

--
Gitblit v1.8.0