#
luxiaotao1123
2024-02-17 8863431c5af07559dc6888af37ef13e21208e486
zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
@@ -70,6 +70,7 @@
    private String systemPackagePath;
    private String systemPackage;
    private String itemName;
    private String tableColumns;
    public void build() throws Exception {
        init();
@@ -117,12 +118,12 @@
                    break;
                case "Index":
                    pass = react;
                    directory = frontendPrefixPath + "/src/pages/" + itemName + "/";
                    directory = frontendPrefixPath + "/src/pages/" + itemName + "/"  + simpleEntityName + "/";
                    fileName = "index.jsx";
                    break;
                case "Edit":
                    pass = react;
                    directory = frontendPrefixPath + "/src/pages/" + itemName + "/components/";
                    directory = frontendPrefixPath + "/src/pages/" + itemName + "/" +  simpleEntityName + "/components/";
                    fileName = "edit.jsx";
                    break;
                default:
@@ -161,6 +162,7 @@
            }
        }
        itemName = packagePathSplit[packagePathSplit.length - 1];
        tableColumns = createTableColumns();
    }
    private String readFile(String template){
@@ -209,6 +211,7 @@
                    .replaceAll("@\\{PRIMARYKEYCOLUMN0}", GeneratorUtils.firstCharConvert(primaryKeyColumn, true))
                    .replaceAll("@\\{UPCASEMARJORCOLUMN}", GeneratorUtils.firstCharConvert(primaryKeyColumn, false))
                    .replaceAll("@\\{SYSTEMPACKAGE}",systemPackage)
                    .replaceAll("@\\{TABLECOLUMNS}", tableColumns)
            ;
            writerFile.createNewFile();
            BufferedWriter writer=new BufferedWriter(new FileWriter(writerFile));
@@ -753,10 +756,84 @@
    /************************************** Index动态字段 *******************************************/
    /**********************************************************************************************/
    private String createTableColumns() {
        StringBuilder sb = new StringBuilder();
        for (Column column : columns) {
            if (column.isPrimaryKey()
                    || column.getHumpName().equals("deleted")
                    || column.getHumpName().equals("hostId")
            ) {
                continue;
            }
            sb.append("        {\n")
                    .append("            title: '").append(column.getComment()).append("',\n")
                    .append("            dataIndex: '");
            if ("Date".equals(column.getType()) || !Cools.isEmpty(column.getEnums()) || !Cools.isEmpty(column.getForeignKeyMajor())){
                // 时间、枚举  格式化  主键修饰
                sb.append(column.getHumpName()).append("\\$");
            } else {
                sb.append(column.getHumpName());
            }
            sb.append("',\n")
                    .append("            valueType: 'text',\n");
            if (column.isMajor()) {
                sb.append("            copyable: true,\n");
            }
            sb.append("            filterDropdown: (props) => <").append(getAntProFilterType(column)).append("\n")
                    .append("                name='").append(column.getHumpName()).append("'\n")
                    .append("                {...props}\n")
                    .append("                actionRef={actionRef}\n")
                    .append("                setSearchParam={setSearchParam}\n");
            if (!Cools.isEmpty(column.getEnums())) {
                sb.append("                data={[\n");
                for (Map<String, Object> map : column.getEnums()) {
                    for (Map.Entry<String, Object> entry : map.entrySet()){
                        sb.append("                    { label: '").append(entry.getValue()).append("', value: ").append(entry.getKey()).append(" },\n");
                    }
                }
                sb.append("                ]}\n");
            }
            sb.append("            />,\n")
                    .append("        },\n");
        }
        return sb.toString();
    }
    private String getAntProFilterType(Column column){
        String filter = "TextFilter";
        switch (column.getType()) {
            case "Boolean":
                filter = "TextFilter";
                break;
            case "Short":
                filter = "TextFilter";
                break;
            case "Integer":
                filter = "TextFilter";
                break;
            case "Long":
                filter = "TextFilter";
                break;
            case "Double":
                filter = "TextFilter";
                break;
            case "String":
                filter = "TextFilter";
                break;
            case "Date":
                filter = "DatetimeRangeFilter";
                break;
            default:
                break;
        }
        if (!Cools.isEmpty(column.getEnums())) {
            filter = "SelectFilter";
        }
        if (!Cools.isEmpty(column.getForeignKey())) {
            filter = "LinkFilter";
        }
        return filter;
    }
    /**********************************************************************************************/
    /************************************** Edit动态字段 ********************************************/