zzw
3 天以前 7858c25faa53dd2f4c0faae58618565ac5bb50ae
emergency-repair-server/src/main/java/com/emergencyrepair/bootstrap/DataInitializer.java
@@ -34,6 +34,7 @@
import com.emergencyrepair.system.mapper.SysTenantMenuMapper;
import com.emergencyrepair.system.service.ButtonPermissionCatalog;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@@ -74,6 +75,9 @@
    private final JdbcTemplate jdbcTemplate;
    private final ButtonPermissionCatalog buttonPermissionCatalog;
    @Value("${app.seed-demo-data:false}")
    private boolean seedDemoData;
    private final Map<String, Long> menuIds = new HashMap<>();
    private final Map<String, Long> productDeviceIds = new HashMap<>();
    private final List<Long> contractorIds = new ArrayList<>();
@@ -85,6 +89,7 @@
        seedMenusAndRoles();
        ensureSystemMenus();
        ensureCompletionMenus();
        ensureEngineeringPrintMenu();
        normalizeSensitiveTerms();
        normalizeEquipmentTerms();
        seedButtonMenus();
@@ -100,7 +105,9 @@
        backfillFaultEquipmentIds();
        upgradeDemoFaultEquipment();
        upgradeDemoMultiEquipmentFault();
        seedBusinessData();
        if (seedDemoData) {
            seedBusinessData();
        }
        backfillCompletionConsumableCounts();
        normalizeParentSystemSeparators();
    }
@@ -110,14 +117,15 @@
            createMenu("dashboard", null, "首页门户", "/dashboard", "el-icon-s-home", 1, 10);
            Long fault = createMenu("fault", null, "故障管理", null, "el-icon-warning-outline", 0, 20);
            createMenu("fault-report", fault, "故障上报", "/fault/report", null, 1, 10);
            createMenu("xcb-review", fault, "rk_XCB助理审核", "/fault/review", null, 1, 20);
            createMenu("cmb-approval", fault, "rk_CMB领导审批", "/fault/approval/cmb", null, 1, 30);
            createMenu("jcc-assistant", fault, "rk_JCC助理审批", "/fault/approval/jcc-assistant", null, 1, 40);
            createMenu("jcc-director", fault, "rk_JCC处长审批", "/fault/approval/jcc-director", null, 1, 50);
            createMenu("dispatch", fault, "rk_XCB助理派单", "/fault/dispatch", null, 1, 60);
            createMenu("xcb-review", fault, "rk_第一审批人审核", "/fault/review", null, 1, 20);
            createMenu("cmb-approval", fault, "rk_第二审批人审批", "/fault/approval/cmb", null, 1, 30);
            createMenu("jcc-assistant", fault, "rk_第三审批人审批", "/fault/approval/jcc-assistant", null, 1, 40);
            createMenu("jcc-director", fault, "rk_第四审批人审批", "/fault/approval/jcc-director", null, 1, 50);
            createMenu("dispatch", fault, "rk_第一审批人派单", "/fault/dispatch", null, 1, 60);
            createMenu("completion-list", fault, "完工情况处理", "/fault/completion", null, 1, 70);
            createMenu("completion-report", fault, "完工信息上报", "/completion/report", null, 1, 80);
            createMenu("completion-query", fault, "完工信息查阅", "/completion/query", null, 1, 90);
            createMenu("engineering-print", fault, "工程单打印", "/fault/engineering-print", null, 1, 100);
            Long acceptance = createMenu("acceptance", null, "完工验收", null, "el-icon-circle-check", 0, 30);
            createMenu("accept-application", acceptance, "验收申请", "/acceptance/application", null, 1, 10);
@@ -275,6 +283,16 @@
        grantAdminMenus("/completion/query");
    }
    private void ensureEngineeringPrintMenu() {
        SysMenu fault = menuMapper.selectOne(Wrappers.<SysMenu>lambdaQuery()
                .eq(SysMenu::getName, "故障管理")
                .eq(SysMenu::getMenuType, 0)
                .last("LIMIT 1"));
        Long pid = fault == null ? 0L : fault.getId();
        ensureMenu(pid, "工程单打印", "/fault/engineering-print", 100);
        grantAdminMenus("/fault/engineering-print");
    }
    private void ensureSystemMenus() {
        SysMenu system = menuMapper.selectOne(Wrappers.<SysMenu>lambdaQuery()
                .eq(SysMenu::getName, "\u7cfb\u7edf\u7ba1\u7406").last("LIMIT 1"));