Parcourir la source

feat:表单数据是否使用表名作为键

侯茂昌 il y a 1 an
Parent
commit
5dd1cc2131

+ 24 - 2
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/entity/runbpm/BpmRunNodeFormFilterConditionsVo.java

@@ -24,10 +24,14 @@ public class BpmRunNodeFormFilterConditionsVo {
      * 例如:下拉框是当前节点表单的回显数据,并不是回填的操作数据
      * <p>
      * 默认拼接当前任务、节点编码
+     * 是否带流程编码
      */
     private boolean isNodeOnlyData;
 
-
+    /**
+     *
+     */
+    //private boolean isNodeOnlyData;
     /**
      * 如果是数组,那么这就是返回数据的key
      * <p>
@@ -38,17 +42,26 @@ public class BpmRunNodeFormFilterConditionsVo {
      */
     private String listKey;
 
+    /**
+     * 是否以表名为键
+     */
+    private boolean  isTableNameKey;
+
+
     public BpmRunNodeFormFilterConditionsVo() {
         this.isNodeOnlyData = true;
+        this.isTableNameKey=true;
     }
 
+
     @Override
     public String toString() {
-        final StringBuilder sb = new StringBuilder("BpmRunNodeFormFilterConditionsVo{");
+        final StringBuffer sb = new StringBuffer("BpmRunNodeFormFilterConditionsVo{");
         sb.append("tableName='").append(tableName).append('\'');
         sb.append(", condition=").append(condition);
         sb.append(", isNodeOnlyData=").append(isNodeOnlyData);
         sb.append(", listKey='").append(listKey).append('\'');
+        sb.append(", isTableNameKey=").append(isTableNameKey);
         sb.append('}');
         return sb.toString();
     }
@@ -77,6 +90,12 @@ public class BpmRunNodeFormFilterConditionsVo {
         this.listKey = listKey;
     }
 
+    public BpmRunNodeFormFilterConditionsVo(String tableName, Map<String, Object> condition, boolean isNodeOnlyData, boolean isTableNameKey) {
+        this.tableName = tableName;
+        this.condition = condition;
+        this.isNodeOnlyData = isNodeOnlyData;
+        this.isTableNameKey = isTableNameKey;
+    }
     public String getTableName() {
         return tableName;
     }
@@ -109,4 +128,7 @@ public class BpmRunNodeFormFilterConditionsVo {
         this.listKey = listKey;
     }
 
+    public boolean getIsTableNameKey() {return isTableNameKey;}
+
+    public void setIsTableNameKey(boolean isTableNameKey) {this.isTableNameKey = isTableNameKey;}
 }

+ 11 - 3
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/utils/EchoNodeFormData.java

@@ -80,15 +80,23 @@ public class EchoNodeFormData {
                     commonEntity.get().getResultMap().put(item.getListKey(), maps);
                 }
             } else {
+                //没有这个设置list
                 CommonEntity common = commonMapper.selectOne(item.getTableName(), item.getCondition());
                 if (common != null) {
+                    //带流程key
                     if(item.isNodeOnlyData()){
                         //节点数据回显逻辑
                         commonEntity.get().getResultMap().putAll(common.getResultMap());
+                    //不带流程key且
                     }else {
-                        //不是节点数据的表名做Key\对象做键
-                        String tableName = StringUtils.toCamelCase(item.getTableName());//转驼峰
-                        commonEntity.get().getResultMap().put(tableName, common.getResultMap());
+                        if(item.getIsTableNameKey()){
+                            //不是节点数据的表名做Key\对象做键
+                            String tableName = StringUtils.toCamelCase(item.getTableName());//转驼峰
+                            commonEntity.get().getResultMap().put(tableName, common.getResultMap());
+                        }else {
+                            //带流程key但是我不想让他以表名作为键
+                            commonEntity.get().getResultMap().putAll(common.getResultMap());
+                        }
                     }
                 }
             }