stockQuery.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import service from '/@/utils/request';
  2. export interface StockQueryPaged<T> {
  3. total: number;
  4. page: number;
  5. pageSize: number;
  6. list: T[];
  7. grandTotalQtyOnHand: number;
  8. grandUnrestricted: number;
  9. grandQc: number;
  10. grandFrozen: number;
  11. }
  12. // ── S5 库存查询(只读,数据源 aidopdev.LocationDetail,存储过程 pr_WMS_GetMissedLocationQty 口径)──
  13. export interface StockQueryRow {
  14. /** 类型 LocType(VMI/O库/空) */
  15. type?: string;
  16. /** 库位 Location */
  17. location?: string;
  18. /** 库位名称 LocationMaster.Descr */
  19. locationName?: string;
  20. /** 物料编码 ItemNum */
  21. materialCode?: string;
  22. /** 物料名称 ItemMaster.Descr */
  23. materialName?: string;
  24. /** 批次号 LotSerial */
  25. batchNo?: string;
  26. /** 货架 MissedPrint.Shelf */
  27. shelf?: string;
  28. /** 版本 MissedPrint.LevelChar */
  29. version?: string;
  30. /** 非限制库存 AvailStatusQty */
  31. unrestrictedStock?: number;
  32. /** 质检库存 Assay */
  33. qcStock?: number;
  34. /** 冻结库存 FreezeQty */
  35. frozenStock?: number;
  36. /** 库存数量 QtyOnHand(合计用,列表默认不展示) */
  37. qtyOnHand?: number;
  38. /** 单位 UM */
  39. unit?: string;
  40. /** 供应商 MissedPrint.Supply */
  41. supplier?: string;
  42. }
  43. export interface StockQueryTypeOption {
  44. val?: string;
  45. }
  46. export interface StockQueryLocationOption {
  47. val?: string;
  48. label?: string;
  49. }
  50. export function fetchStockQueryList(params: any) {
  51. return service
  52. .get<StockQueryPaged<StockQueryRow>>('/api/S5StockQuery/list', { params })
  53. .then((r) => r.data);
  54. }
  55. export function fetchStockQueryTypeOptions() {
  56. return service.get<StockQueryTypeOption[]>('/api/S5StockQuery/type-options').then((r) => r.data);
  57. }
  58. export function fetchStockQueryLocationOptions() {
  59. return service.get<StockQueryLocationOption[]>('/api/S5StockQuery/location-options').then((r) => r.data);
  60. }