forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-22 54f92e2eb235a59827d2cb49e61398c02551d5de
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -22,6 +22,7 @@
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.*;
@@ -130,6 +131,42 @@
    }
    /**
     * web端-全部签收
     * @url {ctx}/api/web/caseTask/allSign
     * @param
     * @return Object
     */
    @PostMapping("/allSign")
    public Object allSign(@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);
            }
            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 受理表单
@@ -218,12 +255,14 @@
    public Object getReturnApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
        try {
            CaseReturn caseReturn = caseReturnService.getByCaseTaskId(caseTaskId);
            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());
            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) {
@@ -770,53 +809,82 @@
        }
    }
//    /**
//     * 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/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 = "t2.caseGrade";
                    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());
            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:已回复
     * @param status 状态,0:未回复,1:已回复, 3:我发起的
     * @param sortType 排序方式(1:正序;2:倒序)
     * @param sortColmn 排序字段(1:督办时间/回复时限;2:事项等级)
     * @return
@@ -862,10 +930,17 @@
            }
            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));
            Page<CaseSupervise> caseSupervisePage = null;
            if(StringUtils.isNotBlank(loginUser.getUnitId())){
                if(3 != status){
                    terms.put("quiltUnitId",loginUser.getUnitId());
                    terms.put("supStatus", status);
                }else{
                    terms.put("supUnitId",loginUser.getUnitId());
                }
                caseSupervisePage = superviseService.pageMyTaskDb(pageRequest, terms);
            }
            return ReturnSucUtils.getRepInfo(caseSupervisePage);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
@@ -884,4 +959,98 @@
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * web端-工作台-已办事项
     * @url {ctx}/api/web/caseTask/pageMyTaskYb
     * @param page 页码
     * @param size 每页数量
     * @param sortColmn 排序字段(1:办理时间;2:事项等级;3:督办次数)
     * @param sortType 排序方式(1:正序;2:倒序)
     * @return
     */
    @GetMapping("/pageMyTaskYb")
    public Object pageMyTaskYb(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
                               @RequestParam(value = "sortColmn") int sortColmn, @RequestParam(value = "sortType") int sortType,
                               @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;
            switch (sortColmn){
                case 1:
                    sortName = "t1.handle_time";
                    break;
                case 2:
                    sortName = "t2.case_level";
                    break;
                case 3:
                    sortName = "superviseCount";
                    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);
            return ReturnSucUtils.getRepInfo(service.pageMyTaskYb(pageRequest, terms));
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
}