StockQueryDto.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.Dto;
  2. /// <summary>
  3. /// S5 库存查询 列表查询入参(只读)。
  4. ///
  5. /// 数据源:aidopdev.LocationMaster ⋈ LocationDetail(现存量),按存储过程 pr_WMS_GetMissedLocationQty
  6. /// 口径过滤 (AvailStatusQty+Assay+FreezeQty)&gt;0,join ItemMaster(名称/单位)、富集 MissedPrint(货架/版本/供应商)。
  7. /// Domain 由 GeneralizedCodeMaster(SystemConfig/CompanyCode) 解析,默认 8010。
  8. /// LocationDetail 无 tenant_id 列;TenantId 仅为前端 withAidopTenantParams 注入的透传参数,本查询不据其过滤。
  9. /// </summary>
  10. public class StockQueryListInput
  11. {
  12. /// <summary>页码(从 1 开始)</summary>
  13. public int Page { get; set; } = 1;
  14. /// <summary>每页条数</summary>
  15. public int PageSize { get; set; } = 10;
  16. /// <summary>类型(LocType:VMI / O库,精确匹配,下拉选择)</summary>
  17. public string? Type { get; set; }
  18. /// <summary>库位(LocationDetail.Location,精确匹配,下拉选择)</summary>
  19. public string? Location { get; set; }
  20. /// <summary>物料编码(LocationDetail.ItemNum,模糊匹配)</summary>
  21. public string? MaterialCode { get; set; }
  22. /// <summary>批次号(LocationDetail.LotSerial,模糊匹配)</summary>
  23. public string? BatchNo { get; set; }
  24. /// <summary>库存数大于(LocationDetail.QtyOnHand &gt; 值)</summary>
  25. public decimal? StockGt { get; set; }
  26. /// <summary>非限制库存大于(LocationDetail.AvailStatusQty &gt; 值)</summary>
  27. public decimal? UnrestrictedGt { get; set; }
  28. /// <summary>质检库存大于(LocationDetail.Assay &gt; 值)</summary>
  29. public decimal? QcStockGt { get; set; }
  30. /// <summary>冻结库存大于(LocationDetail.FreezeQty &gt; 值)</summary>
  31. public decimal? FrozenGt { get; set; }
  32. /// <summary>租户 ID(前端 withAidopTenantParams 注入;LocationDetail 无租户列,本查询忽略)</summary>
  33. public long? TenantId { get; set; }
  34. }
  35. /// <summary>
  36. /// S5 库存查询 列表行(只读)。字段对齐前端列 prop(camelCase),源列见注释(存储过程 pr_WMS_GetMissedLocationQty)。
  37. /// </summary>
  38. public class StockQueryListRow
  39. {
  40. /// <summary>类型(LocType:VMI / O库 / 空)</summary>
  41. public string? Type { get; set; }
  42. /// <summary>库位(LocationDetail.Location)</summary>
  43. public string? Location { get; set; }
  44. /// <summary>库位名称(LocationMaster.Descr)</summary>
  45. public string? LocationName { get; set; }
  46. /// <summary>物料编码(LocationDetail.ItemNum)</summary>
  47. public string? MaterialCode { get; set; }
  48. /// <summary>物料名称(ItemMaster.Descr)</summary>
  49. public string? MaterialName { get; set; }
  50. /// <summary>批次号(LocationDetail.LotSerial)</summary>
  51. public string? BatchNo { get; set; }
  52. /// <summary>货架(MissedPrint.Shelf 富集,当前 MissedPrint 空则为空)</summary>
  53. public string? Shelf { get; set; }
  54. /// <summary>版本(MissedPrint.LevelChar 富集)</summary>
  55. public string? Version { get; set; }
  56. /// <summary>非限制库存(LocationDetail.AvailStatusQty)</summary>
  57. public decimal? UnrestrictedStock { get; set; }
  58. /// <summary>质检库存(LocationDetail.Assay)</summary>
  59. public decimal? QcStock { get; set; }
  60. /// <summary>冻结库存(LocationDetail.FreezeQty)</summary>
  61. public decimal? FrozenStock { get; set; }
  62. /// <summary>库存数量(LocationDetail.QtyOnHand,用于合计,列表默认不展示)</summary>
  63. public decimal? QtyOnHand { get; set; }
  64. /// <summary>单位(ItemMaster.UM)</summary>
  65. public string? Unit { get; set; }
  66. /// <summary>供应商(MissedPrint.Supply 富集)</summary>
  67. public string? Supplier { get; set; }
  68. }
  69. /// <summary>类型下拉选项(派生 LocType:VMI / O库)。</summary>
  70. public class StockQueryTypeOption
  71. {
  72. /// <summary>类型值</summary>
  73. public string? Val { get; set; }
  74. }
  75. /// <summary>库位下拉选项(LocationMaster.Location + Descr)。</summary>
  76. public class StockQueryLocationOption
  77. {
  78. /// <summary>库位(LocationMaster.Location)</summary>
  79. public string? Val { get; set; }
  80. /// <summary>库位名称(LocationMaster.Descr)</summary>
  81. public string? Label { get; set; }
  82. }