liu
3 天以前 08b86cccfc8227ab065ee913f809609ef708486d
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
import type { PageParam, PageResult } from '#/packages/effects/request/src';
 
import { requestClient } from '#/api/request';
 
export namespace MdmItemApi {
  /** 物料信息 */
  export interface Item {
    id?: number;
    code: string;
    name: string;
    barCode?: string;
    specification?: string;
    categoryId?: number;
    categoryName?: string;
    unitMeasureId?: number;
    unitMeasureName?: string;
    unitMeasureId2?: number;
    unitMeasureName2?: string;
    unitMeasureRate1?: number;
    unitMeasureId3?: number;
    unitMeasureName3?: string;
    unitMeasureRate2?: number;
    brandId?: number;
    brandName?: string;
    itemType: number;
    status: number;
    purchasePrice?: number;
    salesPrice?: number;
    costPrice?: number;
    safetyStock?: number;
    minStock?: number;
    maxStock?: number;
    isBatchManaged: boolean;
    expiryDay?: number;
    warehouseId?: number;
    warehouseCode?: string;
    warehouseName?: string;
    remark?: string;
    createTime?: string;
    // 同步相关字段
    syncMes?: boolean;
    syncedMes?: boolean; // 是否已同步到 MES
    // 批次属性配置字段
    produceDateFlag?: boolean;
    expireDateFlag?: boolean;
    receiptDateFlag?: boolean;
    vendorFlag?: boolean;
    purchaseOrderCodeFlag?: boolean;
    lotNumberFlag?: boolean;
    qualityStatusFlag?: boolean;
  }
 
  /** 物料分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string;
    name?: string;
    categoryId?: number;
    itemType?: number;
    status?: number;
  }
}
 
/** 查询物料分页列表 */
export function getItemPage(params: MdmItemApi.PageParams) {
  return requestClient.get<PageResult<MdmItemApi.Item>>('/mdm/item/page', {
    params,
  });
}
 
/** 查询物料列表(按ID列表) */
export function getItemList(ids: number[]) {
  return requestClient.get<MdmItemApi.Item[]>('/mdm/item/list-by-ids', { params: { ids: ids.join(',') } });
}
 
/** 获取物料精简列表(启用状态,用于下拉选择) */
export function getItemSimpleList() {
  return requestClient.get<MdmItemApi.Item[]>('/mdm/item/simple-list');
}
 
/** 查询物料详情 */
export function getItem(id: number) {
  return requestClient.get<MdmItemApi.Item>(`/mdm/item/get?id=${id}`);
}
 
/** 新增物料 */
export function createItem(data: MdmItemApi.Item) {
  return requestClient.post('/mdm/item/create', data);
}
 
/** 修改物料 */
export function updateItem(data: MdmItemApi.Item) {
  return requestClient.put('/mdm/item/update', data);
}
 
/** 删除物料 */
export function deleteItem(id: number) {
  return requestClient.delete(`/mdm/item/delete?id=${id}`);
}
 
/** 批量删除物料 */
export function deleteItemList(ids: number[]) {
  return requestClient.delete(`/mdm/item/delete-list?ids=${ids.join(',')}`);
}
 
/** 更新物料状态 */
export function updateItemStatus(id: number, status: number) {
  return requestClient.put('/mdm/item/update-status', { id, status });
}
 
/** 更新物料同步状态 */
export function updateItemSync(id: number, sync: boolean) {
  return requestClient.put('/mdm/item/update-sync', { id, sync });
}
 
/** 导出物料 */
export function exportItem(params: Partial<MdmItemApi.Item>) {
  return requestClient.download('/mdm/item/export-excel', { params });
}
 
/** 下载物料导入模板 */
export function importItemTemplate() {
  return requestClient.download('/mdm/item/get-import-template');
}
 
/** 导入物料 */
export function importItem(file: File, updateSupport: boolean) {
  return requestClient.upload('/mdm/item/import', {
    file,
    updateSupport,
  });
}