From 2c0b07b09ab772646e973983e4fb6cddbd3664dc Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Tue, 24 Sep 2024 17:28:05 +0800
Subject: [PATCH] 督办列表修改新增字段、新增排序 待审核列表修改新增字段、新增排序

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java | 1003 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 976 insertions(+), 27 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 daf365e..d390c3a 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,27 +1,32 @@
 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.AssignTaskDTO;
-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.domain.dto.*;
+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;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -50,6 +55,14 @@
     private CaseReturnService caseReturnService;
     @Autowired
     private CaseAppearService caseAppearService;
+    @Autowired
+    private SysClientImpl sysClient;
+    @Autowired
+    private CustClientImpl custClient;
+    @Autowired
+    private CaseSuperviseService superviseService;
+    @Autowired
+    private CaseDismissService caseDismissService;
 
     /**
     * web端-任务处理页面-初始化tab和按钮
@@ -60,7 +73,105 @@
     @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/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();
+        }
+    }
+
+    /**
+     * 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 signTaskDTOList 签收表单数组
+     * @return Object
+     */
+    @PostMapping("/sign")
+    public Object sign(@RequestBody List<SignTaskDTO> signTaskDTOList, @CurrentUser String userId) {
+        try {
+            service.webSign(signTaskDTOList, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-全部签收
+     * @url {ctx}/api/web/caseTask/allSign
+     * @param
+     * @return Object
+     */
+    @PostMapping("/allSign")
+    public Object allSign(@CurrentUser String userId, @RequestBody AllSignDTO allSignDTO) {
+        try {
+            // 条件
+            Map<String, Object> terms = Maps.newHashMap();
+            if(ObjectUtils.isNotEmpty(allSignDTO)){
+                // 流程/签收时间区间
+                if(StringUtils.isNotBlank(allSignDTO.getTimeStart()) && StringUtils.isNotBlank(allSignDTO.getTimeEnd())) {
+                    // 待签收,查询流转时间
+                    terms.put("createTimeStart", allSignDTO.getTimeStart());
+                    terms.put("createTimeEnd", allSignDTO.getTimeEnd());
+                }
+                // 查询申请方/被申请方关键词
+                if (StringUtils.isNotBlank(allSignDTO.getPartyName())){
+                    terms.put("partyName", allSignDTO.getPartyName());
+                }
+            }
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("candeUnitId",loginUser.getUnitId());
+            terms.put("signStatus", 1);
+
+            List<SignTaskDTO>signTaskDTOList = service.listIdByTerms(terms);
+            service.webSign(signTaskDTOList, 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 {
+            return ReturnSucUtils.getRepInfo(service.webAccept(acceptTaskDTO, userId));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -75,6 +186,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();
@@ -90,7 +202,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();
         }
@@ -105,6 +218,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();
@@ -120,6 +234,7 @@
     @PostMapping("/returnApply")
     public Object returnApply(@RequestBody CaseReturn caseReturn, @CurrentUser String userId) {
         try {
+            service.webReturnApply(caseReturn, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -135,7 +250,17 @@
     @GetMapping("/getReturnApplyInfo")
     public Object getReturnApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
         try {
-            return ReturnSucUtils.getRepInfo(caseReturnService.getByCaseTaskId(caseTaskId));
+            CaseReturn caseReturn = caseReturnService.getByCaseTaskId(caseTaskId);
+            if (ObjectUtils.isNotEmpty(caseReturn)) {
+                Map<String, Object> term = new HashMap<>();
+                term.put("mainId", caseReturn.getCaseId());
+                term.put("ownerIds", "'" + caseReturn.getId() + "'");
+                List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
+                if (CollectionUtils.isNotEmpty(fileInfoList)) {
+                    caseReturn.setFileInfoList(fileInfoList.get(0).getFileList().get(0).getFileList());
+                }
+            }
+            return ReturnSucUtils.getRepInfo(caseReturn);
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -150,6 +275,7 @@
     @PostMapping("/returnAudit")
     public Object returnAudit(@RequestBody CaseReturn caseReturn, @CurrentUser String userId) {
         try {
+            service.webReturnAudit(caseReturn, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -165,6 +291,7 @@
     @PostMapping("/appearApply")
     public Object appearApply(@RequestBody CaseAppear caseAppear, @CurrentUser String userId) {
         try {
+            service.webAppearApply(caseAppear, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -195,21 +322,7 @@
     @PostMapping("/appearAudit")
     public Object appearAudit(@RequestBody CaseAppear caseAppear, @CurrentUser String userId) {
         try {
-            return ReturnSucUtils.getRepInfo();
-        } 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.webAppearAudit(caseAppear, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -231,4 +344,840 @@
         }
     }
 
+    /**
+     * web端-首页-查询待办数量
+     * @url {ctx}/api/web/caseTask/getCountList
+     * @return Object
+     */
+    @GetMapping("/getCountList")
+    public Object getCountList(@CurrentUser String userId) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.getCountList(userId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-分派任务
+     * @url {ctx}/api/web/caseTask/pageMyTaskFp
+     * @param page 页码
+     * @param size 每页数量
+     * @param status 状态,1:待分派,2:已分派
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间;2:分派时限/分派时间;3:事项等级;4:督办次数)
+     * @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 = "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)) {
+                // 待分派,查询流转时间
+                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);
+            if (status == 1) {
+                terms.put("candeUnitId", loginUser.getUnitId());
+            }else {
+                terms.put("handleUnitId", loginUser.getUnitId());
+            }
+            terms.put("status", status);
+            // 排序
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    if (status == 1){
+                        sortName = "t1.expire_time";
+                    }else {
+                        sortName = "t1.handle_time";
+                    }
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+                case 4:
+                    sortName = "superviseCount";
+                    break;
+                default:
+                    sortName = "t1.create_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+            }
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskFp(pageRequest, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-签收任务
+     * @url {ctx}/api/web/caseTask/pageMyTaskQs
+     * @param page 页码
+     * @param size 每页数量
+     * @param status 状态,1:待签收,2:已签收
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间;2:签收时限/签收时间;3:事项等级;4:督办次数)
+     * @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 = "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)) {
+                // 待签收,查询流转时间
+                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);
+            if (status == 1) {
+                terms.put("candeUnitId", loginUser.getUnitId());
+            }else {
+                terms.put("handleUnitId", loginUser.getUnitId());
+            }
+            terms.put("signStatus", status);
+            // 排序
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    if (status == 1){
+                        sortName = "t1.sign_expire_time";
+                    }else {
+                        sortName = "t1.sign_time";
+                    }
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+                case 4:
+                    sortName = "superviseCount";
+                    break;
+                default:
+                    sortName = "t1.create_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+            }
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskQs(pageRequest, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-受理任务
+     * @url {ctx}/api/web/caseTask/pageMyTaskSl
+     * @param page 页码
+     * @param size 每页数量
+     * @param status 状态,1:待受理,2:已受理,3:不予受理
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间;2:受理时限/受理时间/不予受理时间;3:事项等级;4:督办次数)
+     * @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 {
+            // 排序
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    // 不予受理
+                    if (status == 3){
+                        sortName = "t1.case_task_time";
+                    }else {
+                        sortName = "t1.create_time";
+                    }
+                    break;
+                case 2:
+                    // 待受理
+                    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";
+                    break;
+                case 4:
+                    sortName = "superviseCount";
+                    break;
+                default:
+                    // 不予受理
+                    if (status == 3){
+                        sortName = "t1.case_task_time";
+                    }else {
+                        sortName = "t1.create_time";
+                    }
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                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);
+            // 不予受理,查询case_dismiss表
+            if (status == 3){
+                terms.put("disUnitId", loginUser.getUnitId());
+                return ReturnSucUtils.getRepInfo(caseDismissService.pageMyTaskBysl(pageRequest, terms));
+            }else {
+                terms.put("status", status);
+                if (status == 1){
+                    terms.put("candeUnitId", loginUser.getUnitId());
+                }else {
+                    terms.put("handleUnitId", loginUser.getUnitId());
+                }
+                return ReturnSucUtils.getRepInfo(service.pageMyTaskSl(pageRequest, terms));
+            }
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-办理中
+     * @url {ctx}/api/web/caseTask/pageMyTaskBlz
+     * @param page 页码
+     * @param size 每页数量
+     * @param caseTaskType 纠纷任务类型(1:我承办的;2:我配合的)
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:流转时间/已办天数;2:分派时限;3:事项等级;4:督办次数)
+     * @return
+     */
+    @GetMapping("/pageMyTaskBlz")
+    public Object pageMyTaskBlz(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+                                @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("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){
+                case 1:
+                    sortName = "t1.create_time";
+                    break;
+                case 2:
+                    sortName = "t1.expire_time";
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+                case 4:
+                    sortName = "superviseCount";
+                    break;
+                default:
+                    sortName = "t1.create_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+            }
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            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 状态,0:结案申请,1:已结案
+     * @param caseTaskType 纠纷任务类型(1:我承办的;2:我配合的)
+     * @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, @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("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:
+                    if (status == 0) {
+                        sortName = "t1.apply_time";
+                    }else {
+                        sortName = "t1.audit_time";
+                    }
+                    break;
+                case 2:
+                    sortName = "t2.case_level";
+                    break;
+                case 3:
+                    sortName = "superviseCount";
+                    break;
+                default:
+                    if (status == 0) {
+                        sortName = "t1.apply_time";
+                    }else {
+                        sortName = "t1.audit_time";
+                    }
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+            }
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskJa(pageRequest, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-审核任务
+     * @url {ctx}/api/web/caseTask/pageMyTaskSh
+     * @param page 页码
+     * @param size 每页数量
+     * @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, @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 (type){
+                case 1:
+                    if(1 == sortColmn){
+                        sortName = "t1.return_time";
+                    }else if(2 == sortColmn){
+                        sortName = "t2.case_level";
+                    }else if(3 == sortColmn){
+                        sortName = "t1.audit_time";
+                    }
+                    break;
+                case 2:
+                    if(1 == sortColmn) {
+                        sortName = "t1.appear_time";
+                    }else if(2 == sortColmn){
+                        sortName = "t2.case_level";
+                    }else if(3 == sortColmn){
+                        sortName = "t1.audit_time";
+                    }
+                    break;
+                case 3:
+                    if(1 == sortColmn) {
+                        sortName = "t1.apply_time";
+                    }else if(2 == sortColmn){
+                        sortName = "t2.case_level";
+                    }else if(3 == sortColmn){
+                        sortName = "t1.audit_time";
+                    }
+                    break;
+                case 4:
+                    if(1 == sortColmn) {
+                        sortName = "t1.apply_time";
+                    }else if(2 == sortColmn){
+                        sortName = "t2.case_level";
+                    }else if(3 == sortColmn){
+                        sortName = "t1.audit_time";
+                    }
+                    break;
+                default:
+                    sortName = "t1.create_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, 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/pageMyTaskShWSQD
+     * @param page 页码
+     * @param size 每页数量
+     * @param sortType 排序方式(1:正序;2:倒序)
+     * @param sortColmn 排序字段(1:申请时间;2:审核时间;3:事项等级)
+     * @return
+     */
+    @GetMapping("/pageMyTaskShWSQD")
+    public Object pageMyTaskShWSQD(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+                               @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);
+            }
+            // 申请类型
+            String applyType = request.getParameter("applyType");
+            if (StringUtils.isNotBlank(applyType)){
+                terms.put("applyType", applyType);
+            }
+            // 审核结果
+            String auditResult = request.getParameter("auditResult");
+            if (StringUtils.isNotBlank(auditResult)){
+                terms.put("auditResult", auditResult);
+            }
+            Sort sort = null;
+            String sortName = null;
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.turnaroundTime";
+                    break;
+                case 2:
+                    sortName = "t1.auditTime";
+                    break;
+                case 3:
+                    sortName = "caseGrade";
+                    break;
+                default:
+                    sortName = "t1.turnaroundTime";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, 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());
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-工作台-查询待办任务-督办
+     * @url {ctx}/api/web/caseTask/pageMyTaskDb
+     * @param page 页码
+     * @param size 每页数量
+     * @param status 状态,0:未回复,1:已回复, 3:我发起的
+     * @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 = "timeLimit";
+                    break;
+                case 3:
+                    sortName = "t2.case_level";
+                    break;
+                case 4:
+                    sortName = "t1.sup_status";
+                    break;
+                default:
+                    sortName = "t1.sup_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, 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);
+            Page<FrontPageListDTO> frontPageListDTOPage = null;
+            if(StringUtils.isNotBlank(loginUser.getUnitId())){
+                terms.put("type", status);
+                if(3 != status){
+                    terms.put("quiltUnitId",loginUser.getUnitId());
+                    terms.put("supStatus", status);
+                }else{
+                    terms.put("supUnitId",loginUser.getUnitId());
+                }
+                frontPageListDTOPage = superviseService.pageMyTaskDb(pageRequest, terms);
+            }
+            return ReturnSucUtils.getRepInfo(frontPageListDTOPage);
+        } catch (Exception e) {
+            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();
+        }
+    }
+
+    /**
+     * web端-工作台-已办事项
+     * @url {ctx}/api/web/caseTask/pageMyTaskYb
+     * @param page 页码
+     * @param size 每页数量
+     * sortColmn 排序字段(1:办理时间;2:事项等级;3:督办次数)
+     * sortType 排序方式(1:正序;2:倒序)
+     * @return
+     */
+    @GetMapping("/pageMyTaskYb")
+    public Object pageMyTaskYb(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+                               @CurrentUser String userId) {
+        try {
+            // 条件
+            Map<String, Object> terms = Maps.newHashMap();
+            // 受理时间
+            String createTimeStart = request.getParameter("createTimeStart");
+            String createTimeEnd = request.getParameter("createTimeEnd");
+            if(StringUtils.isNotBlank(createTimeStart) && StringUtils.isNotBlank(createTimeEnd)) {
+                terms.put("createTimeStart", createTimeStart);
+                terms.put("createTimeEnd", createTimeEnd);
+            }
+            // 办结时间
+            String handleTimeStart = request.getParameter("handleTimeStart");
+            String handleTimeEnd = request.getParameter("handleTimeEnd");
+            if(StringUtils.isNotBlank(handleTimeStart) && StringUtils.isNotBlank(handleTimeEnd)) {
+                terms.put("handleTimeStart", handleTimeStart);
+                terms.put("handleTimeEnd", handleTimeEnd);
+            }
+            // 经办人
+            String mediator = request.getParameter("mediator");
+            if (StringUtils.isNotBlank(mediator)){
+                terms.put("mediator", mediator);
+            }
+            // 事项来源
+            String canal = request.getParameter("canal");
+            if (StringUtils.isNotBlank(canal)){
+                terms.put("canal", canal);
+            }
+            // 化解结果
+            String mediResult = request.getParameter("mediResult");
+            if (StringUtils.isNotBlank(mediResult)){
+                terms.put("mediResult", mediResult);
+            }
+            // 事项等级
+            String caseLevel = request.getParameter("caseLevel");
+            if (StringUtils.isNotBlank(caseLevel)){
+                terms.put("caseLevel", caseLevel);
+            }
+            // 纠纷类型
+            String caseType = request.getParameter("caseType");
+            if (StringUtils.isNotBlank(caseType)){
+                terms.put("caseType", caseType);
+            }
+            // 事项状态
+            String status = request.getParameter("status");
+            if (StringUtils.isNotBlank(status)){
+                terms.put("status", status);
+            }
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            terms.put("handleUnitId", loginUser.getUnitId());
+            // 排序
+            Sort sort = null;
+            String sortName = null;
+            String sortColmnStr = request.getParameter("sortColmn");
+            String sortTypeStr = request.getParameter("sortType");
+            int sortColmn = 1;
+            int sortType = 1;
+            if(StringUtils.isNotBlank(sortColmnStr)){
+                sortColmn = Integer.valueOf(sortColmnStr);
+            }
+            if(StringUtils.isNotBlank(sortTypeStr)){
+                sortType = Integer.valueOf(sortTypeStr);
+            }
+            switch (sortColmn){
+                case 1:
+                    sortName = "t1.handle_time";
+                    break;
+                case 2:
+                    sortName = "t2.case_level";
+                    break;
+                case 3:
+                    sortName = "superviseCount";
+                    break;
+                default:
+                    sortName = "t1.handle_time";
+                    break;
+            }
+            switch (sortType){
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+                default:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+            }
+            if(ObjectUtils.isEmpty(sort)){
+                sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
+            }
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            return ReturnSucUtils.getRepInfo(service.pageMyTaskYb(pageRequest, terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }

--
Gitblit v1.8.0