Pārlūkot izejas kodu

feat:解决流程修改bug,添加下发请求

xuezizhuo 1 gadu atpakaļ
vecāks
revīzija
350b9e8801

+ 15 - 9
ruoyi-admin/src/main/resources/application.yml

@@ -153,20 +153,26 @@ xss:
 parameter:
   ip:
     # 用户下对应的所有角色key
-    MAIN_ROLESKEY_IP: http://192.168.110.59:8080/system/user/roleKeyByUserId/
+    MAIN_ROLESKEY_IP: http://localhost:8080/system/user/roleKeyByUserId
     # CRM项目根据scriptKey获取节点脚本详情地址
-    GET_NODESCRIPT_IP: http://192.168.110.59:8080/system/script/selectSysBpmNodeScriptByScriptKey/
+    GET_NODESCRIPT_IP: http://localhost:8080/system/script/selectSysBpmNodeScriptByScriptKey
     # crm项目查看角色下是否存在真实用户
-    QUERY_USER_EXISTS_BY_ROLEKEY_IP: http://192.168.110.59:8080/system/role/selectUserByRoleKey/
+    QUERY_USER_EXISTS_BY_ROLEKEY_IP: http://localhost:8080/system/role/selectUserByRoleKey
     # crm项目查看一组用户是否存在真实用户
-    QUERY_USER_EXISTS_BY_USERIDS_IP: http://192.168.110.59:8080/system/user/selectUserByUserIds/
+    QUERY_USER_EXISTS_BY_USERIDS_IP: http://localhost:8080/system/user/selectUserByUserIds
     # form项目共通修改接口
-    FORM_COMMON_UPDATE_IP: http://192.168.110.59:8088/dragform/common/batchEdit
+    FORM_COMMON_UPDATE_IP: http://localhost:8088/dragform/common/batchEdit
     #from项目共通获取详情接口
-    FORM_COMMON_GETINFO_IP: http://192.168.110.59:8088/dragform/common/getInfo/
+    FORM_COMMON_GETINFO_IP: http://localhost:8088/dragform/common/getInfo
     # form项目共通新增接口
-    FORM_COMMON_BATCHINSERT_IP: http://192.168.110.59:8088/dragform/common/batchInsert
+    FORM_COMMON_BATCHINSERT_IP: http://localhost:8088/dragform/common/batchInsert
     # CRM项目根据scriptKeys获取节点脚本详情地址
-    GET_NODESCRIPTS_IP: http://192.168.110.59:8080/system/script/selectSysBpmNodeScriptByScriptKeys
+    GET_NODESCRIPTS_IP: http://localhost:8080/system/script/selectSysBpmNodeScriptByScriptKeys
     # 租户字典:根据字典类型得到当前字典下的所有的数据
-    GET_TENANT_DICT_IP: http://192.168.110.59:8088/system/dict/data/list
+    GET_TENANT_DICT_IP: http://localhost:8088/system/dict/data/list
+    # form项目共通新增接口
+    FORM_COMMON_INSERT_IP: http://localhost:8088/dragform/common/batchInsert
+    # form项目根据表单Fid查询详情接口
+    FORM_GET_FORM_INFO_IP: http://localhost:8088/dragform/form/{fId}
+    # from项目根据groupKey查询表格组信息
+    FORM_GET_GROUP_INFO_IP: http://localhost:8088/system/group/getInfoBySqlKey/{groupKey}

+ 31 - 1
ruoyi-common/src/main/java/com/ruoyi/common/config/bpm/BpmProperties.java

@@ -40,6 +40,16 @@ public class BpmProperties {
     // 租户字典:根据字典类型得到当前字典下的所有的数据
     @Value("${parameter.ip.GET_TENANT_DICT_IP}")
     public String getTenantDictValIp;
+    // form项目共通新增接口
+    @Value("${parameter.ip.FORM_COMMON_INSERT_IP}")
+    public String formCommonInsertIp;
+    //form项目根据表单Fid查询详情接口
+    @Value("${parameter.ip.FORM_GET_FORM_INFO_IP}")
+    public String formGetFormInfoIp;
+
+    @Value("${parameter.ip.FORM_GET_GROUP_INFO_IP}")
+    public String formGetGroupInfoIp;
+
 
     public String getGetTenantDictValIp() {
         return getTenantDictValIp;
@@ -113,7 +123,27 @@ public class BpmProperties {
         this.getNodeScriptsIp = getNodeScriptsIp;
     }
 
+    public String getFormCommonInsertIp() {
+        return formCommonInsertIp;
+    }
 
+    public void setFormCommonInsertIp(String formCommonInsertIp) {
+        this.formCommonInsertIp = formCommonInsertIp;
+    }
 
-}
+    public String getFormGetFormInfoIp() {
+        return formGetFormInfoIp;
+    }
 
+    public void setFormGetFormInfoIp(String formGetFormInfoIp) {
+        this.formGetFormInfoIp = formGetFormInfoIp;
+    }
+
+    public String getFormGetGroupInfoIp() {
+        return formGetGroupInfoIp;
+    }
+
+    public void setFormGetGroupInfoIp(String formGetGroupInfoIp) {
+        this.formGetGroupInfoIp = formGetGroupInfoIp;
+    }
+}

+ 47 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/Sending.java

@@ -2,6 +2,7 @@ package com.ruoyi.common.utils.http;
 
 import com.alibaba.fastjson2.JSON;
 import com.ruoyi.common.config.bpm.BpmProperties;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.*;
@@ -88,6 +89,7 @@ public class Sending<T> {
         // 将请求体和请求头添加到 HttpEntity
         HttpEntity<Object> requestEntity = new HttpEntity<>(param, headers);
         // 发送请求
+        System.err.println(url);
         ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.resolve(httpMethod), requestEntity, String.class);
         // 返回响应
         return response;
@@ -142,5 +144,50 @@ public class Sending<T> {
         return this.sendCommon(bpmProperties.queryUserExistsByUserIdsIp, "GET", param);
     }
 
+    /**
+     * FORM_共通批量新增接口
+     */
+    public ResponseEntity sendCommonInsert(T param) {
+        return this.sendCommon(bpmProperties.formCommonInsertIp, "POST", param);
+    }
+
+    /**
+     * 根据fid获取表单详情接口
+     */
+    public ResponseEntity sendGetFormInfo(Long fId) {
+        // 得到当前用户的token  下发流程请求需要携带
+        String token = SecurityUtils.getLoginUser().getToken();
+        // 设置请求头
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization", "XIAFA" + token);
+        HttpEntity request = new HttpEntity(headers);
+        ResponseEntity<AjaxResult> response = restTemplate.exchange(
+                bpmProperties.formGetFormInfoIp,
+                HttpMethod.GET,
+                request,
+                AjaxResult.class,
+                fId
+        );
+        return response;
+    }
 
+    /**
+     * 根据fid获取表格组详情接口
+     */
+    public ResponseEntity sendGetGroupInfo(String groupKey) {
+        // 得到当前用户的token  下发流程请求需要携带
+        String token = SecurityUtils.getLoginUser().getToken();
+        // 设置请求头
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization", "XIAFA" + token);
+        HttpEntity request = new HttpEntity(headers);
+        ResponseEntity<AjaxResult> response = restTemplate.exchange(
+                bpmProperties.getFormGetGroupInfoIp(),
+                HttpMethod.GET,
+                request,
+                AjaxResult.class,
+                groupKey
+        );
+        return response;
+    }
 }

+ 1 - 1
ruoyi-process-execution/src/main/java/com/ruoyi/execution/produce/dispersed/runbpm/PreExecutionToolClass.java

@@ -220,7 +220,7 @@ public class PreExecutionToolClass<R> {
                     // bpmExecuteNodeForm.setTaskNodeFromContent();
                 } else if (item.getScriptTriggerType() == 0L) { // 异常脚本
                     bpmExecuteNodeForm.setTaskNodeFormKey(item.getFormKey());
-                    bpmExecuteNodeForm.setTaskNodeFromType(item.getScriptNodeFormtype());
+                    bpmExecuteNodeForm.setTaskNodeFromType(item.getScriptNodeFormType());
                     // bpmExecuteNodeForm.setTaskNodeFromContent();
                 }
                 bpmExecuteNodeFormList.add(bpmExecuteNodeForm);

+ 10 - 8
ruoyi-system/src/main/java/com/ruoyi/system/entity/BpmNodeScriptRelevance.java

@@ -67,14 +67,6 @@ public class BpmNodeScriptRelevance extends BaseEntity implements Serializable {
         this.scriptNodeName = scriptNodeName;
     }
 
-    public String getScriptNodeFormtype() {
-        return scriptNodeFormType;
-    }
-
-    public void setScriptNodeFormtype(String scriptNodeFormType) {
-        this.scriptNodeFormType = scriptNodeFormType;
-    }
-
     public BpmNodeScriptRelevance(String nodeKey) {
         this.nodeKey = nodeKey;
     }
@@ -124,6 +116,14 @@ public class BpmNodeScriptRelevance extends BaseEntity implements Serializable {
         return scriptTriggerType;
     }
 
+    public String getScriptNodeFormType() {
+        return scriptNodeFormType;
+    }
+
+    public void setScriptNodeFormType(String scriptNodeFormType) {
+        this.scriptNodeFormType = scriptNodeFormType;
+    }
+
     @Override
     public String toString() {
         final StringBuffer sb = new StringBuffer("BpmNodeScriptRelevance{");
@@ -137,4 +137,6 @@ public class BpmNodeScriptRelevance extends BaseEntity implements Serializable {
         sb.append('}');
         return sb.toString();
     }
+
+
 }

+ 13 - 6
ruoyi-system/src/main/java/com/ruoyi/system/mapper/BpmNodeScriptRelevanceMapper.java

@@ -17,7 +17,7 @@ public interface BpmNodeScriptRelevanceMapper
      * @param id 流程节点脚本关联主键
      * @return 流程节点脚本关联
      */
-    public BpmNodeScriptRelevance selectBpmNodeScriptRelevanceById(Long id);
+    BpmNodeScriptRelevance selectBpmNodeScriptRelevanceById(Long id);
 
     /**
      * 查询流程节点脚本关联列表
@@ -25,7 +25,7 @@ public interface BpmNodeScriptRelevanceMapper
      * @param bpmNodeScriptRelevance 流程节点脚本关联
      * @return 流程节点脚本关联集合
      */
-    public List<BpmNodeScriptRelevance> selectBpmNodeScriptRelevanceList(BpmNodeScriptRelevance bpmNodeScriptRelevance);
+    List<BpmNodeScriptRelevance> selectBpmNodeScriptRelevanceList(BpmNodeScriptRelevance bpmNodeScriptRelevance);
 
     /**
      * 新增流程节点脚本关联
@@ -33,7 +33,14 @@ public interface BpmNodeScriptRelevanceMapper
      * @param bpmNodeScriptRelevance 流程节点脚本关联
      * @return 结果
      */
-    public int insertBpmNodeScriptRelevance(BpmNodeScriptRelevance bpmNodeScriptRelevance);
+    int insertBpmNodeScriptRelevance(BpmNodeScriptRelevance bpmNodeScriptRelevance);
+
+    /**
+     * 批量新增流程节点脚本关联
+     * @param bpmNodeScriptRelevanceList 流程节点脚本关联
+     * @return
+     */
+    int insertBpmNodeScriptRelevanceList(List<BpmNodeScriptRelevance> bpmNodeScriptRelevanceList);
 
     /**
      * 修改流程节点脚本关联
@@ -41,7 +48,7 @@ public interface BpmNodeScriptRelevanceMapper
      * @param bpmNodeScriptRelevance 流程节点脚本关联
      * @return 结果
      */
-    public int updateBpmNodeScriptRelevance(BpmNodeScriptRelevance  bpmNodeScriptRelevance);
+    int updateBpmNodeScriptRelevance(BpmNodeScriptRelevance  bpmNodeScriptRelevance);
 
     /**
      * 删除流程节点脚本关联
@@ -49,7 +56,7 @@ public interface BpmNodeScriptRelevanceMapper
      * @param id 流程节点脚本关联主键
      * @return 结果
      */
-    public int deleteBpmNodeScriptRelevanceById(Long id);
+    int deleteBpmNodeScriptRelevanceById(Long id);
 
     /**
      * 批量删除流程节点脚本关联
@@ -57,7 +64,7 @@ public interface BpmNodeScriptRelevanceMapper
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
-    public int deleteBpmNodeScriptRelevanceByIds(Long[] ids);
+    int deleteBpmNodeScriptRelevanceByIds(Long[] ids);
 
     /**
      * 查询自动执行脚本

+ 6 - 6
ruoyi-system/src/main/java/com/ruoyi/system/service/IBpmNodeScriptRelevanceService.java

@@ -17,7 +17,7 @@ public interface IBpmNodeScriptRelevanceService {
      * @param id 流程节点脚本关联主键
      * @return 流程节点脚本关联
      */
-    public BpmNodeScriptRelevance selectBpmNodeScriptRelevanceById(Long id);
+    BpmNodeScriptRelevance selectBpmNodeScriptRelevanceById(Long id);
 
     /**
      * 查询流程节点脚本关联列表
@@ -25,7 +25,7 @@ public interface IBpmNodeScriptRelevanceService {
      * @param bpmNodeScriptRelevance 流程节点脚本关联
      * @return 流程节点脚本关联集合
      */
-    public List<BpmNodeScriptRelevance> selectBpmNodeScriptRelevanceList(BpmNodeScriptRelevance bpmNodeScriptRelevance);
+    List<BpmNodeScriptRelevance> selectBpmNodeScriptRelevanceList(BpmNodeScriptRelevance bpmNodeScriptRelevance);
 
     /**
      * 新增流程节点脚本关联
@@ -33,7 +33,7 @@ public interface IBpmNodeScriptRelevanceService {
      * @param bpmNodeScriptRelevance 流程节点脚本关联
      * @return 结果
      */
-    public int insertBpmNodeScriptRelevance(List<BpmNodeScriptRelevance> bpmNodeScriptRelevance);
+    int insertBpmNodeScriptRelevance(List<BpmNodeScriptRelevance> bpmNodeScriptRelevance);
 
     /**
      * 修改流程节点脚本关联
@@ -41,7 +41,7 @@ public interface IBpmNodeScriptRelevanceService {
      * @param bpmNodeScriptRelevance 流程节点脚本关联
      * @return 结果
      */
-    public int updateBpmNodeScriptRelevance(List<BpmNodeScriptRelevance>  bpmNodeScriptRelevance);
+    int updateBpmNodeScriptRelevance(List<BpmNodeScriptRelevance>  bpmNodeScriptRelevance);
 
     /**
      * 批量删除流程节点脚本关联
@@ -49,7 +49,7 @@ public interface IBpmNodeScriptRelevanceService {
      * @param ids 需要删除的流程节点脚本关联主键集合
      * @return 结果
      */
-    public int deleteBpmNodeScriptRelevanceByIds(Long[] ids);
+    int deleteBpmNodeScriptRelevanceByIds(Long[] ids);
 
     /**
      * 删除流程节点脚本关联信息
@@ -57,7 +57,7 @@ public interface IBpmNodeScriptRelevanceService {
      * @param id 流程节点脚本关联主键
      * @return 结果
      */
-    public int deleteBpmNodeScriptRelevanceById(Long id);
+    int deleteBpmNodeScriptRelevanceById(Long id);
 
     /**
      * 查询自动执行脚本

+ 9 - 9
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BpmNodeScriptRelevanceServiceImpl.java

@@ -46,20 +46,20 @@ public class BpmNodeScriptRelevanceServiceImpl implements IBpmNodeScriptRelevanc
     /**
      * 新增流程节点脚本关联
      *
-     * @param bpmNodeScriptRelevance 流程节点脚本关联
+     * @param bpmNodeScriptRelevanceList 流程节点脚本关联
      * @return 结果
      */
     @Override
     @Transactional
     public int insertBpmNodeScriptRelevance(List<BpmNodeScriptRelevance> bpmNodeScriptRelevanceList) {
-        bpmNodeScriptRelevanceList.forEach(item -> {
-            if (item.getId() == null) {
-                bpmNodeScriptRelevanceMapper.insertBpmNodeScriptRelevance(item);
-            } else {
-                bpmNodeScriptRelevanceMapper.updateBpmNodeScriptRelevance(item);
-            }
-        });
-        return 1;
+//        bpmNodeScriptRelevanceList.forEach(item -> {
+//            if (item.getId() == null) {
+//                bpmNodeScriptRelevanceMapper.insertBpmNodeScriptRelevance(item);
+//            } else {
+//                bpmNodeScriptRelevanceMapper.updateBpmNodeScriptRelevance(item);
+//            }
+//        });
+        return bpmNodeScriptRelevanceMapper.insertBpmNodeScriptRelevanceList(bpmNodeScriptRelevanceList);
     }
 
     /**

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BpmProcessConfigurationServiceImpl.java

@@ -183,7 +183,7 @@ public class BpmProcessConfigurationServiceImpl implements IBpmProcessConfigurat
             if (nodeVo.getRemoveNodeIds().length > 0) {
                 nodeKeys.addAll(bpmProcessConfigurationMapper.selectNodeKeyByIds(Arrays.asList(nodeVo.getRemoveNodeIds())));
             }
-            // iBpmNodeScriptRelevanceService.deleteBpmNodeScriptRelevanceByNodeKeys(nodeKeys);  有问题。。。
+            iBpmNodeScriptRelevanceService.deleteBpmNodeScriptRelevanceByNodeKeys(nodeKeys);
             //新增节点脚本关系
             iBpmNodeScriptRelevanceService.insertBpmNodeScriptRelevance(nodeVo.getBpmNodeScriptRelevanceList());
         }

+ 8 - 10
ruoyi-system/src/main/resources/mapper/bpm/BpmNodeScriptRelevanceMapper.xml

@@ -37,19 +37,18 @@
         where id = #{id}
     </select>
 
-<!--    <insert id="insertBpmNodeScriptRelevancelist" parameterType="java.util.List">-->
-<!--        insert into bpm_node_script_relevance( node_key,script_key,script_trigger_type-->
-<!--        ,form_key,script_node_name,script_node_form_type )-->
-<!--        values-->
-<!--        <foreach collection="list" item="item" index="index" separator=",">-->
-<!--            (#{item.nodeKey},#{item.scriptKey},#{item.scriptTriggerType},#{formKey},#{scriptNodeName},#{scriptNodeFormType})-->
-<!--        </foreach>-->
-<!--    </insert>-->
+    <insert id="insertBpmNodeScriptRelevanceList">
+        insert into bpm_node_script_relevance( node_key,script_key,script_trigger_type
+        ,form_key,script_node_name,script_node_form_type )
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.nodeKey},#{item.scriptKey},#{item.scriptTriggerType},#{item.formKey},#{item.scriptNodeName},#{item.scriptNodeFormType})
+        </foreach>
+    </insert>
     <!--    <foreach collection="list" item="item" index="index" separator=";">-->
     <insert id="insertBpmNodeScriptRelevance" parameterType="com.ruoyi.system.entity.BpmNodeScriptRelevance">
         insert into bpm_node_script_relevance
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">id,</if>
             <if test="nodeKey != null">node_key,</if>
             <if test="scriptKey != null">script_key,</if>
             <if test="scriptTriggerType != null">script_trigger_type,</if>
@@ -58,7 +57,6 @@
             <if test="scriptNodeFormType != null">script_node_form_type,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">#{id},</if>
             <if test="nodeKey != null">#{nodeKey},</if>
             <if test="scriptKey != null">#{scriptKey},</if>
             <if test="scriptTriggerType != null">#{scriptTriggerType},</if>