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.*; 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; /** * @title: 纠纷任务表接口api-web端 * @description: 纠纷任务表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-09-06 15:50:06 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/caseTask") public class CaseTaskWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CaseTaskService service; @Autowired private CaseWindupApplyService caseWindupApplyService; @Autowired 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和按钮 * @url {ctx}/api/web/caseTask/getTabButton * @param caseTaskId 纠纷任务编号 * @return Object */ @GetMapping("/getTabButton") public Object getTabButton(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { 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 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 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); ListsignTaskDTOList = 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(); } } /** * web端-结案申请 * @url {ctx}/api/web/caseTask/windupApply * @param caseWindupApply 结案申请表单 * @return Object */ @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(); } } /** * web端-结案审核-查询结案申请信息 * @url {ctx}/api/web/caseTask/getWindupApplyInfo * @param caseTaskId 纠纷任务编号 * @return Object */ @GetMapping("/getWindupApplyInfo") public Object getWindupApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { CaseWindupApply caseWindupApply = caseWindupApplyService.getByCaseTaskId(caseTaskId); return ReturnSucUtils.getRepInfo(caseWindupApply); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-结案审核 * @url {ctx}/api/web/caseTask/windupAudit * @param caseWindupApply 结案审核表单 * @return Object */ @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(); } } /** * web端-回退申请 * @url {ctx}/api/web/caseTask/returnApply * @param caseReturn 回退申请表单 * @return Object */ @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(); } } /** * web端-回退审核-查询回退申请信息 * @url {ctx}/api/web/caseTask/getReturnApplyInfo * @param caseTaskId 纠纷任务编号 * @return Object */ @GetMapping("/getReturnApplyInfo") public Object getReturnApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { CaseReturn caseReturn = caseReturnService.getByCaseTaskId(caseTaskId); if (ObjectUtils.isNotEmpty(caseReturn)) { Map term = new HashMap<>(); term.put("mainId", caseReturn.getCaseId()); term.put("ownerIds", "'" + caseReturn.getId() + "'"); List 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(); } } /** * web端-回退审核 * @url {ctx}/api/web/caseTask/returnAudit * @param caseReturn 回退审核表单 * @return Object */ @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(); } } /** * web端-上报申请 * @url {ctx}/api/web/caseTask/appearApply * @param caseAppear 上报申请表单 * @return Object */ @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(); } } /** * web端-上报审核-查询上报申请信息 * @url {ctx}/api/web/caseTask/getAppearApplyInfo * @param caseTaskId 纠纷任务编号 * @return Object */ @GetMapping("/getAppearApplyInfo") public Object getAppearApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { return ReturnSucUtils.getRepInfo(caseAppearService.getByCaseTaskId(caseTaskId)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-上报审核 * @url {ctx}/api/web/caseTask/appearAudit * @param caseAppear 上报审核表单 * @return Object */ @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(); } } /** * web端-查询流程进度 * @url {ctx}/api/web/caseTask/listCaseFlow * @param caseId 纠纷编号 * @return Object */ @GetMapping("/listCaseFlow") public Object listCaseFlow(@RequestParam(value = "caseId") String caseId, @CurrentUser String userId) { try { return ReturnSucUtils.getRepInfo(service.webListCaseFlow(caseId, userId)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 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 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 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 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 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 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 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 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 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; case 5: sortName = "t1.reply_time"; 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 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 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(); } } }