工作流模块引入new表
This commit is contained in:
+18
-22
@@ -1,15 +1,14 @@
|
|||||||
package com.adc.da.wkflow.business_activiti.task;
|
package com.adc.da.wkflow.business_activiti.task;
|
||||||
|
|
||||||
|
import com.adc.da.sys.entity.UserEO;
|
||||||
import com.adc.da.sys.service.UserEOServiceImpl;
|
import com.adc.da.sys.service.UserEOServiceImpl;
|
||||||
import com.adc.da.sys.service.iservice.IUserEoService;
|
import com.adc.da.sys.service.iservice.IUserEoService;
|
||||||
|
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.tmsps.fk.common.util.ChkUtil;
|
import com.tmsps.fk.common.util.ChkUtil;
|
||||||
import com.adc.da.wkflow.business_main.entity.*;
|
import com.adc.da.wkflow.business_main.entity.*;
|
||||||
import com.adc.da.wkflow.business_main.service.IBusProcessEntrustService;
|
|
||||||
import com.adc.da.wkflow.business_main.service.IBusProcessNameService;
|
import com.adc.da.wkflow.business_main.service.IBusProcessNameService;
|
||||||
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
|
|
||||||
import com.adc.da.wkflow.business_main.service.IDatasService;
|
|
||||||
import com.adc.da.wkflow.util.activiti.ActivitiTools;
|
import com.adc.da.wkflow.util.activiti.ActivitiTools;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
@@ -37,19 +36,15 @@ public class TaskController {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private HistoryService historyService;
|
private HistoryService historyService;
|
||||||
@Autowired
|
|
||||||
private JdbcTemplate jt;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
IUserEoService userEoService;
|
IUserEoService userEoService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBusProcessNameService iBusProcessNameService;
|
private IBusProcessNameService iBusProcessNameService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBusProcessNewService iBusProcessNewService;
|
private IBusProcessNewService iBusProcessNewService;
|
||||||
@Autowired
|
|
||||||
private IBusProcessEntrustService iBusProcessEntrustService;
|
|
||||||
@Autowired
|
|
||||||
private IDatasService iDatasService;
|
|
||||||
|
|
||||||
@ApiOperation(value = "流程实例明细列表")
|
@ApiOperation(value = "流程实例明细列表")
|
||||||
@ApiImplicitParam(name = "prcNum", value = "流程实例id")
|
@ApiImplicitParam(name = "prcNum", value = "流程实例id")
|
||||||
@@ -74,25 +69,26 @@ public class TaskController {
|
|||||||
List<HistoricTaskInstance> list2 = historicTaskInstanceQuery.list();
|
List<HistoricTaskInstance> list2 = historicTaskInstanceQuery.list();
|
||||||
List<Map<String,Object>> list = ActivitiTools.turnHistoricTaskInstance(list2);
|
List<Map<String,Object>> list = ActivitiTools.turnHistoricTaskInstance(list2);
|
||||||
for (Map<String, Object> historicTaskInstance : list) {
|
for (Map<String, Object> historicTaskInstance : list) {
|
||||||
|
// 获取办理的历史信息
|
||||||
if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) {
|
if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) {
|
||||||
String taskId = historicTaskInstance.get("id").toString();
|
String taskId = historicTaskInstance.get("id").toString();
|
||||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
QueryWrapper processNewQueryWrapper = new QueryWrapper<BusProcessNew>();
|
||||||
queryWrapper1.eq("TASK_ID",taskId);
|
processNewQueryWrapper.eq("TASK_ID",taskId);
|
||||||
BusProcessNew one1 = iBusProcessNewService.getOne(queryWrapper1);
|
BusProcessNew processNew = iBusProcessNewService.getOne(processNewQueryWrapper);
|
||||||
if(one1!=null){
|
|
||||||
ResponseMessage<UserVO> assignee = userEoService.getUserById(one1.getUserId());
|
if(processNew!=null){
|
||||||
if(assignee.getData()!=null){
|
UserEO assignee = userEoService.getUserById(processNew.getUserId());
|
||||||
historicTaskInstance.put("assignee", assignee.getData().getUname());
|
if(assignee != null){
|
||||||
historicTaskInstance.put("assigneeId", assignee.getData().getUsid());
|
historicTaskInstance.put("assignee", assignee.getUsname());
|
||||||
|
historicTaskInstance.put("assigneeId", assignee.getUsid());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
ResponseMessage<UserVO> assignee = userEoService.getUserById(historicTaskInstance.get("assignee").toString());
|
UserEO assignee = userEoService.getUserById(historicTaskInstance.get("assignee").toString());
|
||||||
|
|
||||||
if(assignee.getData()!=null){
|
if(assignee != null){
|
||||||
historicTaskInstance.put("assignee", assignee.getData().getUname());
|
historicTaskInstance.put("assignee", assignee.getUsname());
|
||||||
historicTaskInstance.put("assigneeId", assignee.getData().getUsid());
|
historicTaskInstance.put("assigneeId", assignee.getUsid());
|
||||||
historicTaskInstance.put("orgName",assignee.getData().getOrgName());
|
historicTaskInstance.put("orgName",assignee.getData().getOrgName());
|
||||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||||
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
|
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||||
|
|||||||
+11
-151
@@ -2,6 +2,7 @@ package com.adc.da.wkflow.business_activiti.task;
|
|||||||
|
|
||||||
import com.adc.da.sys.service.iservice.IUserEoService;
|
import com.adc.da.sys.service.iservice.IUserEoService;
|
||||||
import com.adc.da.sys.vo.UserVO;
|
import com.adc.da.sys.vo.UserVO;
|
||||||
|
import com.adc.da.util.exception.AdcDaBaseException;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -14,12 +15,8 @@ import com.tmsps.fk.common.wrapper.WrapMapper;
|
|||||||
import com.tmsps.fk.common.wrapper.Wrapper;
|
import com.tmsps.fk.common.wrapper.Wrapper;
|
||||||
import com.adc.da.wkflow.business_activiti.dto.*;
|
import com.adc.da.wkflow.business_activiti.dto.*;
|
||||||
import com.adc.da.wkflow.business_activiti.service.TaskTodoService;
|
import com.adc.da.wkflow.business_activiti.service.TaskTodoService;
|
||||||
import com.adc.da.wkflow.business_auth.AdmissionArgsService;
|
|
||||||
import com.adc.da.wkflow.business_auth.UserInfoService;
|
|
||||||
import com.adc.da.wkflow.business_main.entity.*;
|
import com.adc.da.wkflow.business_main.entity.*;
|
||||||
import com.adc.da.wkflow.business_main.service.*;
|
import com.adc.da.wkflow.business_main.service.*;
|
||||||
import com.adc.da.wkflow.business_wkflow.form.dto.FormSubmitDto;
|
|
||||||
import com.adc.da.wkflow.business_wkflow.form.service.FormValsService;
|
|
||||||
import com.adc.da.wkflow.enums.SubmitStatusEnum;
|
import com.adc.da.wkflow.enums.SubmitStatusEnum;
|
||||||
import com.adc.da.wkflow.util.activiti.ActivitiTools;
|
import com.adc.da.wkflow.util.activiti.ActivitiTools;
|
||||||
import com.adc.da.wkflow.util.date.DateTools;
|
import com.adc.da.wkflow.util.date.DateTools;
|
||||||
@@ -83,21 +80,8 @@ public class TodoTaskController extends BaseAction {
|
|||||||
private IBusProcessEntrustService iBusProcessEntrustService;
|
private IBusProcessEntrustService iBusProcessEntrustService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
IUserEoService userEoService;
|
private IUserEoService userEoService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private INodeUserInfoService nodeUserInfoService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IDatasService datasService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UserInfoService userInfoService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private AdmissionArgsService admissionArgsService;
|
|
||||||
@Autowired
|
|
||||||
private IFlowRelInfoService flowRelInfoService;
|
|
||||||
|
|
||||||
@ApiOperation(value = "我的待办任务列表")
|
@ApiOperation(value = "我的待办任务列表")
|
||||||
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
||||||
@@ -161,29 +145,15 @@ public class TodoTaskController extends BaseAction {
|
|||||||
if (taskCommonQuery.getPrcType() != null && !taskCommonQuery.getPrcType().equals("")) {
|
if (taskCommonQuery.getPrcType() != null && !taskCommonQuery.getPrcType().equals("")) {
|
||||||
queryWrapper.eq("PRC_TYPE", taskCommonQuery.getPrcType());
|
queryWrapper.eq("PRC_TYPE", taskCommonQuery.getPrcType());
|
||||||
}
|
}
|
||||||
List<TaskAdvanceSearchVO> searchList = JSONObject.parseArray(taskCommonQuery.getAdvanceSearchVOStr(),TaskAdvanceSearchVO.class);
|
|
||||||
this.createAdvanceSearchCondition(searchList,queryWrapper);
|
|
||||||
queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.SUBMIT.getValue());
|
queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.SUBMIT.getValue());
|
||||||
|
|
||||||
BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper);
|
BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper);
|
||||||
String taskIds = "";
|
String taskIds = "";
|
||||||
for (Map<String, Object> map : entry.getValue()) {
|
for (Map<String, Object> map : entry.getValue()) {
|
||||||
taskIds += map.get("id").toString() + ",";
|
taskIds += map.get("id").toString() + ",";
|
||||||
/*if(StringUtils.isNotEmpty(taskIds)){
|
|
||||||
taskIds += map.get("id").toString() + ",";
|
|
||||||
}else {
|
|
||||||
taskIds = map.get("id").toString();
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
if (busProcessName != null) {
|
if (busProcessName != null) {
|
||||||
/*if(StringUtils.isNotEmpty(taskIds)){
|
|
||||||
String[] taskArr = taskIds.split(",");
|
|
||||||
if(taskArr.length>1){
|
|
||||||
busProcessName.setTaskIds(taskIds);
|
|
||||||
}else {
|
|
||||||
busProcessName.setTaskId(taskIds);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
if(StringUtils.isNotEmpty(taskIds)){
|
if(StringUtils.isNotEmpty(taskIds)){
|
||||||
taskIds = taskIds.substring(0,taskIds.length()-1);
|
taskIds = taskIds.substring(0,taskIds.length()-1);
|
||||||
}
|
}
|
||||||
@@ -246,83 +216,6 @@ public class TodoTaskController extends BaseAction {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//发送邮件
|
|
||||||
QueryWrapper queryWrapper = new QueryWrapper();
|
|
||||||
queryWrapper.eq("PRC_ID", pId);
|
|
||||||
BusProcessName name = iBusProcessNameService.getOne(queryWrapper);
|
|
||||||
String type = name.getPrcType();
|
|
||||||
Integer typeInt = 99;
|
|
||||||
if (StringUtils.isNotEmpty(type)){
|
|
||||||
typeInt = Integer.valueOf(type);
|
|
||||||
}
|
|
||||||
switch (typeInt){
|
|
||||||
case 1:
|
|
||||||
type = "法规入库及评估流程";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
type = "标准法规技术储备评估流程";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
type = "项目评估流程";
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
type = "企标制修订流程";
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
type = "未符合项跟踪流程";
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
type = "企标制修订申请流程";
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
type = "企标废止流程";
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
type = "企标延期制修订申请流程";
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
type = "标准采购流程";
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
type = "工作组会前申请流程";
|
|
||||||
break;
|
|
||||||
case 11:
|
|
||||||
type = "企标制修订评估流程";
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
type = "企标勘误流程";
|
|
||||||
break;
|
|
||||||
case 13:
|
|
||||||
type = "行政管理要求评估流程";
|
|
||||||
break;
|
|
||||||
case 14:
|
|
||||||
type = "政策入库及评估流程";
|
|
||||||
break;
|
|
||||||
case 15:
|
|
||||||
type = "标准翻译申请流程";
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
type = "工作组会后管理流程";
|
|
||||||
break;
|
|
||||||
case 17:
|
|
||||||
type = "企标备案流程";
|
|
||||||
break;
|
|
||||||
case 18:
|
|
||||||
type = "标准法规清单发布/更新流程";
|
|
||||||
break;
|
|
||||||
case 19:
|
|
||||||
type = "企标复审流程";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
ResponseMessage<UserVO> userVOResponseMessage = userEoService.getUserById(userId);
|
|
||||||
UserVO userVO = userVOResponseMessage.getData();
|
|
||||||
String userName = "";
|
|
||||||
if (null != userVO) {
|
|
||||||
userName = userVO.getUname();
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.info("task {} find " + taskId);
|
logger.info("task {} find " + taskId);
|
||||||
return WrapMapper.ok("改派成功");
|
return WrapMapper.ok("改派成功");
|
||||||
}
|
}
|
||||||
@@ -333,58 +226,25 @@ public class TodoTaskController extends BaseAction {
|
|||||||
@PostMapping("/completeTask")
|
@PostMapping("/completeTask")
|
||||||
public Wrapper<String> completeTaskByUserId(@RequestBody BusMes busMes) {
|
public Wrapper<String> completeTaskByUserId(@RequestBody BusMes busMes) {
|
||||||
logger.info("!!!!!!!!!!!!!TaskId!!!!!!!!!!!!!!!"+busMes.getTaskId());
|
logger.info("!!!!!!!!!!!!!TaskId!!!!!!!!!!!!!!!"+busMes.getTaskId());
|
||||||
logger.info("!!!!!!!!!!!!!!TaskIds!!!!!!!!!!!!!!"+busMes.getTaskIds());
|
|
||||||
if (busMes.getTaskId() != null && !busMes.getTaskId().equals("")) {
|
if (busMes.getTaskId() != null && !busMes.getTaskId().equals("")) {
|
||||||
if (busMes.getTaskId().indexOf(",") > -1) {
|
|
||||||
String[] taskIdArr = busMes.getTaskId().split(",");
|
|
||||||
// String taskIdsrc = busMes.getTaskId().substring(0, busMes.getTaskId().length() - 1);
|
|
||||||
String taskIdsrc = taskIdArr[0];
|
|
||||||
busMes.setTaskId(taskIdsrc);
|
|
||||||
}
|
|
||||||
logger.info("taskId--> " + busMes.getTaskId());
|
|
||||||
Task task = taskService.createTaskQuery().taskId(busMes.getTaskId()).singleResult();
|
Task task = taskService.createTaskQuery().taskId(busMes.getTaskId()).singleResult();
|
||||||
if(task!=null){
|
if(task!=null){
|
||||||
if (ChkUtil.isNull(task.getAssignee())) {
|
if (ChkUtil.isNull(task.getAssignee())) {
|
||||||
taskService.claim(busMes.getTaskId(), busMes.getUserId());
|
taskService.claim(busMes.getTaskId(), busMes.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO 存储表单json到对应的 审批历史表中
|
||||||
|
FormSubmitDto formSubmitDto = new FormSubmitDto();
|
||||||
|
formSubmitDto.setForm(busMes.getJson());
|
||||||
|
formSubmitDto.setTask_id(busMes.getTaskId());
|
||||||
|
|
||||||
|
formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey());
|
||||||
|
|
||||||
taskService.complete(busMes.getTaskId());
|
taskService.complete(busMes.getTaskId());
|
||||||
}
|
}
|
||||||
return WrapMapper.ok(task.getProcessInstanceId());
|
return WrapMapper.ok(task.getProcessInstanceId());
|
||||||
} else {
|
} else {
|
||||||
String[] ids = busMes.getTaskIds().split(",");
|
throw new AdcDaBaseException("缺少任务id,无法完成任务");
|
||||||
Set<String> staffsSet = new HashSet<>(Arrays.asList(ids));
|
|
||||||
String prcid = "";
|
|
||||||
logger.info("!!!!!!!!!!!staffsSet!!!!!!!!!!!!!1"+staffsSet);
|
|
||||||
for (String taskId : staffsSet) {
|
|
||||||
logger.info("taskId--> " + taskId);
|
|
||||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
||||||
if(task!=null){
|
|
||||||
prcid = task.getProcessInstanceId();
|
|
||||||
if (ChkUtil.isNull(task.getAssignee())) {
|
|
||||||
taskService.claim(taskId, busMes.getUserId());
|
|
||||||
}
|
|
||||||
FormSubmitDto formSubmitDto = new FormSubmitDto();
|
|
||||||
formSubmitDto.setForm(busMes.getJson());
|
|
||||||
formSubmitDto.setTask_id(taskId);
|
|
||||||
formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey());
|
|
||||||
//解决发起人报错但是有流程的问题
|
|
||||||
try {
|
|
||||||
taskService.complete(taskId);
|
|
||||||
} catch (ActivitiException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
QueryWrapper<BusProcessNew> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.eq("P_ID",prcid);
|
|
||||||
List<BusProcessNew> taskList = iBusProcessNewService.list( queryWrapper);
|
|
||||||
if(taskList==null||taskList.size()==0){
|
|
||||||
deleteProcessInstance(prcid);
|
|
||||||
}
|
|
||||||
throw new ActivitiException(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return WrapMapper.ok(prcid);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.adc.da.wkflow.business_main.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusMes {
|
||||||
|
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
private String submitJson; // 提交的数据
|
||||||
|
|
||||||
|
private String prcType;
|
||||||
|
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
private String createUserName;
|
||||||
|
|
||||||
|
private String dept;
|
||||||
|
|
||||||
|
}
|
||||||
+87
@@ -0,0 +1,87 @@
|
|||||||
|
package com.adc.da.wkflow.business_main.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 冯晓东
|
||||||
|
* @since 2020-11-10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("BUS_PROCESS_NEW")
|
||||||
|
@ApiModel(value="BusProcessNew对象", description="")
|
||||||
|
public class BusProcessNew implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
@TableId(value = "ID", type = IdType.UUID)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "资源类型")
|
||||||
|
@TableField("MSG_TYPE")
|
||||||
|
private String msgType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "标准id")
|
||||||
|
@TableField("STAND_ID")
|
||||||
|
private String standId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "条款id")
|
||||||
|
@TableField("CLAUSE_ID")
|
||||||
|
private String clauseId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "处理人")
|
||||||
|
@TableField("USER_ID")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "信息")
|
||||||
|
@TableField("MESG")
|
||||||
|
private String mesg;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "节点信息")
|
||||||
|
@TableField("TASK_INFO")
|
||||||
|
private String taskInfo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "父级id")
|
||||||
|
@TableField("PARENT_ID")
|
||||||
|
private String parentId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务id")
|
||||||
|
@TableField("TASK_ID")
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "流程实例id")
|
||||||
|
@TableField("P_ID")
|
||||||
|
private String pId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "完成注记")
|
||||||
|
@TableField("FINISH_FLAG")
|
||||||
|
private String finishFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批意见")
|
||||||
|
@TableField("COMMIT_FLAG")
|
||||||
|
private String commitFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批意见")
|
||||||
|
@TableField("COMMIT_TEXT")
|
||||||
|
private String commitText;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "子流程ID")
|
||||||
|
@TableField("SUB_ID")
|
||||||
|
private String subId;
|
||||||
|
}
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
package com.adc.da.wkflow.business_main.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 冯晓东
|
||||||
|
* @since 2020-11-10
|
||||||
|
*/
|
||||||
|
public interface BusProcessNewMapper extends BaseMapper<BusProcessNew> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据taskIds查询未完成的任务数据
|
||||||
|
* @param taskIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<BusProcessNew> findNoExecuteBusProcessNew(@Param("taskIds")List<String> taskIds);
|
||||||
|
|
||||||
|
List<BusProcessNew> findNoExecuteBusProcessNewForEnd(@Param("taskIds")List<String> taskIds);
|
||||||
|
// String queryTaskName(@Param("id")String id);
|
||||||
|
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
package com.adc.da.wkflow.business_main.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
|
||||||
|
import org.activiti.engine.task.Task;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 冯晓东
|
||||||
|
* @since 2020-11-10
|
||||||
|
*/
|
||||||
|
public interface IBusProcessNewService extends IService<BusProcessNew> {
|
||||||
|
|
||||||
|
List<BusProcessNew> findtodotask(String userId, String pId);
|
||||||
|
|
||||||
|
List<Task> QueryTask(String userId, String pId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据taskId集合查下任务
|
||||||
|
* @param taskIdList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<BusProcessNew> findTaskDetailByTaskIds(List<String> taskIdList);
|
||||||
|
|
||||||
|
List<BusProcessNew> findNoExecuteBusProcessNewForEnd(List<String> taskIdList);
|
||||||
|
|
||||||
|
}
|
||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
package com.adc.da.wkflow.business_main.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
|
||||||
|
import com.adc.da.wkflow.business_main.mapper.BusProcessNewMapper;
|
||||||
|
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
|
||||||
|
import org.activiti.engine.TaskService;
|
||||||
|
import org.activiti.engine.task.Task;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 冯晓东
|
||||||
|
* @since 2020-11-10
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class BusProcessNewServiceImpl extends ServiceImpl<BusProcessNewMapper, BusProcessNew> implements IBusProcessNewService {
|
||||||
|
|
||||||
|
private TaskService taskService;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @Author yuzhong
|
||||||
|
* @Description
|
||||||
|
* @Date 2020/11/11
|
||||||
|
* 返回待办信息详情
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<BusProcessNew> findtodotask(String userId,String pId) {
|
||||||
|
QueryWrapper<BusProcessNew> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("FINISH_FLAG","0");
|
||||||
|
queryWrapper.eq("P_ID",pId);
|
||||||
|
queryWrapper.eq("USER_ID",userId);
|
||||||
|
List<BusProcessNew> taskList = this.list(queryWrapper);
|
||||||
|
return taskList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @Author yuzhong
|
||||||
|
* @Description
|
||||||
|
* @Date 2020/11/11
|
||||||
|
* 返回待办任务列表
|
||||||
|
*/
|
||||||
|
public List<Task> QueryTask(String userId,String pId){
|
||||||
|
List<Task> list = taskService.createTaskQuery().processInstanceId(pId).taskCandidateUser(userId).list();
|
||||||
|
//list根据人员去重
|
||||||
|
list = list.stream().collect( Collectors.collectingAndThen(Collectors.toCollection(() ->
|
||||||
|
new TreeSet<>(Comparator.comparing(o -> o.getAssignee()))),
|
||||||
|
ArrayList::new));
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BusProcessNew> findTaskDetailByTaskIds(List<String> taskIdList) {
|
||||||
|
return baseMapper.findNoExecuteBusProcessNew(taskIdList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BusProcessNew> findNoExecuteBusProcessNewForEnd(List<String> taskIdList) {
|
||||||
|
return baseMapper.findNoExecuteBusProcessNewForEnd(taskIdList);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.adc.da.wkflow.business_main.mapper.BusProcessNameMapper">
|
||||||
|
|
||||||
|
<select id="findBusProcessNameForEnd"
|
||||||
|
resultType="com.adc.da.wkflow.business_main.entity.BusProcessName">
|
||||||
|
SELECT
|
||||||
|
BUS_PROCESS_NAME.ID,
|
||||||
|
BUS_PROCESS_NAME.PRC_ID,
|
||||||
|
BUS_PROCESS_NAME.PRC_MES,
|
||||||
|
BUS_PROCESS_NAME.OVER_TIME,
|
||||||
|
BUS_PROCESS_NAME.PRC_NUM,
|
||||||
|
BUS_PROCESS_NAME.CREAT_TIME,
|
||||||
|
BUS_PROCESS_NAME.CREAT_USER,
|
||||||
|
BUS_PROCESS_NAME.PRC_TYPE,
|
||||||
|
BUS_PROCESS_NEW.USER_ID AS CREATE_USER_NAME,
|
||||||
|
BUS_PROCESS_NAME.MES,
|
||||||
|
BUS_PROCESS_NAME.END_TIME
|
||||||
|
FROM
|
||||||
|
BUS_PROCESS_NEW
|
||||||
|
LEFT JOIN BUS_PROCESS_NAME ON BUS_PROCESS_NAME.PRC_ID = BUS_PROCESS_NEW.P_ID
|
||||||
|
WHERE
|
||||||
|
BUS_PROCESS_NAME.END_TIME IS NULL
|
||||||
|
AND BUS_PROCESS_NAME.OVER_TIME > now( )
|
||||||
|
AND date_add( now( ), INTERVAL 3 DAY ) > BUS_PROCESS_NAME.OVER_TIME
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.adc.da.wkflow.business_main.mapper.BusProcessNewMapper">
|
||||||
|
|
||||||
|
<select id="findNoExecuteBusProcessNew"
|
||||||
|
resultType="com.adc.da.wkflow.business_main.entity.BusProcessNew">
|
||||||
|
select BUS_PROCESS_NEW.* from BUS_PROCESS_NEW
|
||||||
|
INNER JOIN ACT_HI_TASKINST on BUS_PROCESS_NEW.TASK_ID = ACT_HI_TASKINST.ID_
|
||||||
|
where BUS_PROCESS_NEW.TASK_ID in
|
||||||
|
<foreach collection="taskIds" index="index" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
and ACT_HI_TASKINST.END_TIME_ is null
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findNoExecuteBusProcessNewForEnd"
|
||||||
|
resultType="com.adc.da.wkflow.business_main.entity.BusProcessNew">
|
||||||
|
select BUS_PROCESS_NEW.* from BUS_PROCESS_NEW
|
||||||
|
INNER JOIN ACT_HI_TASKINST on BUS_PROCESS_NEW.TASK_ID = ACT_HI_TASKINST.ID_
|
||||||
|
where BUS_PROCESS_NEW.TASK_ID in
|
||||||
|
<foreach collection="taskIds" index="index" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
-- and ACT_HI_TASKINST.END_TIME_ is NOT null
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryTaskName" resultType="java.lang.String">
|
||||||
|
SELECT NAME_ FROM ACT_HI_TASKINST WHERE ID_ = #{id}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user