update - 调整一些目录,并新增自定义的的 ID 生成器
This commit is contained in:
parent
c7c400b548
commit
834bd83bba
@ -301,6 +301,13 @@ act_ge_bytearray (很多元数据)
|
|||||||
> 1. 当前审批任务会触发 process-task-deleted 事件
|
> 1. 当前审批任务会触发 process-task-deleted 事件
|
||||||
> 2. 当前流程实例会触发 process-instance-rejected 事件
|
> 2. 当前流程实例会触发 process-instance-rejected 事件
|
||||||
|
|
||||||
|
## 7. 本工程结构说明
|
||||||
|
|
||||||
|
- workflow-engine-api: Feign 接口包,采用 SpringBoot Starter 方式对外提供
|
||||||
|
- workflow-engine-common: 通用的公共模型以及常量
|
||||||
|
- workflow-engine-core:
|
||||||
|
- workflow-engine-server
|
||||||
|
|
||||||
## 99.建设状态(过时)
|
## 99.建设状态(过时)
|
||||||
|
|
||||||
### 99.1 已完成:
|
### 99.1 已完成:
|
||||||
|
|||||||
@ -0,0 +1,41 @@
|
|||||||
|
package cn.axzo.workflow.common.model.request.bpmn.task;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对审批任务添加附件的入参模型
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2023/10/31 10:08
|
||||||
|
*/
|
||||||
|
@ApiModel("对审批任务添加附件的入参模型")
|
||||||
|
@Data
|
||||||
|
public class BpmnTaskAttachmentDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件类型", notes = "一般是指格式, 如 png/jpeg/jpg/pdf 等, 强烈建议前端回传")
|
||||||
|
@NotBlank(message = "附件类型不能为空")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "关联的审批任务 ID")
|
||||||
|
@NotBlank(message = "任务 ID 不能为空")
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件名称", notes = "如果为空,则使用文件名")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件描述", notes = "现在的业务不会使用到")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件地址")
|
||||||
|
@NotBlank(message = "附件地址不能为空")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 该字段引擎本来支撑,但不建议给前端使用
|
||||||
|
*/
|
||||||
|
// private InputStream content;
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package cn.axzo.workflow.core.conf;
|
package cn.axzo.workflow.core.conf;
|
||||||
|
|
||||||
import cn.axzo.workflow.core.service.engine.behavior.CustomActivityBehaviorFactory;
|
import cn.axzo.workflow.core.engine.behavior.CustomActivityBehaviorFactory;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import org.flowable.common.engine.api.delegate.event.FlowableEventListener;
|
import org.flowable.common.engine.api.delegate.event.FlowableEventListener;
|
||||||
import org.flowable.form.spring.SpringFormEngineConfiguration;
|
import org.flowable.form.spring.SpringFormEngineConfiguration;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine.behavior;
|
package cn.axzo.workflow.core.engine.behavior;
|
||||||
|
|
||||||
import org.flowable.bpmn.model.Activity;
|
import org.flowable.bpmn.model.Activity;
|
||||||
import org.flowable.bpmn.model.UserTask;
|
import org.flowable.bpmn.model.UserTask;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine.behavior;
|
package cn.axzo.workflow.core.engine.behavior;
|
||||||
|
|
||||||
import org.flowable.bpmn.model.Activity;
|
import org.flowable.bpmn.model.Activity;
|
||||||
import org.flowable.bpmn.model.UserTask;
|
import org.flowable.bpmn.model.UserTask;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine.behavior;
|
package cn.axzo.workflow.core.engine.behavior;
|
||||||
|
|
||||||
import org.flowable.bpmn.model.Activity;
|
import org.flowable.bpmn.model.Activity;
|
||||||
import org.flowable.bpmn.model.UserTask;
|
import org.flowable.bpmn.model.UserTask;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine.behavior;
|
package cn.axzo.workflow.core.engine.behavior;
|
||||||
|
|
||||||
import cn.axzo.workflow.core.common.enums.BpmnProcessTaskResultEnum;
|
import cn.axzo.workflow.core.common.enums.BpmnProcessTaskResultEnum;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package cn.axzo.workflow.core.engine.id;
|
||||||
|
|
||||||
|
|
||||||
|
import org.flowable.common.engine.impl.cfg.IdGenerator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 基于时间的编号生成器
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2023/10/31 10:41
|
||||||
|
*/
|
||||||
|
public class BasedTimeIdGenerator implements IdGenerator {
|
||||||
|
@Override
|
||||||
|
public String getNextId() {
|
||||||
|
long timestamp = System.currentTimeMillis();
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine;
|
package cn.axzo.workflow.core.engine.listener;
|
||||||
|
|
||||||
import cn.axzo.framework.jackson.utility.JSON;
|
import cn.axzo.framework.jackson.utility.JSON;
|
||||||
import cn.axzo.workflow.core.listener.BpmActivityEventListener;
|
import cn.axzo.workflow.core.listener.BpmActivityEventListener;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine;
|
package cn.axzo.workflow.core.engine.listener;
|
||||||
|
|
||||||
import cn.axzo.workflow.common.constant.BpmConstants;
|
import cn.axzo.workflow.common.constant.BpmConstants;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine;
|
package cn.axzo.workflow.core.engine.listener;
|
||||||
|
|
||||||
import cn.axzo.framework.jackson.utility.JSON;
|
import cn.axzo.framework.jackson.utility.JSON;
|
||||||
import cn.axzo.workflow.common.enums.BpmProcessInstanceResultEnum;
|
import cn.axzo.workflow.common.enums.BpmProcessInstanceResultEnum;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package cn.axzo.workflow.core.service.engine;
|
package cn.axzo.workflow.core.engine.listener;
|
||||||
|
|
||||||
import cn.axzo.framework.jackson.utility.JSON;
|
import cn.axzo.framework.jackson.utility.JSON;
|
||||||
import cn.axzo.workflow.core.deletage.BpmTaskDelegate;
|
import cn.axzo.workflow.core.deletage.BpmTaskDelegate;
|
||||||
@ -1,11 +1,16 @@
|
|||||||
package cn.axzo.workflow.core.service;
|
package cn.axzo.workflow.core.service;
|
||||||
|
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAssigneeDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAssigneeDTO;
|
||||||
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO;
|
||||||
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
||||||
import cn.axzo.workflow.common.model.response.bpmn.task.*;
|
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceGroupVO;
|
||||||
|
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceVO;
|
||||||
|
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskDonePageItemVO;
|
||||||
|
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskInstanceVO;
|
||||||
|
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskTodoPageItemVO;
|
||||||
import org.flowable.form.api.FormInfo;
|
import org.flowable.form.api.FormInfo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -73,5 +78,7 @@ public interface BpmnTaskService {
|
|||||||
|
|
||||||
void commentTask(BpmnTaskCommentDTO dto);
|
void commentTask(BpmnTaskCommentDTO dto);
|
||||||
|
|
||||||
|
void attachmentTask(BpmnTaskAttachmentDTO dto);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package cn.axzo.workflow.core.service.impl;
|
|||||||
|
|
||||||
import cn.axzo.workflow.common.enums.BpmProcessInstanceResultEnum;
|
import cn.axzo.workflow.common.enums.BpmProcessInstanceResultEnum;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAssigneeDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAssigneeDTO;
|
||||||
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||||
@ -565,6 +566,13 @@ public class BpmnTaskServiceImpl implements BpmnTaskService {
|
|||||||
taskService.addComment(dto.getTaskId(), dto.getProcessInstanceId(), dto.getComment());
|
taskService.addComment(dto.getTaskId(), dto.getProcessInstanceId(), dto.getComment());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void attachmentTask(BpmnTaskAttachmentDTO dto) {
|
||||||
|
taskService.createAttachment(dto.getType(), dto.getTaskId(), null, dto.getName(), dto.getDescription(),
|
||||||
|
dto.getUrl());
|
||||||
|
// taskService.saveAttachment();
|
||||||
|
}
|
||||||
|
|
||||||
private Activity getActivity(TaskEntity task) {
|
private Activity getActivity(TaskEntity task) {
|
||||||
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
|
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
|
||||||
FlowElement flowElement = bpmnModel.getFlowElement(task.getTaskDefinitionKey());
|
FlowElement flowElement = bpmnModel.getFlowElement(task.getTaskDefinitionKey());
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package cn.axzo.workflow.server.controller.web.bpmn;
|
|||||||
|
|
||||||
import cn.axzo.workflow.client.feign.bpmn.ProcessTaskApi;
|
import cn.axzo.workflow.client.feign.bpmn.ProcessTaskApi;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAssigneeDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAssigneeDTO;
|
||||||
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO;
|
||||||
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
||||||
@ -18,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.flowable.form.api.FormInfo;
|
import org.flowable.form.api.FormInfo;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@ -139,4 +141,10 @@ public class BpmnTaskController implements ProcessTaskApi {
|
|||||||
return success(bpmnTaskService.getTaskFormModel(taskId, tenantId));
|
return success(bpmnTaskService.getTaskFormModel(taskId, tenantId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/attachment/add")
|
||||||
|
public CommonResponse<Void> addAttachment(@Validated @RequestBody BpmnTaskAttachmentDTO dto) {
|
||||||
|
bpmnTaskService.attachmentTask(dto);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
config:
|
config:
|
||||||
# server-addr: ${NACOS_HOST:nacos.mybiwin.top}:${NACOS_PORT:9090}
|
# server-addr: ${NACOS_HOST:nacos.mybiwin.top}:${NACOS_PORT:9090}
|
||||||
server-addr: ${NACOS_HOST:dev-nacos.axzo.cn}:${NACOS_PORT:80}
|
server-addr: ${NACOS_HOST:https://dev-nacos.axzo.cn}:${NACOS_PORT:443}
|
||||||
file-extension: yaml
|
file-extension: yaml
|
||||||
# namespace: ${NACOS_NAMESPACE_ID:1b5d2a22-b340-4503-8464-7d7fc2059d39}
|
# namespace: ${NACOS_NAMESPACE_ID:1b5d2a22-b340-4503-8464-7d7fc2059d39}
|
||||||
namespace: ${NACOS_NAMESPACE_ID:f82179f1-81a9-41a1-a489-4f9ab5660a6e}
|
namespace: ${NACOS_NAMESPACE_ID:f82179f1-81a9-41a1-a489-4f9ab5660a6e}
|
||||||
@ -43,7 +43,7 @@ spring:
|
|||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
config:
|
config:
|
||||||
server-addr: ${NACOS_HOST:dev-nacos.axzo.cn}:${NACOS_PORT:80}
|
server-addr: ${NACOS_HOST:https://dev-nacos.axzo.cn}:${NACOS_PORT:443}
|
||||||
file-extension: yaml
|
file-extension: yaml
|
||||||
namespace: ${NACOS_NAMESPACE_ID:eb401d2d-8f5e-4902-8fd0-148e941ba044}
|
namespace: ${NACOS_NAMESPACE_ID:eb401d2d-8f5e-4902-8fd0-148e941ba044}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user