update 工作中心代码(未完成)
This commit is contained in:
@@ -63,8 +63,11 @@ create table process_approval_record
|
||||
project_id varchar(32) comment '项目id',
|
||||
commit_flag tinyint(4) comment '审批意见(0同意,1不同意)',
|
||||
commit_text varchar(255) comment '审批内容',
|
||||
commit_file varchar(1000) comment '审批附件',
|
||||
has_delegate_task tinyint(4) default 0 comment '是否派发过加签任务',
|
||||
is_delegate_task tinyint(4) default 0 comment '是否加签任务',
|
||||
prc_name varchar(255) comment '流程名称',
|
||||
create_time datetime default current_timestamp comment '创建时间',
|
||||
create_time datetime comment '创建时间',
|
||||
update_time datetime comment '更新时间',
|
||||
end_time datetime comment '完成时间'
|
||||
) comment '流程审批记录表';
|
||||
|
||||
+5
@@ -294,6 +294,11 @@ public class SysBaseAPIFallback implements ISysBaseAPI {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DictModel> translateUserRealNameFromTableByKeys(String values) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendEmailMsg(String email,String title,String content) {
|
||||
// do other
|
||||
|
||||
@@ -140,4 +140,6 @@ public interface CommonAPI {
|
||||
String queryTableDictTextByKey(String table,String text,String code, String key);
|
||||
|
||||
String translateUserRealNameFromTable(String id);
|
||||
|
||||
List<DictModel> translateUserRealNameFromTableByKeys(String values);
|
||||
}
|
||||
|
||||
@@ -250,7 +250,12 @@ public class DictAspect {
|
||||
String values = String.join(",", needTranslDataTable);
|
||||
log.info("translateDictFromTableByKeys.dictCode:" + dictCode);
|
||||
log.info("translateDictFromTableByKeys.values:" + values);
|
||||
List<DictModel> texts = commonAPI.translateDictFromTableByKeys(table, text, code, values);
|
||||
List<DictModel> texts;
|
||||
if ("sys_user".equals(table)&&"realname".equals(text)&&"id".equals(code)){
|
||||
texts = commonAPI.translateUserRealNameFromTableByKeys(values);
|
||||
}else {
|
||||
texts = commonAPI.translateDictFromTableByKeys(table, text, code, values);
|
||||
}
|
||||
log.info("translateDictFromTableByKeys.result:" + texts);
|
||||
List<DictModel> list = translText.computeIfAbsent(dictCode, k -> new ArrayList<>());
|
||||
list.addAll(texts);
|
||||
|
||||
@@ -123,7 +123,7 @@ public class ShiroConfig {
|
||||
//测试示例
|
||||
filterChainDefinitionMap.put("/test/bigScreen/**", "anon"); //大屏模板例子
|
||||
//activti
|
||||
filterChainDefinitionMap.put("/modeler/**", "anon");
|
||||
//filterChainDefinitionMap.put("/modeler/**", "anon");
|
||||
filterChainDefinitionMap.put("/activitiModel/**", "anon");
|
||||
filterChainDefinitionMap.put("/editor-app/**", "anon");
|
||||
filterChainDefinitionMap.put("/service/**", "anon");
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.modules.system.vo.SysUserRoleNameVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -169,4 +170,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||
List<SysUser> getUserListByDepIds(@Param("departIds") List<String> departIds);
|
||||
|
||||
String translateUserRealNameFromTable(@Param("id") String id);
|
||||
|
||||
List<DictModel> translateUserRealNameFromTableByKeys(@Param("keys") List<String> keys);
|
||||
}
|
||||
|
||||
@@ -219,4 +219,13 @@
|
||||
select concat(realname,'(',username,')') from sys_user
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="translateUserRealNameFromTableByKeys" resultType="com.jero.common.system.vo.DictModel">
|
||||
select concat(realname,'(',username,')') as "text", id as "value" from sys_user
|
||||
where id IN (
|
||||
<foreach item="key" collection="keys" separator=",">
|
||||
#{key}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+5
@@ -1186,4 +1186,9 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
return userMapper.translateUserRealNameFromTable(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DictModel> translateUserRealNameFromTableByKeys(String keys) {
|
||||
return userMapper.translateUserRealNameFromTableByKeys(Arrays.asList(keys.split(",")));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.jero.modules.activiti.config;
|
||||
|
||||
import com.jero.modules.activiti.service.impl.image.ICustomProcessDiagramGenerator;
|
||||
import org.activiti.engine.ProcessEngineConfiguration;
|
||||
import org.activiti.engine.cfg.AbstractProcessEngineConfigurator;
|
||||
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
||||
import org.activiti.engine.impl.form.DoubleFormType;
|
||||
import org.activiti.engine.impl.history.HistoryLevel;
|
||||
import org.activiti.spring.SpringProcessEngineConfiguration;
|
||||
@@ -20,14 +22,15 @@ import javax.sql.DataSource;
|
||||
* @date 2023-09-05 17:53
|
||||
*/
|
||||
@Configuration
|
||||
public class ActivitiConfig {
|
||||
public class ActivitiConfig extends AbstractProcessEngineConfigurator {
|
||||
@Resource
|
||||
private ICustomProcessDiagramGenerator customProcessDiagramGenerator;
|
||||
@Autowired
|
||||
private DataSource dataSource;
|
||||
@Autowired
|
||||
private PlatformTransactionManager transactionManager;
|
||||
|
||||
@Autowired
|
||||
private MyGen myGen;
|
||||
/**
|
||||
* 初始化配置
|
||||
*
|
||||
@@ -52,5 +55,15 @@ public class ActivitiConfig {
|
||||
return configuration;
|
||||
|
||||
}
|
||||
@Bean
|
||||
public ProcessEngineConfigurationImpl processEngineConfigurationImpl(ProcessEngineConfigurationImpl processEngineConfigurationImpl) {
|
||||
//自定义id生成规则
|
||||
//设置ProcessEngineConfigurationImpl里的CustomIdGenerator
|
||||
processEngineConfigurationImpl.setIdGenerator(myGen);
|
||||
//设置DbSqlSessionFactory的CustomIdGenerator ,否则流程id,任务id,实例id依然是用DbIdGenerator生成
|
||||
processEngineConfigurationImpl.getDbSqlSessionFactory().setIdGenerator(myGen);
|
||||
return processEngineConfigurationImpl;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,17 +1,25 @@
|
||||
package com.jero.modules.activiti.config;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import org.activiti.engine.impl.cfg.IdGenerator;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-09-05 17:39
|
||||
*/
|
||||
@Component
|
||||
public class MyGen implements IdGenerator {
|
||||
private AtomicLong aLong = new AtomicLong(100);
|
||||
@Override
|
||||
public synchronized String getNextId() {
|
||||
return String.valueOf(aLong.incrementAndGet());
|
||||
DateTime date = DateUtil.date();
|
||||
//标准日期格式:yyyyMMddHHmmssSSS
|
||||
return DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN);
|
||||
}
|
||||
}
|
||||
|
||||
+29
-29
@@ -1,16 +1,16 @@
|
||||
package com.jero.modules.activiti.controller;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessModelNode;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.service.*;
|
||||
import com.jero.modules.laws.common.constant.ResultCommon;
|
||||
@@ -28,7 +28,6 @@ import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -63,13 +62,15 @@ public class ActivitiController {
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
|
||||
@ApiOperation(value="启动流程")
|
||||
@PostMapping("/start")
|
||||
public Result<Map<String, String>> start(@RequestBody Map<String,Object> map) {
|
||||
String key = map.get("key").toString();
|
||||
String prcName = map.get("prcName").toString();
|
||||
String prcNum = map.get("prcNum").toString();
|
||||
String prcMes = map.get("prcMes").toString();
|
||||
Date dueTime = (Date) map.get("dueTime");
|
||||
// 1、创建ProcessEngine
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
@@ -80,12 +81,12 @@ public class ActivitiController {
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(key, map);
|
||||
String processInstanceId = processInstance.getId();
|
||||
//更新流程总表
|
||||
//根据流程实例id更新流程总表
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
process.setCreateUserId(loginUser.getId());
|
||||
process.setPrcName(prcName);
|
||||
process.setPrcNum(prcNum);
|
||||
process.setPrcMes(prcMes);
|
||||
process.setDueTime(dueTime);
|
||||
process.setProjectId("业务id");
|
||||
processAllService.updateById(process);
|
||||
@@ -108,16 +109,19 @@ public class ActivitiController {
|
||||
public Result<List<Map<String, String>>> testFindPersonalTaskList(@RequestParam(value = "assignee") String assignee,
|
||||
@RequestParam(value = "processKey") String processKey,
|
||||
@RequestParam(value = "group") String group) {
|
||||
// 根据流程key 和 任务负责人 查询任务
|
||||
//根据流程key 和 任务负责人 查询任务
|
||||
TaskQuery taskQuery = taskService.createTaskQuery();
|
||||
if (StringUtils.isNotBlank(assignee)) {
|
||||
taskQuery.taskAssignee(assignee);//只查询该任务负责人的任务
|
||||
//只查询该任务负责人的任务
|
||||
taskQuery.taskAssignee(assignee);
|
||||
}
|
||||
if (StringUtils.isNotBlank(group)) {
|
||||
taskQuery.taskCandidateGroup(group);//只查询该组的任务
|
||||
//只查询该组的任务
|
||||
taskQuery.taskCandidateGroup(group);
|
||||
}
|
||||
if (StringUtils.isNotBlank(processKey)) {
|
||||
taskQuery.processDefinitionKey(processKey); //流程Key
|
||||
//流程Key
|
||||
taskQuery.processDefinitionKey(processKey);
|
||||
}
|
||||
List<Task> list = taskQuery.list();
|
||||
List<Map<String, String>> result = new ArrayList<>();
|
||||
@@ -127,7 +131,6 @@ public class ActivitiController {
|
||||
map.put("任务id:", task.getId());
|
||||
map.put("任务负责人:", task.getAssignee());
|
||||
map.put("任务名称:", task.getName());
|
||||
//map.put("任务名称:", task.get);
|
||||
result.add(map);
|
||||
}
|
||||
return Result.OK(result);
|
||||
@@ -138,6 +141,10 @@ public class ActivitiController {
|
||||
public Result<Object> complete(@RequestBody Map<String,Object> map) {
|
||||
//todo 判断当前节点,执行不同的操作
|
||||
String taskId = map.get("taskId").toString();
|
||||
Integer commitFlag = Integer.valueOf(map.get("commitFlag").toString());
|
||||
String commitText = map.get("commitText").toString();
|
||||
String commitFile = map.get("commitFile").toString();
|
||||
|
||||
|
||||
Task task=taskService.createTaskQuery() // 创建任务查询
|
||||
.taskId(taskId) // 根据任务id查询
|
||||
@@ -145,18 +152,17 @@ public class ActivitiController {
|
||||
String taskName = task.getName();
|
||||
|
||||
if ("填写基本信息,在线编辑,分发其他起草人".equals(taskName)){
|
||||
// todo
|
||||
}else if ("其他起草人线下填写,上传".equals(taskName)){
|
||||
// todo
|
||||
}
|
||||
//Map<String, Object> vars = new HashMap<>();
|
||||
//List<String> otherDrafterList = new ArrayList<>();
|
||||
//otherDrafterList.add("zhangsan");
|
||||
//otherDrafterList.add("lisi");
|
||||
//otherDrafterList.add("wangwu");
|
||||
//vars.put("leaderList", otherDrafterList);
|
||||
//Map<String, Object> map = new HashMap<>();
|
||||
//map.put("status", 2);
|
||||
//更新审批表为完成,填充数据
|
||||
ProcessApprovalRecord approvalRecord = processApprovalRecordService.getByTaskId(taskId);
|
||||
approvalRecord.setCommitFlag(commitFlag);
|
||||
approvalRecord.setCommitText(commitText);
|
||||
approvalRecord.setCommitFile(commitFile);
|
||||
approvalRecord.setFinishFlag(YesOrNoEnum.YES.getInteger());
|
||||
approvalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.updateById(approvalRecord);
|
||||
//审批节点
|
||||
taskService.complete(taskId, map);
|
||||
return Result.OK();
|
||||
}
|
||||
@@ -205,7 +211,6 @@ public class ActivitiController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ApiOperation(value="签收任务")
|
||||
@PostMapping("/claim")
|
||||
public Result<Object> claim(@RequestBody Map<String,Object> map) {
|
||||
@@ -216,19 +221,14 @@ public class ActivitiController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 加签
|
||||
*
|
||||
* @param taskId
|
||||
* @param loginName
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="加签/委托")
|
||||
@GetMapping("/delegateTask")
|
||||
public Result<Object> delegateTask(@RequestParam(value = "taskId") String taskId,
|
||||
@RequestParam(value = "loginName") String loginName) {
|
||||
taskService.delegateTask(taskId, loginName);
|
||||
@RequestParam(value = "userId") String userId) {
|
||||
taskService.delegateTask(taskId, userId);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
+100
-2
@@ -1,9 +1,30 @@
|
||||
package com.jero.modules.activiti.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
@@ -15,4 +36,81 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/workCenter")
|
||||
public class WorkCenterController {
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@ApiOperation(value = "查询待办流程列表")
|
||||
@GetMapping("/getTodoList")
|
||||
public Result<IPage<ProcessAll>> getTodoList(ProcessAll processAll,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("par.user_id",userId);
|
||||
queryWrapper.eq("par.finish_flag",0);
|
||||
|
||||
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessAll> todoList = processAllService.getTodoList(page, queryWrapper);
|
||||
return Result.OK(todoList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询已办流程列表")
|
||||
@GetMapping("/getCompletedList")
|
||||
public Result<?> getCompletedList(ProcessAll processAll,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("par.user_id",userId);
|
||||
queryWrapper.eq("par.finish_flag",1);
|
||||
|
||||
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessAll> completedList = processAllService.getCompletedList(page, queryWrapper);
|
||||
return Result.OK(completedList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询已发流程列表")
|
||||
@GetMapping("/getSentList")
|
||||
public Result<?> getSentList(ProcessAll processAll,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("pa.user_id",userId);
|
||||
|
||||
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessAll> sentList = processAllService.getSentList(page, queryWrapper);
|
||||
return Result.OK(sentList);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private QueryWrapper<ProcessAll> getProcessAllQueryWrapper(ProcessAll processAll) {
|
||||
String prcName = processAll.getPrcName();
|
||||
String prcNum = processAll.getPrcNum();
|
||||
Integer prcType = processAll.getPrcType();
|
||||
Integer prcStatus = processAll.getPrcStatus();
|
||||
QueryWrapper<ProcessAll> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.isNotBlank(prcName), "pa.prc_name", "%" + prcName + "%");
|
||||
queryWrapper.like(StringUtils.isNotBlank(prcNum), "pa.prc_num", "%" + prcNum + "%");
|
||||
queryWrapper.eq(prcType != null, "pa.prc_type", prcType);
|
||||
queryWrapper.eq(prcStatus != null, "pa.prc_status", prcStatus);
|
||||
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "撤销流程")
|
||||
@PostMapping("/delete")
|
||||
public Result<?> delete(@RequestBody Map<String, String> map) {
|
||||
String processInstanceId = map.get("processInstanceId");
|
||||
|
||||
processAllService.delete(processInstanceId);
|
||||
return Result.OK();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,13 @@ 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 com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
*流程总表
|
||||
@@ -49,7 +52,8 @@ public class ProcessAll {
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty(value="创建人id")
|
||||
@ApiModelProperty(value="发起人id")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
private String createUserId;
|
||||
|
||||
/**
|
||||
@@ -62,6 +66,7 @@ public class ProcessAll {
|
||||
* 流程状态
|
||||
*/
|
||||
@ApiModelProperty(value="流程状态(1未完成,2已完成,3已撤回)")
|
||||
@Dict(dicCode = "prc_status")
|
||||
private Integer prcStatus;
|
||||
|
||||
/**
|
||||
@@ -80,12 +85,16 @@ public class ProcessAll {
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty(value="创建时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@ApiModelProperty(value="完成时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
@@ -98,6 +107,8 @@ public class ProcessAll {
|
||||
* 截止时间
|
||||
*/
|
||||
@ApiModelProperty(value="截止时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date dueTime;
|
||||
|
||||
/**
|
||||
@@ -117,4 +128,38 @@ public class ProcessAll {
|
||||
*/
|
||||
@ApiModelProperty(value="流程名称(英文)")
|
||||
private String prcNameEn;
|
||||
|
||||
/**
|
||||
* 处理人id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="处理人id")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
private String handleUserId;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="任务id")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 接收任务时间
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="接收任务时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date receivedTaskTime;
|
||||
|
||||
/**
|
||||
* 接收任务时间
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="完成任务时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date completedTaskTime;
|
||||
|
||||
}
|
||||
+28
-15
@@ -4,10 +4,12 @@ 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 com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -31,98 +33,109 @@ public class ProcessApprovalRecord {
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@TableField(value = "task_id")
|
||||
@ApiModelProperty(value="任务id")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
@TableField(value = "task_name")
|
||||
@ApiModelProperty(value="任务名称")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@TableField(value = "process_instance_id")
|
||||
@ApiModelProperty(value="流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 资源类型
|
||||
*/
|
||||
@TableField(value = "msg_type")
|
||||
@ApiModelProperty(value="资源类型")
|
||||
private String msgType;
|
||||
|
||||
/**
|
||||
* 处理人id
|
||||
*/
|
||||
@TableField(value = "user_id")
|
||||
@ApiModelProperty(value="处理人id")
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 信息
|
||||
*/
|
||||
@TableField(value = "mesg")
|
||||
@ApiModelProperty(value="信息")
|
||||
private String mesg;
|
||||
|
||||
/**
|
||||
* 完成注记(0未完成,1完成)
|
||||
*/
|
||||
@TableField(value = "finish_flag")
|
||||
@ApiModelProperty(value="完成注记(0未完成,1完成)")
|
||||
@ApiModelProperty(value="完成注记(0未完成,1完成,2暂停)")
|
||||
private Integer finishFlag;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@TableField(value = "project_id")
|
||||
@ApiModelProperty(value="项目id")
|
||||
private String projectId;
|
||||
|
||||
/**
|
||||
* 审批意见(0同意,1不同意)
|
||||
*/
|
||||
@TableField(value = "commit_flag")
|
||||
@ApiModelProperty(value="审批意见(0同意,1不同意)")
|
||||
private Integer commitFlag;
|
||||
|
||||
/**
|
||||
* 审批内容
|
||||
*/
|
||||
@TableField(value = "commit_text")
|
||||
@ApiModelProperty(value="审批内容")
|
||||
private String commitText;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ApiModelProperty(value="附件")
|
||||
private String commitFile;
|
||||
|
||||
/**
|
||||
* 是否派发过加签任务
|
||||
*/
|
||||
@ApiModelProperty(value="是否派发过加签任务")
|
||||
private Integer hasDelegateTask;
|
||||
|
||||
/**
|
||||
* 是否加签任务
|
||||
*/
|
||||
@ApiModelProperty(value="是否加签任务")
|
||||
private Integer isDelegateTask;
|
||||
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
@TableField(value = "prc_name")
|
||||
@ApiModelProperty(value="流程名称")
|
||||
private String prcName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value="创建时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value="更新时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@TableField(value = "end_time")
|
||||
@ApiModelProperty(value="完成时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date endTime;
|
||||
}
|
||||
+22
-3
@@ -1,5 +1,10 @@
|
||||
package com.jero.modules.activiti.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
@@ -10,10 +15,24 @@ import org.activiti.engine.delegate.TaskListener;
|
||||
public class CompleteListener implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
System.out.println(delegateTask.getId());
|
||||
//流程审批信息
|
||||
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
|
||||
|
||||
String taskId = delegateTask.getId();
|
||||
String assignee = delegateTask.getAssignee();
|
||||
//更新审批信息为完成
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||
wrapper.eq(ProcessApprovalRecord::getUserId,assignee);
|
||||
ProcessApprovalRecord approvalRecord = recordService.getOne(wrapper);
|
||||
approvalRecord.setFinishFlag(YesOrNoEnum.YES.getInteger());
|
||||
recordService.updateById(approvalRecord);
|
||||
|
||||
System.out.println(taskId);
|
||||
System.out.println(delegateTask.getName());
|
||||
System.out.println(delegateTask.getEventName());
|
||||
System.out.println(delegateTask.getAssignee());
|
||||
// todo 对接统一平台完成任务
|
||||
System.out.println(assignee);
|
||||
|
||||
// todo 对接统一平台生成完成任务
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.activiti.listener;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
@@ -30,30 +31,18 @@ public class CreateListener implements TaskListener {
|
||||
|
||||
String id = delegateTask.getId();
|
||||
String name = delegateTask.getName();
|
||||
String description = delegateTask.getDescription();
|
||||
int priority = delegateTask.getPriority();
|
||||
String processInstanceId = delegateTask.getProcessInstanceId();
|
||||
String executionId = delegateTask.getExecutionId();
|
||||
String processDefinitionId = delegateTask.getProcessDefinitionId();
|
||||
Date createTime = delegateTask.getCreateTime();
|
||||
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
|
||||
boolean isSuspended = delegateTask.isSuspended();
|
||||
String tenantId = delegateTask.getTenantId();
|
||||
String formKey = delegateTask.getFormKey();
|
||||
DelegateExecution execution = delegateTask.getExecution();
|
||||
String eventName = delegateTask.getEventName();
|
||||
ActivitiListener currentActivitiListener = delegateTask.getCurrentActivitiListener();
|
||||
DelegationState delegationState = delegateTask.getDelegationState();
|
||||
String owner = delegateTask.getOwner();
|
||||
String assignee = delegateTask.getAssignee();
|
||||
Date dueDate = delegateTask.getDueDate();
|
||||
String category = delegateTask.getCategory();
|
||||
Set<IdentityLink> candidates = delegateTask.getCandidates();
|
||||
|
||||
System.out.println(delegateTask.getId());
|
||||
System.out.println(delegateTask.getName());
|
||||
System.out.println(delegateTask.getEventName());
|
||||
System.out.println(delegateTask.getAssignee());
|
||||
// todo 对接统一平台完成任务
|
||||
//新增待审批记录
|
||||
ProcessApprovalRecord approvalRecord = new ProcessApprovalRecord();
|
||||
approvalRecord.setTaskId(id);
|
||||
approvalRecord.setTaskName(name);
|
||||
approvalRecord.setProcessInstanceId(processInstanceId);
|
||||
approvalRecord.setUserId(assignee);
|
||||
approvalRecord.setFinishFlag(0);
|
||||
approvalRecord.setCreateTime(createTime);
|
||||
recordService.save(approvalRecord);
|
||||
// todo 对接统一平台生成待办任务
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
package com.jero.modules.activiti.listener;
|
||||
|
||||
import cn.hutool.core.date.DateBetween;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-13 16:43
|
||||
@@ -12,6 +23,21 @@ import org.activiti.engine.delegate.TaskListener;
|
||||
public class EndListener implements ExecutionListener {
|
||||
@Override
|
||||
public void notify(DelegateExecution execution) {
|
||||
//流程信息
|
||||
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
|
||||
|
||||
String processInstanceId = execution.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
Date createTime = processAll.getCreateTime();
|
||||
DateTime date = DateUtil.date();
|
||||
DateBetween between = date.between(createTime);
|
||||
|
||||
//更新流程总表信息为已完成
|
||||
LambdaUpdateWrapper<ProcessAll> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(ProcessAll::getProcessInstanceId,processInstanceId);
|
||||
wrapper.set(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue());
|
||||
wrapper.set(ProcessAll::getEndTime,date);
|
||||
wrapper.set(ProcessAll::getOverTime,between.toString());
|
||||
processAllService.update(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class StartListener implements ExecutionListener {
|
||||
|
||||
String name = processDefinition.getName();
|
||||
String key = processDefinition.getKey();
|
||||
|
||||
//新增流程总表信息(剩余的内容在启动流程时填充)
|
||||
ProcessAll processAll = new ProcessAll();
|
||||
processAll.setProcessInstanceId(processInstanceId);
|
||||
processAll.setPrcType(ProcessTypeEnum.getValueByKey(key));
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package com.jero.modules.activiti.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -9,4 +14,9 @@ import com.jero.modules.activiti.entity.ProcessAll;
|
||||
*@date 2023-10-16 15:49
|
||||
*/
|
||||
public interface ProcessAllMapper extends BaseMapper<ProcessAll> {
|
||||
IPage<ProcessAll> getTodoList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
|
||||
|
||||
IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
|
||||
|
||||
IPage<ProcessAll> getSentList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
|
||||
}
|
||||
+32
-25
@@ -1,29 +1,36 @@
|
||||
<?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.jero.modules.activiti.mapper.ProcessAllMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.ProcessAll">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table process_all-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="prc_name" jdbcType="VARCHAR" property="prcName" />
|
||||
<result column="process_instance_id" jdbcType="VARCHAR" property="processInstanceId" />
|
||||
<result column="prc_mes" jdbcType="VARCHAR" property="prcMes" />
|
||||
<result column="prc_num" jdbcType="VARCHAR" property="prcNum" />
|
||||
<result column="create_user_id" jdbcType="VARCHAR" property="createUserId" />
|
||||
<result column="prc_type" jdbcType="VARCHAR" property="prcType" />
|
||||
<result column="create_user_name" jdbcType="VARCHAR" property="createUserName" />
|
||||
<result column="mes" jdbcType="LONGVARCHAR" property="mes" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
|
||||
<result column="over_time" jdbcType="VARCHAR" property="overTime" />
|
||||
<result column="due_time" jdbcType="TIMESTAMP" property="dueTime" />
|
||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
||||
<result column="project_name" jdbcType="VARCHAR" property="projectName" />
|
||||
<result column="prc_name_en" jdbcType="VARCHAR" property="prcNameEn" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, prc_name, process_instance_id, prc_mes, prc_num, create_user_id, prc_type, create_user_name,
|
||||
mes, create_time, end_time, over_time, due_time, project_id, project_name, prc_name_en
|
||||
</sql>
|
||||
<select id="getTodoList" resultType="com.jero.modules.activiti.entity.ProcessAll">
|
||||
select pa.*,par.create_time as receivedTaskTime,par.task_id
|
||||
from process_all pa
|
||||
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getCompletedList" resultType="com.jero.modules.activiti.entity.ProcessAll">
|
||||
select p.*, group_concat(par.user_id) as handleUserId
|
||||
from (
|
||||
select pa.*, max(par.create_time) as receivedTaskTime, max(par.end_time) as completedTaskTime
|
||||
from process_all pa
|
||||
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
|
||||
${ew.customSqlSegment}
|
||||
) p
|
||||
left join process_approval_record par on p.process_instance_id = par.process_instance_id
|
||||
WHERE par.finish_flag = 0
|
||||
group by p.process_instance_id
|
||||
</select>
|
||||
|
||||
<select id="getSentList" resultType="com.jero.modules.activiti.entity.ProcessAll">
|
||||
select p.*, group_concat(par.user_id) as handleUserId
|
||||
from (
|
||||
select pa.*, max(par.create_time) as receivedTaskTime, max(par.end_time) as completedTaskTime
|
||||
from process_all pa
|
||||
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
|
||||
${ew.customSqlSegment}
|
||||
) p
|
||||
left join process_approval_record par on p.process_instance_id = par.process_instance_id
|
||||
WHERE par.finish_flag = 0
|
||||
group by p.process_instance_id
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,6 +1,12 @@
|
||||
package com.jero.modules.activiti.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
@@ -14,10 +20,39 @@ import com.jero.modules.activiti.entity.ProcessAll;
|
||||
*/
|
||||
@Service
|
||||
public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll> {
|
||||
@Resource
|
||||
private ProcessAllMapper processAllMapper;
|
||||
@Resource
|
||||
private ProcessApprovalRecordMapper processApprovalRecordMapper;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
public ProcessAll getByProcessInstanceId(String processInstanceId){
|
||||
LambdaQueryWrapper<ProcessAll> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessAll::getProcessInstanceId,processInstanceId);
|
||||
return this.getOne(wrapper);
|
||||
}
|
||||
|
||||
public IPage<ProcessAll> getTodoList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
|
||||
return processAllMapper.getTodoList(page,queryWrapper);
|
||||
}
|
||||
|
||||
public IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
|
||||
return processAllMapper.getCompletedList(page,queryWrapper);
|
||||
}
|
||||
|
||||
public IPage<ProcessAll> getSentList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
|
||||
return processAllMapper.getSentList(page,queryWrapper);
|
||||
}
|
||||
|
||||
public void delete(String processInstanceId) {
|
||||
runtimeService.deleteProcessInstance(processInstanceId,"撤销");
|
||||
LambdaQueryWrapper<ProcessAll> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessAll::getProcessInstanceId,processInstanceId);
|
||||
this.remove(wrapper);
|
||||
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
|
||||
processApprovalRecordMapper.delete(wrapper1);
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -1,5 +1,7 @@
|
||||
package com.jero.modules.activiti.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
@@ -14,4 +16,10 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
@Service
|
||||
public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRecordMapper, ProcessApprovalRecord> {
|
||||
|
||||
public ProcessApprovalRecord getByTaskId(String taskId){
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||
wrapper.eq(ProcessApprovalRecord::getIsDelegateTask, YesOrNoEnum.NO.getInteger());
|
||||
return this.getOne(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user