forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-09-23 ab977fd24a8bd4cac55ed132f2648fc2131b0dda
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -258,7 +258,7 @@
            if (ObjectUtils.isNotEmpty(caseReturn)) {
                Map<String, Object> term = new HashMap<>();
                term.put("mainId", caseReturn.getCaseId());
                term.put("ownerIds", caseReturn.getId());
                term.put("ownerIds", "'" + caseReturn.getId() + "'");
                List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
                if (CollectionUtils.isNotEmpty(fileInfoList)) {
                    caseReturn.setFileInfoList(fileInfoList.get(0).getFileList().get(0).getFileList());
@@ -932,6 +932,7 @@
            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
            Page<CaseSupervise> caseSupervisePage = null;
            if(StringUtils.isNotBlank(loginUser.getUnitId())){
                terms.put("type", status);
                if(3 != status){
                    terms.put("quiltUnitId",loginUser.getUnitId());
                    terms.put("supStatus", status);
@@ -959,4 +960,107 @@
            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;
            }
            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();
        }
    }
}