机组车台菜单迁入生产-前缫目录

This commit is contained in:
yanpeng200212
2026-10-22 11:00:27 +08:00
parent 69eb2bedf0
commit 2e4c045818
4 changed files with 50 additions and 9 deletions
@@ -225,7 +225,7 @@ public static class BusinessSeedData
AddMenu(fsql, baseDirId, "工艺庄口", "/base/zhuangkou", "base/zhuangkou/index", "Collection", "base:zhuangkou:list", 1);
AddMenu(fsql, baseDirId, "生丝规格", "/base/guige", "base/guige/index", "Grid", "base:guige:list", 2);
AddMenu(fsql, baseDirId, "生丝定级指标", "/base/dingjizhibiao", "base/dingjizhibiao/index", "TrendCharts", "base:dingjizhibiao:list", 3);
AddMenu(fsql, baseDirId, "机组车台", "/base/jizuchetai", "base/jizuchetai/index", "SetUp", "base:jizuchetai:list", 4);
// 机组车台归属「生产-前缫」(见 DbSeeder.SeedProdMenus),不再挂在基础数据下
// 生产模块按工序拆分为两个一级目录:生产-前缫(落丝)/ 生产-后缫(纤度、黑板检验)
var qianxianDirId = fsql.Select<Menu>().Where(m => m.Path == "/prod/qianxian").First()?.Id ?? 0;
@@ -714,14 +714,45 @@ public static class DbSeeder
Console.WriteLine("[DbSeeder] 已清理旧权限单元 base:chejianbanci:list");
}
// 机组车台原先挂在"基础数据"目录下,按 F9 归属改到"生产-前缫"
var legacyJizuChetai = fsql.Select<SysMenu>().Where(m => m.Path == "/base/jizuchetai").First();
if (legacyJizuChetai != null)
{
fsql.Ado.ExecuteNonQuery($"DELETE FROM sys_rbac_role_permissions WHERE permission_id = {legacyJizuChetai.Id}");
fsql.Ado.ExecuteNonQuery($"DELETE FROM sys_rbac_menus WHERE id = {legacyJizuChetai.Id}");
Console.WriteLine("[DbSeeder] 已清理旧菜单 /base/jizuchetai(机组车台移入生产-前缫)");
}
var legacyJzctPerms = fsql.Ado.ExecuteDataTable("SELECT id FROM sys_rbac_permissions WHERE code = 'base:jizuchetai:list'");
foreach (DataRow permRow in legacyJzctPerms.Rows)
{
var permId = Convert.ToInt64(permRow["id"]);
fsql.Ado.ExecuteNonQuery($"DELETE FROM sys_rbac_role_permissions WHERE permission_id = {permId}");
fsql.Ado.ExecuteNonQuery($"DELETE FROM sys_rbac_permissions WHERE id = {permId}");
Console.WriteLine("[DbSeeder] 已清理旧权限单元 base:jizuchetai:list");
}
EnsureTopMenuWithChildren(fsql, snowflake, "/prod/qianxian", "生产-前缫", "Cpu", 5,
new (string Name, string Path, string Component, string Permission, string Icon, int Sort)[]
{
("落丝记录", "/prod/qianxian/lsjl", "prod/lsjl/index", "prod:lsjl:list", "Document", 1),
("车间班次", "/prod/qianxian/chejianbanci", "base/chejianbanci/index", "prod:chejianbanci:list", "Timer", 2),
("看台排班", "/prod/qianxian/ktpb", "prod/ktpb/index", "prod:ktpb:list", "Grid", 3)
("机组车台", "/prod/qianxian/jizuchetai", "base/jizuchetai/index", "prod:jizuchetai:list", "SetUp", 1),
("落丝记录", "/prod/qianxian/lsjl", "prod/lsjl/index", "prod:lsjl:list", "Document", 2),
("车间班次", "/prod/qianxian/chejianbanci", "base/chejianbanci/index", "prod:chejianbanci:list", "Timer", 3),
("看台排班", "/prod/qianxian/ktpb", "prod/ktpb/index", "prod:ktpb:list", "Grid", 4)
});
// 子菜单顺序归一(EnsureTopMenuWithChildren 只补新菜单,不调整已存在菜单的排序)
foreach (var (path, sort) in new (string Path, int Sort)[]
{
("/prod/qianxian/jizuchetai", 1), ("/prod/qianxian/lsjl", 2),
("/prod/qianxian/chejianbanci", 3), ("/prod/qianxian/ktpb", 4)
})
{
fsql.Update<SysMenu>()
.Set(x => x.SortOrder, sort)
.Where(x => x.Path == path && x.SortOrder != sort)
.ExecuteAffrows();
}
EnsureTopMenuWithChildren(fsql, snowflake, "/prod/houxian", "生产-后缫", "DataLine", 6,
new (string Name, string Path, string Component, string Permission, string Icon, int Sort)[]
{