@newpeak/barista-cli 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/liberica/auth/index.d.ts.map +1 -1
- package/dist/commands/liberica/auth/index.js +5 -0
- package/dist/commands/liberica/auth/index.js.map +1 -1
- package/dist/commands/liberica/index.d.ts.map +1 -1
- package/dist/commands/liberica/index.js +8 -0
- package/dist/commands/liberica/index.js.map +1 -1
- package/dist/commands/liberica/materials/create.d.ts +3 -0
- package/dist/commands/liberica/materials/create.d.ts.map +1 -0
- package/dist/commands/liberica/materials/create.js +154 -0
- package/dist/commands/liberica/materials/create.js.map +1 -0
- package/dist/commands/liberica/materials/delete.d.ts +3 -0
- package/dist/commands/liberica/materials/delete.d.ts.map +1 -0
- package/dist/commands/liberica/materials/delete.js +104 -0
- package/dist/commands/liberica/materials/delete.js.map +1 -0
- package/dist/commands/liberica/materials/disable.d.ts +3 -0
- package/dist/commands/liberica/materials/disable.d.ts.map +1 -0
- package/dist/commands/liberica/materials/disable.js +146 -0
- package/dist/commands/liberica/materials/disable.js.map +1 -0
- package/dist/commands/liberica/materials/enable.d.ts +3 -0
- package/dist/commands/liberica/materials/enable.d.ts.map +1 -0
- package/dist/commands/liberica/materials/enable.js +126 -0
- package/dist/commands/liberica/materials/enable.js.map +1 -0
- package/dist/commands/liberica/materials/get.d.ts +3 -0
- package/dist/commands/liberica/materials/get.d.ts.map +1 -0
- package/dist/commands/liberica/materials/get.js +71 -0
- package/dist/commands/liberica/materials/get.js.map +1 -0
- package/dist/commands/liberica/materials/index.d.ts +3 -0
- package/dist/commands/liberica/materials/index.d.ts.map +1 -0
- package/dist/commands/liberica/materials/index.js +21 -0
- package/dist/commands/liberica/materials/index.js.map +1 -0
- package/dist/commands/liberica/materials/list.d.ts +3 -0
- package/dist/commands/liberica/materials/list.d.ts.map +1 -0
- package/dist/commands/liberica/materials/list.js +107 -0
- package/dist/commands/liberica/materials/list.js.map +1 -0
- package/dist/commands/liberica/materials/update.d.ts +3 -0
- package/dist/commands/liberica/materials/update.d.ts.map +1 -0
- package/dist/commands/liberica/materials/update.js +118 -0
- package/dist/commands/liberica/materials/update.js.map +1 -0
- package/dist/commands/liberica/suppliers/create.d.ts +3 -0
- package/dist/commands/liberica/suppliers/create.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/create.js +140 -0
- package/dist/commands/liberica/suppliers/create.js.map +1 -0
- package/dist/commands/liberica/suppliers/delete.d.ts +3 -0
- package/dist/commands/liberica/suppliers/delete.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/delete.js +102 -0
- package/dist/commands/liberica/suppliers/delete.js.map +1 -0
- package/dist/commands/liberica/suppliers/disable.d.ts +3 -0
- package/dist/commands/liberica/suppliers/disable.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/disable.js +144 -0
- package/dist/commands/liberica/suppliers/disable.js.map +1 -0
- package/dist/commands/liberica/suppliers/enable.d.ts +3 -0
- package/dist/commands/liberica/suppliers/enable.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/enable.js +124 -0
- package/dist/commands/liberica/suppliers/enable.js.map +1 -0
- package/dist/commands/liberica/suppliers/get.d.ts +3 -0
- package/dist/commands/liberica/suppliers/get.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/get.js +75 -0
- package/dist/commands/liberica/suppliers/get.js.map +1 -0
- package/dist/commands/liberica/suppliers/index.d.ts +3 -0
- package/dist/commands/liberica/suppliers/index.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/index.js +21 -0
- package/dist/commands/liberica/suppliers/index.js.map +1 -0
- package/dist/commands/liberica/suppliers/list.d.ts +3 -0
- package/dist/commands/liberica/suppliers/list.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/list.js +100 -0
- package/dist/commands/liberica/suppliers/list.js.map +1 -0
- package/dist/commands/liberica/suppliers/update.d.ts +3 -0
- package/dist/commands/liberica/suppliers/update.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/update.js +122 -0
- package/dist/commands/liberica/suppliers/update.js.map +1 -0
- package/dist/commands/liberica/uoms/create.d.ts +3 -0
- package/dist/commands/liberica/uoms/create.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/create.js +120 -0
- package/dist/commands/liberica/uoms/create.js.map +1 -0
- package/dist/commands/liberica/uoms/delete.d.ts +3 -0
- package/dist/commands/liberica/uoms/delete.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/delete.js +104 -0
- package/dist/commands/liberica/uoms/delete.js.map +1 -0
- package/dist/commands/liberica/uoms/disable.d.ts +3 -0
- package/dist/commands/liberica/uoms/disable.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/disable.js +146 -0
- package/dist/commands/liberica/uoms/disable.js.map +1 -0
- package/dist/commands/liberica/uoms/enable.d.ts +3 -0
- package/dist/commands/liberica/uoms/enable.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/enable.js +126 -0
- package/dist/commands/liberica/uoms/enable.js.map +1 -0
- package/dist/commands/liberica/uoms/get.d.ts +3 -0
- package/dist/commands/liberica/uoms/get.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/get.js +71 -0
- package/dist/commands/liberica/uoms/get.js.map +1 -0
- package/dist/commands/liberica/uoms/index.d.ts +3 -0
- package/dist/commands/liberica/uoms/index.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/index.js +21 -0
- package/dist/commands/liberica/uoms/index.js.map +1 -0
- package/dist/commands/liberica/uoms/list.d.ts +3 -0
- package/dist/commands/liberica/uoms/list.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/list.js +98 -0
- package/dist/commands/liberica/uoms/list.js.map +1 -0
- package/dist/commands/liberica/uoms/update.d.ts +3 -0
- package/dist/commands/liberica/uoms/update.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/update.js +115 -0
- package/dist/commands/liberica/uoms/update.js.map +1 -0
- package/dist/core/api/client.d.ts +24 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +465 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/material.d.ts +49 -0
- package/dist/types/material.d.ts.map +1 -0
- package/dist/types/material.js +2 -0
- package/dist/types/material.js.map +1 -0
- package/dist/types/supplier.d.ts +53 -0
- package/dist/types/supplier.d.ts.map +1 -0
- package/dist/types/supplier.js +2 -0
- package/dist/types/supplier.js.map +1 -0
- package/dist/types/uom.d.ts +47 -0
- package/dist/types/uom.d.ts.map +1 -0
- package/dist/types/uom.js +2 -0
- package/dist/types/uom.js.map +1 -0
- package/docs/commands/liberica/materials-create.md +293 -0
- package/docs/commands/liberica/materials-delete.md +240 -0
- package/docs/commands/liberica/materials-disable.md +150 -0
- package/docs/commands/liberica/materials-enable.md +146 -0
- package/docs/commands/liberica/materials-get.md +188 -0
- package/docs/commands/liberica/materials-list.md +198 -0
- package/docs/commands/liberica/materials-update.md +250 -0
- package/docs/commands/liberica/uoms-create.md +136 -0
- package/docs/commands/liberica/uoms-delete.md +119 -0
- package/docs/commands/liberica/uoms-disable.md +117 -0
- package/docs/commands/liberica/uoms-enable.md +115 -0
- package/docs/commands/liberica/uoms-get.md +119 -0
- package/docs/commands/liberica/uoms-list.md +155 -0
- package/docs/commands/liberica/uoms-update.md +148 -0
- package/package.json +2 -4
- package/src/commands/liberica/auth/index.ts +6 -0
- package/src/commands/liberica/index.ts +8 -0
- package/src/commands/liberica/materials/create.ts +168 -0
- package/src/commands/liberica/materials/delete.ts +105 -0
- package/src/commands/liberica/materials/disable.ts +148 -0
- package/src/commands/liberica/materials/enable.ts +129 -0
- package/src/commands/liberica/materials/get.ts +83 -0
- package/src/commands/liberica/materials/index.ts +23 -0
- package/src/commands/liberica/materials/list.ts +142 -0
- package/src/commands/liberica/materials/update.ts +125 -0
- package/src/commands/liberica/suppliers/create.ts +149 -0
- package/src/commands/liberica/suppliers/delete.ts +102 -0
- package/src/commands/liberica/suppliers/disable.ts +145 -0
- package/src/commands/liberica/suppliers/enable.ts +126 -0
- package/src/commands/liberica/suppliers/get.ts +86 -0
- package/src/commands/liberica/suppliers/index.ts +23 -0
- package/src/commands/liberica/suppliers/list.ts +134 -0
- package/src/commands/liberica/suppliers/update.ts +128 -0
- package/src/commands/liberica/uoms/create.ts +134 -0
- package/src/commands/liberica/uoms/delete.ts +105 -0
- package/src/commands/liberica/uoms/disable.ts +148 -0
- package/src/commands/liberica/uoms/enable.ts +129 -0
- package/src/commands/liberica/uoms/get.ts +83 -0
- package/src/commands/liberica/uoms/index.ts +23 -0
- package/src/commands/liberica/uoms/list.ts +129 -0
- package/src/commands/liberica/uoms/update.ts +124 -0
- package/src/core/api/client.ts +585 -0
- package/src/index.ts +1 -1
- package/src/types/index.ts +5 -2
- package/src/types/material.ts +61 -0
- package/src/types/supplier.ts +66 -0
- package/src/types/uom.ts +60 -0
- package/bin/barista.js +0 -3
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ async function main() {
|
|
|
12
12
|
program
|
|
13
13
|
.name('barista')
|
|
14
14
|
.description('Barista CLI - Bridge between AI agents and Liberica/Arabica')
|
|
15
|
-
.version('0.1.
|
|
15
|
+
.version('0.1.5')
|
|
16
16
|
.option('-e, --env <environment>', 'Target environment (dev|test|prod-cn|prod-jp)')
|
|
17
17
|
.option('-t, --tenant <tenant>', 'Target tenant (for Liberica)')
|
|
18
18
|
.option('--dry-run', 'Execute in dry-run mode')
|
package/dist/types/index.d.ts
CHANGED
|
@@ -63,6 +63,10 @@ export interface TokenContext {
|
|
|
63
63
|
export * from './employee.js';
|
|
64
64
|
export * from './org.js';
|
|
65
65
|
export * from './position.js';
|
|
66
|
-
export type {
|
|
66
|
+
export type { Uom, CreateUomRequest, UpdateUomRequest, UomQueryParams, UomListResponse, UomApiResponse, UomStatusFlag } from './uom.js';
|
|
67
|
+
export type { Supplier, SupplierListResponse, SupplierQueryParams, SupplierApiResponse } from './supplier.js';
|
|
68
|
+
export type { CreateSupplierRequest, UpdateSupplierRequest } from './supplier.js';
|
|
69
|
+
export type { ClientListResponse, MasterClientCompactResponse, ClientQueryParams, ClientApiResponse } from './client.js';
|
|
67
70
|
export type { MasterClientResponse, CreateClientRequest, UpdateClientRequest } from './client.js';
|
|
71
|
+
export type { ApiResponse, Material, MaterialRequest, MaterialQueryParams, MaterialListResponse, MaterialApiResponse, MaterialStatusFlag } from './material.js';
|
|
68
72
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE;QACR,GAAG,EAAE,WAAW,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,MAAM,CAClB,WAAW,EACX;QACE,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CACF,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type MaterialStatusFlag = 1 | 2;
|
|
2
|
+
export interface Material {
|
|
3
|
+
materialId: string;
|
|
4
|
+
materialCode: string;
|
|
5
|
+
materialNo: string;
|
|
6
|
+
materialName: string;
|
|
7
|
+
materialClass?: string;
|
|
8
|
+
statusFlag: MaterialStatusFlag;
|
|
9
|
+
}
|
|
10
|
+
export interface MaterialRequest {
|
|
11
|
+
materialName: string;
|
|
12
|
+
materialClass: string;
|
|
13
|
+
materialType?: string;
|
|
14
|
+
materialUnit?: string;
|
|
15
|
+
materialCode?: string;
|
|
16
|
+
materialNo?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface MaterialQueryParams {
|
|
19
|
+
pageNo?: number;
|
|
20
|
+
pageSize?: number;
|
|
21
|
+
statusFlag?: MaterialStatusFlag;
|
|
22
|
+
materialClass?: string;
|
|
23
|
+
keyword?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface MaterialListResponse {
|
|
26
|
+
totalRows: number;
|
|
27
|
+
pageSize: number;
|
|
28
|
+
pageNo: number;
|
|
29
|
+
rows: Material[];
|
|
30
|
+
}
|
|
31
|
+
export interface ApiResponse<T> {
|
|
32
|
+
success: boolean;
|
|
33
|
+
code?: string;
|
|
34
|
+
message?: string;
|
|
35
|
+
data?: T;
|
|
36
|
+
error?: {
|
|
37
|
+
code: string;
|
|
38
|
+
message: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface MaterialApiResponse {
|
|
42
|
+
success: boolean;
|
|
43
|
+
data?: Material | MaterialListResponse;
|
|
44
|
+
error?: {
|
|
45
|
+
code: string;
|
|
46
|
+
message: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=material.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/types/material.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,CAAC;AAGvC,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAGD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAGD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,GAAG,oBAAoB,CAAC;IACvC,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material.js","sourceRoot":"","sources":["../../src/types/material.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export type StatusFlag = 1 | 2;
|
|
2
|
+
export interface Supplier {
|
|
3
|
+
supplierId: string;
|
|
4
|
+
supplierCode: string;
|
|
5
|
+
supplierName: string;
|
|
6
|
+
supplierType?: string;
|
|
7
|
+
statusFlag: StatusFlag;
|
|
8
|
+
contactPerson?: string;
|
|
9
|
+
contactPhone?: string;
|
|
10
|
+
address?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateSupplierRequest {
|
|
13
|
+
supplierCode: string;
|
|
14
|
+
supplierName?: string;
|
|
15
|
+
supplierType?: string;
|
|
16
|
+
statusFlag?: StatusFlag;
|
|
17
|
+
contactPerson?: string;
|
|
18
|
+
contactPhone?: string;
|
|
19
|
+
address?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface UpdateSupplierRequest {
|
|
22
|
+
supplierId: string;
|
|
23
|
+
supplierName?: string;
|
|
24
|
+
supplierType?: string;
|
|
25
|
+
statusFlag?: StatusFlag;
|
|
26
|
+
contactPerson?: string;
|
|
27
|
+
contactPhone?: string;
|
|
28
|
+
address?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SupplierQueryParams {
|
|
31
|
+
pageNo?: number;
|
|
32
|
+
pageSize?: number;
|
|
33
|
+
status?: StatusFlag;
|
|
34
|
+
supplierCode?: string;
|
|
35
|
+
supplierName?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface PageResult<T> {
|
|
38
|
+
totalRows: number;
|
|
39
|
+
pageSize: number;
|
|
40
|
+
pageNo: number;
|
|
41
|
+
rows: T[];
|
|
42
|
+
}
|
|
43
|
+
export interface SupplierListResponse extends PageResult<Supplier> {
|
|
44
|
+
}
|
|
45
|
+
export interface SupplierApiResponse {
|
|
46
|
+
success: boolean;
|
|
47
|
+
data?: Supplier | SupplierListResponse;
|
|
48
|
+
error?: {
|
|
49
|
+
code: string;
|
|
50
|
+
message: string;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=supplier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier.d.ts","sourceRoot":"","sources":["../../src/types/supplier.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAG/B,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAGD,MAAM,WAAW,oBAAqB,SAAQ,UAAU,CAAC,QAAQ,CAAC;CAAG;AAGrE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,GAAG,oBAAoB,CAAC;IACvC,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier.js","sourceRoot":"","sources":["../../src/types/supplier.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type UomStatusFlag = 1 | 2;
|
|
2
|
+
export interface Uom {
|
|
3
|
+
uomId: string;
|
|
4
|
+
uomCode: string;
|
|
5
|
+
uomName: string;
|
|
6
|
+
uomFractionPlaces: number;
|
|
7
|
+
statusFlag: UomStatusFlag;
|
|
8
|
+
remark?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface CreateUomRequest {
|
|
11
|
+
uomCode: string;
|
|
12
|
+
uomName: string;
|
|
13
|
+
uomFractionPlaces?: number;
|
|
14
|
+
statusFlag?: UomStatusFlag;
|
|
15
|
+
remark?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface UpdateUomRequest {
|
|
18
|
+
uomId: string;
|
|
19
|
+
uomName?: string;
|
|
20
|
+
uomFractionPlaces?: number;
|
|
21
|
+
statusFlag?: UomStatusFlag;
|
|
22
|
+
remark?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface UomQueryParams {
|
|
25
|
+
pageNo?: number;
|
|
26
|
+
pageSize?: number;
|
|
27
|
+
status?: UomStatusFlag;
|
|
28
|
+
uomCode?: string;
|
|
29
|
+
uomName?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PageResult<T> {
|
|
32
|
+
totalRows: number;
|
|
33
|
+
pageSize: number;
|
|
34
|
+
pageNo: number;
|
|
35
|
+
rows: T[];
|
|
36
|
+
}
|
|
37
|
+
export interface UomListResponse extends PageResult<Uom> {
|
|
38
|
+
}
|
|
39
|
+
export interface UomApiResponse {
|
|
40
|
+
success: boolean;
|
|
41
|
+
data?: Uom | UomListResponse;
|
|
42
|
+
error?: {
|
|
43
|
+
code: string;
|
|
44
|
+
message: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=uom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uom.d.ts","sourceRoot":"","sources":["../../src/types/uom.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;AAGlC,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAGD,MAAM,WAAW,eAAgB,SAAQ,UAAU,CAAC,GAAG,CAAC;CAAG;AAG3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uom.js","sourceRoot":"","sources":["../../src/types/uom.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# barista liberica materials create
|
|
2
|
+
|
|
3
|
+
Create a new material (product).
|
|
4
|
+
|
|
5
|
+
## 2.1 Command Metadata
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| Full Command | `barista liberica materials create` |
|
|
10
|
+
| Description | Create a new material |
|
|
11
|
+
| HTTP Method | POST |
|
|
12
|
+
| Requires Authentication | Yes |
|
|
13
|
+
| Supports Dry-Run | Yes |
|
|
14
|
+
|
|
15
|
+
## 2.2 Backend API Reference
|
|
16
|
+
|
|
17
|
+
### Controller Location
|
|
18
|
+
```
|
|
19
|
+
coffee-liberica-end/
|
|
20
|
+
└── facade/liberica-facade-enterprise/
|
|
21
|
+
└── src/main/java/com/newpeak/liberica/facade/enterprise/controller/master/
|
|
22
|
+
└── EnterpriseMaterialController.java
|
|
23
|
+
└── add(@PostResource(path = "/add", requiredPermission = true, requirePermissionCode = MasterMaterialPermissionConstants.ADD_MASTER_MATERIAL))
|
|
24
|
+
└── public ResponseData<MasterMaterialResponse> add(
|
|
25
|
+
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
+
@RequestBody @Validated(BaseRequest.add.class) MasterMaterialRequest request
|
|
27
|
+
)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Request DTO Location
|
|
31
|
+
```
|
|
32
|
+
coffee-liberica-end/
|
|
33
|
+
└── business/liberica-business-sales/sales-api/
|
|
34
|
+
└── src/main/java/com/newpeak/liberica/sales/api/pojo/request/
|
|
35
|
+
└── MasterMaterialRequest.java
|
|
36
|
+
├── materialCode: String (@NotBlank on add, max=255)
|
|
37
|
+
├── materialNo: String (@NotBlank on add, max=255)
|
|
38
|
+
├── materialName: String (@NotBlank on add, max=255)
|
|
39
|
+
├── materialShortName: String (max=255)
|
|
40
|
+
├── materialClass: String (@NotBlank on add, max=255)
|
|
41
|
+
├── materialType: String (max=255)
|
|
42
|
+
├── materialUomCode: String (max=255)
|
|
43
|
+
├── enableSale: String (Y/N, max=1)
|
|
44
|
+
├── enablePurchase: String (Y/N, max=1)
|
|
45
|
+
├── enableSubMaterial: String (Y/N, max=1)
|
|
46
|
+
├── enableOutsourcing: String (Y/N, max=1)
|
|
47
|
+
├── enableDivision: String (Y/N, max=1)
|
|
48
|
+
├── materialMaker: String (max=255)
|
|
49
|
+
├── defaultWarehouse: String (max=255)
|
|
50
|
+
├── defaultSupplier: String (max=255)
|
|
51
|
+
├── unitPrice: BigDecimal
|
|
52
|
+
├── currency: String (max=255)
|
|
53
|
+
└── remark: String (max=255)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Response DTO Location
|
|
57
|
+
```
|
|
58
|
+
coffee-liberica-end/
|
|
59
|
+
└── business/liberica-business-sales/sales-api/
|
|
60
|
+
└── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
|
|
61
|
+
└── MasterMaterialResponse.java
|
|
62
|
+
├── materialId: Long
|
|
63
|
+
├── materialCode: String
|
|
64
|
+
├── materialNo: String
|
|
65
|
+
├── materialName: String
|
|
66
|
+
├── materialShortName: String
|
|
67
|
+
├── materialClass: String
|
|
68
|
+
├── materialType: String
|
|
69
|
+
├── materialUomCode: String
|
|
70
|
+
├── enableSale: String (Y/N)
|
|
71
|
+
├── enablePurchase: String (Y/N)
|
|
72
|
+
├── statusFlag: Integer (1=enable, 2=disable)
|
|
73
|
+
└── createTime: String
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 2.3 CLI Parameter Design
|
|
77
|
+
|
|
78
|
+
### Command Structure
|
|
79
|
+
```
|
|
80
|
+
barista liberica materials create [options]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Global Options
|
|
84
|
+
| Option | Type | Description |
|
|
85
|
+
|------|------|------|
|
|
86
|
+
| `--env` | string | Target environment (dev\|test\|prod-cn\|prod-jp) |
|
|
87
|
+
| `--tenant` | string | Tenant code |
|
|
88
|
+
| `--dry-run` | boolean | Preview mode (no actual API call) |
|
|
89
|
+
| `--json` | boolean | JSON output |
|
|
90
|
+
|
|
91
|
+
### Command Options
|
|
92
|
+
| Option | Short | Type | Required | Default | Description | Maps to DTO Field |
|
|
93
|
+
|------|--------|------|------|--------|------|-------------|
|
|
94
|
+
| --name | -n | string | Yes | - | Material name | materialName |
|
|
95
|
+
| --class | -c | string | Yes | - | Material class/category | materialClass |
|
|
96
|
+
| --type | -t | string | No | - | Specification/model | materialType |
|
|
97
|
+
| --unit | -u | string | No | - | Unit of measure | materialUomCode |
|
|
98
|
+
| --code | — | string | No | Auto-generated | Material code | materialCode |
|
|
99
|
+
| --no | — | string | No | Same as code | Material number | materialNo |
|
|
100
|
+
| --short-name | — | string | No | - | Short name | materialShortName |
|
|
101
|
+
| --maker | — | string | No | - | Manufacturer | materialMaker |
|
|
102
|
+
| --sale | — | boolean | No | true | Enable sale flag | enableSale |
|
|
103
|
+
| --purchase | — | boolean | No | true | Enable purchase flag | enablePurchase |
|
|
104
|
+
| --sub-material | — | boolean | No | false | Can be sub-material | enableSubMaterial |
|
|
105
|
+
| --outsourcing | — | boolean | No | false | Enable outsourcing | enableOutsourcing |
|
|
106
|
+
| --division | — | boolean | No | false | Enable cutting/division | enableDivision |
|
|
107
|
+
| --warehouse | -w | string | No | - | Default warehouse | defaultWarehouse |
|
|
108
|
+
| --supplier | -s | string | No | - | Default supplier | defaultSupplier |
|
|
109
|
+
| --price | -p | number | No | - | Unit price | unitPrice |
|
|
110
|
+
| --currency | — | string | No | - | Currency code | currency |
|
|
111
|
+
| --remark | -r | string | No | - | Remarks | remark |
|
|
112
|
+
|
|
113
|
+
## 2.4 Field Mapping Table
|
|
114
|
+
|
|
115
|
+
| CLI Parameter | DTO Field | Type Conversion | Validation Rule |
|
|
116
|
+
|---------|---------|----------|----------|
|
|
117
|
+
| --name / -n | materialName | Direct | @NotBlank, max=255 |
|
|
118
|
+
| --class / -c | materialClass | Direct | @NotBlank, max=255 |
|
|
119
|
+
| --type / -t | materialType | Direct | max=255 |
|
|
120
|
+
| --unit / -u | materialUomCode | Direct | max=255 |
|
|
121
|
+
| --code | materialCode | Direct | max=255, auto-generated if empty |
|
|
122
|
+
| --no | materialNo | Direct | max=255, defaults to code |
|
|
123
|
+
| --short-name | materialShortName | Direct | max=255 |
|
|
124
|
+
| --maker | materialMaker | Direct | max=255 |
|
|
125
|
+
| --sale | enableSale | boolean->String (Y/N) | max=1 |
|
|
126
|
+
| --purchase | enablePurchase | boolean->String (Y/N) | max=1 |
|
|
127
|
+
| --sub-material | enableSubMaterial | boolean->String (Y/N) | max=1 |
|
|
128
|
+
| --outsourcing | enableOutsourcing | boolean->String (Y/N) | max=1 |
|
|
129
|
+
| --division | enableDivision | boolean->String (Y/N) | max=1 |
|
|
130
|
+
| --warehouse / -w | defaultWarehouse | Direct | max=255 |
|
|
131
|
+
| --supplier / -s | defaultSupplier | Direct | max=255 |
|
|
132
|
+
| --price / -p | unitPrice | number->BigDecimal | - |
|
|
133
|
+
| --currency | currency | Direct | max=255 |
|
|
134
|
+
| --remark / -r | remark | Direct | max=255 |
|
|
135
|
+
|
|
136
|
+
**Auto-Generated Fields:**
|
|
137
|
+
| Field | Value |
|
|
138
|
+
|------|-----|
|
|
139
|
+
| tenantId | From JWT token (do NOT pass X-TENANT-ID header) |
|
|
140
|
+
| statusFlag | Default 1 (enabled) |
|
|
141
|
+
| materialCode | Auto-generated via getCodeByType('TenantMaterialCode') if not provided |
|
|
142
|
+
| materialNo | Defaults to materialCode if not provided |
|
|
143
|
+
|
|
144
|
+
## 2.5 Auto Code Generation Flow
|
|
145
|
+
|
|
146
|
+
When `--code` is not provided, the CLI automatically generates a material code:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
// Call getCodeByType API to generate code
|
|
150
|
+
const codeResponse = await apiClient.getCodeByType(
|
|
151
|
+
environment,
|
|
152
|
+
tenant,
|
|
153
|
+
'TenantMaterialCode' // Code type from TenantCodeType enum
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
if (codeResponse.success && codeResponse.data) {
|
|
157
|
+
materialCode = codeResponse.data;
|
|
158
|
+
} else {
|
|
159
|
+
throw new Error('Failed to generate material code');
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**API Details:**
|
|
164
|
+
- Endpoint: `GET /api/enterprise/master/id/getCodeByType?type=TenantMaterialCode`
|
|
165
|
+
- Response: `{ success: true, data: "MAT-2024-0001" }`
|
|
166
|
+
- Code Type: `TenantMaterialCode` (defined in `TenantCodeType.java`)
|
|
167
|
+
|
|
168
|
+
**Backend Code Generation:**
|
|
169
|
+
```
|
|
170
|
+
coffee-liberica-end/
|
|
171
|
+
└── business/liberica-business-master/master-api/
|
|
172
|
+
└── src/main/java/com/newpeak/liberica/master/api/enums/
|
|
173
|
+
└── TenantCodeType.java
|
|
174
|
+
└── TenantMaterialCode // Line 66
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## 2.6 Error Code Reference
|
|
178
|
+
|
|
179
|
+
### ExceptionEnum Location
|
|
180
|
+
```
|
|
181
|
+
coffee-liberica-end/
|
|
182
|
+
└── business/liberica-business-sales/sales-api/
|
|
183
|
+
└── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
|
|
184
|
+
└── MasterMaterialExceptionEnum.java
|
|
185
|
+
├── MASTER_MATERIAL_NOT_EXIST("01001200001", "租户物料不存在")
|
|
186
|
+
├── MASTER_MATERIAL_CODE_FORMAT_CANNOT_EMPTY("01001200003", "物料编码规则不能为空")
|
|
187
|
+
├── MASTER_MATERIAL_CODE_FORMAT_NOT_CORRECT("01001200004", "物料编码规则格式不正确")
|
|
188
|
+
├── MASTER_MATERIAL_CODE_VALIDATE_EMPTY_ERROR("01001200005", "{}不能为空")
|
|
189
|
+
├── MASTER_MATERIAL_CODE_VALIDATE_NOT_EXIST_ERROR("01001200006", "指定{}不存在")
|
|
190
|
+
├── MASTER_MATERIAL_NO_VALIDATE_EMPTY_ERROR("01001200007", "{}不能为空")
|
|
191
|
+
├── MASTER_MATERIAL_NAME_VALIDATE_EMPTY_ERROR("01001200009", "{}不能为空")
|
|
192
|
+
├── ENABLE_DIVISION_MATERIAL_NEED_WIDE_AND_LONG("01001200012", "可分割物料必须设置长和宽")
|
|
193
|
+
└── ENABLE_DIVISION_MATERIAL_NEED_WIDE_AND_LONG_GT_ZERO("01001200013", "可分割物料长和宽必须大于0")
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Known Error Codes
|
|
197
|
+
| Error Code | Error Message | Trigger Condition |
|
|
198
|
+
|--------|----------|----------|
|
|
199
|
+
| 01001200001 | Material does not exist | Query/edit with non-existent ID |
|
|
200
|
+
| 01001200003 | Material code format cannot be empty | Auto-generation rule not configured |
|
|
201
|
+
| 01001200004 | Material code format incorrect | Invalid code format pattern |
|
|
202
|
+
| 01001200005 | {} cannot be empty | Required field missing (materialCode) |
|
|
203
|
+
| 01001200007 | {} cannot be empty | Required field missing (materialNo) |
|
|
204
|
+
| 01001200009 | {} cannot be empty | Required field missing (materialName) |
|
|
205
|
+
| 01001200012 | Divisible material must set length and width | enableDivision=true without dimensions |
|
|
206
|
+
| 01001200013 | Divisible material length and width must be > 0 | enableDivision with invalid dimensions |
|
|
207
|
+
|
|
208
|
+
## 2.7 Permission Check
|
|
209
|
+
|
|
210
|
+
| Check Item | Location | Description |
|
|
211
|
+
|--------|------|------|
|
|
212
|
+
| PermissionConstants | `MasterMaterialPermissionConstants.ADD_MASTER_MATERIAL` | Controller layer `@PostResource(requirePermissionCode = "ADD_MASTER_MATERIAL")` |
|
|
213
|
+
|
|
214
|
+
## 2.8 Implementation Notes
|
|
215
|
+
|
|
216
|
+
1. **Required Fields**: `--name` and `--class` must be provided
|
|
217
|
+
2. **Auto-Generated Code**: `materialCode` is auto-generated via `getCodeByType('TenantMaterialCode')` if not provided
|
|
218
|
+
3. **Material Number**: `materialNo` defaults to `materialCode` if not explicitly provided
|
|
219
|
+
4. **Dry-Run Support**: Use `--dry-run` to preview request without calling API
|
|
220
|
+
5. **Boolean Flags**: All enable flags (sale, purchase, etc.) default to sensible values
|
|
221
|
+
6. **No Batch Create**: This command does NOT support batch creation (one material per call)
|
|
222
|
+
7. **No Interactive Wizard**: No interactive prompts for optional fields (use explicit options)
|
|
223
|
+
|
|
224
|
+
## 2.9 Example Usage
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Create with minimal required fields (auto-generates code)
|
|
228
|
+
barista liberica materials create --name "Steel Plate" --class "RAW_MATERIAL"
|
|
229
|
+
|
|
230
|
+
# Create with all common options
|
|
231
|
+
barista liberica materials create \
|
|
232
|
+
--name "Aluminum Sheet 5052" \
|
|
233
|
+
--class "RAW_MATERIAL" \
|
|
234
|
+
--type "5052-H32" \
|
|
235
|
+
--unit "PCS" \
|
|
236
|
+
--sale \
|
|
237
|
+
--purchase \
|
|
238
|
+
--warehouse "MAIN_WH" \
|
|
239
|
+
--price 125.50 \
|
|
240
|
+
--currency "USD" \
|
|
241
|
+
--remark "Standard aluminum sheet"
|
|
242
|
+
|
|
243
|
+
# Create with explicit code (skip auto-generation)
|
|
244
|
+
barista liberica materials create \
|
|
245
|
+
--code "MAT-001" \
|
|
246
|
+
--name "Custom Part" \
|
|
247
|
+
--class "FINISHED_GOOD"
|
|
248
|
+
|
|
249
|
+
# Dry-run to preview
|
|
250
|
+
barista liberica materials create \
|
|
251
|
+
--name "Test Material" \
|
|
252
|
+
--class "TEST" \
|
|
253
|
+
--dry-run
|
|
254
|
+
|
|
255
|
+
# JSON output
|
|
256
|
+
barista liberica materials create \
|
|
257
|
+
--name "New Product" \
|
|
258
|
+
--class "PRODUCT" \
|
|
259
|
+
--json
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## 2.10 Request Body Structure
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"materialCode": "MAT-2024-0001",
|
|
267
|
+
"materialNo": "MAT-2024-0001",
|
|
268
|
+
"materialName": "Steel Plate",
|
|
269
|
+
"materialClass": "RAW_MATERIAL",
|
|
270
|
+
"materialType": "SPCC",
|
|
271
|
+
"materialUomCode": "PCS",
|
|
272
|
+
"enableSale": "Y",
|
|
273
|
+
"enablePurchase": "Y",
|
|
274
|
+
"enableSubMaterial": "N",
|
|
275
|
+
"enableOutsourcing": "N",
|
|
276
|
+
"enableDivision": "N",
|
|
277
|
+
"statusFlag": 1
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## 2.11 API Path
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
POST /api/enterprise/sales/material/add
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Headers:**
|
|
288
|
+
```
|
|
289
|
+
Authorization: <token> (No "Bearer " prefix)
|
|
290
|
+
Content-Type: application/json
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**Note**: Do NOT include `X-TENANT-ID` header. Tenant is extracted from JWT token.
|