From a971c412f45de5b51f66317559347b3b1074fb3e Mon Sep 17 00:00:00 2001 From: yxt_djz Date: Thu, 9 Feb 2023 11:37:31 +0800 Subject: [PATCH] =?UTF-8?q?flowable=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervise-flowable-api/pom.xml | 52 + .../flowable/api/flow/FlowCommentDto.java | 40 + .../yxt/anrui/flowable/api/flow/FlowDto.java | 26 + .../anrui/flowable/api/flow/FlowProcinst.java | 175 +++ .../yxt/anrui/flowable/api/flow/FlowTask.java | 98 ++ .../flowable/api/flow/FlowTaskQuery.java | 23 + .../anrui/flowable/api/flow/FlowTaskVo.java | 51 + .../yxt/anrui/flowable/api/flow/Flowable.java | 8 + .../flowable/api/flow/FlowableFallback.java | 74 ++ .../flowable/api/flow/FlowableFeign.java | 116 ++ .../flowable/api/flow/StartProcessDto.java | 60 + .../anrui/flowable/api/flow/TaskQuery.java | 90 ++ .../flowable/api/flow/UpdateFlowFieldVo.java | 70 ++ .../flowable/api/flow/UserAndOrgPath.java | 15 + .../flowable/api/flowcomment/FlowComment.java | 60 + .../api/flowcomment/FlowCommentDto.java | 39 + .../api/flowcomment/FlowCommentVo.java | 24 + .../flowdefinition/FlowDefinitionFeign.java | 85 ++ .../FlowDefinitionFeignBusinessStartDTO.java | 78 ++ .../FlowDefinitionFeignFallBack.java | 68 ++ .../api/flowdefinition/FlowDefinitionVo.java | 49 + .../api/flowdefinition/FlowInstanceDto.java | 18 + .../api/flowdefinition/FlowSaveXmlQuery.java | 27 + .../flowable/api/flowdefinition/SysUser.java | 64 ++ .../api/flowinstance/FlowInstanceFeign.java | 44 + .../FlowInstanceFeignFallBack.java | 33 + .../api/flowinstance/FlowInstanceVo.java | 25 + .../flowable/api/flowtask/AppUserVo.java | 23 + .../api/flowtask/CompleteTaskQuery.java | 42 + .../flowable/api/flowtask/FlowRecordVo.java | 16 + .../anrui/flowable/api/flowtask/FlowTask.java | 107 ++ .../flowable/api/flowtask/FlowTaskDto.java | 118 ++ .../flowable/api/flowtask/FlowTaskFeign.java | 188 +++ .../api/flowtask/FlowTaskFeignFallBack.java | 186 +++ .../flowable/api/flowtask/FlowTaskQuery.java | 23 + .../api/flowtask/FlowTaskQueryOne.java | 46 + .../flowable/api/flowtask/FlowTaskVo.java | 53 + .../flowable/api/flowtask/FlowViewerDto.java | 26 + .../flowable/api/flowtask/LatestTaskVo.java | 34 + .../flowable/api/flowtask/TaskQuery.java | 34 + .../api/flowtask/TaskQueryParamsVo.java | 111 ++ .../flowable/api/flowtask/TaskUserInfo.java | 31 + .../anrui/flowable/api/flowtask/TaskVo.java | 81 ++ .../api/processcomment/ProcessComment.java | 68 ++ .../ProcessCommentDetailsVo.java | 69 ++ .../api/processcomment/ProcessCommentDto.java | 69 ++ .../processcomment/ProcessCommentFeign.java | 81 ++ .../ProcessCommentFeignFallback.java | 77 ++ .../processcomment/ProcessCommentQuery.java | 67 ++ .../api/processcomment/ProcessCommentVo.java | 72 ++ .../api/sysdeployform/SysDeployForm.java | 26 + .../anrui/flowable/api/sysform/SysForm.java | 35 + .../flowable/api/sysform/SysFormFeign.java | 60 + .../api/sysform/SysFormFeignFallBack.java | 51 + .../flowable/api/sysform/SysFormQuery.java | 27 + .../anrui/flowable/api/sysform/SysFormVo.java | 25 + .../flowable/api/sysform/SysTaskForm.java | 27 + .../flowable/api/sysformlink/SysFormLink.java | 46 + .../api/sysformlink/SysFormLinkDto.java | 50 + .../api/sysformlink/SysFormLinkFeign.java | 48 + .../sysformlink/SysFormLinkFeignFallback.java | 43 + .../sysformlink/SysFormLinkFlowStateEnum.java | 46 + .../api/sysformlink/SysFormLinkQuery.java | 41 + .../api/sysformlink/SysFormLinkTypeEnum.java | 40 + .../api/sysformlink/SysFormLinkVo.java | 44 + .../api/sysformlink/SysFormStateVo.java | 23 + .../api/sysprourl/AppSysProUrlQuery.java | 27 + .../flowable/api/sysprourl/AppUrlVo.java | 41 + .../anrui/flowable/api/sysprourl/PcUrlVo.java | 20 + .../flowable/api/sysprourl/SysProUrl.java | 65 ++ .../flowable/api/sysprourl/SysProUrlDto.java | 62 + .../api/sysprourl/SysProUrlFeign.java | 89 ++ .../api/sysprourl/SysProUrlFeignFallBack.java | 62 + .../api/sysprourl/SysProUrlQuery.java | 60 + .../flowable/api/sysprourl/SysProUrlVo.java | 54 + .../anrui/flowable/api/utils/CharsetKit.java | 88 ++ .../yxt/anrui/flowable/api/utils/Convert.java | 1006 +++++++++++++++++ .../yxt/anrui/flowable/api/utils/Excel.java | 165 +++ .../yxt/anrui/flowable/api/utils/ORDERBY.java | 14 + .../anrui/flowable/api/utils/ProcDefEnum.java | 103 ++ .../flowable/api/utils/ProcessStateEnum.java | 38 + .../anrui/flowable/api/utils/RecordQuery.java | 19 + .../flowable/api/utils/ServletUtils.java | 137 +++ .../yxt/anrui/flowable/api/utils/SqlUtil.java | 37 + .../flowable/exception/CustomException.java | 43 + .../sqloperationsymbol/BusinessTaskParam.java | 35 + .../sqloperationsymbol/BusinessTaskQuery.java | 28 + .../sqloperationsymbol/BusinessVariables.java | 67 ++ .../SQLOperationSymbol.java | 38 + .../anrui/flowable/test/FlowCommentVo.java | 27 + .../anrui/flowable/test/HolidayTestApi.java | 39 + .../yxt/anrui/flowable/test/HolidayVo.java | 22 + .../test/StartProcessInstanceQuery.java | 27 + 93 files changed, 6179 insertions(+) create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowCommentDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTask.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/Flowable.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/TaskQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UpdateFlowFieldVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UserAndOrgPath.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowComment.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignBusinessStartDTO.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignFallBack.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowInstanceDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowSaveXmlQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/SysUser.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeignFallBack.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/CompleteTaskQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowRecordVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQueryOne.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowViewerDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/LatestTaskVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQueryParamsVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysdeployform/SysDeployForm.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysForm.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeignFallBack.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysTaskForm.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLink.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeignFallback.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFlowStateEnum.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkTypeEnum.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormStateVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppSysProUrlQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppUrlVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/PcUrlVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrl.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlDto.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/CharsetKit.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Convert.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Excel.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ORDERBY.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcessStateEnum.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/RecordQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ServletUtils.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/SqlUtil.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/exception/CustomException.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskParam.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskQuery.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/SQLOperationSymbol.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/FlowCommentVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayTestApi.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayVo.java create mode 100644 yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/StartProcessInstanceQuery.java diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml b/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml new file mode 100644 index 00000000..219e7cd5 --- /dev/null +++ b/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml @@ -0,0 +1,52 @@ + + + + supervise-flowable + com.yxt.supervise + 0.0.1 + + 4.0.0 + + supervise-flowable-api + + + + com.yxt + yxt-common-base + 0.0.1 + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.projectlombok + lombok + + + com.baomidou + mybatis-plus-annotation + + + org.flowable + flowable-bpmn-model + 6.5.0 + compile + + + + + + + nexus-releases + http://172.18.0.3:8081/repository/yxt-mvn-releases/ + + + nexus-snapshots + http://172.18.0.3:8081/repository/yxt-mvn-snapshot/ + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowCommentDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowCommentDto.java new file mode 100644 index 00000000..a8fd9f6d --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowDto.java new file mode 100644 index 00000000..c916a3ba --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java new file mode 100644 index 00000000..2bef0ee3 --- /dev/null +++ b/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_; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTask.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTask.java new file mode 100644 index 00000000..f5d0a8f6 --- /dev/null +++ b/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; + +/** + *

工作流任务

+ * + * @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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskQuery.java new file mode 100644 index 00000000..bdfb9c40 --- /dev/null +++ b/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; + + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowTaskVo.java new file mode 100644 index 00000000..e3f83a32 --- /dev/null +++ b/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; + +/** + *

流程任务

+ * + * @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 values=new HashMap<>(); + + @ApiModelProperty("审批人") + private String assignee; + + @ApiModelProperty("候选人") + private List candidateUsers=new ArrayList<>(); + + @ApiModelProperty("审批组") + private List candidateGroups=new ArrayList<>(); + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/Flowable.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/Flowable.java new file mode 100644 index 00000000..ac33d6ab --- /dev/null +++ b/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 { +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java new file mode 100644 index 00000000..194c325b --- /dev/null +++ b/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 taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean stopProcess(FlowTaskVo flowTaskVo) { + return null; + } + + @Override + public ResultBean deleteProcess(String procInsId) { + return null; + } + + @Override + public ResultBean getNextNodeUserSidsOfCreate(BusinessVariables bv ) { + return null; + } + + @Override + public ResultBean getNextNodeUserSidsOfSubmit(BusinessVariables bv ) { + return null; + } + + @Override + public ResultBean 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; + } + + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java new file mode 100644 index 00000000..4748b54b --- /dev/null +++ b/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 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 getNextNodeUserSidsOfCreate( @RequestBody BusinessVariables bv); + /** + * 提交流程实例时取下一环节的用户sid + * + * @return + */ + @ApiOperation(value = "提交流程实例时取下一环节的用户sid") + @GetMapping(value = "/getNextNodeUserSidsOfSubmit") + @ResponseBody + ResultBean getNextNodeUserSidsOfSubmit(@RequestBody BusinessVariables bv); + + @ApiOperation(value = "启动流程") + @PostMapping(value = "/startProcess") + @ResponseBody + ResultBean startProcess(@RequestBody BusinessVariables dto); + + @ApiOperation(value = "处理流程") + @PostMapping(value = "/handleProsess") + @ResponseBody + ResultBean handleProsess(@RequestBody BusinessVariables bv); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + @ResponseBody + ResultBean revokeProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl); + + @ApiOperation(value = "驳回流程") + @PostMapping(value = "/taskReject") + @ResponseBody + ResultBean taskReject(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl); + + @ApiOperation(value = "终止流程") + @PostMapping(value = "/breakProcess") + @ResponseBody + ResultBean breakProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl); +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java new file mode 100644 index 00000000..50a24904 --- /dev/null +++ b/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 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 getVariables() { + return variables; + } + + public void setVariables(Map variables) { + this.variables = variables; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/TaskQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/TaskQuery.java new file mode 100644 index 00000000..680660d6 --- /dev/null +++ b/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
+ * File: TaskQuery.java
+ * Class: com.yxt.anrui.portal.biz.flow.TaskQuery
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021/10/27 下午3:36
+ * + * @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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UpdateFlowFieldVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UpdateFlowFieldVo.java new file mode 100644 index 00000000..fbb5b314 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UserAndOrgPath.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/UserAndOrgPath.java new file mode 100644 index 00000000..1d4d1cf8 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowComment.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowComment.java new file mode 100644 index 00000000..ceb9f9f9 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentDto.java new file mode 100644 index 00000000..91b80c08 --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcomment/FlowCommentVo.java new file mode 100644 index 00000000..7ff5ff52 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeign.java new file mode 100644 index 00000000..a5a6282e --- /dev/null +++ b/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 variables); + + /* @ApiOperation(value = "业务系统发起流程根据流程定义id启动流程实例") + @PostMapping("/businessStart") + @ResponseBody + public ResultBean businessStart(@ApiParam(value = "请求参数") @RequestBody + BusinessVariables dto);*/ +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignBusinessStartDTO.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignBusinessStartDTO.java new file mode 100644 index 00000000..d9f42834 --- /dev/null +++ b/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
+ * File: FlowDefinitionFeignDTO.java
+ * Class: com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeignDTO
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021/10/25 上午11:47
+ * + * @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 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 getVariables() { + return variables; + } + + public void setVariables(Map variables) { + this.variables = variables; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignFallBack.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionFeignFallBack.java new file mode 100644 index 00000000..d8004902 --- /dev/null +++ b/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 variables) { + return null; + } + + /* @Override + public ResultBean businessStart(BusinessVariables dto) { + return null; + } +*/ +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowDefinitionVo.java new file mode 100644 index 00000000..796dca2c --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowInstanceDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowInstanceDto.java new file mode 100644 index 00000000..d3b28510 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowSaveXmlQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/FlowSaveXmlQuery.java new file mode 100644 index 00000000..0929c677 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/SysUser.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowdefinition/SysUser.java new file mode 100644 index 00000000..aad9a412 --- /dev/null +++ b/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(门户建设)
+ * File: SysUser.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeign.java new file mode 100644 index 00000000..caa94f83 --- /dev/null +++ b/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 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); +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeignFallBack.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceFeignFallBack.java new file mode 100644 index 00000000..8778ba6a --- /dev/null +++ b/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 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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowinstance/FlowInstanceVo.java new file mode 100644 index 00000000..9ffa4bc5 --- /dev/null +++ b/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; + + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java new file mode 100644 index 00000000..c6b29a03 --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/CompleteTaskQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/CompleteTaskQuery.java new file mode 100644 index 00000000..15922d4c --- /dev/null +++ b/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 variables; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowRecordVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowRecordVo.java new file mode 100644 index 00000000..8a9a6811 --- /dev/null +++ b/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 flowList = new ArrayList<>(); + + public List getFlowList() { + return flowList; + } + + public void setFlowList(List flowList) { + this.flowList = flowList; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java new file mode 100644 index 00000000..57a8205e --- /dev/null +++ b/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; + +/** + *

工作流任务

+ * + * @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 taskUserInfos; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskDto.java new file mode 100644 index 00000000..17503c69 --- /dev/null +++ b/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; + +/** + *

工作流任务

+ * + * @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 processVariables; + + /*@ApiModelProperty("手机端参数集合") + private Map appVariables; + + @ApiModelProperty("pc端参数集合") + private Map pcVariables;*/ + + @ApiModelProperty("是否显示撤回按钮(登录用户与待办人是否为同一个)") + private boolean hasRevokeButton = false; + @ApiModelProperty("办理的url") + private SysProUrlVo sysProUrlVo ; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java new file mode 100644 index 00000000..376f0bdc --- /dev/null +++ b/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 startProcessInstanceByKey(@RequestBody StartProcessInstanceQuery startProcessInstanceQuery); + + @ApiOperation(value = "业务系统审批") + @PostMapping("/businessComplete") + @ResponseBody + ResultBean businessComplete(@RequestBody BusinessVariables dto); + + @ApiOperation(value = "审批") + @PostMapping("/complete") + @ResponseBody + ResultBean complete(@RequestBody FlowTaskVo flowTaskVo); + + @ApiOperation(value = "待办任务列表") + @PostMapping("/todoList") + @ResponseBody + ResultBean todoList(@RequestBody PagerQuery taskQueryPagerQuery); + + @ApiOperation(value = "业务系统查询待办任务列表") + @PostMapping("/businessTodoList/{userSid}") + @ResponseBody + ResultBean> businessTodoList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid, + @RequestBody PagerQuery taskQueryPagerQuery); + @ApiOperation(value = "业务系统查询待办任务列表包含url") + @PostMapping("/businessTodoListForApp/{userSid}") + @ResponseBody + ResultBean> businessTodoListForApp(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid, + @RequestBody PagerQuery taskQueryPagerQuery); + + @ApiOperation(value = "业务系统查询待办任务列表数量") + @GetMapping("/getTodoNum/{userSid}") + ResultBean getTodoNum(@PathVariable(value = "userSid")String userSid); + + @ApiOperation(value = "业务系统查询待办任务列表数量") + @PostMapping("/getTodoNum") + @ResponseBody + ResultBean getTodoNum(@RequestBody UserAndOrgPath uaop); + + @ApiOperation(value = "已办任务列表") + @PostMapping("/doneList") + @ResponseBody + ResultBean doneList(@RequestBody PagerQuery taskQueryPagerQuery); + + @ApiOperation(value = "业务系统查询已办任务列表") + @PostMapping("/businessDoneList/{userSid}") + @ResponseBody + ResultBean businessDoneList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid, + @RequestBody PagerQuery taskQueryPagerQuery); + @ApiOperation(value = "业务系统查询已办任务列表_移动端") + @PostMapping("/businessDoneListForApp/{userSid}") + @ResponseBody + ResultBean> businessDoneListForApp(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid, + @RequestBody PagerQuery 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 taskQueryPagerQuery); + + @ApiOperation(value = "业务系统查询我的流程分页列表") + @PostMapping(value = "/businessMyprocess/{userSid}") + @ResponseBody + ResultBean businessMyprocess(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid, + @RequestBody PagerQuery 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> taskReject(@RequestBody FlowTaskVo flowTaskVo); + + @ApiOperation(value = "撤回流程", response = FlowTaskDto.class) + @PostMapping(value = "/revokeProcess") + public ResultBean> 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 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> getLatestTasks(@PathVariable(value = "procId") String procId); + + + @ApiOperation(value = "根据流程实例的id获取最新待办环节") + @PostMapping(value = "/getProcessCirculationNodes") + ResultBean< List> 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); +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java new file mode 100644 index 00000000..8bb749c8 --- /dev/null +++ b/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 startProcessInstanceByKey(StartProcessInstanceQuery startProcessInstanceQuery) { + return null; + } + + @Override + public ResultBeanbusinessComplete (BusinessVariables dto) { + return null; + } + + @Override + public ResultBean complete(FlowTaskVo flowTaskVo) { + return null; + } + + @Override + public ResultBean> todoList(PagerQuery taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean> businessTodoList(String userSid, PagerQuery taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean> businessTodoListForApp(String userSid, PagerQuery taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean getTodoNum(String userSid) { + return null; + } + + @Override + public ResultBean getTodoNum(UserAndOrgPath uaop) { + return null; + } + + + @Override + public ResultBean doneList(PagerQuery taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean businessDoneList(String userSid, PagerQuery taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean businessDoneListForApp(String userSid, PagerQuery 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 taskQueryPagerQuery) { + return null; + } + + @Override + public ResultBean businessMyprocess(String userSid, PagerQuery 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 > 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; + } + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQuery.java new file mode 100644 index 00000000..08c1fa93 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQueryOne.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskQueryOne.java new file mode 100644 index 00000000..d74e908a --- /dev/null +++ b/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 values=new HashMap<>(); + + @ApiModelProperty("审批人") + private String assignee; + + @ApiModelProperty("候选人") + private List candidateUsers; + + @ApiModelProperty("审批组") + private List candidateGroups; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskVo.java new file mode 100644 index 00000000..94ac010b --- /dev/null +++ b/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; + +/** + *

流程任务

+ * + * @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 values=new HashMap<>(); + + @ApiModelProperty("审批人") + private String assignee; + + @ApiModelProperty("候选人") + private List candidateUsers; + + @ApiModelProperty("审批组") + private List candidateGroups; + + + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowViewerDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowViewerDto.java new file mode 100644 index 00000000..a7459fd6 --- /dev/null +++ b/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; + } + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/LatestTaskVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/LatestTaskVo.java new file mode 100644 index 00000000..2defac60 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQuery.java new file mode 100644 index 00000000..e6b7b415 --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQueryParamsVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskQueryParamsVo.java new file mode 100644 index 00000000..64783099 --- /dev/null +++ b/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 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 orderbyMap; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java new file mode 100644 index 00000000..c05dfa87 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskVo.java new file mode 100644 index 00000000..5a388c4e --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java new file mode 100644 index 00000000..73cb5e3a --- /dev/null +++ b/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(流程评论)
+ * File: ProcessComment.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessComment
+ * Description: process_comment.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @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 + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java new file mode 100644 index 00000000..311ea5a2 --- /dev/null +++ b/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(流程评论)
+ * File: ProcessCommentVo.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo
+ * Description: process_comment 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @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 + +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java new file mode 100644 index 00000000..08ff5e22 --- /dev/null +++ b/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(流程评论)
+ * File: ProcessCommentDto.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentDto
+ * Description: process_comment 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @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 + +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java new file mode 100644 index 00000000..1212610c --- /dev/null +++ b/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(流程评论)
+ * File: ProcessCommentFeign.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentFeign
+ * Description: process_comment.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @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> listPage(@RequestBody PagerQuery 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 fetchDetailsBySid(@PathVariable("sid") String sid); + @ApiOperation("根据流程实列的id获取流程相关的评论") + @GetMapping("/getCommentList/{processId}") + @ResponseBody + ResultBean> getCommentList(@PathVariable("processId")String processId); +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java new file mode 100644 index 00000000..a4e8687c --- /dev/null +++ b/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(流程评论)
+ * File: ProcessCommentFeignFallback.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentFeignFallback
+ * Description: process_comment.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class ProcessCommentFeignFallback implements ProcessCommentFeign { + + @Override + public ResultBean> listPage(PagerQuery 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 fetchDetailsBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口processcomment/processcomment/fetchDetailsBySid无法访问"); + } + + @Override + public ResultBean> getCommentList(String processId) { + return null; + } +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java new file mode 100644 index 00000000..13b90162 --- /dev/null +++ b/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(流程评论)
+ * File: ProcessCommentQuery.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentQuery
+ * Description: process_comment 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @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 + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java new file mode 100644 index 00000000..e4dc90a0 --- /dev/null +++ b/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(流程评论)
+ * File: ProcessCommentVo.java
+ * Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo
+ * Description: process_comment 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-01-30 14:40:37
+ * + * @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 + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysdeployform/SysDeployForm.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysdeployform/SysDeployForm.java new file mode 100644 index 00000000..20347337 --- /dev/null +++ b/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; + + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysForm.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysForm.java new file mode 100644 index 00000000..86af5860 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeign.java new file mode 100644 index 00000000..d6e2e0da --- /dev/null +++ b/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> list( @RequestBody PagerQuery pq) ; + + /** + * 导出流程表单列表 + */ + @GetMapping("/export") + public ResultBean export(SysForm sysForm) ; + + /** + * 获取流程表单详细信息 + */ + @GetMapping(value = "/{formId}") + @ResponseBody + public String getInfo(@PathVariable("formId") Long formId); + + /** + * 新增流程表单 + */ + @PostMapping(value="/add") + @ResponseBody + public ResultBean add(@RequestBody SysForm sysForm) ; + + /** + * 修改流程表单 + */ + @PutMapping + public ResultBean edit(@RequestBody SysForm sysForm); + + /** + * 删除流程表单 + */ + @DeleteMapping("/{formIds}") + public ResultBean remove(@PathVariable Long[] formIds); + + + /** + * 挂载流程表单 + */ + @PostMapping("/addDeployForm") + public ResultBean addDeployForm(@RequestBody SysDeployForm sysDeployForm); +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeignFallBack.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormFeignFallBack.java new file mode 100644 index 00000000..e0b60517 --- /dev/null +++ b/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> list(PagerQuery pq) { + return null; + } + + @Override + public ResultBean export(SysForm sysForm) { + return null; + } + + @Override + public String getInfo(Long formId) { + return null; + } + + @Override + public ResultBean add(SysForm sysForm) { + return null; + } + + @Override + public ResultBean edit(SysForm sysForm) { + return null; + } + + @Override + public ResultBean remove(Long[] formIds) { + return null; + } + + @Override + public ResultBean addDeployForm(SysDeployForm sysDeployForm) { + return null; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormQuery.java new file mode 100644 index 00000000..2d0f9a3a --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysFormVo.java new file mode 100644 index 00000000..3f898fb9 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysTaskForm.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysform/SysTaskForm.java new file mode 100644 index 00000000..8b788fa7 --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLink.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLink.java new file mode 100644 index 00000000..d12416cc --- /dev/null +++ b/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(流程引擎)
+ * File: SysFormLink.java
+ * Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLink
+ * Description: 流程业务关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-03-15 16:55:39
+ * + * @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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkDto.java new file mode 100644 index 00000000..b65a4fd1 --- /dev/null +++ b/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(流程引擎)
+ * File: SysFormLinkDto.java
+ * Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto
+ * Description: 流程业务关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-03-15 16:55:39
+ * + * @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; +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeign.java new file mode 100644 index 00000000..fbe4de0b --- /dev/null +++ b/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(流程引擎)
+ * File: SysFormLinkFeign.java
+ * Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign
+ * Description: 流程业务关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-03-15 16:55:39
+ * + * @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 selectStateByBusinessSid(@PathVariable("business") String business); + + @ApiOperation("更新关联表节点状态属性") + @PostMapping("/updateFiled") + ResultBean updateFiled(@RequestBody Map map); + + @ApiOperation("更新关联表节点状态属性") + @PostMapping("/selectByBusinessSid/{sid}") + ResultBean selectByBusinessSid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeignFallback.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFeignFallback.java new file mode 100644 index 00000000..8ee3fa33 --- /dev/null +++ b/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(流程引擎)
+ * File: SysFormLinkFeignFallback.java
+ * Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeignFallback
+ * Description: 流程业务关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-03-15 16:55:39
+ * + * @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 map) { + return ResultBean.fireFail().setMsg("接口anrui-flowable/sysformlink/updateFiled无法访问"); + } + + @Override + public ResultBean selectByBusinessSid(String sid) { + return ResultBean.fireFail().setMsg("接口anrui-flowable/sysformlink/selectBySid无法访问"); + } +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFlowStateEnum.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkFlowStateEnum.java new file mode 100644 index 00000000..2c139cc8 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkQuery.java new file mode 100644 index 00000000..a9dddf63 --- /dev/null +++ b/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(流程引擎)
+ * File: SysFormLinkQuery.java
+ * Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkQuery
+ * Description: 流程业务关联表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-03-15 16:55:39
+ * + * @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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkTypeEnum.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkTypeEnum.java new file mode 100644 index 00000000..d88e9a17 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormLinkVo.java new file mode 100644 index 00000000..eb5dde29 --- /dev/null +++ b/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(流程引擎)
+ * File: SysFormLinkVo.java
+ * Class: com.yxt.anrui.flowable.api.sysformlink.SysFormLinkVo
+ * Description: 流程业务关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-03-15 16:55:39
+ * + * @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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormStateVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysformlink/SysFormStateVo.java new file mode 100644 index 00000000..190e035b --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppSysProUrlQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppSysProUrlQuery.java new file mode 100644 index 00000000..363e2579 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppUrlVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/AppUrlVo.java new file mode 100644 index 00000000..f4d40da7 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/PcUrlVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/PcUrlVo.java new file mode 100644 index 00000000..e6cafd31 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrl.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrl.java new file mode 100644 index 00000000..77670f52 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlDto.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlDto.java new file mode 100644 index 00000000..196da35d --- /dev/null +++ b/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; + +/** + *

流程业务表单url对象

+ */ +@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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java new file mode 100644 index 00000000..225b9909 --- /dev/null +++ b/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> list(@RequestBody PagerQuery 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 add(@SpringQueryMap SysProUrlDto dto); + + /** + * 删除流程业务表单url对象 + */ + @DeleteMapping("/{formIds}") + public ResultBean remove(@PathVariable("formIds") Long[] formIds); + + @ApiOperation("pc根据流程定义id,节点id,终端及类型查询流程与业务表单url") + @PostMapping("/selectPcUrlByTaskDefKey") + ResultBean selectPcUrlByTaskDefKey(@Valid @RequestBody SysProUrlQuery query); + + @ApiOperation("app根据流程定义id,节点id,终端及类型查询流程与业务表单url") + @PostMapping("/selectAppUrlByTaskDefKey") + ResultBean 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> 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 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); + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java new file mode 100644 index 00000000..d9af05be --- /dev/null +++ b/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> list(PagerQuery pq) { + return null; + } + + @Override + public ResultBean getSysProUrl(int formSid) { + return null; + } + + @Override + public ResultBean getForm(String proId) { + return null; + } + + @Override + public ResultBean add(SysProUrlDto dto) { + return null; + } + + @Override + public ResultBean remove(Long[] formIds) { + return null; + } + + @Override + public ResultBean selectPcUrlByTaskDefKey(SysProUrlQuery query) { + return null; + } + + @Override + public ResultBean selectAppUrlByTaskDefKey(AppSysProUrlQuery query) { + return null; + } + + @Override + public ResultBean> selectUrlByKey(String procDefId, String taskDefKey, String type) { + return null; + } + + @Override + public ResultBean selectUrlByKey(String procDefId, String taskDefKey, String type,String terminal) { + return null; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlQuery.java new file mode 100644 index 00000000..e10167b6 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlVo.java new file mode 100644 index 00000000..1d81dc34 --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/CharsetKit.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/CharsetKit.java new file mode 100644 index 00000000..a036c9ab --- /dev/null +++ b/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(); + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Convert.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Convert.java new file mode 100644 index 00000000..ace74bd2 --- /dev/null +++ b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Convert.java @@ -0,0 +1,1006 @@ +package com.yxt.anrui.flowable.api.utils; + +import com.yxt.common.base.utils.StringUtils; +import org.apache.commons.lang3.ArrayUtils; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.text.NumberFormat; +import java.util.Set; + +/** + * 类型转换器 + * + * @author ruoyi + */ +public class Convert +{ + /** + * 转换为字符串
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static String toStr(Object value, String defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof String) + { + return (String) value; + } + return value.toString(); + } + + /** + * 转换为字符串
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static String toStr(Object value) + { + return toStr(value, null); + } + + /** + * 转换为字符
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Character toChar(Object value, Character defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof Character) + { + return (Character) value; + } + + final String valueStr = toStr(value, null); + return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0); + } + + /** + * 转换为字符
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Character toChar(Object value) + { + return toChar(value, null); + } + + /** + * 转换为byte
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Byte toByte(Object value, Byte defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Byte) + { + return (Byte) value; + } + if (value instanceof Number) + { + return ((Number) value).byteValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Byte.parseByte(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为byte
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Byte toByte(Object value) + { + return toByte(value, null); + } + + /** + * 转换为Short
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Short toShort(Object value, Short defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Short) + { + return (Short) value; + } + if (value instanceof Number) + { + return ((Number) value).shortValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Short.parseShort(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Short
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Short toShort(Object value) + { + return toShort(value, null); + } + + /** + * 转换为Number
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Number toNumber(Object value, Number defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Number) + { + return (Number) value; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return NumberFormat.getInstance().parse(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Number
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Number toNumber(Object value) + { + return toNumber(value, null); + } + + /** + * 转换为int
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Integer toInt(Object value, Integer defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Integer) + { + return (Integer) value; + } + if (value instanceof Number) + { + return ((Number) value).intValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Integer.parseInt(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为int
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Integer toInt(Object value) + { + return toInt(value, null); + } + + /** + * 转换为Integer数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String str) + { + return toIntArray(",", str); + } + + /** + * 转换为Long数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String str) + { + return toLongArray(",", str); + } + + /** + * 转换为Integer数组
+ * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Integer[] {}; + } + String[] arr = str.split(split); + final Integer[] ints = new Integer[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Integer v = toInt(arr[i], 0); + ints[i] = v; + } + return ints; + } + + /** + * 转换为Long数组
+ * + * @param split 分隔符 + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Long[] {}; + } + String[] arr = str.split(split); + final Long[] longs = new Long[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Long v = toLong(arr[i], null); + longs[i] = v; + } + return longs; + } + + /** + * 转换为String数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String str) + { + return toStrArray(",", str); + } + + /** + * 转换为String数组
+ * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String split, String str) + { + return str.split(split); + } + + /** + * 转换为long
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Long toLong(Object value, Long defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Long) + { + return (Long) value; + } + if (value instanceof Number) + { + return ((Number) value).longValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).longValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为long
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Long toLong(Object value) + { + return toLong(value, null); + } + + /** + * 转换为double
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Double toDouble(Object value, Double defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Double) + { + return (Double) value; + } + if (value instanceof Number) + { + return ((Number) value).doubleValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).doubleValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为double
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Double toDouble(Object value) + { + return toDouble(value, null); + } + + /** + * 转换为Float
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Float toFloat(Object value, Float defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Float) + { + return (Float) value; + } + if (value instanceof Number) + { + return ((Number) value).floatValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Float.parseFloat(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Float
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Float toFloat(Object value) + { + return toFloat(value, null); + } + + /** + * 转换为boolean
+ * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Boolean toBool(Object value, Boolean defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Boolean) + { + return (Boolean) value; + } + String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + valueStr = valueStr.trim().toLowerCase(); + switch (valueStr) + { + case "true": + return true; + case "false": + return false; + case "yes": + return true; + case "ok": + return true; + case "no": + return false; + case "1": + return true; + case "0": + return false; + default: + return defaultValue; + } + } + + /** + * 转换为boolean
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Boolean toBool(Object value) + { + return toBool(value, null); + } + + /** + * 转换为Enum对象
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * + * @param clazz Enum的Class + * @param value 值 + * @param defaultValue 默认值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value, E defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (clazz.isAssignableFrom(value.getClass())) + { + @SuppressWarnings("unchecked") + E myE = (E) value; + return myE; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Enum.valueOf(clazz, valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Enum对象
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * + * @param clazz Enum的Class + * @param value 值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value) + { + return toEnum(clazz, value, null); + } + + /** + * 转换为BigInteger
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value, BigInteger defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigInteger) + { + return (BigInteger) value; + } + if (value instanceof Long) + { + return BigInteger.valueOf((Long) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigInteger(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigInteger
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value) + { + return toBigInteger(value, null); + } + + /** + * 转换为BigDecimal
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigDecimal) + { + return (BigDecimal) value; + } + if (value instanceof Long) + { + return new BigDecimal((Long) value); + } + if (value instanceof Double) + { + return new BigDecimal((Double) value); + } + if (value instanceof Integer) + { + return new BigDecimal((Integer) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigDecimal(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigDecimal
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value) + { + return toBigDecimal(value, null); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @return 字符串 + */ + public static String utf8Str(Object obj) + { + return str(obj, CharsetKit.CHARSET_UTF_8); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charsetName 字符集 + * @return 字符串 + */ + public static String str(Object obj, String charsetName) + { + return str(obj, Charset.forName(charsetName)); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(Object obj, Charset charset) + { + if (null == obj) + { + return null; + } + + if (obj instanceof String) + { + return (String) obj; + } + else if (obj instanceof byte[]) + { + return str((byte[]) obj, charset); + } + else if (obj instanceof Byte[]) + { + byte[] bytes = ArrayUtils.toPrimitive((Byte[]) obj); + return str(bytes, charset); + } + else if (obj instanceof ByteBuffer) + { + return str((ByteBuffer) obj, charset); + } + return obj.toString(); + } + + /** + * 将byte数组转为字符串 + * + * @param bytes byte数组 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(byte[] bytes, String charset) + { + return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset)); + } + + /** + * 解码字节码 + * + * @param data 字符串 + * @param charset 字符集,如果此字段为空,则解码的结果取决于平台 + * @return 解码后的字符串 + */ + public static String str(byte[] data, Charset charset) + { + if (data == null) + { + return null; + } + + if (null == charset) + { + return new String(data); + } + return new String(data, charset); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, String charset) + { + if (data == null) + { + return null; + } + + return str(data, Charset.forName(charset)); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, Charset charset) + { + if (null == charset) + { + charset = Charset.defaultCharset(); + } + return charset.decode(data).toString(); + } + + // ----------------------------------------------------------------------- 全角半角转换 + /** + * 半角转全角 + * + * @param input String. + * @return 全角字符串. + */ + public static String toSBC(String input) + { + return toSBC(input, null); + } + + /** + * 半角转全角 + * + * @param input String + * @param notConvertSet 不替换的字符集合 + * @return 全角字符串. + */ + public static String toSBC(String input, Set notConvertSet) + { + char c[] = input.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == ' ') + { + c[i] = '\u3000'; + } + else if (c[i] < '\177') + { + c[i] = (char) (c[i] + 65248); + + } + } + return new String(c); + } + + /** + * 全角转半角 + * + * @param input String. + * @return 半角字符串 + */ + public static String toDBC(String input) + { + return toDBC(input, null); + } + + /** + * 替换全角为半角 + * + * @param text 文本 + * @param notConvertSet 不替换的字符集合 + * @return 替换后的字符 + */ + public static String toDBC(String text, Set notConvertSet) + { + char c[] = text.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == '\u3000') + { + c[i] = ' '; + } + else if (c[i] > '\uFF00' && c[i] < '\uFF5F') + { + c[i] = (char) (c[i] - 65248); + } + } + String returnString = new String(c); + + return returnString; + } + + /** + * 数字金额大写转换 先写个完整的然后将如零拾替换成零 + * + * @param n 数字 + * @return 中文大写数字 + */ + public static String digitUppercase(double n) + { + String[] fraction = { "角", "分" }; + String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; + String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } }; + + String head = n < 0 ? "负" : ""; + n = Math.abs(n); + + String s = ""; + for (int i = 0; i < fraction.length; i++) + { + s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", ""); + } + if (s.length() < 1) + { + s = "整"; + } + int integerPart = (int) Math.floor(n); + + for (int i = 0; i < unit[0].length && integerPart > 0; i++) + { + String p = ""; + for (int j = 0; j < unit[1].length && n > 0; j++) + { + p = digit[integerPart % 10] + unit[1][j] + p; + integerPart = integerPart / 10; + } + s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s; + } + return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Excel.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/Excel.java new file mode 100644 index 00000000..0ecfca93 --- /dev/null +++ b/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; + } + } +} \ No newline at end of file diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ORDERBY.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ORDERBY.java new file mode 100644 index 00000000..787ea730 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java new file mode 100644 index 00000000..c42914e5 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcessStateEnum.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcessStateEnum.java new file mode 100644 index 00000000..1d6badb4 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/RecordQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/RecordQuery.java new file mode 100644 index 00000000..8a553b19 --- /dev/null +++ b/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; + + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ServletUtils.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ServletUtils.java new file mode 100644 index 00000000..e7c1bec5 --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/SqlUtil.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/SqlUtil.java new file mode 100644 index 00000000..383b4943 --- /dev/null +++ b/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); + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/exception/CustomException.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/exception/CustomException.java new file mode 100644 index 00000000..3ca7810a --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskParam.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskParam.java new file mode 100644 index 00000000..0d8e1a1f --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessTaskQuery.java new file mode 100644 index 00000000..95b717cf --- /dev/null +++ b/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 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; + } + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java new file mode 100644 index 00000000..f1d5a9ba --- /dev/null +++ b/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 formVariables =new HashMap<>(); + /* @ApiModelProperty("机构sid:切换结构使用") + private String orgPath;*/ +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/SQLOperationSymbol.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/SQLOperationSymbol.java new file mode 100644 index 00000000..05b3275d --- /dev/null +++ b/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; + } +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/FlowCommentVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/FlowCommentVo.java new file mode 100644 index 00000000..7c4494f9 --- /dev/null +++ b/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; + +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayTestApi.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayTestApi.java new file mode 100644 index 00000000..09e60945 --- /dev/null +++ b/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 submit(String taskUser, Integer day); + + @GetMapping(value = "processImage") + @ApiOperation(value = "生成图片的方法") + @ResponseBody + public void genProcessDiagram(HttpServletResponse httpServletResponse, String processId); +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayVo.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/HolidayVo.java new file mode 100644 index 00000000..e0fc4f0b --- /dev/null +++ b/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; +} diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/StartProcessInstanceQuery.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/test/StartProcessInstanceQuery.java new file mode 100644 index 00000000..55cc4d84 --- /dev/null +++ b/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 variables; +}