4 小时以前 53e9b23a40186efd149fd5c5350b5eced1f69920
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace MesWmProductSalesApi {
  /** MES 销售出库单 */
  export interface ProductSales {
    id?: number; // 出库单编号
    code?: string; // 出库单编号
    name?: string; // 出库单名称
    noticeId?: number; // 发货通知单编号
    noticeCode?: string; // 发货通知单编码
    clientId?: number; // 客户编号
    clientCode?: string; // 客户编码
    clientName?: string; // 客户名称
    salesOrderCode?: string; // 销售订单编号
    saleOrderId?: number; // 销售订单ID
    salesDate?: number; // 出库日期
    contactName?: string; // 收货人
    contactTelephone?: string; // 联系方式
    contactAddress?: string; // 收货地址
    carrier?: string; // 承运商
    shippingNumber?: string; // 运输单号
    status?: number; // 单据状态
    remark?: string; // 备注
    stockState?: number; // 库存状态
    createTime?: Date; // 创建时间
  }
 
  export interface ProductSalesScanRequest {
    salesId: number;
    scanContent: string;
    quantity?: number;
  }
 
  export interface ProductSalesScanResponse {
    scanType?: 'BAG' | 'PALLET' | string;
    codeId?: number;
    scanContent?: string;
    itemId?: number;
    itemCode?: string;
    itemName?: string;
    batchId?: number;
    batchCode?: string;
    materialStockId?: number;
    availableQuantity?: number;
    scanQuantity?: number;
    outboundQuantity?: number;
    alreadyScanned?: boolean;
    detailId?: number;
    warehouseId?: number;
    locationId?: number;
    areaId?: number;
    palletExpanded?: boolean;
    bagCount?: number;
    inboundBagCount?: number;
    message?: string;
  }
}
 
/** 查询销售出库单分页 */
export function getProductSalesPage(params: PageParam) {
  return requestClient.get<PageResult<MesWmProductSalesApi.ProductSales>>(
    '/mes/wm/product-sales/page',
    { params },
  );
}
 
/** 查询销售出库单详情 */
export function getProductSales(id: number) {
  return requestClient.get<MesWmProductSalesApi.ProductSales>(
    `/mes/wm/product-sales/get?id=${id}`,
  );
}
 
/** 新增销售出库单 */
export function createProductSales(data: MesWmProductSalesApi.ProductSales) {
  return requestClient.post<number>('/mes/wm/product-sales/create', data);
}
 
/** 修改销售出库单 */
export function updateProductSales(data: MesWmProductSalesApi.ProductSales) {
  return requestClient.put('/mes/wm/product-sales/update', data);
}
 
/** 删除销售出库单 */
export function deleteProductSales(id: number) {
  return requestClient.delete(`/mes/wm/product-sales/delete?id=${id}`);
}
 
/** 提交销售出库单 */
export function submitProductSales(id: number) {
  return requestClient.put(`/mes/wm/product-sales/submit?id=${id}`);
}
 
/** 扫码拣货 */
export function scanProductSales(
  data: MesWmProductSalesApi.ProductSalesScanRequest,
) {
  return requestClient.post<MesWmProductSalesApi.ProductSalesScanResponse>(
    '/mes/wm/product-sales/scan',
    data,
  );
}
 
/** 执行拣货 */
export function stockProductSales(id: number) {
  return requestClient.put(`/mes/wm/product-sales/stock?id=${id}`);
}
 
/** 填写运单 */
export function shippingProductSales(data: MesWmProductSalesApi.ProductSales) {
  return requestClient.put('/mes/wm/product-sales/shipping', data);
}
 
/** 执行出库 */
export function finishProductSales(id: number) {
  return requestClient.put(`/mes/wm/product-sales/finish?id=${id}`);
}
 
/** 取消销售出库单 */
export function cancelProductSales(id: number) {
  return requestClient.put(`/mes/wm/product-sales/cancel?id=${id}`);
}
 
/** 校验销售出库单拣货数量是否与出库数量一致 */
export function checkProductSalesQuantity(id: number) {
  return requestClient.get<boolean>(
    `/mes/wm/product-sales/check-quantity?id=${id}`,
  );
}
 
/** 导出销售出库单 */
export function exportProductSales(params: any) {
  return requestClient.download('/mes/wm/product-sales/export-excel', {
    params,
  });
}