From 68fd566d21b3efc3a670a5295289b1801f5a4155 Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期四, 16 一月 2025 18:18:55 +0800
Subject: [PATCH] 流程部署接口上传
---
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/DeployProcessVO.java | 29 ++++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java | 16 ++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java | 46 +++++++++++++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java | 19 +++++++++
4 files changed, 110 insertions(+), 0 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/DeployProcessVO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/DeployProcessVO.java
new file mode 100644
index 0000000..b618acb
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/DeployProcessVO.java
@@ -0,0 +1,29 @@
+package com.vci.pagemodel;
+
+import com.vci.corba.wf.data.ProcessTaskInfo;
+import lombok.Data;
+
+/**
+ * 娴佺▼閮ㄧ讲鎺ユ敹鍙傛暟鐨刅O瀵硅薄
+ * @author ludc
+ * @date 2025/1/16 12:08
+ */
+@Data
+public class DeployProcessVO {
+
+ /**
+ * bpmn娴佺▼妯℃澘xml
+ */
+ private String xmlContext;
+
+ /**
+ * 娴佺▼鍒嗙被涓婚敭
+ */
+ private String processCategoryId;
+
+ /**
+ * 浠诲姟鐨勪俊鎭�
+ */
+ ProcessTaskInfo[] taskInfos;
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java
index 86ad5e6..e3eb429 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java
@@ -1,6 +1,7 @@
package com.vci.web.controller;
import com.vci.corba.wf.data.ProcessCategoryInfo;
+import com.vci.pagemodel.DeployProcessVO;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
@@ -125,4 +126,22 @@
}
}
+ /**
+ * 閮ㄧ讲娴佺▼
+ * @param deployProcessVO
+ * @return
+ */
+ @PostMapping( "/deployProcess")
+ @VciBusinessLog(operateName = "閮ㄧ讲娴佺▼")
+ public BaseResult deployProcess(@RequestBody DeployProcessVO deployProcessVO) {
+ try {
+ return webFlowServiceI.deployProcess(deployProcessVO);
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "娴佺▼閮ㄧ讲鎴愬姛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java
index e607896..79ded1b 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java
@@ -1,7 +1,11 @@
package com.vci.web.service;
+import com.vci.corba.common.PLException;
import com.vci.corba.wf.data.ProcessCategoryInfo;
+import com.vci.pagemodel.DeployProcessVO;
+import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import java.util.List;
@@ -13,6 +17,7 @@
*/
public interface WebFlowServiceI {
+ /*娴佺▼鍒嗙被鐩稿叧鏂规硶*/
/**
* 娴佺▼鍒嗙被鍏ㄦ煡璇�
* @param parentId
@@ -50,4 +55,15 @@
*/
boolean deleteProcessCategory(String id) throws Exception;
+ /*娴佺▼鏌ヨ銆侀儴缃层�佸垹闄ゃ�佷慨鏀圭瓑鐩稿叧鏂规硶*/
+ /**
+ * 閮ㄧ讲娴佺▼
+ * @param deployProcessVO
+ * @return
+ * @throws VciBaseException
+ */
+ BaseResult deployProcess(DeployProcessVO deployProcessVO) throws Exception ;
+
+
+
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java
index 6ca01fb..34970af 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java
@@ -1,10 +1,14 @@
package com.vci.web.service.impl;
+import com.mxgraph.model.mxCell;
+import com.mxgraph.view.mxGraph;
import com.vci.corba.common.PLException;
import com.vci.corba.wf.data.ProcessCategoryInfo;
import com.vci.corba.wf.data.ProcessDefinitionInfo;
+import com.vci.pagemodel.DeployProcessVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.util.Lcm.Func;
import com.vci.starter.web.util.VciBaseUtil;
@@ -15,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.swing.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
@@ -128,6 +133,47 @@
}
/**
+ * 閮ㄧ讲娴佺▼
+ * @param deployProcessVO
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ public BaseResult deployProcess(DeployProcessVO deployProcessVO) throws Exception {
+ VciBaseUtil.alertNotNull(
+ deployProcessVO,"娴佺▼閮ㄧ讲瀵硅薄",
+ deployProcessVO.getProcessCategoryId(),"娴佺▼鍒嗙被",
+ deployProcessVO.getXmlContext(),"娴佺▼妯℃澘鍐呭"
+ );
+ //鍩虹鏍¢獙
+ /*if(!checkTask()){
+ BaseResult.fail("娴佺▼浠诲姟涓嶈兘閲嶅悕锛岃纭");
+ }
+ if(!checkJoin()){
+ BaseResult.fail("鍚堝苟鑺傜偣涓嶈兘閲嶅悕锛岃纭");
+ }
+ if(!checkFork()){
+ BaseResult.fail("鍒嗘敮鑺傜偣涓嶈兘閲嶅悕锛岃纭");
+ }
+ if(!checkDecision()){
+ BaseResult.fail("鍒ゆ柇鑺傜偣涓嶈兘閲嶅悕锛岃纭");
+ }
+ if(!checkEdge()){
+ BaseResult.fail("璺敱鍚嶇О鍜岃妭鐐瑰悕绉伴噸鍚嶏紝璇风‘璁�");
+ }
+ */
+
+ boolean res = platformClientUtil.getWFService().deployProcess(
+ null,
+ deployProcessVO.getXmlContext(),
+ null,
+ deployProcessVO.getProcessCategoryId(),
+ deployProcessVO.getTaskInfos()
+ );
+ return res ? BaseResult.success("娴佺▼閮ㄧ讲鎴愬姛锛�"):BaseResult.success("娴佺▼閮ㄧ讲澶辫触锛�");
+ }
+
+ /**
* 鏍规嵁涓婚敭鍜屽悕绉版煡璇㈡祦绋嬪垎绫绘槸鍚﹀瓨鍦�
* @param category
* @return
--
Gitblit v1.9.3