Explorar el Código

兼容小程序端值获取

Gogs hace 4 años
padre
commit
4803bc39f4

+ 14 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/dto/FormDataDto.java

@@ -87,6 +87,12 @@ public class FormDataDto implements Serializable {
      */
     private String other;
 
+    /**
+     * 提交来源
+     * @return
+     */
+    private String submitSource;
+
 
     public int getLimit() {
         try {
@@ -221,6 +227,14 @@ public class FormDataDto implements Serializable {
     public void setOther(String other) {
         this.other = other;
     }
+
+    public String getSubmitSource() {
+        return submitSource;
+    }
+
+    public void setSubmitSource(String submitSource) {
+        this.submitSource = submitSource;
+    }
 }
 
 

+ 2 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/dto/TaskDto.java

@@ -78,6 +78,8 @@ public class TaskDto extends BaseDto {
     @JSONField(format = "yyyy-MM-dd HH:mm")
     private Date updateTime;
 
+    private String approvedTime;
+
     /**
      * 上一步任务实例
      */

+ 42 - 37
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -417,7 +417,7 @@ public class TableServiceCmdService {
             jo.put("type", "STRING");
 //            jo.put("valuedata", jsonObject.get(column.getColumnName()));
             // 处理字典值
-            this.genDictValue(column, jsonObject, jo);
+            this.genDictValue(column, jsonObject, jo, dto.getOther());
             addcolums.add(jo);
         }
         JSONObject result = new JSONObject();
@@ -649,23 +649,28 @@ public class TableServiceCmdService {
         for (JSONObject commitDatum : commitData) {
             String dbStatus = getStatusFromFormData(commitDatum, beforeList);
             // 只能是未提交的状态下,才能调用提交
-            if (isSubmit) {
-                // 只能是未提交的状态下,才能调用提交, 下面是不允许
-                if (!SubmitConstant.NOT_SUBMIT.equals(dbStatus)) {
-                    commitDatum.put(SubmitConstant.SUBMIT_RESULT, SubmitConstant.NOT_ALLOWED);
-                } else {
-                    commitDatum.put(SubmitConstant.STATUS, SubmitConstant.CHECKING);
-                    handlerSubmit(tableName, pkName, commitDatum);
-                }
-            } else {
-                // 只有在已提交的情况下才能反提交, 下面是不允许
-                if (!SubmitConstant.SUBMITTED.equals(dbStatus)) {
-                    commitDatum.put(SubmitConstant.SUBMIT_RESULT, SubmitConstant.NOT_ALLOWED);
+            if(StringUtils.isNotEmpty(condition.getSubmitSource())) {
+                handlerSubmit(tableName, pkName, commitDatum);
+            }else {
+                if (isSubmit) {
+                    // 只能是未提交的状态下,才能调用提交, 下面是不允许
+                    if (!SubmitConstant.NOT_SUBMIT.equals(dbStatus)) {
+                        commitDatum.put(SubmitConstant.SUBMIT_RESULT, SubmitConstant.NOT_ALLOWED);
+                    } else {
+                        commitDatum.put(SubmitConstant.STATUS, SubmitConstant.CHECKING);
+                        handlerSubmit(tableName, pkName, commitDatum);
+                    }
                 } else {
-                    commitDatum.put(SubmitConstant.STATUS, SubmitConstant.NOT_SUBMIT);
-                    handlerSubmit(tableName, pkName, commitDatum);
+                    // 只有在已提交的情况下才能反提交, 下面是不允许
+                    if (!SubmitConstant.SUBMITTED.equals(dbStatus)) {
+                        commitDatum.put(SubmitConstant.SUBMIT_RESULT, SubmitConstant.NOT_ALLOWED);
+                    } else {
+                        commitDatum.put(SubmitConstant.STATUS, SubmitConstant.NOT_SUBMIT);
+                        handlerSubmit(tableName, pkName, commitDatum);
+                    }
                 }
             }
+
         }
         return AjaxResult.success(commitData);
     }
@@ -913,32 +918,32 @@ public class TableServiceCmdService {
         }
     }
 
-    private void genDictValue(GenTableColumn column, JSONObject jsonObject, JSONObject jo) {
-        Set<String> strings = jsonObject.keySet();
-        List<String> cols = new ArrayList<>(strings);
-        for (String col : cols) {
-            String dictType = column.getDictType();
-            String columnName = column.getColumnName();
-            if(columnName.equals("nick_name")) {
-                System.out.println(columnName);
-            }
-            if (col.equals(columnName) && isNotEmpty(dictType)) {
-                // 列表需要字典值的dictLabel, 不放入sysDictData
-                List<SysDictData> sysDictData = column.getSysDictData();
-                //获取到字段的值
-                String value = String.valueOf(jsonObject.get(col));
-                if (sysDictData != null && sysDictData.size() > 0){
-                    for (SysDictData sysDictDatum : sysDictData) {
-                        if (sysDictDatum.getDictValue().equals(value)) {
-                            jo.put("valuedata", sysDictDatum.getDictLabel());
-                            jsonObject.put(columnName, sysDictDatum.getDictLabel());
-                        }
+    private void genDictValue(GenTableColumn column, JSONObject jsonObject, JSONObject jo, String other) {
+
+        String dictType = column.getDictType();
+        String columnName = column.getColumnName();
+        if(StringUtils.isEmpty(other)) {
+            jo.put("valuedata", jsonObject.get(columnName));
+            return;
+        }
+
+        if (isNotEmpty(dictType)) {
+            // 列表需要字典值的dictLabel, 不放入sysDictData
+            List<SysDictData> sysDictData = column.getSysDictData();
+            //获取到字段的值
+            String value = String.valueOf(jsonObject.get(columnName));
+            if (sysDictData != null && sysDictData.size() > 0){
+                for (SysDictData sysDictDatum : sysDictData) {
+                    if (sysDictDatum.getDictValue().equals(value)) {
+                        jo.put("valuedata", sysDictDatum.getDictLabel());
+                        jsonObject.put(columnName, sysDictDatum.getDictLabel());
                     }
                 }
-            }else{
-                jo.put("valuedata", jsonObject.get(column.getColumnName()));
             }
+        }else{
+            jo.put("valuedata", jsonObject.get(columnName));
         }
+
     }
 }