package cn.huge.module.cases.controller.web; import cn.huge.base.common.utils.DateUtils; 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.analysis.service.AnalysisService; 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.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.mediate.constant.AuditBaseConstsEnum; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.BeanUtils; 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.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; import java.util.*; 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; @Autowired private AnalysisService analysisService; @Autowired private CaseInfoUnfoldService caseInfoUnfoldService; /** * web端-任务处理页面-初始化tab和按钮 * * @param caseTaskId 纠纷任务编号 * @return Object * @url {ctx}/api/web/caseTask/getTabButton */ @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端-不予受理 * * @param caseDismiss 不予受理表单 * @return Object * @url {ctx}/api/web/caseTask/dismiss */ @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端-交办 * * @param assignTaskDTO 交办表单 * @return Object * @url {ctx}/api/web/caseTask/assign */ @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端-签收 * * @param signTaskDTOList 签收表单数组 * @return Object * @url {ctx}/api/web/caseTask/sign */ @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端-全部签收 * * @param * @return Object * @url {ctx}/api/web/caseTask/allSign */ @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("readStatus", 0); List signTaskDTOList = service.listIdByTerms(terms); service.webSign(signTaskDTOList, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-受理 * * @param acceptTaskDTO 受理表单 * @return Object * @url {ctx}/api/web/caseTask/accept */ @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端-结案申请 * * @param caseWindupApply 结案申请表单 * @return Object * @url {ctx}/api/web/caseTask/windupApply */ @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端-结案审核-查询结案申请信息 * * @param caseTaskId 纠纷任务编号 * @return Object * @url {ctx}/api/web/caseTask/getWindupApplyInfo */ @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端-结案审核 * * @param caseWindupApply 结案审核表单 * @return Object * @url {ctx}/api/web/caseTask/windupAudit */ @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端-回退申请 * * @param caseReturn 回退申请表单 * @return Object * @url {ctx}/api/web/caseTask/returnApply */ @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端-回退审核-查询回退申请信息 * * @param caseTaskId 纠纷任务编号 * @return Object * @url {ctx}/api/web/caseTask/getReturnApplyInfo */ @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端-回退审核 * * @param caseReturn 回退审核表单 * @return Object * @url {ctx}/api/web/caseTask/returnAudit */ @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端-上报申请 * * @param caseAppear 上报申请表单 * @return Object * @url {ctx}/api/web/caseTask/appearApply */ @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端-上报审核-查询上报申请信息 * * @param caseTaskId 纠纷任务编号 * @return Object * @url {ctx}/api/web/caseTask/getAppearApplyInfo */ @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端-上报审核 * * @param caseAppear 上报审核表单 * @return Object * @url {ctx}/api/web/caseTask/appearAudit */ @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端-查询流程进度 * * @param caseId 纠纷编号 * @return Object * @url {ctx}/api/web/caseTask/listCaseFlow */ @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端-首页-查询待办数量 * * @return Object * @url {ctx}/api/web/caseTask/getCountList */ @GetMapping("/getCountList") public Object getCountList(@CurrentUser String userId) { try { return ReturnSucUtils.getRepInfo(service.getCountList(userId)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-工作台-查询待办任务-分派任务 * * @param page 页码 * @param size 每页数量 * @param status 状态,1:待分派,2:已分派 * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:流转时间;2:分派时限/分派时间;3:事项等级;4:督办次数) * @return * @url {ctx}/api/web/caseTask/pageMyTaskFp */ @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); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } 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端-工作台-查询待办任务-已读未读任务 * * @param page 页码 * @param size 每页数量 * @param status 状态,0:未读,1:已读 * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:流转时间;2:签收时限/签收时间;3:事项等级;4:督办次数) * @return * @url {ctx}/api/web/caseTask/pageMyTaskQs */ @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("readTimeStart", timeStart); terms.put("readTimeEnd", timeEnd); } } // 查询申请方/被申请方关键词 String partyName = request.getParameter("partyName"); if (StringUtils.isNotBlank(partyName)) { terms.put("partyName", partyName); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } if (status == 1) { terms.put("candeUnitId", loginUser.getUnitId()); } else { terms.put("handleUnitId", loginUser.getUnitId()); } terms.put("readStatus", status); // 排序 Sort sort = null; String sortName = null; switch (sortColmn) { case 1: sortName = "t1.create_time"; break; case 2: if (status == 1) { sortName = "t1.read_expire_time"; } else { sortName = "t1.read_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端-工作台-查询待办任务-受理任务 * * @param page 页码 * @param size 每页数量 * @param status 状态,1:待受理,2:已受理,3:不予受理 * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:流转时间;2:受理时限/受理时间/不予受理时间;3:事项等级;4:督办次数) * @return * @url {ctx}/api/web/caseTask/pageMyTaskSl */ @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); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } // 不予受理,查询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端-工作台-查询待办任务-办理中 * * @param page 页码 * @param size 每页数量 * @param caseTaskType 纠纷任务类型(1:我承办的;2:我配合的) * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:流转时间/已办天数;2:分派时限;3:事项等级;4:督办次数) * @return * @url {ctx}/api/web/caseTask/pageMyTaskBlz */ @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); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("candeUnitId", loginUser.getUnitId()); String mediatorType = request.getParameter("mediatorType"); if (ObjectUtils.isNotEmpty(mediatorType)) { terms.put("mediatorType", mediatorType); terms.put("mediatorId", loginUser.getId()); } // 排序 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端-工作台-查询待办任务-已办理任务 * * @param page 页码 * @param size 每页数量 * @param status 状态,0:结案申请,1:已结案 * @param caseTaskType 纠纷任务类型(1:我承办的;2:我配合的) * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:结案申请时间;2:事项等级;3:督办次数) * @return * @url {ctx}/api/web/caseTask/pageMyTaskBl */ @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); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } 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 == 1) { sortName = "t2.close_time"; } else { sortName = "t1.audit_time"; } break; case 2: if (status == 1) { sortName = "t1.case_level"; } else { sortName = "t2.case_level"; } break; case 3: sortName = "superviseCount"; break; default: if (status == 1) { sortName = "t2.close_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); if (status == 1) { return ReturnSucUtils.getRepInfo(service.pageMyTaskYja(pageRequest, terms)); } else { return ReturnSucUtils.getRepInfo(service.pageMyTaskJasq(pageRequest, terms)); } } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-工作台-查询待办任务-审核任务 * * @param page 页码 * @param size 每页数量 * @param status 状态,0:待审核,1:已审核 * @param type 审核类型,1:回退审核,2:上报审核,3:结案审核,4:联合处置审核 * @param sortType 排序方式(1:正序;2:倒序) * @return * @url {ctx}/api/web/caseTask/pageMyTaskSh */ @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); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("auditUnitId", loginUser.getUnitId()); terms.put("applyStatus", status); return ReturnSucUtils.getRepInfo(service.pageMyTaskSh(pageRequest, type, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-工作台-查询待办任务-审核任务-我申请的 * * @param page 页码 * @param size 每页数量 * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:申请时间;2:审核时间;3:事项等级) * @return * @url {ctx}/api/web/caseTask/pageMyTaskShWSQD */ @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); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("applyUnitId", loginUser.getUnitId()); return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-工作台-查询待办任务-督办 * * @param page 页码 * @param size 每页数量 * @param status 状态,0:未回复,1:已回复, 3:我发起的 * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:督办时间/回复时限;2:事项等级) * @return * @url {ctx}/api/web/caseTask/pageMyTaskDb */ @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); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } 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端-工作台-查询极端案件 * * @param page 页码 * @param size 每页数量 * @param sortType 排序方式(1:正序;2:倒序) * @param sortColmn 排序字段(1:登记时间;2:事项状态;3:督办次数;) * @return * @url {ctx}/api/web/caseTask/pageExtremeCase */ @GetMapping("/pageExtremeCase") public Object pageExtremeCase(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @CurrentUser String userId, @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { try { CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); // 条件 Map terms = Maps.newHashMap(); // 流程/分派时间区间 String timeStart = request.getParameter("createStart"); String timeEnd = request.getParameter("createEnd"); if (StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) { terms.put("createTimeStart", timeStart); terms.put("createTimeEnd", timeEnd); } // 承办部门 String mediateUnitId = request.getParameter("mediateUnitId"); if (StringUtils.isNotBlank(mediateUnitId)) { terms.put("mediateUnitId", mediateUnitId); } // 配合部门 String assistUnitId = request.getParameter("assistUnitId"); if (StringUtils.isNotBlank(assistUnitId)) { terms.put("assistUnitId", assistUnitId); } // 查询申请方/被申请方关键词筛选 String partyName = request.getParameter("partyName"); if (StringUtils.isNotBlank(partyName)) { terms.put("partyName", partyName); } //事项状态筛选(1:未办结;2:已办结) String caseStatus = request.getParameter("caseStatus"); if (StringUtils.isNotBlank(caseStatus)) { if ("1".equals(caseStatus)) { terms.put("status", "1,2,3,4,5"); } else if ("2".equals(caseStatus)) { terms.put("status", "6,7"); } else if ("3".equals(caseStatus)) { terms.put("status", "8"); } } // 组织编号 String unitId = request.getParameter("unitId"); if (StringUtils.isNotBlank(unitId)) { terms.put("unitId", unitId); } else { // 市 String city = request.getParameter("queCity"); if (StringUtils.isNotBlank(city)) { terms.put("city", city); } // 区 String area = request.getParameter("queArea"); if (StringUtils.isNotBlank(area)) { terms.put("area", area); } // 街道 String road = request.getParameter("queRoad"); if (StringUtils.isNotBlank(road)) { terms.put("road", road); } // 社区 String village = request.getParameter("queVillage"); if (StringUtils.isNotBlank(village)) { terms.put("village", village); } } List unitIdList = new ArrayList<>(); String unitIds = new String(); //判断是否是解纷态势查询,当没有传入查询条件时,根据登录用户组织级别来查询 if (!terms.containsKey("city") && !terms.containsKey("area") && !terms.containsKey("road") && !terms.containsKey("village") && !terms.containsKey("unitId")) { //首页查询时 terms.put("unitIds", "'" + ctUnitDTO.getId() + "'"); } else { //当解纷态势查询 if (terms.containsKey("unitId")) { //查询条件中包含组织编号时,只查该组织及同级部门 unitIdList = analysisService.getAllDeptParentUnit((String) terms.get("unitId")); unitIds = unitIdList.stream().map(String::valueOf).collect(Collectors.joining("','")); if (StringUtils.isNotBlank(unitIds)) { unitIds = "'" + unitIds + "'"; } terms.put("unitIds", unitIds); } } // 排序 Sort sort = null; String sortName = null; switch (sortColmn) { case 1: sortName = "t1.create_time"; break; case 2: sortName = "t1.status"; break; case 3: 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(caseInfoUnfoldService.pageExtremeCase(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-申请记录 * * @return * @url {ctx}/api/web/caseTask/listMyApplyRecord */ @GetMapping("/listMyApplyRecord") public Object listMyApplyRecord(@RequestParam(value = "caseId") String caseId) { try { return ReturnSucUtils.getRepInfo(service.listMyApplyRecord(caseId)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-工作台-已办事项 * * @param page 页码 * @param size 每页数量 * sortColmn 排序字段(1:办理时间;2:事项等级;3:督办次数) * sortType 排序方式(1:正序;2:倒序) * @return * @url {ctx}/api/web/caseTask/pageMyTaskYb */ @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); } // flowStatus 流程状态 1-已受理,2-已交班。3-已上报,4已回退 String flowStatus = request.getParameter("flowStatus"); if (StringUtils.isNotBlank(flowStatus)) { if ("1".equals(flowStatus)) { terms.put("nodeIdList", Arrays.asList("DSL", "ZJ_DSL", "QJ_DSL", "SJ_DSL", "BLFK", "JASQ", "JASH", "JASH_YJ", "JASH_EJ", "DSRPJ", "JAGD")); } else if ("2".equals(flowStatus)) { terms.put("nodeIdList", Arrays.asList("DFP", "ZJ_DFP", "QJ_DFP", "SJ_DFP")); } else if ("3".equals(flowStatus)) { terms.put("nodeIdList", Arrays.asList("QJ_S", "SJ_SBSH", "QJ_SBSH")); } else if ("4".equals(flowStatus)) { terms.put("nodeIdList", Arrays.asList("HTSH", "ZJ_HTSH", "QJ_HTSH", "SJ_HTSH")); } } else { terms.put("nodeIdList", Arrays.asList("DSL", "ZJ_DSL", "QJ_DSL", "SJ_DSL", "BLFK", "JASQ", "JASH", "JASH_YJ", "JASH_EJ", "DSRPJ", "JAGD" , "DFP", "ZJ_DFP", "QJ_DFP", "SJ_DFP" , "QJ_S", "SJ_SBSH", "QJ_SBSH" , "HTSH", "ZJ_HTSH", "QJ_HTSH", "SJ_HTSH")); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } 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) { log.error("[CaseTaskWebController.pageMyTaskYb]调用失败,异常信息:" + e, e); return ReturnFailUtils.getRepInfo(); } } /** * 极端扬言-导出 * * @return Object * @url {ctx}/api/web/caseTask/exportListExtremeCase */ @RequestMapping("/exportListExtremeCase") public void exportListExtremeCase(HttpServletResponse response, @RequestParam(value = "userId") String userId, @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { try { CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); // 条件 Map terms = Maps.newHashMap(); // 流程/分派时间区间 String timeStart = request.getParameter("createStart"); String timeEnd = request.getParameter("createEnd"); if (StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) { terms.put("createTimeStart", timeStart); terms.put("createTimeEnd", timeEnd); } // 承办部门 String mediateUnitId = request.getParameter("mediateUnitId"); if (StringUtils.isNotBlank(mediateUnitId)) { terms.put("mediateUnitId", mediateUnitId); } // 配合部门 String assistUnitId = request.getParameter("assistUnitId"); if (StringUtils.isNotBlank(assistUnitId)) { terms.put("assistUnitId", assistUnitId); } // 查询申请方/被申请方关键词筛选 String partyName = request.getParameter("partyName"); if (StringUtils.isNotBlank(partyName)) { terms.put("partyName", partyName); } //事项状态筛选(1:未办结;2:已办结) String caseStatus = request.getParameter("caseStatus"); if (StringUtils.isNotBlank(caseStatus)) { if ("1".equals(caseStatus)) { terms.put("status", "1,2,3,4,5"); } else if ("2".equals(caseStatus)) { terms.put("status", "6,7"); } else if ("3".equals(caseStatus)) { terms.put("status", "8"); } } terms.put("unitIds", "'" + ctUnitDTO.getId() + "'"); // 排序 Sort sort = null; String sortName = null; switch (sortColmn) { case 1: sortName = "t1.create_time"; break; case 2: sortName = "t1.status"; break; case 3: 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(0, 100000, sort); List frontPageListYYJDDTOList = caseInfoUnfoldService.listExtremeCase(pageRequest, terms); String fileName = "扬言极端.xlsx"; response.setCharacterEncoding("UTF-8"); response.setHeader("content-Type", "application/vnd.ms-excel;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); ServletOutputStream outputStream = response.getOutputStream(); EasyExcel.write(outputStream, FrontPageListYYJDDTO.class).sheet("扬言极端").doWrite(frontPageListYYJDDTOList); } catch (Exception e) { log.error("Controller接口[CaseInfoWebController.exportQueryAll]请求异常:" + e, e); } } /** * 测试接口 * * @return Object * @url {ctx}/api/web/caseTask/test */ @GetMapping("/test") public Object test(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "oldTaskId") String oldTaskId, @RequestParam(value = "newTaskId") String newTaskId, @RequestParam(value = "oldProcess") String oldProcess, @RequestParam(value = "newProcess") String newProcess, @RequestParam(value = "ownerIds") String ownerIds, @RequestParam(value = "userId") String userId, @RequestParam(value = "handleStatus") String handleStatus) { try { CaseTask oldTask = null; if (StringUtils.isNotBlank(oldTaskId)) { oldTask = service.getById(oldTaskId); } CaseTask newTask = null; if (StringUtils.isNotBlank(newTaskId)) { newTask = service.getById(newTaskId); } List ownerIdList = Arrays.asList(ownerIds.split(",")); service.AsynUpdateCaseEventNodeLink(caseId, oldTask, newTask, oldProcess, newProcess, ownerIdList, userId, handleStatus); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * web端-根据纠纷编号获取最新任务编号 * * @param caseId 纠纷编号 * @return Object * @url {ctx}/api/web/caseTask/getLatestTaskId */ @GetMapping("/getLatestTaskId") public Object getLatestTaskId(@RequestParam(value = "caseId") String caseId) { try { return ReturnSucUtils.getRepInfo(service.getLatestTaskId(caseId)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }