| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- namespace Admin.NET.Plugin.AiDOP.WorkOrder;
- /// <summary>BOM 单行物料(前端 Excel 解析后传入)。</summary>
- public class BomItemDto
- {
- /// <summary>子物料号(必填)。</summary>
- public string ItemNum { get; set; } = string.Empty;
- /// <summary>子物料描述。</summary>
- public string Descr { get; set; } = string.Empty;
- /// <summary>规格型号(子件长描述)。</summary>
- public string? Descr1 { get; set; }
- /// <summary>单位。</summary>
- public string? UM { get; set; }
- /// <summary>需求数量。</summary>
- public decimal QtyRequired { get; set; }
- /// <summary>工序号(项目文本解析;非数字则为 0)。</summary>
- public int Op { get; set; }
- /// <summary>销售订单号(用于匹配工单:对应 WorkOrdMaster.SalesJob)。</summary>
- public string? SalesOrderNo { get; set; }
- /// <summary>父物料号(用于匹配工单:对应 WorkOrdMaster.ItemNum)。</summary>
- public string? ParentItemNum { get; set; }
- }
- /// <summary>物料存在性校验请求。</summary>
- public class BomCheckMaterialsInput
- {
- public List<BomItemDto> Items { get; set; } = new();
- }
- /// <summary>物料存在性校验结果。</summary>
- public class BomCheckResult
- {
- /// <summary>已在 ItemMaster 中存在的物料编码。</summary>
- public List<string> Existing { get; set; } = new();
- /// <summary>不存在、需要新建的物料。</summary>
- public List<BomItemDto> Missing { get; set; } = new();
- }
- /// <summary>BOM 写入请求。</summary>
- public class BomUploadInput
- {
- /// <summary>是否同时创建 ItemMaster 中不存在的物料。</summary>
- public bool CreateMissingItems { get; set; }
- public List<BomItemDto> Items { get; set; } = new();
- }
- /// <summary>BOM 写入结果。</summary>
- public class BomUploadResult
- {
- /// <summary>WorkOrdDetail 新增行数。</summary>
- public int Inserted { get; set; }
- /// <summary>WorkOrdDetail 更新行数。</summary>
- public int Updated { get; set; }
- /// <summary>ItemMaster 新建行数。</summary>
- public int NewItems { get; set; }
- /// <summary>本次处理的 BOM 总行数。</summary>
- public int Total { get; set; }
- /// <summary>成功匹配写入的工单数量。</summary>
- public int MatchedWorkOrders { get; set; }
- /// <summary>未能匹配到未下达工单的行(格式:订单号+父物料号)。</summary>
- public List<string> Unmatched { get; set; } = new();
- }
|