Browse Source

flowable后端

master
yxt_djz 2 years ago
parent
commit
a971c412f4
  1. 52
      yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml
  2. 40
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowCommentDto.java
  3. 26
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowDto.java
  4. 175
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java
  5. 98
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTask.java
  6. 23
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskQuery.java
  7. 51
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskVo.java
  8. 8
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/Flowable.java
  9. 74
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
  10. 116
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
  11. 60
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java
  12. 90
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/TaskQuery.java
  13. 70
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UpdateFlowFieldVo.java
  14. 15
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UserAndOrgPath.java
  15. 60
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowComment.java
  16. 39
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentDto.java
  17. 24
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentVo.java
  18. 85
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeign.java
  19. 78
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignBusinessStartDTO.java
  20. 68
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignFallBack.java
  21. 49
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionVo.java
  22. 18
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowInstanceDto.java
  23. 27
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowSaveXmlQuery.java
  24. 64
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/SysUser.java
  25. 44
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeign.java
  26. 33
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeignFallBack.java
  27. 25
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceVo.java
  28. 23
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java
  29. 42
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/CompleteTaskQuery.java
  30. 16
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowRecordVo.java
  31. 107
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java
  32. 118
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java
  33. 188
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  34. 186
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  35. 23
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQuery.java
  36. 46
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQueryOne.java
  37. 53
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskVo.java
  38. 26
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowViewerDto.java
  39. 34
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/LatestTaskVo.java
  40. 34
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQuery.java
  41. 111
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQueryParamsVo.java
  42. 31
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java
  43. 81
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskVo.java
  44. 68
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java
  45. 69
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java
  46. 69
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java
  47. 81
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java
  48. 77
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java
  49. 67
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java
  50. 72
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java
  51. 26
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysdeployform/SysDeployForm.java
  52. 35
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysForm.java
  53. 60
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeign.java
  54. 51
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeignFallBack.java
  55. 27
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormQuery.java
  56. 25
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormVo.java
  57. 27
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysTaskForm.java
  58. 46
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLink.java
  59. 50
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkDto.java
  60. 48
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeign.java
  61. 43
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeignFallback.java
  62. 46
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFlowStateEnum.java
  63. 41
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkQuery.java
  64. 40
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkTypeEnum.java
  65. 44
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkVo.java
  66. 23
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormStateVo.java
  67. 27
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppSysProUrlQuery.java
  68. 41
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppUrlVo.java
  69. 20
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/PcUrlVo.java
  70. 65
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrl.java
  71. 62
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlDto.java
  72. 89
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java
  73. 62
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java
  74. 60
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlQuery.java
  75. 54
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlVo.java
  76. 88
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/CharsetKit.java
  77. 1006
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Convert.java
  78. 165
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Excel.java
  79. 14
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ORDERBY.java
  80. 103
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  81. 38
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcessStateEnum.java
  82. 19
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/RecordQuery.java
  83. 137
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ServletUtils.java
  84. 37
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/SqlUtil.java
  85. 43
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/exception/CustomException.java
  86. 35
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskParam.java
  87. 28
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskQuery.java
  88. 67
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java
  89. 38
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/SQLOperationSymbol.java
  90. 27
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/FlowCommentVo.java
  91. 39
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayTestApi.java
  92. 22
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayVo.java
  93. 27
      yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/StartProcessInstanceQuery.java

52
yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>supervise-flowable</artifactId>
<groupId>com.yxt.supervise</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>supervise-flowable-api</artifactId>
<dependencies>
<dependency>
<groupId>com.yxt</groupId>
<artifactId>yxt-common-base</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-model</artifactId>
<version>6.5.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://172.18.0.3:8081/repository/yxt-mvn-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://172.18.0.3:8081/repository/yxt-mvn-snapshot/</url>
</snapshotRepository>
</distributionManagement>
</project>

40
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowCommentDto.java

@ -0,0 +1,40 @@
package com.yxt.anrui.flowable.api.flow;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @author XuanXuan
* @date 2021/3/28 15:50
*/
@Data
@Builder
/*@NoArgsConstructor
@AllArgsConstructor*/
public class FlowCommentDto implements Serializable {
public FlowCommentDto() {
}
public FlowCommentDto(String type, String comment) {
this.type = type;
this.comment = comment;
}
/**
*
*/
private static final long serialVersionUID = 1929734226858491967L;
/**
* 意见类别 1正常同意意见 2退回意见 3 驳回意见 4 委派意见 5 转办意见 6 终止流程 7 撤回流程
*/
private String type;
/**
* 意见内容
*/
private String comment;
}

26
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowDto.java

@ -0,0 +1,26 @@
package com.yxt.anrui.flowable.api.flow;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("工作流数据")
@Data
public class FlowDto {
@ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程定义id")
private String modelId;
@ApiModelProperty("下一环节的代办人sid")
private String nextNodeUserSids;
}

175
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java

@ -0,0 +1,175 @@
package com.yxt.anrui.flowable.api.flow;
public class FlowProcinst {
private String ID_;// `varchar (192),
private String REV_;//` int (11),
private String PROC_INST_ID_;//` varchar (192),
private String BUSINESS_KEY_;//` varchar (765),
private String PROC_DEF_ID_;//` varchar (192),
private String START_TIME_;//` datetime ,
private String END_TIME_;//` datetime ,
private String DURATION_;//` bigint (20),
private String START_USER_ID_;//` varchar (765),
private String START_ACT_ID_;//` varchar (765),
private String END_ACT_ID_;//` varchar (765),
private String SUPER_PROCESS_INSTANCE_ID_;//` varchar (192),
private String DELETE_REASON_;//` varchar (12000),
private String TENANT_ID_;//` varchar (765),
private String NAME_;//` varchar (765),
private String CALLBACK_ID_;//` varchar (765),
private String CALLBACK_TYPE_;//` varchar (765),
private String REFERENCE_ID_;//` varchar (765),
private String REFERENCE_TYPE_;//` varchar (765)
public String getID_() {
return ID_;
}
public void setID_(String ID_) {
this.ID_ = ID_;
}
public String getREV_() {
return REV_;
}
public void setREV_(String REV_) {
this.REV_ = REV_;
}
public String getPROC_INST_ID_() {
return PROC_INST_ID_;
}
public void setPROC_INST_ID_(String PROC_INST_ID_) {
this.PROC_INST_ID_ = PROC_INST_ID_;
}
public String getBUSINESS_KEY_() {
return BUSINESS_KEY_;
}
public void setBUSINESS_KEY_(String BUSINESS_KEY_) {
this.BUSINESS_KEY_ = BUSINESS_KEY_;
}
public String getPROC_DEF_ID_() {
return PROC_DEF_ID_;
}
public void setPROC_DEF_ID_(String PROC_DEF_ID_) {
this.PROC_DEF_ID_ = PROC_DEF_ID_;
}
public String getSTART_TIME_() {
return START_TIME_;
}
public void setSTART_TIME_(String START_TIME_) {
this.START_TIME_ = START_TIME_;
}
public String getEND_TIME_() {
return END_TIME_;
}
public void setEND_TIME_(String END_TIME_) {
this.END_TIME_ = END_TIME_;
}
public String getDURATION_() {
return DURATION_;
}
public void setDURATION_(String DURATION_) {
this.DURATION_ = DURATION_;
}
public String getSTART_USER_ID_() {
return START_USER_ID_;
}
public void setSTART_USER_ID_(String START_USER_ID_) {
this.START_USER_ID_ = START_USER_ID_;
}
public String getSTART_ACT_ID_() {
return START_ACT_ID_;
}
public void setSTART_ACT_ID_(String START_ACT_ID_) {
this.START_ACT_ID_ = START_ACT_ID_;
}
public String getEND_ACT_ID_() {
return END_ACT_ID_;
}
public void setEND_ACT_ID_(String END_ACT_ID_) {
this.END_ACT_ID_ = END_ACT_ID_;
}
public String getSUPER_PROCESS_INSTANCE_ID_() {
return SUPER_PROCESS_INSTANCE_ID_;
}
public void setSUPER_PROCESS_INSTANCE_ID_(String SUPER_PROCESS_INSTANCE_ID_) {
this.SUPER_PROCESS_INSTANCE_ID_ = SUPER_PROCESS_INSTANCE_ID_;
}
public String getDELETE_REASON_() {
return DELETE_REASON_;
}
public void setDELETE_REASON_(String DELETE_REASON_) {
this.DELETE_REASON_ = DELETE_REASON_;
}
public String getTENANT_ID_() {
return TENANT_ID_;
}
public void setTENANT_ID_(String TENANT_ID_) {
this.TENANT_ID_ = TENANT_ID_;
}
public String getNAME_() {
return NAME_;
}
public void setNAME_(String NAME_) {
this.NAME_ = NAME_;
}
public String getCALLBACK_ID_() {
return CALLBACK_ID_;
}
public void setCALLBACK_ID_(String CALLBACK_ID_) {
this.CALLBACK_ID_ = CALLBACK_ID_;
}
public String getCALLBACK_TYPE_() {
return CALLBACK_TYPE_;
}
public void setCALLBACK_TYPE_(String CALLBACK_TYPE_) {
this.CALLBACK_TYPE_ = CALLBACK_TYPE_;
}
public String getREFERENCE_ID_() {
return REFERENCE_ID_;
}
public void setREFERENCE_ID_(String REFERENCE_ID_) {
this.REFERENCE_ID_ = REFERENCE_ID_;
}
public String getREFERENCE_TYPE_() {
return REFERENCE_TYPE_;
}
public void setREFERENCE_TYPE_(String REFERENCE_TYPE_) {
this.REFERENCE_TYPE_ = REFERENCE_TYPE_;
}
}

98
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTask.java

@ -0,0 +1,98 @@
package com.yxt.anrui.flowable.api.flow;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>工作流任务<p>
*
* @author XuanXuan
* @date 2021-04-03
*/
@ApiModel("工作流任务相关-返回参数")
@Data
public class FlowTask extends BaseEntity implements Serializable {
@ApiModelProperty("任务编号")
private String taskId;
@ApiModelProperty("任务名称")
private String taskName;
@ApiModelProperty("任务Key")
private String taskDefKey;
@ApiModelProperty("任务执行人Id")
private Long assigneeId;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("流程发起人部门名称")
private String startDeptName;
@ApiModelProperty("任务执行人名称")
private String assigneeName;
@ApiModelProperty("任务执行人头像")
private String assigneeHeadImage;
@ApiModelProperty("流程发起人Id")
private String startUserId;
@ApiModelProperty("流程发起人名称")
private String startUserName;
@ApiModelProperty("流程类型")
private String category;
@ApiModelProperty("流程变量信息")
private Object procVars;
@ApiModelProperty("局部变量信息")
private Object taskLocalVars;
@ApiModelProperty("流程部署编号")
private String deployId;
@ApiModelProperty("流程ID")
private String procDefId;
@ApiModelProperty("流程key")
private String procDefKey;
@ApiModelProperty("流程定义名称")
private String procDefName;
@ApiModelProperty("流程定义内置使用版本")
private int procDefVersion;
@ApiModelProperty("流程实例ID")
private String procInsId;
@ApiModelProperty("历史流程实例ID")
private String hisProcInsId;
@ApiModelProperty("任务耗时")
private String duration;
@ApiModelProperty("任务意见")
private FlowCommentDto comment = new FlowCommentDto();
@ApiModelProperty("候选执行人")
private String candidate;
@ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("任务完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date finishTime;
}

23
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.flowable.api.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hanweijia
* @date 2021/11/06 13:53
* @description
*/
@Data
public class FlowTaskQuery implements Query {
private static final long serialVersionUID = -7395299971899690002L;
@ApiModelProperty(value = "用户sid", required = true)
private String userSid;
@ApiModelProperty(value = "zd", required = true)
private String zd;
@ApiModelProperty(value = "days", required = true)
private String days;
}

51
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskVo.java

@ -0,0 +1,51 @@
package com.yxt.anrui.flowable.api.flow;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>流程任务<p>
*
* @author XuanXuan
* @date 2021-04-03
*/
@ApiModel("工作流任务相关--请求参数")
@Data
public class FlowTaskVo {
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("用户Sid")
private String userSid;
@ApiModelProperty("任务意见")
private String comment;
@ApiModelProperty("流程实例Id")
private String instanceId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values=new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers=new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups=new ArrayList<>();
}

8
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/Flowable.java

@ -0,0 +1,8 @@
package com.yxt.anrui.flowable.api.flow;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
@Data
public class Flowable extends BaseEntity {
}

74
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java

@ -0,0 +1,74 @@
package com.yxt.anrui.flowable.api.flow;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
public class FlowableFallback implements FlowableFeign {
@Override
public ResultBean businessStart(BusinessVariables bv) {
return null;
}
@Override
public ResultBean processPagerList(Integer pageNum, Integer pageSize) {
return null;
}
@Override
public ResultBean myprocess(String userSid, PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean stopProcess(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean deleteProcess(String procInsId) {
return null;
}
@Override
public ResultBean<UserAndOrgPath> getNextNodeUserSidsOfCreate(BusinessVariables bv ) {
return null;
}
@Override
public ResultBean<UserAndOrgPath> getNextNodeUserSidsOfSubmit(BusinessVariables bv ) {
return null;
}
@Override
public ResultBean<UpdateFlowFieldVo> startProcess(BusinessVariables dto) {
return null;
}
@Override
public ResultBean handleProsess(BusinessVariables bv) {
return null;
}
@Override
public ResultBean revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl ) {
return null;
}
@Override
public ResultBean taskReject(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) {
return null;
}
@Override
public ResultBean breakProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) {
return null;
}
}

116
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java

@ -0,0 +1,116 @@
package com.yxt.anrui.flowable.api.flow;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@Api(tags = "Flowable")
@FeignClient(
contextId = "anrui-flowable-Flowable",
name = "anrui-flowable",
path = "v1/flow",
fallback = FlowableFallback.class)
public interface FlowableFeign {
/**
* 业务系统发起流程申请
*
* @return
*/
@PostMapping("/businessStart")
public ResultBean businessStart(@RequestBody BusinessVariables bv);
/**
* 流程定义列表 一般业务中不需要查询该列表
*
* @param pageNum 页数
* @param pageSize 容量
* @return
*/
@PostMapping("/processPagerList/{userSid}")
public ResultBean processPagerList(@ApiParam(value = "当前页码", required = true) @RequestParam("pageNum") Integer pageNum,
@ApiParam(value = "每页条数", required = true) @RequestParam("pageSize") Integer pageSize);
/**
* 我的流程 我发起的流程
*
* @param userSid 用户sid
* @param taskQueryPagerQuery 查询参数
* @return
*/
@PostMapping("/myprocess/{userSid}")
public ResultBean myprocess(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<FlowTaskQuery> taskQueryPagerQuery);
/**
* 取消申请
*
* @param flowTaskVo
* @return
*/
@ApiOperation(value = "取消申请")
@PostMapping(value = "/task/stopProcess")
@ResponseBody
ResultBean stopProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo);
/**
* 删除流程实例
*
* @param procInsId 流程实例id
* @return
*/
@ApiOperation(value = "删除流程实例")
@DeleteMapping(value = "/task/deleteProcess/{procInsId}")
@ResponseBody
ResultBean deleteProcess(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
/**
* 创建流程实例时取下一环节的用户sid
*
* @return
*/
@ApiOperation(value = "创建流程实例时取下一环节的用户sid")
@GetMapping(value = "/getNextNodeUserSidsOfCreate")
@ResponseBody
ResultBean<UserAndOrgPath> getNextNodeUserSidsOfCreate( @RequestBody BusinessVariables bv);
/**
* 提交流程实例时取下一环节的用户sid
*
* @return
*/
@ApiOperation(value = "提交流程实例时取下一环节的用户sid")
@GetMapping(value = "/getNextNodeUserSidsOfSubmit")
@ResponseBody
ResultBean<UserAndOrgPath> getNextNodeUserSidsOfSubmit(@RequestBody BusinessVariables bv);
@ApiOperation(value = "启动流程")
@PostMapping(value = "/startProcess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables dto);
@ApiOperation(value = "处理流程")
@PostMapping(value = "/handleProsess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> revokeProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl);
@ApiOperation(value = "驳回流程")
@PostMapping(value = "/taskReject")
@ResponseBody
ResultBean<UpdateFlowFieldVo> taskReject(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl);
@ApiOperation(value = "终止流程")
@PostMapping(value = "/breakProcess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> breakProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl);
}

60
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java

@ -0,0 +1,60 @@
package com.yxt.anrui.flowable.api.flow;
import java.util.Map;
public class StartProcessDto {
private String orgSidPath;
private String businessSid;
private String orgSid; //部门sid
private String proDefId;
private String userSid;
private Map<String, Object> variables;
public String getOrgSidPath() {
return orgSidPath;
}
public void setOrgSidPath(String orgSidPath) {
this.orgSidPath = orgSidPath;
}
public String getBusinessSid() {
return businessSid;
}
public void setBusinessSid(String businessSid) {
this.businessSid = businessSid;
}
public String getOrgSid() {
return orgSid;
}
public void setOrgSid(String orgSid) {
this.orgSid = orgSid;
}
public String getProDefId() {
return proDefId;
}
public void setProDefId(String proDefId) {
this.proDefId = proDefId;
}
public String getUserSid() {
return userSid;
}
public void setUserSid(String userSid) {
this.userSid = userSid;
}
public Map<String, Object> getVariables() {
return variables;
}
public void setVariables(Map<String, Object> variables) {
this.variables = variables;
}
}

90
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/TaskQuery.java

@ -0,0 +1,90 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.flow;
import com.yxt.common.core.query.Query;
/**
* Project: anrui-parent <br/>
* File: TaskQuery.java <br/>
* Class: com.yxt.anrui.portal.biz.flow.TaskQuery <br/>
* Description: <描述类的功能>. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021/10/27 下午3:36 <br/>
*
* @author popo
* @version 1.0
* @since 1.0
*/
public class TaskQuery implements Query {
private String userSid;
private String days;
private String zd1;
private String processDefinitionId;
private String startTime;
public String getZd1() {
return zd1;
}
public void setZd1(String zd1) {
this.zd1 = zd1;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public String getUserSid() {
return userSid;
}
public void setUserSid(String userSid) {
this.userSid = userSid;
}
public String getDays() {
return days;
}
public void setDays(String days) {
this.days = days;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
}

70
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UpdateFlowFieldVo.java

@ -0,0 +1,70 @@
package com.yxt.anrui.flowable.api.flow;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
public class UpdateFlowFieldVo {
private String sid;
private String procDefId;
private String nodeState;
private String procInsId;
private String taskDefKey;
private String taskId;
private String nextNodeUserSids;
public String getNextNodeUserSids() {
return nextNodeUserSids;
}
public void setNextNodeUserSids(String nextNodeUserSids) {
this.nextNodeUserSids = nextNodeUserSids;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getProcDefId() {
return procDefId;
}
public void setProcDefId(String procDefId) {
this.procDefId = procDefId;
}
public String getNodeState() {
return nodeState;
}
public void setNodeState(String nodeState) {
this.nodeState = nodeState;
}
public String getProcInsId() {
return procInsId;
}
public void setProcInsId(String procInsId) {
this.procInsId = procInsId;
}
public String getTaskDefKey() {
return taskDefKey;
}
public void setTaskDefKey(String taskDefKey) {
this.taskDefKey = taskDefKey;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
}

15
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UserAndOrgPath.java

@ -0,0 +1,15 @@
package com.yxt.anrui.flowable.api.flow;
import lombok.Data;
@Data
public class UserAndOrgPath {
/**
* 用户sid
*/
private String userSid;
/**
* 组织及部门sid全路径
*/
private String orgPath;
}

60
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowComment.java

@ -0,0 +1,60 @@
package com.yxt.anrui.flowable.api.flowcomment;
/**
* @author dimengzhe
* @date 2021/6/16 9:05
* @description 流程意见类型
*/
public enum FlowComment {
/**
* 说明
*/
START("0", "发起"),
NORMAL("1", "同意"),
REBACK("2", "退回"),
REJECT("3", "驳回"),
DELEGATE("4", "委派意见"),
ASSIGN("5", "转办意见"),
STOP("6", "终止"),
RECALL("7", "撤回"),
SETTLE("8", "已办结"),
AGAIN("9", "重新提交");
/**
* 类型
*/
private final String type;
/**
* 说明
*/
private final String remark;
FlowComment(String type, String remark) {
this.type = type;
this.remark = remark;
}
public String getType() {
return type;
}
public String getRemark() {
return remark;
}
public static String getRemarkByType(String type){
for(FlowComment f : FlowComment.values()){
if(type.equals(f.type)){
return f.getRemark();
}
}
return null;
}
}

39
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentDto.java

@ -0,0 +1,39 @@
package com.yxt.anrui.flowable.api.flowcomment;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @author XuanXuan
* @date 2021/3/28 15:50
*/
@Data
@Builder
/*@NoArgsConstructor
@AllArgsConstructor*/
public class FlowCommentDto implements Serializable {
public FlowCommentDto() {
}
public FlowCommentDto(String type, String comment) {
this.type = type;
this.comment = comment;
}
/**
*
*/
private static final long serialVersionUID = 1929734226858491967L;
/**
* 意见类别 1正常同意意见 2退回意见 3 驳回意见 4 委派意见 5 转办意见 6 终止流程 7 撤回流程
*/
private String type;
/**
* 意见内容
*/
private String comment;
}

24
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.flowable.api.flowcomment;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/8/23 15:02
* @description
*/
@Data
public class FlowCommentVo implements Vo {
private static final long serialVersionUID = 8476778511839065050L;
/**
* 意见类别 意见类别 1正常同意意见 2退回意见 3 驳回意见 4 委派意见 5 转办意见 6 终止流程 7 撤回流程
*/
private String type;
/**
* 意见内容
*/
private String comment;
}

85
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeign.java

@ -0,0 +1,85 @@
package com.yxt.anrui.flowable.api.flowdefinition;
import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/6/16 17:16
* @description 流程定义
*/
@FeignClient(
contextId = "anrui-flowable-FlowDefinition",
name = "anrui-flowable",
path = "/v1/flowable/definition",
fallback = FlowDefinitionFeignFallBack.class)
public interface FlowDefinitionFeign {
@ApiOperation(value = "导入流程文件", notes = "上传bpmn20的xml文件")
@PostMapping("/import")
@ResponseBody
public ResultBean importFile(@RequestParam( name ="name", required = false) String name,
@RequestParam(name ="category",required = false) String category,
MultipartFile file);
@ApiOperation(value = "流程定义分页列表")
@PostMapping("/pagerList")
@ResponseBody
public ResultBean pagerList(@ApiParam(value = "当前页码", required = true) @RequestParam("pageNum") Integer pageNum,
@ApiParam(value = "每页条数", required = true) @RequestParam("pageSize") Integer pageSize);
/**
* 挂起后就不可以再开启一个流程实例了也就是 runtimeService.startProcessInstanceByKey("流程定义ID");会抛出异常
* 流程定义的挂起不影响已经启动的流程实例继续
*/
@ApiOperation(value = "激活或挂起流程定义")
@PostMapping(value = "/updateState")
public ResultBean updateState(@ApiParam(value = "1:激活,2:挂起", required = true) @RequestParam("state") Integer state,
@ApiParam(value = "流程部署ID", required = true) @RequestParam("deployId") String deployId);
@ApiOperation(value = "删除流程")
@DeleteMapping(value = "/delete")
@ResponseBody
public ResultBean delete(@ApiParam(value = "流程部署ID", required = true) @RequestParam("deployId") String deployId);
@ApiOperation(value = "保存xml文件")
@PostMapping(value = "/save")
@ResponseBody
public ResultBean save(@RequestBody FlowSaveXmlQuery flowSaveXmlQuery);
@ApiOperation(value = "读取xml文件")
@GetMapping("/readXml/{deployId}")
@ResponseBody
public ResultBean readXml(@ApiParam(value = "流程定义id") @PathVariable(value = "deployId") String deployId);
@ApiOperation(value = "指定流程办理人员列表")
@GetMapping("/userList")
@ResponseBody
public ResultBean userList(SysUser user);
@ApiOperation(value = "指定流程办理候选组(角色)")
@GetMapping("/roleList")
@ResponseBody
public ResultBean roleList();
@ApiOperation(value = "根据流程定义id启动流程实例")
@PostMapping("/start/{procDefId}")
@ResponseBody
public ResultBean start(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables);
/* @ApiOperation(value = "业务系统发起流程根据流程定义id启动流程实例")
@PostMapping("/businessStart")
@ResponseBody
public ResultBean<FlowTask> businessStart(@ApiParam(value = "请求参数") @RequestBody
BusinessVariables dto);*/
}

78
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignBusinessStartDTO.java

@ -0,0 +1,78 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.flowdefinition;
import io.swagger.annotations.ApiModelProperty;
import java.util.HashMap;
import java.util.Map;
/**
* Project: anrui-parent <br/>
* File: FlowDefinitionFeignDTO.java <br/>
* Class: com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeignDTO <br/>
* Description: <描述类的功能>. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021/10/25 上午11:47 <br/>
*
* @author popo
* @version 1.0
* @since 1.0
*/
public class FlowDefinitionFeignBusinessStartDTO {
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("流程定义id")
private Map<String, Object> variables = new HashMap<>();
public String getProcDefId() {
return procDefId;
}
public void setProcDefId(String procDefId) {
this.procDefId = procDefId;
}
public String getUserSid() {
return userSid;
}
public void setUserSid(String userSid) {
this.userSid = userSid;
}
public Map<String, Object> getVariables() {
return variables;
}
public void setVariables(Map<String, Object> variables) {
this.variables = variables;
}
}

68
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignFallBack.java

@ -0,0 +1,68 @@
package com.yxt.anrui.flowable.api.flowdefinition;
import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/8/20 15:44
* @description
*/
@Component
public class FlowDefinitionFeignFallBack implements FlowDefinitionFeign {
@Override
public ResultBean importFile(String name, String category, MultipartFile file) {
return null;
}
@Override
public ResultBean pagerList(Integer pageNum, Integer pageSize) {
return null;
}
@Override
public ResultBean updateState(Integer state, String deployId) {
return null;
}
@Override
public ResultBean delete(String deployId) {
return null;
}
@Override
public ResultBean save(FlowSaveXmlQuery flowSaveXmlQuery) {
return null;
}
@Override
public ResultBean readXml(String deployId) {
return null;
}
@Override
public ResultBean userList(SysUser user) {
return null;
}
@Override
public ResultBean roleList() {
return null;
}
@Override
public ResultBean start(String procDefId, Map<String, Object> variables) {
return null;
}
/* @Override
public ResultBean<FlowTask> businessStart(BusinessVariables dto) {
return null;
}
*/
}

49
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionVo.java

@ -0,0 +1,49 @@
package com.yxt.anrui.flowable.api.flowdefinition;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author dimengzhe
* @date 2021/6/18 8:57
* @description 流程定义
*/
@Data
public class FlowDefinitionVo implements Vo {
private static final long serialVersionUID = 2046175148595754071L;
@ApiModelProperty("流程id")
private String id;
@ApiModelProperty("流程名称")
private String name;
@ApiModelProperty("流程key")
private String key;
@ApiModelProperty("流程分类")
private String category;
@ApiModelProperty("配置表单名称")
private String formName;
@ApiModelProperty("配置表单id")
private Long formId;
@ApiModelProperty("版本")
private int version;
@ApiModelProperty("部署ID")
private String deploymentId;
@ApiModelProperty("流程定义状态: 1:激活 , 2:中止")
private int suspensionState;
@ApiModelProperty("部署时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date deploymentTime;
}

18
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowInstanceDto.java

@ -0,0 +1,18 @@
package com.yxt.anrui.flowable.api.flowdefinition;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/6/21 19:15
* @description 流程实例dto
*/
@Data
public class FlowInstanceDto implements Dto {
private static final long serialVersionUID = -2972287297281145598L;
@ApiModelProperty(value = "流程定义id")
private String processId;
}

27
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowSaveXmlQuery.java

@ -0,0 +1,27 @@
package com.yxt.anrui.flowable.api.flowdefinition;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/8/31 16:56
* @description
*/
@Data
public class FlowSaveXmlQuery implements Query {
private static final long serialVersionUID = -9097158378333761305L;
@ApiModelProperty(value = "流程名称")
private String name;
@ApiModelProperty(value = "流程分类")
private String category;
@ApiModelProperty(value = "xml文件")
private String xml;
}

64
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/SysUser.java

@ -0,0 +1,64 @@
package com.yxt.anrui.flowable.api.flowdefinition;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUser.java <br/>
* Class: com.yxt.anrui.portal.api.sysuser.SysUser <br/>
* Description: 用户表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
public class SysUser extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("登录名,登录名不能相同")
private String userName;
@ApiModelProperty("密码(加密或签名后)")
private String password;
@ApiModelProperty("密码修改时限")
private String pwdDayslimit;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("最后一次密码修改时间")
private Date pwdModifyTime;
@ApiModelProperty("在线状态(0为离线、1为在线)")
private Integer onlineState;
@ApiModelProperty("用户登录时随机生成身份验证字符串")
private String token;
@ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员")
private String isAdmin;
@ApiModelProperty("手机登录唯一标识,手机与用户绑定字段")
private String appId;
@ApiModelProperty("关联的人员sid")
private String staffSid;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
private Integer userType;
@ApiModelProperty("用户头像")
private String headImage;
}

44
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeign.java

@ -0,0 +1,44 @@
package com.yxt.anrui.flowable.api.flowinstance;
import com.yxt.anrui.flowable.api.flowdefinition.FlowInstanceDto;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* @author dimengzhe
* @date 2021/6/16 10:33
* @description 工作流流程实例管理
*/
@FeignClient(
contextId = "anrui-flowable-FlowInstance",
name = "anrui-flowable",
path = "v1/flowable/instance",
fallback = FlowInstanceFeignFallBack.class)
public interface FlowInstanceFeign {
@PostMapping("/start")
@ResponseBody
@ApiOperation(value = "启动流程")
public ResultBean<FlowInstanceVo> startProcess(@RequestBody FlowInstanceDto flowTaskDto);
@ApiOperation(value = "根据流程定义id启动流程实例")
@PostMapping("/startBy/{procDefId}")
@ResponseBody
public ResultBean startById(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId);
@ApiOperation(value = "删除流程实例")
@DeleteMapping(value = "/delete")
public ResultBean delete(@ApiParam(value = "流程实例ID", required = true) @RequestParam(value = "instanceId") String instanceId,
@ApiParam(value = "删除原因") @RequestParam(value = "deleteReason", required = false) String deleteReason);
@ApiOperation(value = "激活或挂起流程实例")
@PostMapping(value = "/updateState")
public ResultBean updateState(@ApiParam(value = "1:激活,2:挂起", required = true) @RequestParam(value = "state") Integer state,
@ApiParam(value = "流程实例ID", required = true) @RequestParam(value = "instanceId") String instanceId);
}

33
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeignFallBack.java

@ -0,0 +1,33 @@
package com.yxt.anrui.flowable.api.flowinstance;
import com.yxt.anrui.flowable.api.flowdefinition.FlowInstanceDto;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @author dimengzhe
* @date 2021/6/22 10:51
* @description
*/
@Component
public class FlowInstanceFeignFallBack implements FlowInstanceFeign {
@Override
public ResultBean<FlowInstanceVo> startProcess(FlowInstanceDto flowTaskDto) {
return null;
}
@Override
public ResultBean startById(String procDefId) {
return null;
}
@Override
public ResultBean delete(String instanceId, String deleteReason) {
return null;
}
@Override
public ResultBean updateState(Integer state, String instanceId) {
return null;
}
}

25
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.flowable.api.flowinstance;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/6/16 11:18
* @description
*/
@Data
public class FlowInstanceVo implements Vo {
private static final long serialVersionUID = -7702924188219076066L;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("流程实例Id")
private String instanceId;
@ApiModelProperty(value = "表单sid")
private String formSid;
}

23
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/28 16:24
* @Description
*/
@Data
public class AppUserVo implements Vo {
private static final long serialVersionUID = -3220584066025636920L;
@ApiModelProperty(value = "名称")
@JsonProperty("name")
private String assigneeName;
@ApiModelProperty(value = "头像")
@JsonProperty("image")
private String assigneeHeadImage;
}

42
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/CompleteTaskQuery.java

@ -0,0 +1,42 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/8/4 18:22
* @description
*/
@Data
public class CompleteTaskQuery implements Query {
private static final long serialVersionUID = 5847441978537887466L;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("任务意见")
private String comment;
@ApiModelProperty("流程实例Id")
private String instanceId;
@ApiModelProperty(value = "流程标题", required = false)
private String formTitle;
@ApiModelProperty(value = "任务参数", required = false)
private Map<String, Object> variables;
}

16
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowRecordVo.java

@ -0,0 +1,16 @@
package com.yxt.anrui.flowable.api.flowtask;
import java.util.ArrayList;
import java.util.List;
public class FlowRecordVo {
private List<FlowTask> flowList = new ArrayList<>();
public List<FlowTask> getFlowList() {
return flowList;
}
public void setFlowList(List<FlowTask> flowList) {
this.flowList = flowList;
}
}

107
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java

@ -0,0 +1,107 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.flowable.api.flowcomment.FlowCommentDto;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* <p>工作流任务<p>
*
* @author XuanXuan
* @date 2021-04-03
*/
@ApiModel("工作流任务相关-返回参数")
@Data
public class FlowTask extends BaseEntity implements Serializable {
@ApiModelProperty("任务编号")
private String taskId;
@ApiModelProperty("任务名称")
private String taskName;
@ApiModelProperty("任务Key")
private String taskDefKey;
@ApiModelProperty("任务执行人Id")
private Long assigneeId;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("流程发起人部门名称")
private String startDeptName;
@ApiModelProperty("任务执行人名称")
private String assigneeName;
@ApiModelProperty("任务执行人头像")
private String assigneeHeadImage;
@ApiModelProperty("流程发起人Id")
private String startUserId;
@ApiModelProperty("流程发起人名称")
private String startUserName;
@ApiModelProperty("流程类型")
private String category;
@ApiModelProperty("流程变量信息")
private Object procVars;
@ApiModelProperty("局部变量信息")
private Object taskLocalVars;
@ApiModelProperty("流程部署编号")
private String deployId;
@ApiModelProperty("流程ID")
private String procDefId;
@ApiModelProperty("流程key")
private String procDefKey;
@ApiModelProperty("流程定义名称")
private String procDefName;
@ApiModelProperty("流程定义内置使用版本")
private int procDefVersion;
@ApiModelProperty("流程实例ID")
private String procInsId;
@ApiModelProperty("历史流程实例ID")
private String hisProcInsId;
@ApiModelProperty("任务耗时")
private String duration;
@ApiModelProperty("任务意见")
private FlowCommentDto comment = new FlowCommentDto();
@ApiModelProperty("候选执行人")
private String candidate;
/* @ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
private String createTime;*/
@ApiModelProperty("任务完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private String finishTime;
@ApiModelProperty("流程完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS" )
private String processEndTime;
@ApiModelProperty("环节的办理人信息")
private List<TaskUserInfo> taskUserInfos;
}

118
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java

@ -0,0 +1,118 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.flowable.api.flowcomment.FlowCommentDto;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
/**
* <p>工作流任务<p>
*
* @author XuanXuan
* @date 2021-04-03
*/
@ApiModel("工作流任务相关-返回参数")
@Data
public class FlowTaskDto implements Serializable {
@ApiModelProperty("任务编号")
private String taskId;
@ApiModelProperty("任务名称")
private String taskName;
@ApiModelProperty("任务Key")
private String taskDefKey;
@ApiModelProperty("任务执行人Id")
private String assigneeSid;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("流程发起人部门名称")
private String startDeptName;
@ApiModelProperty("任务执行人名称")
private String assigneeName;
@ApiModelProperty("流程发起人Id")
private String startUserSid;
@ApiModelProperty("流程发起人名称")
private String startUserName;
@ApiModelProperty("流程类型")
private String category;
@ApiModelProperty("流程变量信息")
private Object procVars;
@ApiModelProperty("局部变量信息")
private Object taskLocalVars;
@ApiModelProperty("流程部署编号")
private String deployId;
@ApiModelProperty("流程ID")
private String procDefId;
@ApiModelProperty("流程key")
private String procDefKey;
@ApiModelProperty("流程定义名称")
private String procDefName;
@ApiModelProperty("流程定义内置使用版本")
private int procDefVersion;
@ApiModelProperty("流程实例ID")
private String procInsId;
@ApiModelProperty("历史流程实例ID")
private String hisProcInsId;
@ApiModelProperty("任务耗时")
private String duration;
@ApiModelProperty("任务意见")
private FlowCommentDto comment;
@ApiModelProperty("候选执行人")
private String candidate;
@ApiModelProperty("结束事件ID")
private String endActId;
@ApiModelProperty("流程创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date processCreateTime;
@ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("任务结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty("任务完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date finishTime;
@ApiModelProperty("业务表单参数集合")
private Map<String, Object> processVariables;
/*@ApiModelProperty("手机端参数集合")
private Map<String, Object> appVariables;
@ApiModelProperty("pc端参数集合")
private Map<String, Object> pcVariables;*/
@ApiModelProperty("是否显示撤回按钮(登录用户与待办人是否为同一个)")
private boolean hasRevokeButton = false;
@ApiModelProperty("办理的url")
private SysProUrlVo sysProUrlVo ;
}

188
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java

@ -0,0 +1,188 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flow.UserAndOrgPath;
import com.yxt.anrui.flowable.api.utils.RecordQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.flowable.test.StartProcessInstanceQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.flowable.bpmn.model.FlowElement;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/7/29 14:37
* @description
*/
@FeignClient(
contextId = "anrui-flowable-FlowTask",
name = "anrui-flowable",
path = "v1/flowable/task",
fallback = FlowTaskFeignFallBack.class)
public interface FlowTaskFeign {
@ApiOperation(value = "启动流程")
@PostMapping("/startProcessInstanceByKey")
@ResponseBody
ResultBean<String> startProcessInstanceByKey(@RequestBody StartProcessInstanceQuery startProcessInstanceQuery);
@ApiOperation(value = "业务系统审批")
@PostMapping("/businessComplete")
@ResponseBody
ResultBean<FlowTask> businessComplete(@RequestBody BusinessVariables dto);
@ApiOperation(value = "审批")
@PostMapping("/complete")
@ResponseBody
ResultBean<String> complete(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "待办任务列表")
@PostMapping("/todoList")
@ResponseBody
ResultBean todoList(@RequestBody PagerQuery<FlowTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询待办任务列表")
@PostMapping("/businessTodoList/{userSid}")
@ResponseBody
ResultBean<Page<FlowTaskDto>> businessTodoList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询待办任务列表包含url")
@PostMapping("/businessTodoListForApp/{userSid}")
@ResponseBody
ResultBean<Page<FlowTaskDto>> businessTodoListForApp(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询待办任务列表数量")
@GetMapping("/getTodoNum/{userSid}")
ResultBean<Integer> getTodoNum(@PathVariable(value = "userSid")String userSid);
@ApiOperation(value = "业务系统查询待办任务列表数量")
@PostMapping("/getTodoNum")
@ResponseBody
ResultBean<Integer> getTodoNum(@RequestBody UserAndOrgPath uaop);
@ApiOperation(value = "已办任务列表")
@PostMapping("/doneList")
@ResponseBody
ResultBean doneList(@RequestBody PagerQuery<FlowTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询已办任务列表")
@PostMapping("/businessDoneList/{userSid}")
@ResponseBody
ResultBean businessDoneList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询已办任务列表_移动端")
@PostMapping("/businessDoneListForApp/{userSid}")
@ResponseBody
ResultBean<Page<FlowTaskDto>> businessDoneListForApp(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "流程历史流转记录")
@PostMapping(value = "/flowRecord")
@ResponseBody
ResultBean flowRecord(@RequestBody RecordQuery recordQuery);
@ApiOperation(value = "取消申请")
@PostMapping(value = "/stopProcess/{userSid}")
@ResponseBody
ResultBean stopProcess(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "我的流程分页列表")
@PostMapping(value = "/myprocess")
@ResponseBody
ResultBean myprocess(@RequestBody PagerQuery<FlowTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询我的流程分页列表")
@PostMapping(value = "/businessMyprocess/{userSid}")
@ResponseBody
ResultBean businessMyprocess(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "获取流程变量")
@GetMapping(value = "/processVariables/{taskId}")
@ResponseBody
ResultBean processVariables(@ApiParam(value = "流程任务Id") @PathVariable(value = "taskId") String taskId);
/**
* 生成流程图
*
* @param procInsId 任务ID
*/
@RequestMapping("/flowViewer/{procInsId}")
public ResultBean getFlowViewer(@PathVariable("procInsId") String procInsId) ;
@ApiOperation(value = "获取所有可回退的节点")
@PostMapping(value = "/returnList")
public ResultBean findReturnTaskList(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "退回任务")
@PostMapping(value = "/return")
public ResultBean taskReturn(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean<List<LatestTaskVo>> taskReject(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "撤回流程", response = FlowTaskDto.class)
@PostMapping(value = "/revokeProcess")
public ResultBean<List<LatestTaskVo>> revokeProcess(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "终止流程")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "流程历史流转记录" )
@GetMapping(value = "/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@PathVariable(value = "procInsId")String procInsId,
@PathVariable(value = "deployId")String deployId);
@ApiOperation(value = "业务系统流程历史流转记录" )
@GetMapping(value = "/businessFlowRecord/{procInsId}")
public ResultBean<FlowRecordVo> businessFlowRecord(@PathVariable(value = "procInsId")String procInsId);
@ApiOperation(value = "删除流程实例")
@DeleteMapping(value = "/deleteProcess/{procInsId}")
@ResponseBody
ResultBean deleteProcess(@PathVariable(value = "procInsId")String procInsId);
@ApiOperation(value = "获取当前环节的下一分支节点")
@PostMapping(value = "/getNextTasks/{taskId}")
public ResultBean getNextTasks(@PathVariable(value = "taskId")String taskId);
@ApiOperation(value = "根据流程实例的id获取最新待办环节")
@PostMapping(value = "/getLatestTasks/{procId}")
ResultBean<List<LatestTaskVo>> getLatestTasks(@PathVariable(value = "procId") String procId);
@ApiOperation(value = "根据流程实例的id获取最新待办环节")
@PostMapping(value = "/getProcessCirculationNodes")
ResultBean< List<FlowElement>> getProcessCirculationNodes(@RequestParam(value = "procId") String procI,
@RequestParam(value = "modelId") String modelId,
@RequestParam(value = "k")String k,
@RequestParam(value = "v")String v,
@RequestParam(value = "outcome")String outcome);
@ApiOperation(value = "根据流程实例的id获取最新待办环节")
@PostMapping(value = "/getProcessCirculationNodesByMap")
ResultBean getProcessCirculationNodesByMap(@RequestBody BusinessVariables bv);
@ApiOperation("获取流程图")
@GetMapping("/readXml/{sid}")
ResultBean readXml(@PathVariable(value ="sid") String sid);
@ApiOperation(value = "获取下一个环节")
@PostMapping(value = "/getNextNodesForSubmit")
ResultBean getNextNodesForSubmit(@RequestBody BusinessVariables bv);
@ApiOperation(value = "根据流程实例的id获取最新待办环节")
@PostMapping(value = "/获取上一个环节")
ResultBean getPreviousNodesForReject(@RequestBody BusinessVariables bv);
}

186
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java

@ -0,0 +1,186 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flow.UserAndOrgPath;
import com.yxt.anrui.flowable.api.utils.RecordQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.flowable.test.StartProcessInstanceQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import feign.Param;
import org.flowable.bpmn.model.FlowElement;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/8/20 15:43
* @description
*/
@Component
public class FlowTaskFeignFallBack implements FlowTaskFeign {
@Override
public ResultBean<String> startProcessInstanceByKey(StartProcessInstanceQuery startProcessInstanceQuery) {
return null;
}
@Override
public ResultBean<FlowTask>businessComplete (BusinessVariables dto) {
return null;
}
@Override
public ResultBean<String> complete(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean<Page<FlowTaskDto>> todoList(PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean<Page<FlowTaskDto>> businessTodoList(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean<Page<FlowTaskDto>> businessTodoListForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean getTodoNum(String userSid) {
return null;
}
@Override
public ResultBean<Integer> getTodoNum(UserAndOrgPath uaop) {
return null;
}
@Override
public ResultBean doneList(PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean businessDoneList(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean businessDoneListForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean flowRecord(RecordQuery recordQuery) {
return null;
}
@Override
public ResultBean stopProcess(String userSid, FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean myprocess(PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean businessMyprocess(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean processVariables(String taskId) {
return null;
}
@Override
public ResultBean getFlowViewer(String procInsId) {
return null;
}
@Override
public ResultBean findReturnTaskList(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean taskReturn(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean taskReject(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean revokeProcess(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean breakProcess(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId, String deployId) {
return null;
}
@Override
public ResultBean businessFlowRecord(String procInsId) {
return null;
}
@Override
public ResultBean deleteProcess(String procInsId) {
return null;
}
@Override
public ResultBean getNextTasks(String procInsId) {
return null;
}
@Override
public ResultBean getLatestTasks(String procId) {
return null;
}
@Override
public ResultBean< List<FlowElement> > getProcessCirculationNodes(String procId, String modelId,
String k, String v, String outcome) {
return null;
}
@Override
public ResultBean getProcessCirculationNodesByMap(BusinessVariables bv) {
return null;
}
@Override
public ResultBean readXml(String deployId) {
return null;
}
@Override
public ResultBean getNextNodesForSubmit(BusinessVariables bv) {
return null;
}
@Override
public ResultBean getPreviousNodesForReject(BusinessVariables bv) {
return null;
}
}

23
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
/**
* @author dimengzhe
* @date 2021/8/20 13:53
* @description
*/
public class FlowTaskQuery implements Query {
private static final long serialVersionUID = -7395299971899690002L;
@ApiModelProperty(value = "用户sid", required = true)
private String userSid;
public String getUserSid() {
return userSid;
}
public void setUserSid(String userSid) {
this.userSid = userSid;
}
}

46
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQueryOne.java

@ -0,0 +1,46 @@
package com.yxt.anrui.flowable.api.flowtask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/9/2 15:41
* @description
*/
@Data
@ApiModel("工作流任务相关--请求参数")
public class FlowTaskQueryOne {
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("任务意见")
private String comment;
@ApiModelProperty("流程实例Id")
private String instanceId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values=new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers;
@ApiModelProperty("审批组")
private List<String> candidateGroups;
}

53
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskVo.java

@ -0,0 +1,53 @@
package com.yxt.anrui.flowable.api.flowtask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>流程任务<p>
*
* @author XuanXuan
* @date 2021-04-03
*/
@ApiModel("工作流任务相关--请求参数")
@Data
public class FlowTaskVo {
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("用户Sid")
private String userSid;
@ApiModelProperty("任务意见")
private String comment;
@ApiModelProperty("流程实例Id")
private String instanceId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values=new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers;
@ApiModelProperty("审批组")
private List<String> candidateGroups;
}

26
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowViewerDto.java

@ -0,0 +1,26 @@
package com.yxt.anrui.flowable.api.flowtask;
import java.io.Serializable;
/**
* @author Xuan xuan
* @date 2021/4/21 20:55
*/
public class FlowViewerDto implements Serializable {
private String key;
private boolean completed;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public boolean isCompleted() {
return completed;
}
public void setCompleted(boolean completed) {
this.completed = completed;
}
}

34
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/LatestTaskVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description
* @Author liuguohui
* @Date 2022/1/11
*/
@ApiModel("最近环节")
@Data
public class LatestTaskVo implements Vo {
@ApiModelProperty(value = "name_")
private String name_;
@ApiModelProperty(value = "task_def_key_")
private String task_def_key_;
@ApiModelProperty(value = "id_")
private String id_;
@ApiModelProperty(value = "name_")
private String ASSIGNEE_;
@ApiModelProperty(value = "orgPath")
private String orgPath;
@ApiModelProperty(value = "incomingSourceRef")
private String incomingSourceRef;
}

34
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQuery.java

@ -0,0 +1,34 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/8/6 10:50
* @description
*/
@Data
public class TaskQuery implements Query {
private static final long serialVersionUID = -6335769975925521118L;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "表单名称")
private String formName;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "业务系统的sid")
private String businessKey;
@ApiModelProperty(value = "待办人")
private String assignee;
@ApiModelProperty(value = "流程实例id")
private String processInstanceId;
@ApiModelProperty(value = "审批状态")
private Integer flowStatus;
@ApiModelProperty(value = "节点名称")
private String taskName;
}

111
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQueryParamsVo.java

@ -0,0 +1,111 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.yxt.anrui.flowable.api.utils.ORDERBY;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* QueryParamsVo
*
* @author bruce.liu
* @date 2021/04/22 15:03
*/
@Data
@ApiModel(value = "TaskQueryParamsVo", description = "查询任务实例的参数")
public class TaskQueryParamsVo implements Serializable {
//用户的工号
@ApiModelProperty(
value = "用户的工号",
example = "00004737"
)
private String userCode;
//系统标识
@ApiModelProperty(
value = "系统标识",
example = "flow"
)
private String appSn;
//系统标识
@ApiModelProperty(
value = "系统标识列表",
example = "flow itp"
)
private List<String> appSns;
//表单名称
@ApiModelProperty(
value = "表单名称",
example = "费用报销"
)
private String formName;
//开始时间
@ApiModelProperty(
value = "开始时间",
example = "2020-08-05 08:12:41"
)
private String startTime;
//结束时间
@ApiModelProperty(
value = "结束时间",
example = "2020-08-05 08:12:41"
)
private String endTime;
//业务系统的id
@ApiModelProperty(
value = "业务主键",
example = "1234656"
)
private String businessKey;
//待办人
@ApiModelProperty(
value = "待办人",
example = "00004737"
)
private String assignee;
//排序字段 1 升序 0 降序
@ApiModelProperty(
value = "排序字段 1 升序 0 降序",
example = "0"
)
private Integer orderFlag = 0;
//流程实例ID
@ApiModelProperty(
value = "流程实例ID",
example = "sfsafsfasfasfhkshdfwiey"
)
private String processInstanceId;
//模型key
@ApiModelProperty(
value = "流程模型key",
example = "modelKey"
)
private String modelKey;
//流程状态 1 审批中,2结束
@ApiModelProperty(
value = "流程状态 1 审批中,2结束",
example = "1"
)
private Integer flowStatus;
@ApiModelProperty(
value = "查询关键字",
example = "财务"
)
private String keyword;
@ApiModelProperty(
value = "节点名称",
example = "部门经理"
)
//节点名称
private String taskName;
/**
* 排序 key字段 value 是规则
*/
@ApiModelProperty(
value = "排序 key:字段 value 是规则"
)
private Map<String, ORDERBY> orderbyMap;
}

31
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.flowable.api.flowtask;
public class TaskUserInfo {
private String assigneeName;
private String assigneeHeadImage;
private String assigneeSid;
public String getAssigneeSid() {
return assigneeSid;
}
public void setAssigneeSid(String assigneeSid) {
this.assigneeSid = assigneeSid;
}
public String getAssigneeName() {
return assigneeName;
}
public void setAssigneeName(String assigneeName) {
this.assigneeName = assigneeName;
}
public String getAssigneeHeadImage() {
return assigneeHeadImage;
}
public void setAssigneeHeadImage(String assigneeHeadImage) {
this.assigneeHeadImage = assigneeHeadImage;
}
}

81
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskVo.java

@ -0,0 +1,81 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author dimengzhe
* @date 2021/8/6 10:29
* @description 待办工作返回参数
*/
@Data
@ApiModel("工作流任务相关-返回参数")
public class TaskVo implements Vo {
private static final long serialVersionUID = 6590730229583603323L;
@ApiModelProperty(value = "任务编号")
private String taskId;
@ApiModelProperty(value = "任务名称")
private String taskName;
@ApiModelProperty(value = "任务定义key")
private String taskDefKey;
@ApiModelProperty(value = "任务执行人sid")
private String assigneeSid;
@ApiModelProperty(value = "任务执行人名称")
private String assigneeName;
@ApiModelProperty("流程发起人sId")
private String startUserSid;
@ApiModelProperty("流程发起人姓名")
private String startName;
@ApiModelProperty("流程类型")
private String category;
@ApiModelProperty("流程变量信息")
private Object procVars;
@ApiModelProperty("局部变量信息")
private Object taskLocalVars;
@ApiModelProperty("流程部署编号")
private String deployId;
@ApiModelProperty("流程ID")
private String procDefId;
@ApiModelProperty("流程key")
private String procDefKey;
@ApiModelProperty("流程定义名称")
private String procDefName;
@ApiModelProperty("流程定义内置使用版本")
private int procDefVersion;
@ApiModelProperty("流程实例ID")
private String procInsId;
@ApiModelProperty("历史流程实例ID")
private String hisProcInsId;
@ApiModelProperty("任务耗时")
private String duration;
@ApiModelProperty("候选执行人")
private String candidate;
@ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("任务完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date finishTime;
}

68
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java

@ -0,0 +1,68 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessComment.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessComment <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment", description = "process_comment")
@TableName("process_comment")
public class ProcessComment extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

69
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentVo.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo <br/>
* Description: process_comment 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 视图数据详情", description = "process_comment 视图数据详情")
public class ProcessCommentDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

69
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentDto.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentDto <br/>
* Description: process_comment 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 数据传输对象", description = "process_comment 数据传输对象")
public class ProcessCommentDto implements Dto {
private String sid; // sid
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

81
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java

@ -0,0 +1,81 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentFeign.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentFeign <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@FeignClient(
contextId = "processcomment-ProcessComment",
name = "anrui-flowable",
path = "v1/processcomment",
fallback = ProcessCommentFeignFallback.class)
public interface ProcessCommentFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<ProcessCommentVo>> listPage(@RequestBody PagerQuery<ProcessCommentQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody ProcessCommentDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<ProcessCommentDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("根据流程实列的id获取流程相关的评论")
@GetMapping("/getCommentList/{processId}")
@ResponseBody
ResultBean<List<ProcessCommentVo>> getCommentList(@PathVariable("processId")String processId);
}

77
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentFeignFallback.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentFeignFallback <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class ProcessCommentFeignFallback implements ProcessCommentFeign {
@Override
public ResultBean<PagerVo<ProcessCommentVo>> listPage(PagerQuery<ProcessCommentQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口processcomment/processcomment/listPage无法访问");
}
@Override
public ResultBean save(ProcessCommentDto dto){
return ResultBean.fireFail().setMsg("接口processcomment/processcomment/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口processcomment/processcomment/delBySids无法访问");
}
@Override
public ResultBean<ProcessCommentDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口processcomment/processcomment/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<List<ProcessCommentVo>> getCommentList(String processId) {
return null;
}
}

67
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java

@ -0,0 +1,67 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentQuery.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentQuery <br/>
* Description: process_comment 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 查询条件", description = "process_comment 查询条件")
public class ProcessCommentQuery implements Query {
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

72
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.anrui.flowable.api.flowtask.AppUserVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentVo.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo <br/>
* Description: process_comment 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 视图数据对象", description = "process_comment 视图数据对象")
public class ProcessCommentVo implements Vo {
private String sid; // sid
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
@ApiModelProperty("taskUserInfo")
private AppUserVo taskUserInfo; // AppUserVo
}

26
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysdeployform/SysDeployForm.java

@ -0,0 +1,26 @@
package com.yxt.anrui.flowable.api.sysdeployform;
import com.yxt.anrui.flowable.api.utils.Excel;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 流程实例关联表单对象 sys_instance_form
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@Data
public class SysDeployForm extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 表单主键 */
@Excel(name = "表单主键")
private Long formId;
/** 流程定义主键 */
@Excel(name = "流程定义主键")
private String deployId;
}

35
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysForm.java

@ -0,0 +1,35 @@
package com.yxt.anrui.flowable.api.sysform;
import com.yxt.anrui.flowable.api.utils.Excel;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* 流程表单对象 sys_task_form
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@ApiModel(value = "流程表单对象", description = "流程表单对象")
@Data
public class SysForm extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 表单id
*/
private String formId;
/**
* 表单名称
*/
@Excel(name = "表单名称")
private String formName;
/**
* 表单内容
*/
@Excel(name = "表单内容")
private String formContent;
}

60
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeign.java

@ -0,0 +1,60 @@
package com.yxt.anrui.flowable.api.sysform;
import com.yxt.anrui.flowable.api.sysdeployform.SysDeployForm;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@FeignClient(
contextId = "anrui-flowable-SysFormFeign",
name = "anrui-flowable",
path = "v1/flowable/form",
fallback = SysFormFeignFallBack.class)
public interface SysFormFeign {
/**
* 查询流程表单列表
*/
@PostMapping("/list")
@ResponseBody
public ResultBean<PagerVo<SysFormVo>> list( @RequestBody PagerQuery<SysFormQuery> pq) ;
/**
* 导出流程表单列表
*/
@GetMapping("/export")
public ResultBean<String> export(SysForm sysForm) ;
/**
* 获取流程表单详细信息
*/
@GetMapping(value = "/{formId}")
@ResponseBody
public String getInfo(@PathVariable("formId") Long formId);
/**
* 新增流程表单
*/
@PostMapping(value="/add")
@ResponseBody
public ResultBean<String> add(@RequestBody SysForm sysForm) ;
/**
* 修改流程表单
*/
@PutMapping
public ResultBean<String> edit(@RequestBody SysForm sysForm);
/**
* 删除流程表单
*/
@DeleteMapping("/{formIds}")
public ResultBean<String> remove(@PathVariable Long[] formIds);
/**
* 挂载流程表单
*/
@PostMapping("/addDeployForm")
public ResultBean<String> addDeployForm(@RequestBody SysDeployForm sysDeployForm);
}

51
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeignFallBack.java

@ -0,0 +1,51 @@
package com.yxt.anrui.flowable.api.sysform;
import com.yxt.anrui.flowable.api.sysdeployform.SysDeployForm;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
/**
* @author dimengzhe
* @date 2021/8/20 15:43
* @description
*/
@Component
public class SysFormFeignFallBack implements SysFormFeign {
@Override
public ResultBean<PagerVo<SysFormVo>> list(PagerQuery<SysFormQuery> pq) {
return null;
}
@Override
public ResultBean<String> export(SysForm sysForm) {
return null;
}
@Override
public String getInfo(Long formId) {
return null;
}
@Override
public ResultBean<String> add(SysForm sysForm) {
return null;
}
@Override
public ResultBean<String> edit(SysForm sysForm) {
return null;
}
@Override
public ResultBean<String> remove(Long[] formIds) {
return null;
}
@Override
public ResultBean<String> addDeployForm(SysDeployForm sysDeployForm) {
return null;
}
}

27
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormQuery.java

@ -0,0 +1,27 @@
package com.yxt.anrui.flowable.api.sysform;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* 流程表单对象 sys_task_form
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@Data
public class SysFormQuery implements Query {
private static final long serialVersionUID = -7125349257031748592L;
/**
* 表单名称
*/
private String formName;
/**
* 表单内容
*/
private String formContent;
}

25
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.flowable.api.sysform;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* 流程表单对象 sys_task_form
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@Data
@ApiModel("流程表单对象")
public class SysFormVo implements Vo {
private static final long serialVersionUID = -3846821999540647493L;
/**
* 表单主键
*/
private Integer formId;
private String formName;
private String formContent;
}

27
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysTaskForm.java

@ -0,0 +1,27 @@
package com.yxt.anrui.flowable.api.sysform;
import com.yxt.anrui.flowable.api.utils.Excel;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 流程任务关联单对象 sys_task_form
*
* @author XuanXuan Xuan
* @date 2021-04-03
*/
@Data
public class SysTaskForm extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 表单主键 */
@Excel(name = "表单主键")
private Long formId;
/** 所属任务 */
@Excel(name = "所属任务")
private String taskId;
}

46
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLink.java

@ -0,0 +1,46 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-flowable(流程引擎) <br/>
* File: SysFormLink.java <br/>
* Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLink <br/>
* Description: 流程业务关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-15 16:55:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "流程业务关联表", description = "流程业务关联表")
@TableName("sys_form_link")
@Data
public class SysFormLink extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("节点id")
private String taskDefKey;
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("状态判断:0未提交,1办理中, 2已办结, -1退回到发起人,-2终止")
private Integer flowState;
@ApiModelProperty("业务类型(见SysFormLinkTypeEnum枚举类)")
private String formType;
}

50
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkDto.java

@ -0,0 +1,50 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* Project: anrui-flowable(流程引擎) <br/>
* File: SysFormLinkDto.java <br/>
* Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto <br/>
* Description: 流程业务关联表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-15 16:55:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "流程业务关联表 数据传输对象", description = "流程业务关联表 数据传输对象")
@Data
public class SysFormLinkDto implements Dto {
@ApiModelProperty("业务sid")
@NotBlank(message = "业务sid不能为空")
private String businessSid;
@ApiModelProperty("流程实例id")
@NotBlank(message = "流程实例不能为空")
private String procInsId;
@ApiModelProperty("节点id")
private String taskDefKey;
@ApiModelProperty("节点状态")
@NotBlank(message = "节点状态不能为空")
private String nodeState;
@ApiModelProperty("状态判断:0未提交,1办理中, 2已办结, -1退回到发起人,-2终止")
private Integer flowState;
@ApiModelProperty("业务类型")
@NotBlank(message = "业务类型")
private String formType;
}

48
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeign.java

@ -0,0 +1,48 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Map;
/**
* Project: anrui-flowable(流程引擎) <br/>
* File: SysFormLinkFeign.java <br/>
* Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign <br/>
* Description: 流程业务关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-15 16:55:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "流程业务关联表")
@FeignClient(
contextId = "anrui-flowable-SysFormLink",
name = "anrui-flowable",
path = "v1/sysformlink",
fallback = SysFormLinkFeignFallback.class)
public interface SysFormLinkFeign {
@ApiOperation("保存流程业务关联表(任务发起时)")
@PostMapping("/save")
ResultBean save(@Valid @RequestBody SysFormLinkDto dto);
@ApiOperation("根据业务sid查询节点状态")
@GetMapping("/selectStateByBusinessSid/{business}")
ResultBean<SysFormStateVo> selectStateByBusinessSid(@PathVariable("business") String business);
@ApiOperation("更新关联表节点状态属性")
@PostMapping("/updateFiled")
ResultBean updateFiled(@RequestBody Map<String, Object> map);
@ApiOperation("更新关联表节点状态属性")
@PostMapping("/selectByBusinessSid/{sid}")
ResultBean selectByBusinessSid(@PathVariable("sid") String sid);
}

43
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeignFallback.java

@ -0,0 +1,43 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* Project: anrui-flowable(流程引擎) <br/>
* File: SysFormLinkFeignFallback.java <br/>
* Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeignFallback <br/>
* Description: 流程业务关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-15 16:55:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class SysFormLinkFeignFallback implements SysFormLinkFeign {
@Override
public ResultBean save(SysFormLinkDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-flowable/sysformlink/save无法访问");
}
@Override
public ResultBean selectStateByBusinessSid(String business) {
return ResultBean.fireFail().setMsg("接口anrui-flowable/sysformlink/selectStateByBusinessSid无法访问");
}
@Override
public ResultBean updateFiled(Map<String, Object> map) {
return ResultBean.fireFail().setMsg("接口anrui-flowable/sysformlink/updateFiled无法访问");
}
@Override
public ResultBean selectByBusinessSid(String sid) {
return ResultBean.fireFail().setMsg("接口anrui-flowable/sysformlink/selectBySid无法访问");
}
}

46
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFlowStateEnum.java

@ -0,0 +1,46 @@
package com.yxt.anrui.flowable.api.sysformlink;
/**
* @author liuguohui
* @version 1.0
* @Description: 流程状态枚举类
* @date 2022/03/15
*/
public enum SysFormLinkFlowStateEnum {
/* UNCOMMITTED("0", "待提交"),
PROCESSING("1", "办理中"),
FINISH("2", "已办结"),
REJECT("-1", "退回到发起人"),
BREAK("-2", "已终止")*/
/* START("0", "发起(重新发起)"),
AGREE("1", "同意"),
REJECT("2", "驳回"),
WITHDRAW("3", "撤回"),
STOP("4", "终止"),
SETTLE("5", "办结")*/
;
// 发起(重新发起)、同意、驳回、撤回、终止
/**
* 流程类型名称
*/
private final String code;
/**
* 流程代号
*/
private final String state;
SysFormLinkFlowStateEnum(String code, String state) {
this.code = code;
this.state = state;
}
public String getCode() {
return code;
}
public String getState() {
return state;
}
}

41
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkQuery.java

@ -0,0 +1,41 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-flowable(流程引擎) <br/>
* File: SysFormLinkQuery.java <br/>
* Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkQuery <br/>
* Description: 流程业务关联表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-15 16:55:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "流程业务关联表 查询条件", description = "流程业务关联表 查询条件")
@Data
public class SysFormLinkQuery implements Query {
@ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("状态判断:0未提交,1办理中, 2已办结, -1退回到发起人,-2终止")
private Integer flowState;
@ApiModelProperty("业务类型(见SysFormLinkTypeEnum枚举类)")
private String formType;
}

40
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkTypeEnum.java

@ -0,0 +1,40 @@
package com.yxt.anrui.flowable.api.sysformlink;
/**
* @author liuguohui
* @version 1.0
* @Description: 流程业务关联表 类型枚举类
* @date 2022/03/14
*/
public enum SysFormLinkTypeEnum {
ORDER_DEPOSIT_VEHICLE("0001", "虚拟订单审批"),
CAR_SALE_CONTRACT("0002", "新车买卖合同审核"),
ADVANCE_GINVOICEAPPLY("0003", "提前开票审批"),
VEHICLE_APPLY("0004", "排产申请审批"),
BASE_OUTSOURCING_APPLICATION("0005", "外采申请审批"),
;
/**
* 类型代号
*/
private final String code;
/**
* 类型名称
*/
private final String type;
SysFormLinkTypeEnum(String code, String type) {
this.code = code;
this.type = type;
}
public String getCode() {
return code;
}
public String getType() {
return type;
}
}

44
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkVo.java

@ -0,0 +1,44 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-flowable(流程引擎) <br/>
* File: SysFormLinkVo.java <br/>
* Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkVo <br/>
* Description: 流程业务关联表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-15 16:55:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "流程业务关联表 视图数据对象", description = "流程业务关联表 视图数据对象")
@Data
public class SysFormLinkVo implements Vo {
@ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("节点id")
private String taskDefKey;
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("状态判断:0未提交,1办理中, 2已办结, -1退回到发起人,-2终止")
private Integer flowState;
@ApiModelProperty("业务类型(见SysFormLinkTypeEnum枚举类)")
private String formType;
}

23
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormStateVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.flowable.api.sysformlink;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/03/15
*/
@ApiModel("流程状态")
@Data
public class SysFormStateVo implements Vo {
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("状态判断:0未提交,1办理中, 2已办结, -1退回到发起人,-2终止")
private Integer flowState;
}

27
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppSysProUrlQuery.java

@ -0,0 +1,27 @@
package com.yxt.anrui.flowable.api.sysprourl;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/03/18
*/
@Data
public class AppSysProUrlQuery extends SysProUrlQuery{
@NotBlank(message = "业务sid不能为空")
private String businessSid;
@NotBlank(message = "任务id不能为空")
private String taskId;
@NotBlank(message = "流程部署编号不能为空")
private String deployId;
@NotBlank(message = "流程实例id不能为空")
private String procInsId;
}

41
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppUrlVo.java

@ -0,0 +1,41 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/03/18
*/
@ApiModel("app端待办、已办返回url")
@Data
public class AppUrlVo implements Vo {
@ApiModelProperty(name = "app路径")
private String path;
@ApiModelProperty(name = "插件名称")
private String modulePluginName;
@ApiModelProperty(name = "插件版本")
private Integer moduleVersion;
@ApiModelProperty(name = "msgSid")
private String msgSid;
@ApiModelProperty(name = "json 串(procInsId,businessSid,deployId,taskId)")
private String json;
@ApiModelProperty(name = "类型,0.内置Activity 1.内置WebView 2.RePlugin插件")
private String type;
@ApiModelProperty(name = "跳转实体类路径")
private String moduleAction;
@ApiModelProperty(name = "moduleSid")
private String moduleSid;
}

20
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/PcUrlVo.java

@ -0,0 +1,20 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/03/18
*/
@ApiModel("pc端待办、已办返回url")
@Data
public class PcUrlVo implements Vo {
@ApiModelProperty(name = "url")
private String url;
}

65
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrl.java

@ -0,0 +1,65 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 流程表单对象 Sys_Pro_Url
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@ApiModel(value = "流程业务表单url对象", description = "流程业务表单url对象")
@Data
public class SysProUrl extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* url
*/
@ApiModelProperty(name = "url")
private String url;
/**
* 类型办理或者详情
*/
@ApiModelProperty(name = "类型办理或者详情")
private String type;
/**
* 终端pc/mobile
*/
@ApiModelProperty(name = "终端:pc/mobile")
private String terminal;
/**
* 表单id
*/
@ApiModelProperty(name = "表单id")
private String formId;
/**
* 名称
*/
@ApiModelProperty(name = "名称")
private String title;
/**
* 流程定义id
*/
@ApiModelProperty(name = "流程定义id")
private String proc_def_id;
/**
* 节点
*/
@ApiModelProperty(name = "节点id")
private String taskDefKey;
/**
* app插件名称模块名称
*/
private String modulePluginName;
@ApiModelProperty(value = "环节名称")
private String taskName;
}

62
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlDto.java

@ -0,0 +1,62 @@
package com.yxt.anrui.flowable.api.sysprourl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>流程业务表单url对象<p>
*/
@ApiModel("流程业务表单url对象")
@Data
public class SysProUrlDto implements Serializable {
private static final long serialVersionUID = -2191041848170198498L;
@ApiModelProperty(value = "sid")
private String sid;
/**
* url
*/
@ApiModelProperty(value = "办理或详情的url")
private String url;
/**
* 类型办理或者详情
*/
@ApiModelProperty(value = "办理:1,详情2")
private String type;
/**
* 终端pc/mobile
*/
@ApiModelProperty(value = "pc端:1,移动端2")
private String terminal;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String title;
/**
* 流程定义id
*/
@ApiModelProperty(value = "流程定义id")
private String proc_def_id;
/**
* 节点
*/
@ApiModelProperty(value = "节点id")
private String taskDefKey;
/**
* app插件名称模块名称
*/
@ApiModelProperty(value = "app版本sid#类型(1框架2插件)")
private String modulePluginName;
@ApiModelProperty(value = "环节名称")
private String taskName;
}

89
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java

@ -0,0 +1,89 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@FeignClient(
contextId = "anrui-flowable-SysProUrlFeign",
name = "anrui-flowable",
path = "v1/flowable/proUrl",
fallback = SysProUrlFeignFallBack.class)
public interface SysProUrlFeign {
/**
* 查询流程业务表单url对
*/
@PostMapping("/list")
public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq);
/**
* 获取流程业务表单url对象
*/
@GetMapping(value = "/getSysProUrl/{formId}")
public ResultBean getSysProUrl(@PathVariable("formId") int formId);
/**
* 根据流程实例id获取form信息
*/
@GetMapping(value = "/getForm/{proId}")
public ResultBean getForm(@PathVariable("proId") String proId);
/**
* 新增流程业务表单url对象
*/
@PostMapping(value = "/add")
public ResultBean<String> add(@SpringQueryMap SysProUrlDto dto);
/**
* 删除流程业务表单url对象
*/
@DeleteMapping("/{formIds}")
public ResultBean<String> remove(@PathVariable("formIds") Long[] formIds);
@ApiOperation("pc根据流程定义id,节点id,终端及类型查询流程与业务表单url")
@PostMapping("/selectPcUrlByTaskDefKey")
ResultBean<PcUrlVo> selectPcUrlByTaskDefKey(@Valid @RequestBody SysProUrlQuery query);
@ApiOperation("app根据流程定义id,节点id,终端及类型查询流程与业务表单url")
@PostMapping("/selectAppUrlByTaskDefKey")
ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(@Valid @RequestBody AppSysProUrlQuery query);
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程定义id
* @param taskDefKey 节点id
* @param type 类型1办理2详情
* @return
*/
@ApiOperation("查询流程与业务表单的url")
@GetMapping("/selectUrlByKey")
ResultBean<List<SysProUrlVo>> selectUrlByKey(@ApiParam(value = "流程定义id") @RequestParam(value = "procDefId") String procDefId,
@ApiParam(value = "节点id") @RequestParam(value = "taskDefKey") String taskDefKey,
@ApiParam(value = "类型:1办理,2详情") @RequestParam(value = "type") String type);
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程定义id
* @param taskDefKey 节点id
* @param type 类型1办理2详情
* @return
*/
@ApiOperation("查询流程与业务表单的url")
@GetMapping("/selectUrlByKeyWithTerminal")
ResultBean<SysProUrlVo> selectUrlByKey(@ApiParam(value = "流程定义id") @RequestParam(value = "procDefId") String procDefId,
@ApiParam(value = "节点id") @RequestParam(value = "taskDefKey") String taskDefKey,
@ApiParam(value = "类型:1办理,2详情") @RequestParam(value = "type") String type
,@ApiParam(value = "终端:1pc,2移动") @RequestParam(value = "terminal") String terminal);
}

62
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java

@ -0,0 +1,62 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author dimengzhe
* @date 2021/8/20 15:43
* @description
*/
@Component
public class SysProUrlFeignFallBack implements SysProUrlFeign {
@Override
public ResultBean<PagerVo<SysProUrlVo>> list(PagerQuery<SysProUrlQuery> pq) {
return null;
}
@Override
public ResultBean getSysProUrl(int formSid) {
return null;
}
@Override
public ResultBean getForm(String proId) {
return null;
}
@Override
public ResultBean<String> add(SysProUrlDto dto) {
return null;
}
@Override
public ResultBean<String> remove(Long[] formIds) {
return null;
}
@Override
public ResultBean<PcUrlVo> selectPcUrlByTaskDefKey(SysProUrlQuery query) {
return null;
}
@Override
public ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(AppSysProUrlQuery query) {
return null;
}
@Override
public ResultBean<List<SysProUrlVo>> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return null;
}
@Override
public ResultBean<SysProUrlVo> selectUrlByKey(String procDefId, String taskDefKey, String type,String terminal) {
return null;
}
}

60
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlQuery.java

@ -0,0 +1,60 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 流程表单对象 sys_task_form
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@Data
public class SysProUrlQuery implements Query {
/**
* 表单主键
*/
private String url;
/**
* 类型办理或者详情
*/
@NotBlank(message = "类型不能为空")
private String type;
/**
* 终端pc/mobile
*/
private String terminal;
/**
* 表单id
*/
private String formId;
/**
* 名称
*/
private String title;
/**
* 流程定义id
*/
@ApiModelProperty(name = "流程定义id")
@NotBlank(message = "流程定义id不能为空")
private String proc_def_id;
/**
* 节点
*/
@ApiModelProperty(name = "节点id")
@NotBlank(message = "节点id不能为空")
private String taskDefKey;
/**
* app插件名称模块名称
*/
private String modulePluginName;
}

54
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlVo.java

@ -0,0 +1,54 @@
package com.yxt.anrui.flowable.api.sysprourl;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* 流程业务表单url对象 SysProUrl
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@Data
@ApiModel("流程业务表单url对象")
public class SysProUrlVo implements Vo {
/**
* 表单主键
*/
private String url;
/**
* 类型办理或者详情
*/
private String type;
/**
* 终端pc/mobile
*/
private String terminal;
/**
* 表单id
*/
private String formId;
/**
* 名称
*/
private String title;
/**
* 流程定义id
*/
private String proc_def_id;
/**
* 节点id
*/
private String taskDefKey;
/**
* app插件名称模块名称
*/
private String modulePluginName;
}

88
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/CharsetKit.java

@ -0,0 +1,88 @@
package com.yxt.anrui.flowable.api.utils;
import com.yxt.common.base.utils.StringUtils;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
/**
* 字符集工具类
*
* @author ruoyi
*/
public class CharsetKit
{
/** ISO-8859-1 */
public static final String ISO_8859_1 = "ISO-8859-1";
/** UTF-8 */
public static final String UTF_8 = "UTF-8";
/** GBK */
public static final String GBK = "GBK";
/** ISO-8859-1 */
public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1);
/** UTF-8 */
public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8);
/** GBK */
public static final Charset CHARSET_GBK = Charset.forName(GBK);
/**
* 转换为Charset对象
*
* @param charset 字符集为空则返回默认字符集
* @return Charset
*/
public static Charset charset(String charset)
{
return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset);
}
/**
* 转换字符串的字符集编码
*
* @param source 字符串
* @param srcCharset 源字符集默认ISO-8859-1
* @param destCharset 目标字符集默认UTF-8
* @return 转换后的字符集
*/
public static String convert(String source, String srcCharset, String destCharset)
{
return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset));
}
/**
* 转换字符串的字符集编码
*
* @param source 字符串
* @param srcCharset 源字符集默认ISO-8859-1
* @param destCharset 目标字符集默认UTF-8
* @return 转换后的字符集
*/
public static String convert(String source, Charset srcCharset, Charset destCharset)
{
if (null == srcCharset)
{
srcCharset = StandardCharsets.ISO_8859_1;
}
if (null == destCharset)
{
destCharset = StandardCharsets.UTF_8;
}
if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset))
{
return source;
}
return new String(source.getBytes(srcCharset), destCharset);
}
/**
* @return 系统字符集编码
*/
public static String systemCharset()
{
return Charset.defaultCharset().name();
}
}

1006
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Convert.java

File diff suppressed because it is too large

165
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Excel.java

@ -0,0 +1,165 @@
package com.yxt.anrui.flowable.api.utils;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;
/**
* 自定义导出Excel数据注解
*
* @author ruoyi
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Excel
{
/**
* 导出时在excel中排序
*/
public int sort() default Integer.MAX_VALUE;
/**
* 导出到Excel中的名字.
*/
public String name() default "";
/**
* 日期格式, : yyyy-MM-dd
*/
public String dateFormat() default "";
/**
* 如果是字典类型请设置字典的type值 (: sys_user_sex)
*/
public String dictType() default "";
/**
* 读取内容转表达式 (: 0=,1=,2=未知)
*/
public String readConverterExp() default "";
/**
* 分隔符读取字符串组内容
*/
public String separator() default ",";
/**
* BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
*/
public int scale() default -1;
/**
* BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
*/
public int roundingMode() default BigDecimal.ROUND_HALF_EVEN;
/**
* 导出类型0数字 1字符串
*/
public ColumnType cellType() default ColumnType.STRING;
/**
* 导出时在excel中每个列的高度 单位为字符
*/
public double height() default 14;
/**
* 导出时在excel中每个列的宽 单位为字符
*/
public double width() default 16;
/**
* 文字后缀,% 90 变成90%
*/
public String suffix() default "";
/**
* 当值为空时,字段的默认值
*/
public String defaultValue() default "";
/**
* 提示信息
*/
public String prompt() default "";
/**
* 设置只能选择不能输入的列内容.
*/
public String[] combo() default {};
/**
* 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
*/
public boolean isExport() default true;
/**
* 另一个类中的属性名称,支持多级获取,以小数点隔开
*/
public String targetAttr() default "";
/**
* 是否自动统计数据,在最后追加一行统计数据总和
*/
public boolean isStatistics() default false;
/**
* 导出字段对齐方式0默认1靠左2居中3靠右
*/
Align align() default Align.AUTO;
public enum Align
{
AUTO(0), LEFT(1), CENTER(2), RIGHT(3);
private final int value;
Align(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
/**
* 字段类型0导出导入1仅导出2仅导入
*/
Type type() default Type.ALL;
public enum Type
{
ALL(0), EXPORT(1), IMPORT(2);
private final int value;
Type(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
public enum ColumnType
{
NUMERIC(0), STRING(1), IMAGE(2);
private final int value;
ColumnType(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
}

14
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ORDERBY.java

@ -0,0 +1,14 @@
package com.yxt.anrui.flowable.api.utils;
/**
* @author bruce.liu
* @Description 排序的enum
* @time 2021年4月16日
*/
public enum ORDERBY {
DESC, ASC;
public ORDERBY reverse() {
return (this == ASC) ? DESC : ASC;
}
}

103
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -0,0 +1,103 @@
package com.yxt.anrui.flowable.api.utils;
/**
* 流程定义流程名称与代号枚举类
*/
public enum ProcDefEnum {
/***************************正式流程id***********************************/
ORDERDEPOSITAPPROVE("简易订单-订金收取", "process_pkyns85b:4:575004"),
ORDERDEPOSITVEHICLEAPPROVE("简易订单-车辆预定", "process_pkyns85b:5:575008"),
ORDERAPPROVE("订单审批", "order_approve_96asleqi:1:227504"),
SALESPOLICY("销售政策审批流程", "process_biw9gfh7:2:727504"),//TODO:正式新2022-11-25
FINBILLAPPLICATION("开票申请流程", "process_t5ksueur:1:252833"),
BUSCENTERADVANCEGINVOICEAPPLY("提前开票申请流程", "advance_ginvoiceapply:1:242664"),
ARREARSCARRYVEHICLE("欠款提车审批流程", "process_8ax1xxn3:1:795004"),
VEHICLEAPPLY("排产申请流程", "process_9egcg169:12:735004"),//TODO:正式新2022-11-25
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:8:725008"), //TODO:正式新2022-11-25
BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:8:725012"),//ToDo:正式新2022-11-25
FINCOSTAPPLY("费用申请", "process_u0pahv0s:6:725016"),//ToDo:正式新2022-11-25
FINPAYAPPLY("付款申请", "process_gin2tntb:4:725020"),//ToDo:正式新2022-11-25
RECORDAPPLICATION("入库申请", "process_xbwq2c7p:3:675024"),//TODO
SCMVEHICLERETURN("采购退库", "process_md8aeoap:2:722508"),//ToDo:正式新2022-11-25
SEALAPPLY("盖章申请", "process_7h0z66tp:1:240064"),
SALESORDER("销售订单审批流程", "process_p5ils2rn:7:827504"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:5:722504"),//ToDo:正式新2022-11-25
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:7:722512"),//ToDo:正式新2022-11-25
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:3:722516"),//ToDo:正式新2022-11-25
BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:2:722520"), //ToDo:正式新2022-11-25
BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:3:770004"),
BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:1:535004"),
SCMVEHREBATECHECKAPPLY("单车返利核对申请", "process_3xtbbru8:1:560004"),
SCMSPECIALREBATEWITHAPPLY("专项返利预提申请", "process_l0yxpgs2:1:590004"),
SCMSPECIALREBATECHECKAPPLY("专项返利核对申请", "process_qw22vupn:1:590008"),
SCMSPECIALREBATECHEDISTRIBUTE("专项返利分配申请", "process_h3w1aval:1:615004"),
SCMCOLLECTIONREBATEWITHAPPLY("回款返利预提申请", "process_k4lodiyg:1:630004"),
SCMCOLLECTIONREBATECHECKAPPLY("回款返利核对申请", "process_fgrv1mbv:1:630008"),
CONTRACTAPPLY("合同审核", "process_gd8c9xd5:1:545008"),
BASEDISPACKAGEAPPLY("优惠包申请流程", "process_l8i6tqho:1:967504"),
/******************************测试流程id*********************************************/
/*ORDERDEPOSITAPPROVE("简易订单-订金收取", "process_pkyns85b:4:575004"),
ORDERDEPOSITVEHICLEAPPROVE("简易订单-车辆预定", "process_pkyns85b:5:575008"),
ORDERAPPROVE("订单审批", "order_approve_96asleqi:1:227504"),
RECORDAPPLICATION("入库申请", "process_xbwq2c7p:3:675024"),
SEALAPPLY("盖章申请", "process_7h0z66tp:1:240064"),
SALESORDER("销售订单审批流程", "process_p5ils2rn:7:1123496"),
BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:2:357504"),
BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:1:535004"),
SCMVEHREBATECHECKAPPLY("单车返利核对申请", "process_3xtbbru8:1:560004"),
SCMSPECIALREBATEWITHAPPLY("专项返利预提申请", "process_l0yxpgs2:1:590004"),
SCMSPECIALREBATECHECKAPPLY("专项返利核对申请", "process_qw22vupn:1:590008"),
SCMSPECIALREBATECHEDISTRIBUTE("专项返利分配申请", "process_h3w1aval:1:615004"),
SCMCOLLECTIONREBATEWITHAPPLY("回款返利预提申请", "process_k4lodiyg:1:630004"),
SCMCOLLECTIONREBATECHECKAPPLY("回款返利核对申请", "process_fgrv1mbv:1:630008"),
CONTRACTAPPLY("合同审核", "process_gd8c9xd5:1:545008"),
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:8:860004"), //TODO:测试
BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:9:852504"),//ToDo:测试
VEHICLEAPPLY("排产申请流程", "process_9egcg169:12:910004"),//TODO:测试
FINCOSTAPPLY("费用申请","process_u0pahv0s:6:902504"),//ToDo:测试
FINPAYAPPLY("付款申请","process_gin2tntb:4:902508"),//ToDo:测试
ARREARSCARRYVEHICLE("欠款提车审批流程", "process_8ax1xxn3:2:862512"),//测试(新)2022、11、22
BUSCENTERADVANCEGINVOICEAPPLY("提前开票申请流程", "process_zt1gov6e:4:862504"), //测试
FINBILLAPPLICATION("开票申请流程", "process_sndce6s9:2:937504"),//测试(新)2022、11、22
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:5:867504"),//测试外采流程定义id
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:7:867520"),//测试车型调价流程定义id
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:4:892504"),//测试调车流程定义id
BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:2:867516"), //测试调账流程定义id
SCMVEHICLERETURN("采购退库", "process_md8aeoap:2:867508"),//测试采购退库流程定义id
SALESPOLICY("销售政策审批流程", "process_biw9gfh7:2:867524"),//测试销售政策流程定义id
BASEDISPACKAGEAPPLY("优惠包申请流程", "process_l8i6tqho:1:967504"),//测试优惠包申请流程定义id*/
;
ProcDefEnum(String proDefName, String proDefId) {
this.proDefName = proDefName;
this.proDefId = proDefId;
}
/**
* 流程类型名称
*/
private final String proDefName;
/**
* 流程代号
*/
private final String proDefId;
public String getProDefName() {
return proDefName;
}
public String getProDefId() {
return proDefId;
}
}

38
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcessStateEnum.java

@ -0,0 +1,38 @@
package com.yxt.anrui.flowable.api.utils;
/**
* @author 10095
* @version 1.0
* @Description: 流程状态枚举类
* @date 2022/03/01
*/
public enum ProcessStateEnum {
STARTED("审批中", "started"),
FINISHED("已办结", "finished")
;
ProcessStateEnum(String stateName, String stateCode) {
this.stateName = stateName;
this.stateCode = stateCode;
}
/**
* 状态名称
*/
private final String stateName;
/**
* 状态代号
*/
private final String stateCode;
public String getStateName() {
return stateName;
}
public String getStateCode() {
return stateCode;
}
}

19
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/RecordQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.flowable.api.utils;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/8/23 14:18
* @description
*/
@Data
public class RecordQuery implements Query {
private static final long serialVersionUID = 480213691108105877L;
private String procInsId;
private String deployId;
}

137
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ServletUtils.java

@ -0,0 +1,137 @@
package com.yxt.anrui.flowable.api.utils;
import com.yxt.common.base.utils.StringUtils;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
* 客户端工具类
*
* @author ruoyi
*/
public class ServletUtils
{
/**
* 获取String参数
*/
public static String getParameter(String name)
{
return getRequest().getParameter(name);
}
/**
* 获取String参数
*/
public static String getParameter(String name, String defaultValue)
{
return Convert.toStr(getRequest().getParameter(name), defaultValue);
}
/**
* 获取Integer参数
*/
public static Integer getParameterToInt(String name)
{
return Convert.toInt(getRequest().getParameter(name));
}
/**
* 获取Integer参数
*/
public static Integer getParameterToInt(String name, Integer defaultValue)
{
return Convert.toInt(getRequest().getParameter(name), defaultValue);
}
/**
* 获取request
*/
public static HttpServletRequest getRequest()
{
return getRequestAttributes().getRequest();
}
/**
* 获取response
*/
public static HttpServletResponse getResponse()
{
return getRequestAttributes().getResponse();
}
/**
* 获取session
*/
public static HttpSession getSession()
{
return getRequest().getSession();
}
public static ServletRequestAttributes getRequestAttributes()
{
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
return (ServletRequestAttributes) attributes;
}
/**
* 将字符串渲染到客户端
*
* @param response 渲染对象
* @param string 待渲染的字符串
* @return null
*/
public static String renderString(HttpServletResponse response, String string)
{
try
{
response.setStatus(200);
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().print(string);
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
/**
* 是否是Ajax异步请求
*
* @param request
*/
public static boolean isAjaxRequest(HttpServletRequest request)
{
String accept = request.getHeader("accept");
if (accept != null && accept.indexOf("application/json") != -1)
{
return true;
}
String xRequestedWith = request.getHeader("X-Requested-With");
if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1)
{
return true;
}
String uri = request.getRequestURI();
if (StringUtils.inString(uri, ".json", ".xml"))
{
return true;
}
String ajax = request.getParameter("__ajax");
if (StringUtils.inString(ajax, "json", "xml"))
{
return true;
}
return false;
}
}

37
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/SqlUtil.java

@ -0,0 +1,37 @@
package com.yxt.anrui.flowable.api.utils;
import com.yxt.common.base.utils.StringUtils;
/**
* sql操作工具类
*
* @author ruoyi
*/
public class SqlUtil
{
/**
* 仅支持字母数字下划线空格逗号小数点支持多个字段排序
*/
public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+";
/**
* 检查字符防止注入绕过
*/
public static String escapeOrderBySql(String value)
{
if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value))
{
//throw new BaseException("参数不符合规范,不能进行查询");
}
return value;
}
/**
* 验证 order by 语法是否符合规范
*/
public static boolean isValidOrderBySql(String value)
{
return value.matches(SQL_PATTERN);
}
}

43
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/exception/CustomException.java

@ -0,0 +1,43 @@
package com.yxt.anrui.flowable.exception;
/**
* 自定义异常
*
* @author ruoyi
*/
public class CustomException extends RuntimeException
{
private static final long serialVersionUID = 1L;
private Integer code;
private String message;
public CustomException(String message)
{
this.message = message;
}
public CustomException(String message, Integer code)
{
this.message = message;
this.code = code;
}
public CustomException(String message, Throwable e)
{
super(message, e);
this.message = message;
}
@Override
public String getMessage()
{
return message;
}
public Integer getCode()
{
return code;
}
}

35
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskParam.java

@ -0,0 +1,35 @@
package com.yxt.anrui.flowable.sqloperationsymbol;
import lombok.Data;
/**
* task 查询参数
*/
@Data
public class BusinessTaskParam {
public BusinessTaskParam(){}
public BusinessTaskParam(String field, String value) {
this.field = field;
this.sqlOperationSymbol = SQLOperationSymbol.EQUAL;
this.value = value;
}
public BusinessTaskParam(String field, String value, SQLOperationSymbol sqlOperationSymbol) {
this.field = field;
this.sqlOperationSymbol = sqlOperationSymbol;
this.value = value;
}
/**
* 字段
*/
private String field;
/**
* 运算符号
*/
private SQLOperationSymbol sqlOperationSymbol;
/**
*
*/
private String value;
}

28
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskQuery.java

@ -0,0 +1,28 @@
package com.yxt.anrui.flowable.sqloperationsymbol;
import com.yxt.common.core.query.Query;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* task 查询参数 集合
*/
@Data
public class BusinessTaskQuery implements Query {
private List<BusinessTaskParam> fields = new ArrayList<>();
public static BusinessTaskQuery create(){
BusinessTaskQuery bt = new BusinessTaskQuery();
return bt;
}
public BusinessTaskQuery add(BusinessTaskParam param){
if(fields==null){
fields = new ArrayList<>();
}
fields.add(param);
return this;
}
}

67
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java

@ -0,0 +1,67 @@
package com.yxt.anrui.flowable.sqloperationsymbol;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import java.util.HashMap;
import java.util.Map;
/**
* 业务系统调用flowable流程传递参数的格式
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BusinessVariables {
/**
* 分公司sid
*/
public static final String ORGPATH="orgPath";
/**
* 流程定义的id
*/
private String modelId;
/**
* 审批意见
*/
private String comment;
/**
* 流程实例的id
*/
private String instanceId;
/**
* taskId
*/
private String taskId;
/**
* 当前用户的id
*/
private String userSid;
/**
* 当前用户部门的全路径
*/
private String orgSidPath;
/**
* 业务sid
*/
private String businessSid;
/**
* 环节定义的ID
*/
private String taskDefKey;
/**
* nextNodeUserSids 下一环节的用户sid
*/
private String nextNodeUserSids;
/**
* 业务参数按需传递
*/
private Map<String, Object> formVariables =new HashMap<>();
/* @ApiModelProperty("机构sid:切换结构使用")
private String orgPath;*/
}

38
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/SQLOperationSymbol.java

@ -0,0 +1,38 @@
package com.yxt.anrui.flowable.sqloperationsymbol;
/**
* sql语句运算符号=like,"in",">","<"
*/
public enum SQLOperationSymbol {
EQUAL("=","相等"),
LIKE("like","模糊查询"),
LT("<","大于"),//LESS THAN小于
GT(">","小于"),//GT 就是 GREATER THAN大于 
GE(">=","大于等于"),// GREATER THAN OR EQUAL 大于等于
LE("<=","小于等于"),//LESS THAN OR EQUAL 小于等于
NE("<>","不等于"),//NOT EQUAL不等于
NONE("","无");
private String symbol;
private String desc;
SQLOperationSymbol(String symbol, String desc) {
this.symbol = symbol;
this.desc = desc;
}
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

27
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/FlowCommentVo.java

@ -0,0 +1,27 @@
package com.yxt.anrui.flowable.test;
import com.yxt.common.core.vo.Vo;
import lombok.Builder;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/6/25 14:21
* @description
*/
@Data
@Builder
public class FlowCommentVo implements Vo {
private static final long serialVersionUID = -5771441948567658394L;
/**
* 意见类别 1正常同意意见 2退回意见 3 驳回意见 4 委派意见 5 转办意见 6 终止流程 7 撤回流程
*/
private String type;
/**
* 意见内容
*/
private String comment;
}

39
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayTestApi.java

@ -0,0 +1,39 @@
package com.yxt.anrui.flowable.test;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
/**
* @author dimengzhe
* @date 2021/6/18 10:37
* @description
*/
@FeignClient(
contextId = "yxt-anrui-flowable-holidayTest",
name = "yxt-anrui-flowable",
path = "v1/flowable/holidaytest")
public interface HolidayTestApi {
/**
* 提交请假
*
* @param taskUser 申请人
* @param day 申请天数
* @return
*/
@PostMapping(value = "submit")
@ResponseBody
@ApiOperation(value = "提交请假")
public ResultBean<HolidayVo> submit(String taskUser, Integer day);
@GetMapping(value = "processImage")
@ApiOperation(value = "生成图片的方法")
@ResponseBody
public void genProcessDiagram(HttpServletResponse httpServletResponse, String processId);
}

22
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayVo.java

@ -0,0 +1,22 @@
package com.yxt.anrui.flowable.test;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/6/21 10:11
* @description
*/
@Data
public class HolidayVo implements Vo {
private static final long serialVersionUID = 9212210138258932085L;
@ApiModelProperty(value = "流程实例id")
private String id;
@ApiModelProperty(value = "请假申请人")
private String taskUser;
@ApiModelProperty(value = "请假天数")
private Integer day;
}

27
yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/StartProcessInstanceQuery.java

@ -0,0 +1,27 @@
package com.yxt.anrui.flowable.test;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @author dimengzhe
* @date 2021/7/29 15:03
* @description
*/
@Data
public class StartProcessInstanceQuery implements Query {
private static final long serialVersionUID = -6372254084412955318L;
@ApiModelProperty(value = "流程定义key", required = true)
// private String processDefinitionKey;
private String processDefinitionId;
@ApiModelProperty(value = "用户sid", required = true)
private String userSid;
@ApiModelProperty(value = "启动流程变量")
private Map<String, Object> variables;
}
Loading…
Cancel
Save