|
|
|
@ -3,6 +3,8 @@ package cn.jyjz.flowable.controller;
|
|
|
|
|
import cn.jyjz.flowable.common.SystemConstantsOa;
|
|
|
|
|
import cn.jyjz.flowable.domain.dto.HistoricTaskInstanceDto;
|
|
|
|
|
import cn.jyjz.flowable.domain.vo.FlowTaskVO;
|
|
|
|
|
import cn.jyjz.flowable.entity.FlowApprove;
|
|
|
|
|
import cn.jyjz.flowable.entity.FlowTaskInfo;
|
|
|
|
|
import cn.jyjz.flowable.service.IFlowTaskService;
|
|
|
|
|
import cn.jyjz.flowable.utils.PageUtils;
|
|
|
|
|
import cn.jyjz.flowable.utils.SysConstant;
|
|
|
|
@ -33,6 +35,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import io.swagger.annotations.*;
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
|
import org.flowable.ui.common.model.RemoteUser;
|
|
|
|
|
import org.flowable.ui.common.service.idm.RemoteIdmService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -87,6 +90,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查看过程流程图
|
|
|
|
|
*
|
|
|
|
|
* @param processId
|
|
|
|
|
* @return
|
|
|
|
|
* @throws Exception
|
|
|
|
@ -102,6 +106,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查看已办流程图
|
|
|
|
|
*
|
|
|
|
|
* @param processId
|
|
|
|
|
* @return
|
|
|
|
|
* @throws Exception
|
|
|
|
@ -117,6 +122,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查看表单主键
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/viewFormid")
|
|
|
|
@ -133,81 +139,44 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 完成任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "任务审批", notes = "任务审批")
|
|
|
|
|
@PostMapping("/completeFlow")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public ResultVo complete(FlowTaskVO taskVO,HttpServletRequest request){
|
|
|
|
|
Boolean flag = flowTaskService.complete(taskVO,request);
|
|
|
|
|
public ResultVo complete(@RequestBody FlowApprove approve, HttpServletRequest request) {
|
|
|
|
|
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
|
|
|
|
|
Boolean flag = flowTaskService.complete(approve, userToken);
|
|
|
|
|
return flag ? ResultVoUtil.success() : ResultVoUtil.error();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 批量任务审批
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "任务审批", notes = "任务审批")
|
|
|
|
|
@PostMapping("/completeBatchFlow")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public ResultVo completeBatch(HttpServletRequest request){
|
|
|
|
|
|
|
|
|
|
public ResultVo completeBatch(@RequestBody FlowApprove approve, HttpServletRequest request) {
|
|
|
|
|
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
|
|
|
|
|
|
|
|
|
|
//任务ID
|
|
|
|
|
String[] taskId = request.getParameterValues("taskId");
|
|
|
|
|
//审批的任务主键
|
|
|
|
|
String[] formid = request.getParameterValues("formid");
|
|
|
|
|
|
|
|
|
|
String[] taskname = request.getParameterValues("taskname");
|
|
|
|
|
|
|
|
|
|
//是否同意,true:同意,false:拒绝
|
|
|
|
|
boolean approvd = Boolean.valueOf(request.getParameter("approvd"));
|
|
|
|
|
|
|
|
|
|
//审批意见")
|
|
|
|
|
String taskComment = request.getParameter("taskComment");
|
|
|
|
|
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
|
|
|
|
|
if (CollectionUtils.isNotEmpty(flowTaskInfoList)) {
|
|
|
|
|
List<String> formIdList = flowTaskInfoList.stream().map(FlowTaskInfo::getFormId).collect(Collectors.toList());
|
|
|
|
|
//判断当前任务审批人是否一致
|
|
|
|
|
if(!this.ocrTaskchildPictureService.validateAssignee(formid,userToken)){
|
|
|
|
|
if (!this.ocrTaskchildPictureService.validateAssignee(formIdList, userToken)) {
|
|
|
|
|
return ResultVoUtil.error("审批人不一致,请到任务审批中处理。");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//TODO 判断当前任务是否审批完毕
|
|
|
|
|
if(!this.ocrTaskchildPictureService.validateApprove(formid)){
|
|
|
|
|
// 判断当前任务是否审批完毕
|
|
|
|
|
if (!this.ocrTaskchildPictureService.validateApprove(formIdList)) {
|
|
|
|
|
return ResultVoUtil.error("存在已经审批的任务。");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//TODO 判断taskid是否为非法,空置、taskid是否存在
|
|
|
|
|
|
|
|
|
|
//判断当前任务是否存在历史任务--暂时不做,生成任务时直接保存历史任务的审批工具中
|
|
|
|
|
|
|
|
|
|
StringBuffer smg = new StringBuffer();
|
|
|
|
|
for(int i = 0;i < taskId.length;i++){
|
|
|
|
|
String ti = taskId[i];
|
|
|
|
|
String fi = formid[i];
|
|
|
|
|
FlowTaskVO taskVO = new FlowTaskVO();
|
|
|
|
|
taskVO.setTaskId(ti);
|
|
|
|
|
taskVO.setFormid(fi);
|
|
|
|
|
taskVO.setApprovd(approvd);
|
|
|
|
|
taskVO.setTaskComment(taskComment);
|
|
|
|
|
|
|
|
|
|
Boolean flag = flowTaskService.complete(taskVO,request);
|
|
|
|
|
|
|
|
|
|
if(!flag){
|
|
|
|
|
if(StringUtils.isNotBlank(smg.toString())){
|
|
|
|
|
smg.append(",");
|
|
|
|
|
smg.append(taskname[i]);
|
|
|
|
|
smg.append("审批失败");
|
|
|
|
|
}else{
|
|
|
|
|
smg.append(taskname[i]);
|
|
|
|
|
smg.append("审批失败");
|
|
|
|
|
Boolean flag = flowTaskService.complete(approve, userToken);
|
|
|
|
|
return flag ? ResultVoUtil.success("审批成功!") : ResultVoUtil.error("审批失败!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (StringUtils.isNotBlank(smg.toString()))?ResultVoUtil.error(smg.toString()):ResultVoUtil.success();
|
|
|
|
|
return ResultVoUtil.error("审批信息为空!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/listhistore")
|
|
|
|
@ -217,9 +186,11 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
List<HistoricTaskInstanceDto> list = flowTaskService.listHistoriceTask(processInstanceId);
|
|
|
|
|
return ResultVoUtil.success(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 我的已办
|
|
|
|
|
* 查询我发起的已经完成的任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/finishedList")
|
|
|
|
@ -239,9 +210,11 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
return ResultVoUtil.success(pageUtils);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 我的发起
|
|
|
|
|
* 查询我发起的已经完成的任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "待办任务", notes = "待办任务")
|
|
|
|
@ -318,9 +291,11 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
return ResultVoUtil.success(pageUtils);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 我的任务
|
|
|
|
|
* 查询我的待办、已经办理任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "我的任务", notes = "查询我的待办、已经办理任务")
|
|
|
|
@ -368,6 +343,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 终审列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "我的终审列表", notes = "我的终审列表")
|
|
|
|
@ -484,6 +460,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 终审列表(高级检索)
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "图片分页列表查询-根据用户预设检索条件查询", notes = "")
|
|
|
|
@ -510,12 +487,11 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 我的发起
|
|
|
|
|
* 查询我发起的已经完成的任务
|
|
|
|
|
* (CATEGORYID)流程类型为必填项
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/listdataall")
|
|
|
|
@ -551,8 +527,10 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
}
|
|
|
|
|
return ResultVoUtil.success(flowUnionVoList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 抄送给我的
|
|
|
|
|
*
|
|
|
|
|
* @param pageUtils
|
|
|
|
|
* @param request
|
|
|
|
|
* @return
|
|
|
|
@ -569,9 +547,11 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
return ResultVoUtil.success(pageUtils);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 抄送我的
|
|
|
|
|
* 查询我发起的已经完成的任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/mylistcc")
|
|
|
|
@ -584,8 +564,10 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
return ResultVoUtil.success(flowableccIPage);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 撤销流程
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/cancelTask")
|
|
|
|
@ -600,6 +582,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 重置流程流程
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
|
|
|
|
@ -619,6 +602,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 审批历史记录
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "重置流程流程", notes = "重置流程流程")
|
|
|
|
@ -638,6 +622,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 重复任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "重复流程", notes = "重复流程")
|
|
|
|
@ -652,6 +637,7 @@ public class FlowTaskController extends BaseController {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 重复任务
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "重复流程", notes = "重复流程")
|
|
|
|
|