新增业务打印绑定功能,整合打印模板与业务数据的映射配置,优化打印数据生成逻辑。新增免密接口,支持桌面端打印模板的查询与列表展示,提升用户体验和系统的实时数据同步能力。同时,重构相关控制器以增强系统的可维护性和扩展性。
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
using Prism.Events;
|
||||
|
||||
namespace YY.Admin.Core.Events;
|
||||
|
||||
public class PrintBizTemplateBindChangedPayload
|
||||
{
|
||||
public string Action { get; set; } = string.Empty;
|
||||
public string? BindId { get; set; }
|
||||
}
|
||||
|
||||
public class PrintBizTemplateBindChangedEvent : PubSubEvent<PrintBizTemplateBindChangedPayload> { }
|
||||
@@ -0,0 +1,12 @@
|
||||
using YY.Admin.Core.Entity;
|
||||
|
||||
namespace YY.Admin.Core.Services;
|
||||
|
||||
/// <summary>业务打印绑定:免密拉取 + 本地缓存(只读)</summary>
|
||||
public interface IPrintBizTemplateBindService
|
||||
{
|
||||
IReadOnlyList<PrintBizTemplateBind> GetCached();
|
||||
Task<IReadOnlyList<PrintBizTemplateBind>> ListAsync(CancellationToken ct = default);
|
||||
Task<IReadOnlyList<PrintBizTemplateBind>> RefreshCacheAsync(CancellationToken ct = default);
|
||||
Task<PrintBizTemplateBind?> GetByIdAsync(string id, CancellationToken ct = default);
|
||||
}
|
||||
@@ -24,6 +24,9 @@ public interface IRawMaterialEntryService
|
||||
/// <summary>调用后端接口生成条码/批次号(格式:QH+物料编码+yyMMdd+序号)</summary>
|
||||
Task<string?> GenerateBarcodeAsync(string materialCode, CancellationToken ct = default);
|
||||
|
||||
/// <summary>按业务打印绑定准备模板 JSON 与 printData(与后端 prepareNativePrint 一致,免密 anon)。</summary>
|
||||
Task<(string templateJson, string printDataJson, string? errorMessage)> PrepareNativePrintAsync(string id, CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// 同步读取本地缓存的「全量入场记录」快照(深拷贝),不会触发远端拉取。
|
||||
/// 主要用于「磅单已入场重量」等跨表实时聚合,且需要保持与后端相同口径的场景。
|
||||
|
||||
19
yy-admin-master/YY.Admin.Core/Entity/PrintBizTemplateBind.cs
Normal file
19
yy-admin-master/YY.Admin.Core/Entity/PrintBizTemplateBind.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
namespace YY.Admin.Core.Entity;
|
||||
|
||||
/// <summary>业务打印绑定(print_biz_template_bind,桌面端只读缓存)</summary>
|
||||
public class PrintBizTemplateBind
|
||||
{
|
||||
public string? Id { get; set; }
|
||||
/// <summary>业务编码(菜单 permission id)</summary>
|
||||
public string? BizCode { get; set; }
|
||||
public string? BizName { get; set; }
|
||||
public string? TemplateId { get; set; }
|
||||
public string? TemplateCode { get; set; }
|
||||
/// <summary>字段映射 JSON</summary>
|
||||
public string? FieldMappingJson { get; set; }
|
||||
public string? Remark { get; set; }
|
||||
public string? CreateBy { get; set; }
|
||||
public DateTime? CreateTime { get; set; }
|
||||
public string? UpdateBy { get; set; }
|
||||
public DateTime? UpdateTime { get; set; }
|
||||
}
|
||||
@@ -223,6 +223,9 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
new SysMenu{ Id=1300300110401, Pid=1300300110101, Title="增加", Permission="sysPrint:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1300300110501, Pid=1300300110101, Title="删除", Permission="sysPrint:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
|
||||
// 业务打印绑定(桌面端只读列表;Web 端可在「打印模板」模块维护)
|
||||
new SysMenu{ Id=1300300110701, Pid=1300300000101, Title="业务打印绑定", Path="/platform/printBizBind", Name="printBizBind", Component="PrintBizTemplateBindListView", Icon="", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=195 },
|
||||
|
||||
// 系统配置
|
||||
new SysMenu{ Id=1300300140101, Pid=1300300000101, Title="系统配置", Path="/platform/infoSetting", Name="sysInfoSetting", Component="/system/infoSetting/index", Icon="", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=220 },
|
||||
#endregion
|
||||
|
||||
@@ -117,6 +117,7 @@ public class SysTenantMenuSeedData : ISqlSugarEntitySeedData<SysTenantMenu>
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300200050401 },
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300300010501 },
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300300110501 },
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300300110701 },
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300200080401 },
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300200020501 },
|
||||
new SysTenantMenu(){ TenantId=1300000000001,MenuId=1300300120501 },
|
||||
|
||||
Reference in New Issue
Block a user