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.FrontPageListSLDTO;
|
import cn.huge.module.cases.domain.dto.SignTaskDTO;
|
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<SignTaskDTO> 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) {
|
try {
|
// 条件
|
Map<String, Object> terms = Maps.newHashMap();
|
// 流程/签收时间区间
|
String timeStart = request.getParameter("timeStart");
|
String timeEnd = request.getParameter("timeEnd");
|
if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
|
// 待签收,查询流转时间
|
terms.put("createTimeStart", timeStart);
|
terms.put("createTimeEnd", timeEnd);
|
}
|
// 查询申请方/被申请方关键词
|
String partyName = request.getParameter("partyName");
|
if (StringUtils.isNotBlank(partyName)){
|
terms.put("partyName", partyName);
|
}
|
CtUserDTO loginUser = custClient.clientGetUserAll(userId);
|
terms.put("candeUnitId",loginUser.getUnitId());
|
terms.put("signStatus", 1);
|
|
List<SignTaskDTO>signTaskDTOList = service.listIdByTerms(terms);
|
service.webSign(signTaskDTOList, userId);
|
return ReturnSucUtils.getRepInfo();
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo();
|
}
|
}
|
|
/**
|
* web端-受理
|
* @url {ctx}/api/web/caseTask/accept
|
* @param acceptTaskDTO 受理表单
|
* @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<String, Object> term = new HashMap<>();
|
term.put("mainId", caseReturn.getCaseId());
|
term.put("ownerIds", "'" + caseReturn.getId() + "'");
|
List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
|
if (CollectionUtils.isNotEmpty(fileInfoList)) {
|
caseReturn.setFileInfoList(fileInfoList.get(0).getFileList().get(0).getFileList());
|
}
|
}
|
return ReturnSucUtils.getRepInfo(caseReturn);
|
} catch (Exception e) {
|
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:事项等级)
|
* @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<String, Object> 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);
|
terms.put("candeUnitId",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;
|
}
|
switch (sortType){
|
case 1:
|
sort = Sort.by(Sort.Direction.ASC, sortName);
|
break;
|
case 2:
|
sort = Sort.by(Sort.Direction.DESC, sortName);
|
break;
|
}
|
if(ObjectUtils.isEmpty(sort)){
|
sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
|
}
|
PageRequest pageRequest = PageRequest.of(page-1, size, sort);
|
return ReturnSucUtils.getRepInfo(service.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:事项等级)
|
* @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<String, Object> 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);
|
terms.put("candeUnitId",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;
|
}
|
switch (sortType){
|
case 1:
|
sort = Sort.by(Sort.Direction.ASC, sortName);
|
break;
|
case 2:
|
sort = Sort.by(Sort.Direction.DESC, sortName);
|
break;
|
}
|
if(ObjectUtils.isEmpty(sort)){
|
sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
|
}
|
PageRequest pageRequest = PageRequest.of(page-1, size, sort);
|
return ReturnSucUtils.getRepInfo(service.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:事项等级)
|
* @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;
|
}
|
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);
|
// 条件
|
Map<String, Object> 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);
|
terms.put("candeUnitId", 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:事项等级)
|
* @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<String, Object> terms = Maps.newHashMap();
|
// 流程/结案申请/结案时间区间
|
String timeStart = request.getParameter("timeStart");
|
String timeEnd = request.getParameter("timeEnd");
|
if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
|
terms.put("createTimeStart", timeStart);
|
terms.put("createTimeEnd", timeEnd);
|
}
|
// 查询申请方/被申请方关键词
|
String partyName = request.getParameter("partyName");
|
if (StringUtils.isNotBlank(partyName)){
|
terms.put("partyName", partyName);
|
}
|
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;
|
}
|
switch (sortType){
|
case 1:
|
sort = Sort.by(Sort.Direction.ASC, sortName);
|
break;
|
case 2:
|
sort = Sort.by(Sort.Direction.DESC, sortName);
|
break;
|
}
|
if(ObjectUtils.isEmpty(sort)){
|
sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
|
}
|
PageRequest pageRequest = PageRequest.of(page-1, size, sort);
|
return ReturnSucUtils.getRepInfo(service.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:事项等级)
|
* @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<String, Object> 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 = "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);
|
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) {
|
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 (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/pageMyTaskShWSQD
|
* @param page 页码
|
* @param size 每页数量
|
* @param sortType 排序方式(1:正序;2:倒序)
|
* @param sortColmn 排序字段(1:申请时间;2:审核时间;3:事项等级)
|
* @return
|
*/
|
@GetMapping("/pageMyTaskShWSQD")
|
public Object pageMyTaskShWSQD(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
|
@CurrentUser String userId,@RequestParam(value = "sortType") int sortType,
|
@RequestParam(value = "sortColmn") int sortColmn) {
|
try {
|
Map<String, Object> terms = Maps.newHashMap();
|
// 时间区间
|
String timeStart = request.getParameter("timeStart");
|
String timeEnd = request.getParameter("timeEnd");
|
if(StringUtils.isNotBlank(timeStart) && StringUtils.isNotBlank(timeEnd)) {
|
terms.put("timeStart", timeStart);
|
terms.put("timeEnd", timeEnd);
|
}
|
// 查询申请方/被申请方关键词
|
String partyName = request.getParameter("partyName");
|
if (StringUtils.isNotBlank(partyName)){
|
terms.put("partyName", partyName);
|
}
|
// 申请类型
|
String applyType = request.getParameter("applyType");
|
if (StringUtils.isNotBlank(applyType)){
|
terms.put("applyType", applyType);
|
}
|
// 审核结果
|
String auditResult = request.getParameter("auditResult");
|
if (StringUtils.isNotBlank(auditResult)){
|
terms.put("auditResult", auditResult);
|
}
|
Sort sort = null;
|
String sortName = null;
|
switch (sortColmn){
|
case 1:
|
sortName = "t1.turnaroundTime";
|
break;
|
case 2:
|
sortName = "t1.auditTime";
|
break;
|
case 3:
|
sortName = "t2.caseGrade";
|
break;
|
}
|
switch (sortType){
|
case 1:
|
sort = Sort.by(Sort.Direction.ASC, sortName);
|
break;
|
case 2:
|
sort = Sort.by(Sort.Direction.DESC, sortName);
|
break;
|
}
|
if(ObjectUtils.isEmpty(sort)){
|
sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
|
}
|
PageRequest pageRequest = PageRequest.of(page-1, size, sort);
|
CtUserDTO loginUser = custClient.clientGetUserAll(userId);
|
terms.put("applyUnitId",loginUser.getUnitId());
|
return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, terms));
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo();
|
}
|
}
|
|
/**
|
* web端-工作台-查询待办任务-督办
|
* @url {ctx}/api/web/caseTask/pageMyTaskDb
|
* @param page 页码
|
* @param size 每页数量
|
* @param status 状态,0:未回复,1:已回复, 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<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);
|
Page<CaseSupervise> caseSupervisePage = null;
|
if(StringUtils.isNotBlank(loginUser.getUnitId())){
|
terms.put("type", status);
|
if(3 != status){
|
terms.put("quiltUnitId",loginUser.getUnitId());
|
terms.put("supStatus", status);
|
}else{
|
terms.put("supUnitId",loginUser.getUnitId());
|
}
|
caseSupervisePage = superviseService.pageMyTaskDb(pageRequest, terms);
|
}
|
return ReturnSucUtils.getRepInfo(caseSupervisePage);
|
} 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<String, Object> terms = Maps.newHashMap();
|
// 受理时间
|
String createTimeStart = request.getParameter("createTimeStart");
|
String createTimeEnd = request.getParameter("createTimeEnd");
|
if(StringUtils.isNotBlank(createTimeStart) && StringUtils.isNotBlank(createTimeEnd)) {
|
terms.put("createTimeStart", createTimeStart);
|
terms.put("createTimeEnd", createTimeEnd);
|
}
|
// 办结时间
|
String handleTimeStart = request.getParameter("handleTimeStart");
|
String handleTimeEnd = request.getParameter("handleTimeEnd");
|
if(StringUtils.isNotBlank(handleTimeStart) && StringUtils.isNotBlank(handleTimeEnd)) {
|
terms.put("handleTimeStart", handleTimeStart);
|
terms.put("handleTimeEnd", handleTimeEnd);
|
}
|
// 经办人
|
String mediator = request.getParameter("mediator");
|
if (StringUtils.isNotBlank(mediator)){
|
terms.put("mediator", mediator);
|
}
|
// 事项来源
|
String canal = request.getParameter("canal");
|
if (StringUtils.isNotBlank(canal)){
|
terms.put("canal", canal);
|
}
|
// 化解结果
|
String mediResult = request.getParameter("mediResult");
|
if (StringUtils.isNotBlank(mediResult)){
|
terms.put("mediResult", mediResult);
|
}
|
// 事项等级
|
String caseLevel = request.getParameter("caseLevel");
|
if (StringUtils.isNotBlank(caseLevel)){
|
terms.put("caseLevel", caseLevel);
|
}
|
// 纠纷类型
|
String caseType = request.getParameter("caseType");
|
if (StringUtils.isNotBlank(caseType)){
|
terms.put("caseType", caseType);
|
}
|
// 事项状态
|
String status = request.getParameter("status");
|
if (StringUtils.isNotBlank(status)){
|
terms.put("status", status);
|
}
|
CtUserDTO loginUser = custClient.clientGetUserAll(userId);
|
terms.put("handleUnitId", loginUser.getUnitId());
|
// 排序
|
Sort sort = null;
|
String sortName = null;
|
String sortColmnStr = request.getParameter("sortColmn");
|
String sortTypeStr = request.getParameter("sortType");
|
int sortColmn = 1;
|
int sortType = 1;
|
if(StringUtils.isNotBlank(sortColmnStr)){
|
sortColmn = Integer.valueOf(sortColmnStr);
|
}
|
if(StringUtils.isNotBlank(sortTypeStr)){
|
sortType = Integer.valueOf(sortTypeStr);
|
}
|
switch (sortColmn){
|
case 1:
|
sortName = "t1.handle_time";
|
break;
|
case 2:
|
sortName = "t2.case_level";
|
break;
|
case 3:
|
sortName = "superviseCount";
|
break;
|
}
|
switch (sortType){
|
case 1:
|
sort = Sort.by(Sort.Direction.ASC, sortName);
|
break;
|
case 2:
|
sort = Sort.by(Sort.Direction.DESC, sortName);
|
break;
|
}
|
if(ObjectUtils.isEmpty(sort)){
|
sort = Sort.by(Sort.Direction.DESC, "t1.create_time");
|
}
|
PageRequest pageRequest = PageRequest.of(page-1, size, sort);
|
return ReturnSucUtils.getRepInfo(service.pageMyTaskYb(pageRequest, terms));
|
} catch (Exception e) {
|
return ReturnFailUtils.getRepInfo();
|
}
|
}
|
}
|