新增MES库区管理功能,包含免密接口、数据处理逻辑及相关控制器、服务和实体的实现。支持库区的增删改查操作,优化用户体验并增强系统的实时数据同步能力。

This commit is contained in:
geht
2026-05-12 14:06:07 +08:00
parent cffe32d896
commit b737dddb2a
74 changed files with 4937 additions and 174 deletions

View File

@@ -4,6 +4,9 @@ public class MesXslRawMaterialCard
{
public string? Id { get; set; }
public string? Barcode { get; set; }
// 关联的拆码明细行 IDGUID「生成原材料卡片」时由桌面端填入
// 「重新拆码」按入场记录的 PortionDetailIds 批量 IN 删除关联卡片。
public string? SplitDetailId { get; set; }
public string? BatchNo { get; set; }
public DateTime? EntryDate { get; set; }
public string? MaterialId { get; set; }

View File

@@ -23,6 +23,19 @@ public class MesXslRawMaterialEntry
public string? TotalPortions { get; set; }
public string? PortionWeight { get; set; }
public string? PortionPackages { get; set; }
// 拆码明细各行库位的拼接(以 / 分隔,末尾带 /,如 1F-A01/1F-A02/)。
// 与 WarehouseLocation基础资料整票级单值独立专供明细行回填。
public string? PortionWarehouseLocations { get; set; }
// 拆码明细每行的 GUID 拼接(以 / 分隔,末尾带 /),与其它 portion 字段行序对齐,
// 用于「重新拆码」按拆码明细 ID 反查并清除关联原材料卡片。
public string? PortionDetailIds { get; set; }
/// <summary>
/// 拆码明细行级「已生成卡片」标志拼接(以 / 分隔,末尾带 /1=已生成 0=未生成)。
/// 与 PortionDetailIds 行序对齐,作为「生成原材料卡片」过滤待生成行的唯一依据:
/// HasCard==true 的行不再参与生成(避免重复加卡 + 条码冲突HasCard==false 的行才参与续生成。
/// 历史记录留空时桌面端降级用 PrintFlag 推断(持久化 ID 非空 && PrintFlag=1 ⇒ 视为已生成)。
/// </summary>
public string? PortionCardFlags { get; set; }
/// <summary>检测结果0未检 1合格 2不合格</summary>
public string? TestResult { get; set; }

View File

@@ -0,0 +1,11 @@
namespace YY.Admin.Core.Entity;
public class MesXslWarehouse
{
public string? Id { get; set; }
public string? WarehouseCode { get; set; }
public string? WarehouseName { get; set; }
public string? WarehouseCategory { get; set; }
public string? Status { get; set; }
public int? TenantId { get; set; }
}

View File

@@ -0,0 +1,31 @@
using System.Text.Json.Serialization;
namespace YY.Admin.Core.Entity;
public class MesXslWarehouseArea
{
public string? Id { get; set; }
public string? AreaCode { get; set; }
public string? AreaName { get; set; }
public string? WarehouseId { get; set; }
public string? WarehouseName { get; set; }
public string? WarehouseCategory { get; set; }
/// <summary>仓库分类名称JeecgBoot @Dict 自动翻译JSON key = warehouseCategory_dictText</summary>
[JsonPropertyName("warehouseCategory_dictText")]
public string? WarehouseCategoryName { get; set; }
public int? MaxCapacity { get; set; }
public int? ActualCapacity { get; set; }
public string? Remark { get; set; }
/// <summary>状态0启用 1停用</summary>
public string? Status { get; set; }
public int? TenantId { get; set; }
public string? CreateBy { get; set; }
public DateTime? CreateTime { get; set; }
public string? UpdateBy { get; set; }
public DateTime? UpdateTime { get; set; }
public string StatusText => Status == "1" ? "停用" : "启用";
}

View File

@@ -34,6 +34,12 @@ public class MesXslWeightRecord
/// <summary>净重(KG)=毛重-皮重,自动计算</summary>
public double? NetWeight { get; set; }
/// <summary>
/// 已入场重量(KG) —— 后端实时计算,不入库。
/// 来源所有引用本榜单BillNo的原料入场记录拆码明细的 (份数×每份重量) 累计求和。
/// </summary>
public double? EnteredWeight { get; set; }
/// <summary>司机姓名</summary>
public string? DriverName { get; set; }