Эх сурвалжийг харах

Merge remote-tracking branch 'origin/qianshan_data_bureau' into qianshan_data_bureau

shiqian 4 жил өмнө
parent
commit
8d8e41bdb5

+ 3 - 3
boman-web-core/src/main/java/com/boman/web/core/mapper/StandardlyMapper.java

@@ -632,10 +632,10 @@ public interface StandardlyMapper {
                         .append(pkName).append(" = ")
                         .append(""+ id +"").append(" limit 1");
             }else if(other.equals("leave")) {
-                sqlBuilder.append("select t.*,u.nick_name,d.dict_label  from ")
+                sqlBuilder.append("select t.*,u.nick_name  from ")
                         .append(tableName).append(" t ").append(" JOIN sys_user u ON u.user_name = t.leavefrom_user_name ")
-                        .append(" LEFT JOIN sys_dict_data d ON d.dict_type='biz_leave_type' AND d.dict_value=t.leavefrom_leave_type where ")
-                        .append("t.").append(pkName).append(" = ").append(""+ id +"").append(" limit 1");;
+                        .append(" where ")
+                        .append("t.").append(pkName).append(" = ").append(""+ id +"").append(" limit 1");
             }
             return sqlBuilder.toString();
         }

+ 32 - 8
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -47,9 +47,7 @@ import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import java.sql.Timestamp;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Predicate;
 
@@ -406,7 +404,6 @@ public class TableServiceCmdService {
         this.addOtherColumn(columns, dto.getOther());
         for (GenTableColumn column : columns) {
             JSONObject jo = new JSONObject();
-
             jo.put("col", column.getId());
             jo.put("colid", column.getId());
             jo.put("colname", column.getColumnName());
@@ -418,7 +415,9 @@ public class TableServiceCmdService {
             jo.put("name", column.getColumnComment());
             jo.put("readonly", false);
             jo.put("type", "STRING");
-            jo.put("valuedata", jsonObject.get(column.getColumnName()));
+//            jo.put("valuedata", jsonObject.get(column.getColumnName()));
+            // 处理字典值
+            this.genDictValue(column, jsonObject, jo);
             addcolums.add(jo);
         }
         JSONObject result = new JSONObject();
@@ -911,9 +910,34 @@ public class TableServiceCmdService {
             GenTableColumn userNameColum = new GenTableColumn();
             userNameColum.setColumnName("nick_name");
             columns.add(userNameColum);
-            GenTableColumn leaveTypeeColum = new GenTableColumn();
-            leaveTypeeColum.setColumnName("dict_label");
-            columns.add(leaveTypeeColum);
+        }
+    }
+
+    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());
+                        }
+                    }
+                }
+            }else{
+                jo.put("valuedata", jsonObject.get(column.getColumnName()));
+            }
         }
     }
 }