新增密炼物料皮重策略功能,包括相关实体、服务、控制器及接口,支持桌面端免密CRUD操作,优化打印记录与原料入场记录的衍生字段填充逻辑,提升用户体验。

This commit is contained in:
geht
2026-06-02 16:28:51 +08:00
parent 37239e1b0a
commit fef7d25e3c
75 changed files with 4407 additions and 170 deletions

View File

@@ -179,12 +179,54 @@ WHERE NOT EXISTS (
grantLoginSettingsRole.ExecuteNonQuery();
}
// 基础资料下「密炼物料皮重策略」菜单
long tareStrategyMenuId = 1300150011101;
var ensureTareStrategy = conn.CreateCommand();
ensureTareStrategy.Transaction = tx;
ensureTareStrategy.CommandText = @"
INSERT INTO sys_menu (id, pid, type, name, path, component, title, icon, is_iframe, is_hide, is_keep_alive, is_affix, order_no, status, create_time)
SELECT $id, $pid, 2, 'mesXslMixerMaterialTareStrategy', '/xslmes/mesXslMixerMaterialTareStrategy', 'MixerMaterialTareStrategyListView', '密炼物料皮重策略', '', 0, 0, 1, 0, 110, 1, datetime('now')
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE id = $id OR name = 'mesXslMixerMaterialTareStrategy');
";
ensureTareStrategy.Parameters.AddWithValue("$id", tareStrategyMenuId);
ensureTareStrategy.Parameters.AddWithValue("$pid", baseMenuId);
ensureTareStrategy.ExecuteNonQuery();
var grantTareStrategyTenant = conn.CreateCommand();
grantTareStrategyTenant.Transaction = tx;
grantTareStrategyTenant.CommandText = @"
INSERT INTO sys_tenant_menu (tenant_id, menu_id)
SELECT 1300000000001, $menuId
WHERE NOT EXISTS (
SELECT 1 FROM sys_tenant_menu t WHERE t.tenant_id = 1300000000001 AND t.menu_id = $menuId
);
";
grantTareStrategyTenant.Parameters.AddWithValue("$menuId", tareStrategyMenuId);
grantTareStrategyTenant.ExecuteNonQuery();
if (roleObj != null && roleObj != DBNull.Value)
{
var adminRoleId = Convert.ToInt64(roleObj);
var grantTareStrategyRole = conn.CreateCommand();
grantTareStrategyRole.Transaction = tx;
grantTareStrategyRole.CommandText = @"
INSERT INTO sys_role_menu (id, role_id, menu_id)
SELECT (SELECT IFNULL(MAX(id),0)+1 FROM sys_role_menu), $roleId, $menuId
WHERE NOT EXISTS (
SELECT 1 FROM sys_role_menu r WHERE r.role_id = $roleId AND r.menu_id = $menuId
);
";
grantTareStrategyRole.Parameters.AddWithValue("$roleId", adminRoleId);
grantTareStrategyRole.Parameters.AddWithValue("$menuId", tareStrategyMenuId);
grantTareStrategyRole.ExecuteNonQuery();
}
var verify = conn.CreateCommand();
verify.Transaction = tx;
verify.CommandText = @"
SELECT id, pid, title, path, name, component, type, status, order_no
FROM sys_menu
WHERE title IN ('基础资料','车辆管理','客户管理')
WHERE title IN ('基础资料','车辆管理','客户管理','密炼物料皮重策略')
ORDER BY title, id;
";
using var reader = verify.ExecuteReader();