新增物料类型处理逻辑,确保在保存和编辑称重记录时自动设置默认物料类型。更新前端表单以支持密炼物料的选择和显示,优化用户体验。添加分类字典和数据字典的事件广播功能,增强系统的实时数据同步能力。

This commit is contained in:
geht
2026-05-07 17:53:48 +08:00
parent ce9dc8efd8
commit f60a4fb203
55 changed files with 2968 additions and 375 deletions

View File

@@ -74,8 +74,8 @@ public class WeightRecordService : IWeightRecordService, ISingletonDependency
string? filterBillNo = null,
string? filterPlateNumber = null,
string? filterInoutDirection = null,
string? filterGoodsName = null,
string? filterDriverName = null,
string? filterMixerMaterialName = null,
CancellationToken ct = default)
{
List<MesXslWeightRecord>? source = null;
@@ -104,7 +104,7 @@ public class WeightRecordService : IWeightRecordService, ISingletonDependency
source = ApplyPendingOpsSnapshotUnsafe(source);
}
var filtered = ApplyFilters(source, filterBillNo, filterPlateNumber, filterInoutDirection, filterGoodsName, filterDriverName);
var filtered = ApplyFilters(source, filterBillNo, filterPlateNumber, filterInoutDirection, filterDriverName, filterMixerMaterialName);
var total = filtered.Count;
var records = filtered.Skip(Math.Max(0, (pageNo - 1) * pageSize)).Take(pageSize).ToList();
return new WeightRecordPageResult(records, total, pageNo, pageSize);
@@ -535,7 +535,8 @@ public class WeightRecordService : IWeightRecordService, ISingletonDependency
private static List<MesXslWeightRecord> ApplyFilters(
List<MesXslWeightRecord> source,
string? billNo, string? plateNumber, string? inoutDirection, string? goodsName, string? driverName)
string? billNo, string? plateNumber, string? inoutDirection, string? driverName,
string? mixerMaterialName = null)
{
IEnumerable<MesXslWeightRecord> q = source;
if (!string.IsNullOrWhiteSpace(billNo))
@@ -544,10 +545,10 @@ public class WeightRecordService : IWeightRecordService, ISingletonDependency
q = q.Where(v => (v.PlateNumber ?? "").Contains(plateNumber, StringComparison.OrdinalIgnoreCase));
if (!string.IsNullOrWhiteSpace(inoutDirection))
q = q.Where(v => string.Equals(v.InoutDirection, inoutDirection, StringComparison.OrdinalIgnoreCase));
if (!string.IsNullOrWhiteSpace(goodsName))
q = q.Where(v => (v.GoodsName ?? "").Contains(goodsName, StringComparison.OrdinalIgnoreCase));
if (!string.IsNullOrWhiteSpace(driverName))
q = q.Where(v => (v.DriverName ?? "").Contains(driverName, StringComparison.OrdinalIgnoreCase));
if (!string.IsNullOrWhiteSpace(mixerMaterialName))
q = q.Where(v => (v.MixerMaterialNames ?? "").Contains(mixerMaterialName, StringComparison.OrdinalIgnoreCase));
return q.OrderByDescending(v => v.CreateTime ?? DateTime.MinValue).ToList();
}
@@ -641,7 +642,9 @@ public class WeightRecordService : IWeightRecordService, ISingletonDependency
PlateNumber = input.PlateNumber,
SenderUnit = input.SenderUnit,
ReceiverUnit = input.ReceiverUnit,
GoodsName = input.GoodsName,
MixerMaterialIds = input.MixerMaterialIds,
MixerMaterialNames = input.MixerMaterialNames,
MaterialType = input.MaterialType,
GrossWeight = input.GrossWeight,
TareWeight = input.TareWeight,
NetWeight = input.NetWeight,
@@ -655,7 +658,8 @@ public class WeightRecordService : IWeightRecordService, ISingletonDependency
UpdateTime = input.UpdateTime,
SysOrgCode = input.SysOrgCode,
InoutDirectionText = input.InoutDirectionText,
BillTypeText = input.BillTypeText
BillTypeText = input.BillTypeText,
MaterialTypeText = input.MaterialTypeText
};
private static bool IsLocalTempId(string? id) =>