From 069d1a95b682c3db281e4eae394594123526bb97 Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Thu, 12 Sep 2024 15:48:54 +0800 Subject: [PATCH] 1、流程优化 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java | 394 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 357 insertions(+), 37 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java index 2b86a93..003a6b4 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java @@ -1,19 +1,21 @@ 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.AcceptTaskDTO; import cn.huge.module.cases.domain.dto.AssignTaskDTO; +import cn.huge.module.cases.domain.dto.SignTaskDTO; import cn.huge.module.cases.domain.po.CaseAppear; import cn.huge.module.cases.domain.po.CaseReturn; import cn.huge.module.cases.domain.po.CaseTask; import cn.huge.module.cases.domain.po.CaseWindupApply; -import cn.huge.module.cases.service.CaseAppearService; -import cn.huge.module.cases.service.CaseReturnService; -import cn.huge.module.cases.service.CaseTaskService; -import cn.huge.module.cases.service.CaseWindupApplyService; +import cn.huge.module.cases.service.*; import cn.huge.module.client.api.SysClient; +import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; +import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; @@ -58,6 +60,10 @@ private CaseAppearService caseAppearService; @Autowired private SysClientImpl sysClient; + @Autowired + private CustClientImpl custClient; + @Autowired + private CaseSuperviseService superviseService; /** * web端-任务处理页面-初始化tab和按钮 @@ -68,7 +74,55 @@ @GetMapping("/getTabButton") public Object getTabButton(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { - return ReturnSucUtils.getRepInfo(service.webGetTabButton("caseTaskId", userId)); + return ReturnSucUtils.getRepInfo(service.webGetTabButton(caseTaskId, userId)); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * 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 signTaskDTO 签收表单 + * @return Object + */ + @PostMapping("/sign") + public Object sign(@RequestBody SignTaskDTO signTaskDTO, @CurrentUser String userId) { + try { + service.webSign(signTaskDTO, 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 { + service.webAccept(acceptTaskDTO, userId); + return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } @@ -83,6 +137,7 @@ @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(); @@ -98,7 +153,8 @@ @GetMapping("/getWindupApplyInfo") public Object getWindupApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { - return ReturnSucUtils.getRepInfo(caseWindupApplyService.getByCaseTaskId(caseTaskId)); + CaseWindupApply caseWindupApply = caseWindupApplyService.getByCaseTaskId(caseTaskId); + return ReturnSucUtils.getRepInfo(caseWindupApply); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } @@ -113,6 +169,7 @@ @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(); @@ -128,6 +185,7 @@ @PostMapping("/returnApply") public Object returnApply(@RequestBody CaseReturn caseReturn, @CurrentUser String userId) { try { + service.webReturnApply(caseReturn, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); @@ -166,6 +224,7 @@ @PostMapping("/returnAudit") public Object returnAudit(@RequestBody CaseReturn caseReturn, @CurrentUser String userId) { try { + service.webReturnAudit(caseReturn, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); @@ -181,6 +240,7 @@ @PostMapping("/appearApply") public Object appearApply(@RequestBody CaseAppear caseAppear, @CurrentUser String userId) { try { + service.webAppearApply(caseAppear, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); @@ -211,21 +271,7 @@ @PostMapping("/appearAudit") public Object appearAudit(@RequestBody CaseAppear caseAppear, @CurrentUser String userId) { try { - 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.webAppearAudit(caseAppear, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); @@ -248,7 +294,7 @@ } /** - * web端-查询流程进度 + * web端-首页-查询待办数量 * @url {ctx}/api/web/caseTask/getCountList * @return Object */ @@ -267,11 +313,14 @@ * @param page 页码 * @param size 每页数量 * @param status 状态,1:待分派,2:已分派 + * @param sortType 排序方式(1:正序;2:倒序) + * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级) * @return */ @GetMapping("/pageMyTaskFp") public Object pageMyTaskFp(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, - @RequestParam(value = "status") int status, @CurrentUser String userId) { + @RequestParam(value = "status") int status, @CurrentUser String userId, + @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { try { Map<String, Object> terms = Maps.newHashMap(); // 流程/分派时间区间 @@ -286,7 +335,35 @@ if (StringUtils.isNotBlank(partyName)){ terms.put("partyName", partyName); } - return ReturnSucUtils.getRepInfo(); + Sort sort = null; + String sortName = null; + switch (sortColmn){ + case 1: + sortName = "t1.create_time"; + break; + case 2: + sortName = "t1.expire_time"; + break; + case 3: + sortName = "t2.case_level"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("candeUnitId",loginUser.getUnitId()); + terms.put("status", status); + return ReturnSucUtils.getRepInfo(service.pageMyTaskFp(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } @@ -298,11 +375,14 @@ * @param page 页码 * @param size 每页数量 * @param status 状态,1:待签收,2:已签收 + * @param sortType 排序方式(1:正序;2:倒序) + * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级) * @return */ @GetMapping("/pageMyTaskQs") public Object pageMyTaskQs(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, - @RequestParam(value = "status") int status, @CurrentUser String userId) { + @RequestParam(value = "status") int status, @CurrentUser String userId, + @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { try { Map<String, Object> terms = Maps.newHashMap(); // 流程/签收时间区间 @@ -317,7 +397,35 @@ if (StringUtils.isNotBlank(partyName)){ terms.put("partyName", partyName); } - return ReturnSucUtils.getRepInfo(); + Sort sort = null; + String sortName = null; + switch (sortColmn){ + case 1: + sortName = "t1.create_time"; + break; + case 2: + sortName = "t1.expire_time"; + break; + case 3: + sortName = "t2.case_level"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("candeUnitId",loginUser.getUnitId()); + terms.put("signStatus", status); + return ReturnSucUtils.getRepInfo(service.pageMyTaskQs(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } @@ -329,10 +437,13 @@ * @param page 页码 * @param size 每页数量 * @param status 状态,1:待受理,2:已受理 + * @param sortType 排序方式(1:正序;2:倒序) + * @param sortColmn 排序字段(1:流转时间;2:分派时限;3:事项等级) * @return */ @GetMapping("/pageMyTaskSl") public Object pageMyTaskSl(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, + @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn, @RequestParam(value = "status") int status, @CurrentUser String userId) { try { Map<String, Object> terms = Maps.newHashMap(); @@ -348,23 +459,53 @@ if (StringUtils.isNotBlank(partyName)){ terms.put("partyName", partyName); } - return ReturnSucUtils.getRepInfo(); + Sort sort = null; + String sortName = null; + switch (sortColmn){ + case 1: + sortName = "t1.create_time"; + break; + case 2: + sortName = "t1.expire_time"; + break; + case 3: + sortName = "t2.case_level"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("candeUnitId",loginUser.getUnitId()); + terms.put("status", status); + return ReturnSucUtils.getRepInfo(service.pageMyTaskSl(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** - * web端-工作台-查询待办任务-办理任务 - * @url {ctx}/api/web/caseTask/pageMyTaskBl + * web端-工作台-查询待办任务-办理中 + * @url {ctx}/api/web/caseTask/pageMyTaskBlz * @param page 页码 * @param size 每页数量 - * @param status 状态,1:办理中,2:结案申请,3:已结案 + * @param sortType 排序方式(1:正序;2:倒序) + * @param sortColmn 排序字段(1:流转时间/已办天数;2:分派时限;3:事项等级) * @return */ - @GetMapping("/pageMyTaskBl") - public Object pageMyTaskBl(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, - @RequestParam(value = "status") int status, @CurrentUser String userId) { + @GetMapping("/pageMyTaskBlz") + public Object pageMyTaskBlz(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, + @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn, + @CurrentUser String userId) { try { Map<String, Object> terms = Maps.newHashMap(); // 流程/结案申请/结案时间区间 @@ -379,7 +520,94 @@ if (StringUtils.isNotBlank(partyName)){ terms.put("partyName", partyName); } - return ReturnSucUtils.getRepInfo(); + Sort sort = null; + String sortName = null; + switch (sortColmn){ + case 1: + sortName = "t1.create_time"; + break; + case 2: + sortName = "t1.expire_time"; + break; + case 3: + sortName = "t2.case_level"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("candeUnitId",loginUser.getUnitId()); + return ReturnSucUtils.getRepInfo(service.pageMyTaskBlz(pageRequest, terms)); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * web端-工作台-查询待办任务-办理任务 + * @url {ctx}/api/web/caseTask/pageMyTaskBl + * @param page 页码 + * @param size 每页数量 + * @param status 状态,0:结案申请,1:已结案 + * @param sortType 排序方式(1:正序;2:倒序) + * @param sortColmn 排序字段(1:结案申请时间;2:事项等级) + * @return + */ + @GetMapping("/pageMyTaskBl") + public Object pageMyTaskBl(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, + @RequestParam(value = "status") int status, @CurrentUser String userId, + @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { + try { + Map<String, Object> terms = Maps.newHashMap(); + // 流程/结案申请/结案时间区间 + String timeStart = request.getParameter("timeStart"); + String timeEnd = request.getParameter("timeEnd"); + if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) { + terms.put("timeStart", timeStart); + terms.put("timeEnd", timeEnd); + } + // 查询申请方/被申请方关键词 + String partyName = request.getParameter("partyName"); + if (StringUtils.isNotBlank(partyName)){ + terms.put("partyName", partyName); + } + Sort sort = null; + String sortName = null; + switch (sortColmn){ + case 1: + sortName = "t1.apply_time"; + break; + case 2: + sortName = "t1.case_level"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("applyUnitId",loginUser.getUnitId()); + terms.put("applyStatus", status); + return ReturnSucUtils.getRepInfo(service.pageMyTaskBl(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } @@ -390,14 +618,15 @@ * @url {ctx}/api/web/caseTask/pageMyTaskSh * @param page 页码 * @param size 每页数量 - * @param status 状态,1:待审核,2:已审核 + * @param status 状态,0:待审核,1:已审核 * @param type 审核类型,1:回退审核,2:上报审核,3:结案审核,4:联合处置审核 + * @param sortType 排序方式(1:正序;2:倒序) * @return */ @GetMapping("/pageMyTaskSh") public Object pageMyTaskSh(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "status") int status, @RequestParam(value = "type") int type, - @CurrentUser String userId) { + @CurrentUser String userId, @RequestParam(value = "sortType") int sortType) { try { Map<String, Object> terms = Maps.newHashMap(); // 回退/上报/结案申请/联合处置申请/审核时间区间 @@ -412,7 +641,98 @@ if (StringUtils.isNotBlank(partyName)){ terms.put("partyName", partyName); } - return ReturnSucUtils.getRepInfo(); + Sort sort = null; + String sortName = null; + switch (type){ + case 1: + sortName = "t1.return_time"; + break; + case 2: + sortName = "t1.appear_time"; + break; + case 3: + sortName = "t1.apply_time"; + break; + case 4: + sortName = "t1.apply_time"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("auditUnitId",loginUser.getUnitId()); + terms.put("applyStatus", status); + return ReturnSucUtils.getRepInfo(service.pageMyTaskSh(pageRequest, type, terms)); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * web端-工作台-查询待办任务-督办 + * @url {ctx}/api/web/caseTask/pageMyTaskDb + * @param page 页码 + * @param size 每页数量 + * @param status 状态,0:未回复,1:已回复 + * @param sortType 排序方式(1:正序;2:倒序) + * @param sortColmn 排序字段(1:督办时间/回复时限;2:事项等级) + * @return + */ + @GetMapping("/pageMyTaskDb") + public Object pageMyTaskDb(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, + @RequestParam(value = "status") int status, @CurrentUser String userId, + @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { + try { + Map<String, Object> terms = Maps.newHashMap(); + // 流程/结案申请/结案时间区间 + String timeStart = request.getParameter("timeStart"); + String timeEnd = request.getParameter("timeEnd"); + if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) { + terms.put("timeStart", timeStart); + terms.put("timeEnd", timeEnd); + } + // 查询申请方/被申请方关键词 + String partyName = request.getParameter("partyName"); + if (StringUtils.isNotBlank(partyName)){ + terms.put("partyName", partyName); + } + Sort sort = null; + String sortName = null; + switch (sortColmn){ + case 1: + sortName = "t1.sup_time"; + break; + case 2: + sortName = "t1.case_level"; + break; + } + switch (sortType){ + case 1: + sort = Sort.by(Sort.Direction.ASC, sortName); + break; + case 2: + sort = Sort.by(Sort.Direction.DESC, sortName); + break; + } + if(ObjectUtils.isEmpty(sort)){ + sort = Sort.by(Sort.Direction.DESC, "t1.create_time"); + } + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + terms.put("quiltUnitId",loginUser.getUnitId()); + terms.put("supStatus", status); + + return ReturnSucUtils.getRepInfo(superviseService.pageMyTaskDb(pageRequest, terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } -- Gitblit v1.8.0