新增「车间班次」功能(前缫车间排班配置)
后端 - 新增实体 ChejianBanci(表 ChejianBancis:车间 / 班次 / 日工作小时数) - 新增 ChejianBanciService 与 ChejianBanciController(api/prod/chejianbanci) 分页列表、编辑回显、新增、修改、删除、前缫车间下拉;含必填校验与同车间同班次重复校验 - 菜单种子:基础数据 → 车间班次(Timer 图标,权限 base:chejianbanci:list) - 修正历史数据:名称以「前缫」开头的部门职责类型改为「前缫」(25)。 迁移时 duty_type 被统一写成「其他」,导致按职责类型筛选车间取不到数据 前端 - 新增 web/src/views/base/chejianbanci/index.vue(列表 / 搜索 / 分页 / 新增 / 编辑 / 删除) - 注册组件映射 base/chejianbanci/index
This commit is contained in:
@@ -82,6 +82,10 @@ public static class DbSeeder
|
||||
// 6.68 生产模块(按工序拆分:生产-前缫 / 生产-后缫)
|
||||
SeedProdMenus(fsql, snowflake);
|
||||
|
||||
// 6.69 车间班次菜单(挂在"基础数据"目录下)+ 修正前缫部门的职责类型
|
||||
SeedChejianBanciMenus(fsql, snowflake);
|
||||
FixQianxianDutyType(fsql);
|
||||
|
||||
// 6.7 为菜单创建权限单元(Permission),并修正旧菜单权限关联(统一权限模型)
|
||||
FixMenuPermissions(fsql, snowflake);
|
||||
|
||||
@@ -763,6 +767,39 @@ public static class DbSeeder
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>车间班次菜单(挂在"基础数据"目录下)</summary>
|
||||
private static void SeedChejianBanciMenus(IFreeSql fsql, ISnowflakeIdGenerator snowflake)
|
||||
{
|
||||
try
|
||||
{
|
||||
EnsureBaseDataMenu(fsql, snowflake, "/base/chejianbanci", "车间班次",
|
||||
"base/chejianbanci/index", "base:chejianbanci:list", "Timer", 11);
|
||||
Console.WriteLine("[DbSeeder] 车间班次菜单已就绪");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[DbSeeder] 车间班次菜单种子跳过:{ex}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修正前缫部门的职责类型:历史数据迁移时 duty_type 统一写成了"其他"(5),
|
||||
/// 而车间班次等模块需要按职责类型(前缫=25)筛选部门。
|
||||
/// </summary>
|
||||
private static void FixQianxianDutyType(IFreeSql fsql)
|
||||
{
|
||||
try
|
||||
{
|
||||
var rows = fsql.Ado.ExecuteNonQuery(
|
||||
"UPDATE sys_departments SET duty_type = 25 WHERE is_deleted = 0 AND name LIKE '前缫%' AND duty_type <> 25");
|
||||
if (rows > 0) Console.WriteLine($"[DbSeeder] 已修正 {rows} 个前缫部门的职责类型");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[DbSeeder] 部门职责类型修正跳过:{ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>确保指定菜单已授权给角色(后续 FixMenuPermissions 会把 permission_id 修正为权限单元 Id)</summary>
|
||||
private static void EnsureMenuPermission(IFreeSql fsql, ISnowflakeIdGenerator snowflake, long roleId, long menuId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user