Parcourir la source

增加公司参数

xuefy il y a 3 ans
Parent
commit
9ff2a98dea

+ 2 - 1
flowable/src/main/java/com/huyi/flowable/api/FlowModel.java

@@ -30,7 +30,7 @@ public class FlowModel extends FlowableConfig {
      * @param filePath
      * @return
      */
-    public Deployment deployFlowXml(String filePath) {
+    public Deployment deployFlowXml(String filePath, String companyId) {
         Deployment deployment = null;
         InputStream inputStream = null;
         try {
@@ -38,6 +38,7 @@ public class FlowModel extends FlowableConfig {
             inputStream = new FileInputStream(file);
             DeploymentBuilder deploymentBuilder = repositoryService
                     .createDeployment()
+                    .tenantId(companyId)
                     .addInputStream(file.getName(), inputStream);
             deployment = deploymentBuilder.deploy();
             logger.info("成功:部署工作流成:" + filePath);

+ 1 - 3
flowable/src/main/java/com/huyi/flowable/api/FlowProcess.java

@@ -53,10 +53,9 @@ public class FlowProcess extends FlowableConfig {
      * @param sessionUserId    发起人
      * @param name             流程实例名称
      * @param businessKey      业务表主键
-     * @param companyId        公司id
      * @return
      */
-    public ProcessInstance startFlow(String processId, Map<String, Object> paras, String sessionUserId, String name, String businessKey, String companyId){
+    public ProcessInstance startFlow(String processId, Map<String, Object> paras, String sessionUserId, String name, String businessKey){
         //设置流程实例的发起人是当前用户
         Authentication.setAuthenticatedUserId(sessionUserId);
         // 获取流程构造器
@@ -65,7 +64,6 @@ public class FlowProcess extends FlowableConfig {
         ProcessInstance instance = processInstanceBuilder.name(name)                            // 流程实例标题
                                 .processDefinitionId(processId)
                                 .variables(paras)
-                                .tenantId(companyId)
                                 .businessKey(businessKey)                                       // 业务表主键
                                 .start();                                                       // 启动(即创建)流程实例
         Authentication.setAuthenticatedUserId(null); // 这个方法最终使用一个ThreadLocal类型的变量进行存储,也就是与当前的线程绑定,所以流程实例启动完毕之后,需要设置为null,防止多线程的时候出问题。

+ 1 - 1
flowable/src/main/java/com/huyi/flowable/controller/ApiController.java

@@ -326,7 +326,7 @@ public class ApiController {
                 //复制文件
                 copyFile(filePath, newFilePath);
                 File copayfile = new File(newFilePath);
-                Deployment deployment = flowModel.deployFlowXml(copayfile.getAbsolutePath());
+                Deployment deployment = flowModel.deployFlowXml(copayfile.getAbsolutePath(), companyId);
                 boolean delete = copayfile.delete();
                 if (!delete) {
                     System.out.println("文件删除失败!");

+ 3 - 4
flowable/src/main/java/com/huyi/flowable/controller/FlowController.java

@@ -143,7 +143,7 @@ public class FlowController {
                 return new BaseResult("500", "流程的key重复", null);
             }
             File file = FileUtil.createFile(fileName, fileContent);
-            Deployment deployment = flowModel.deployFlowXml(file.getAbsolutePath());
+            Deployment deployment = flowModel.deployFlowXml(file.getAbsolutePath(), companyId);
             boolean delete = file.delete();
             if (!delete) {
                 System.out.println("文件删除失败!");
@@ -169,7 +169,7 @@ public class FlowController {
                 // 重新部署新的流程实例
                 fileContent = XmlUtil.setNodeArrtibute(fileContent, "id", flowKey);
                 File file = FileUtil.createFile(fileName, fileContent);
-                Deployment deployment = flowModel.deployFlowXml(file.getAbsolutePath());
+                Deployment deployment = flowModel.deployFlowXml(file.getAbsolutePath(), companyId);
                 boolean delete = file.delete();
                 if (!delete) {
                     return new BaseResult("500", "文件删除失败!", null);
@@ -222,7 +222,6 @@ public class FlowController {
                                  @RequestParam String name,
                                  @RequestParam(value = "paras") String paras
     ){
-        LoginUser loginUser = tokenService.getUser(request);
         BaseResult result = new BaseResult();
         Map<String, Object> m = new HashMap<>();
         m.put("menuId", menuId);
@@ -251,7 +250,7 @@ public class FlowController {
         paras = paras.replaceAll("\\:,", "\\:null,");
         Map<String, Object> p = JSONObject.fromObject(paras);
         String processId = String.valueOf(conf.get("procdefId"));
-        ProcessInstance processInstance = flowProcess.startFlow(processId, p, sessionUserId, name, businessKey, loginUser.getSysUser().getCompanyId());
+        ProcessInstance processInstance = flowProcess.startFlow(processId, p, sessionUserId, name, businessKey);
         return result;
     }