forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-13 61cb0460b5d5c8a5a2bae04ed67661599a1aaebf
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -11,12 +11,11 @@
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;
@@ -61,6 +60,10 @@
    private CaseAppearService caseAppearService;
    @Autowired
    private SysClientImpl sysClient;
    @Autowired
    private CustClientImpl custClient;
    @Autowired
    private CaseSuperviseService superviseService;
    /**
    * web端-任务处理页面-初始化tab和按钮
@@ -71,7 +74,7 @@
    @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();
        }
@@ -182,6 +185,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();
@@ -220,6 +224,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();
@@ -235,6 +240,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();
@@ -265,6 +271,7 @@
    @PostMapping("/appearAudit")
    public Object appearAudit(@RequestBody CaseAppear caseAppear, @CurrentUser String userId) {
        try {
            service.webAppearAudit(caseAppear, userId);
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
@@ -287,7 +294,7 @@
    }
    /**
     * web端-查询流程进度
     * web端-首页-查询待办数量
     * @url {ctx}/api/web/caseTask/getCountList
     * @return Object
     */
@@ -306,11 +313,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();
            // 流程/分派时间区间
@@ -325,7 +335,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();
        }
@@ -337,11 +375,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();
            // 流程/签收时间区间
@@ -356,7 +397,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();
        }
@@ -368,10 +437,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();
@@ -387,23 +459,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();
            // 流程/结案申请/结案时间区间
@@ -418,7 +520,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 状态,0:结案申请,1:已结案
     * @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();
        }
@@ -429,14 +618,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();
            // 回退/上报/结案申请/联合处置申请/审核时间区间
@@ -451,7 +641,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();
        }