18c43123b51a1688ab4ae01fe3d171c7d92e619b..986aa62ed00bee39363bab41b4eeb8259d446efd
2025-01-16 ludc
Merge remote-tracking branch 'origin/master'
986aa6 对比 | 目录
2025-01-16 ludc
流程部署接口上传
68fd56 对比 | 目录
已修改3个文件
已添加1个文件
110 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/DeployProcessVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
/**
 * æµç¨‹éƒ¨ç½²æŽ¥æ”¶å‚æ•°çš„VO对象
 * @author ludc
 * @date 2025/1/16 12:08
 */
@Data
public class DeployProcessVO {
    /**
     * bpmn流程模板xml
     */
    private String xmlContext;
    /**
     * æµç¨‹åˆ†ç±»ä¸»é”®
     */
    private String processCategoryId;
    /**
     * ä»»åŠ¡çš„ä¿¡æ¯
     */
    ProcessTaskInfo[] taskInfos;
}
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);
        }
    }
}
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 ;
}
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