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