新增密炼物料皮重策略功能,包括相关实体、服务、控制器及接口,支持桌面端免密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

@@ -242,13 +242,15 @@ public class RawMaterialEntryOperationViewModel : RawMaterialEntryEditDialogView
IRawMaterialEntryService entryService,
IJeecgDictSyncService dictSyncService,
IMixerMaterialService mixerMaterialService,
IMixerMaterialTareStrategyService tareStrategyService,
ISupplierService supplierService,
IRawMaterialCardService rawMaterialCardService,
IPrintDotService printDotService,
IPrintBizTemplateBindService printBizTemplateBindService,
IPrintTemplateService printTemplateService,
IContainerExtension container,
IRegionManager regionManager)
: base(entryService, dictSyncService, mixerMaterialService, container, regionManager)
: base(entryService, dictSyncService, mixerMaterialService, tareStrategyService, supplierService, container, regionManager)
{
_rawMaterialCardService = rawMaterialCardService;
_printDotService = printDotService;
@@ -802,6 +804,8 @@ public class RawMaterialEntryOperationViewModel : RawMaterialEntryEditDialogView
ManufacturerMaterialName = Entry.ManufacturerMaterialName,
ShelfLife = Entry.ShelfLife,
TotalWeight = detail.PortionWeight.HasValue ? (decimal?)detail.PortionWeight.Value : null,
PackagingTare = detail.PackagingTare.HasValue ? (decimal?)detail.PackagingTare.Value : null,
PalletWeight = detail.PalletWeight.HasValue ? (decimal?)detail.PalletWeight.Value : null,
RemainingWeight = detail.PortionWeight.HasValue ? (decimal?)detail.PortionWeight.Value : null,
RemainingQuantity = detail.PortionPackages,
WarehouseArea = detail.WarehouseLocation,
@@ -845,9 +849,10 @@ public class RawMaterialEntryOperationViewModel : RawMaterialEntryEditDialogView
RaisePropertyChanged(nameof(CanGenerateCards));
RaisePropertyChanged(nameof(CanResplit));
string? printError = null;
if (newCardCount > 0 && generatedCards.Count > 0)
{
var printError = await PrintGeneratedRawMaterialCardsAsync(selectedPrinterName, generatedCards);
printError = await PrintGeneratedRawMaterialCardsAsync(selectedPrinterName, generatedCards);
if (!string.IsNullOrWhiteSpace(printError))
{
HandyControl.Controls.MessageBox.Warning($"卡片已生成 {newCardCount} 张,但打印存在异常:{printError}");
@@ -855,7 +860,12 @@ public class RawMaterialEntryOperationViewModel : RawMaterialEntryEditDialogView
}
if (failCount == 0)
HandyControl.Controls.MessageBox.Success($"已生成并打印 {newCardCount} 张原材料卡片(累计 {alreadyGenerated + newCardCount} 张),打印状态已更新为「已打印」!");
{
if (string.IsNullOrWhiteSpace(printError))
HandyControl.Controls.MessageBox.Success($"已生成并打印 {newCardCount} 张原材料卡片(累计 {alreadyGenerated + newCardCount} 张),打印状态已更新为「已打印」!");
else
HandyControl.Controls.MessageBox.Success($"已生成 {newCardCount} 张原材料卡片(累计 {alreadyGenerated + newCardCount} 张),打印状态已更新;请检查打印机后补打标签。");
}
else
HandyControl.Controls.MessageBox.Warning($"本次共尝试生成 {newCardCount + failCount} 张,成功 {newCardCount} 张,失败 {failCount} 张。失败的行未标记为「已打印」,可检查网络后再次点击「生成原材料卡片」重试。");
}
@@ -950,6 +960,8 @@ public class RawMaterialEntryOperationViewModel : RawMaterialEntryEditDialogView
ManufacturerMaterialName = entry.ManufacturerMaterialName,
ShelfLife = entry.ShelfLife,
TotalWeight = detail.PortionWeight.HasValue ? (decimal?)detail.PortionWeight.Value : null,
PackagingTare = detail.PackagingTare.HasValue ? (decimal?)detail.PackagingTare.Value : null,
PalletWeight = detail.PalletWeight.HasValue ? (decimal?)detail.PalletWeight.Value : null,
RemainingWeight = detail.PortionWeight.HasValue ? (decimal?)detail.PortionWeight.Value : null,
RemainingQuantity = detail.PortionPackages,
WarehouseArea = detail.WarehouseLocation,