@newpeak/barista-cli 0.1.10 → 0.1.12
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/index.js +1 -1
- package/package.json +7 -3
- package/docs/ARCHITECTURE.md +0 -184
- package/docs/COMMANDS.md +0 -352
- package/docs/COMMAND_DESIGN_SPEC.md +0 -840
- package/docs/INTEGRATION_NOTES.md +0 -270
- package/docs/commands/REFERENCE.md +0 -323
- package/docs/commands/arabica/auth/index.md +0 -296
- package/docs/commands/liberica/auth/index.md +0 -133
- package/docs/commands/liberica/calendar/DESIGN.md +0 -333
- package/docs/commands/liberica/client-contacts/create.md +0 -152
- package/docs/commands/liberica/client-contacts/delete.md +0 -123
- package/docs/commands/liberica/client-contacts/get.md +0 -133
- package/docs/commands/liberica/client-contacts/list.md +0 -143
- package/docs/commands/liberica/client-contacts/update.md +0 -158
- package/docs/commands/liberica/context/index.md +0 -60
- package/docs/commands/liberica/currency/create.md +0 -145
- package/docs/commands/liberica/currency/delete.md +0 -121
- package/docs/commands/liberica/currency/disable.md +0 -119
- package/docs/commands/liberica/currency/enable.md +0 -115
- package/docs/commands/liberica/currency/get.md +0 -118
- package/docs/commands/liberica/currency/list.md +0 -149
- package/docs/commands/liberica/currency/update.md +0 -141
- package/docs/commands/liberica/employees/create.md +0 -185
- package/docs/commands/liberica/employees/disable.md +0 -138
- package/docs/commands/liberica/employees/enable.md +0 -137
- package/docs/commands/liberica/employees/get.md +0 -153
- package/docs/commands/liberica/employees/list.md +0 -168
- package/docs/commands/liberica/employees/update.md +0 -180
- package/docs/commands/liberica/locations/create.md +0 -195
- package/docs/commands/liberica/locations/list.md +0 -171
- package/docs/commands/liberica/materials/create.md +0 -293
- package/docs/commands/liberica/materials/delete.md +0 -240
- package/docs/commands/liberica/materials/disable.md +0 -150
- package/docs/commands/liberica/materials/enable.md +0 -146
- package/docs/commands/liberica/materials/get.md +0 -188
- package/docs/commands/liberica/materials/list.md +0 -198
- package/docs/commands/liberica/materials/update.md +0 -250
- package/docs/commands/liberica/orgs/list.md +0 -62
- package/docs/commands/liberica/positions/list.md +0 -61
- package/docs/commands/liberica/roles/list.md +0 -67
- package/docs/commands/liberica/stock/ledger.md +0 -209
- package/docs/commands/liberica/stock/list.md +0 -165
- package/docs/commands/liberica/supplier-contacts/create.md +0 -152
- package/docs/commands/liberica/supplier-contacts/delete.md +0 -123
- package/docs/commands/liberica/supplier-contacts/get.md +0 -133
- package/docs/commands/liberica/supplier-contacts/list.md +0 -143
- package/docs/commands/liberica/supplier-contacts/update.md +0 -158
- package/docs/commands/liberica/teams/issues/close.md +0 -161
- package/docs/commands/liberica/teams/issues/create.md +0 -212
- package/docs/commands/liberica/teams/issues/delete.md +0 -179
- package/docs/commands/liberica/teams/issues/get.md +0 -167
- package/docs/commands/liberica/teams/issues/list.md +0 -182
- package/docs/commands/liberica/teams/issues/tests-design.md +0 -341
- package/docs/commands/liberica/teams/issues/update.md +0 -202
- package/docs/commands/liberica/teams/projects/create.md +0 -174
- package/docs/commands/liberica/teams/projects/delete.md +0 -180
- package/docs/commands/liberica/teams/projects/get.md +0 -150
- package/docs/commands/liberica/teams/projects/list.md +0 -179
- package/docs/commands/liberica/teams/projects/update.md +0 -175
- package/docs/commands/liberica/teams/tasks/create.md +0 -163
- package/docs/commands/liberica/teams/tasks/delete.md +0 -109
- package/docs/commands/liberica/teams/tasks/get.md +0 -121
- package/docs/commands/liberica/teams/tasks/list.md +0 -148
- package/docs/commands/liberica/teams/tasks/update.md +0 -158
- package/docs/commands/liberica/teams/work-logs/create.md +0 -151
- package/docs/commands/liberica/teams/work-logs/delete.md +0 -130
- package/docs/commands/liberica/teams/work-logs/get.md +0 -131
- package/docs/commands/liberica/teams/work-logs/list.md +0 -153
- package/docs/commands/liberica/teams/work-logs/update.md +0 -150
- package/docs/commands/liberica/transfer-in-forms/batch-delete.md +0 -157
- package/docs/commands/liberica/transfer-in-forms/batch-review.md +0 -157
- package/docs/commands/liberica/transfer-in-forms/batch-unreview.md +0 -157
- package/docs/commands/liberica/transfer-in-forms/create.md +0 -220
- package/docs/commands/liberica/transfer-in-forms/get.md +0 -221
- package/docs/commands/liberica/transfer-in-forms/list.md +0 -242
- package/docs/commands/liberica/transfer-in-forms/update.md +0 -185
- package/docs/commands/liberica/transfer-out-forms/batch-delete.md +0 -187
- package/docs/commands/liberica/transfer-out-forms/batch-review.md +0 -157
- package/docs/commands/liberica/transfer-out-forms/batch-unreview.md +0 -157
- package/docs/commands/liberica/transfer-out-forms/create.md +0 -280
- package/docs/commands/liberica/transfer-out-forms/get.md +0 -211
- package/docs/commands/liberica/transfer-out-forms/list.md +0 -233
- package/docs/commands/liberica/transfer-out-forms/update.md +0 -286
- package/docs/commands/liberica/uoms/create.md +0 -136
- package/docs/commands/liberica/uoms/delete.md +0 -119
- package/docs/commands/liberica/uoms/disable.md +0 -117
- package/docs/commands/liberica/uoms/enable.md +0 -115
- package/docs/commands/liberica/uoms/get.md +0 -119
- package/docs/commands/liberica/uoms/list.md +0 -155
- package/docs/commands/liberica/uoms/update.md +0 -148
- package/docs/commands/liberica/users/create.md +0 -170
- package/docs/commands/liberica/users/get.md +0 -151
- package/docs/commands/liberica/users/list.md +0 -175
- package/docs/commands/liberica/warehouses/create.md +0 -222
- package/docs/commands/liberica/warehouses/list.md +0 -184
- package/src/commands/arabica/auth/index.ts +0 -277
- package/src/commands/arabica/auth/login.ts +0 -5
- package/src/commands/arabica/auth/logout.ts +0 -5
- package/src/commands/arabica/auth/register.ts +0 -5
- package/src/commands/arabica/auth/status.ts +0 -5
- package/src/commands/arabica/index.ts +0 -23
- package/src/commands/auth.ts +0 -107
- package/src/commands/context.ts +0 -60
- package/src/commands/liberica/auth/index.ts +0 -176
- package/src/commands/liberica/calendar/index.ts +0 -13
- package/src/commands/liberica/calendar/list.ts +0 -214
- package/src/commands/liberica/calendar/set.ts +0 -130
- package/src/commands/liberica/client-contacts/create.ts +0 -115
- package/src/commands/liberica/client-contacts/delete.ts +0 -140
- package/src/commands/liberica/client-contacts/get.ts +0 -103
- package/src/commands/liberica/client-contacts/index.ts +0 -19
- package/src/commands/liberica/client-contacts/list.ts +0 -118
- package/src/commands/liberica/client-contacts/update.ts +0 -137
- package/src/commands/liberica/clients/create.ts +0 -122
- package/src/commands/liberica/clients/delete.ts +0 -125
- package/src/commands/liberica/clients/get.ts +0 -88
- package/src/commands/liberica/clients/index.ts +0 -19
- package/src/commands/liberica/clients/list.ts +0 -123
- package/src/commands/liberica/clients/update.ts +0 -103
- package/src/commands/liberica/context/index.ts +0 -43
- package/src/commands/liberica/currency/create.ts +0 -183
- package/src/commands/liberica/currency/delete.ts +0 -124
- package/src/commands/liberica/currency/disable.ts +0 -147
- package/src/commands/liberica/currency/enable.ts +0 -128
- package/src/commands/liberica/currency/get.ts +0 -91
- package/src/commands/liberica/currency/index.ts +0 -23
- package/src/commands/liberica/currency/list.ts +0 -140
- package/src/commands/liberica/currency/update.ts +0 -129
- package/src/commands/liberica/dict-types/get.ts +0 -74
- package/src/commands/liberica/dict-types/index.ts +0 -15
- package/src/commands/liberica/dict-types/list.ts +0 -118
- package/src/commands/liberica/dict-types/update.ts +0 -134
- package/src/commands/liberica/dicts/create.ts +0 -175
- package/src/commands/liberica/dicts/delete.ts +0 -107
- package/src/commands/liberica/dicts/get.ts +0 -80
- package/src/commands/liberica/dicts/index.ts +0 -19
- package/src/commands/liberica/dicts/list.ts +0 -114
- package/src/commands/liberica/dicts/update.ts +0 -116
- package/src/commands/liberica/employees/create.ts +0 -275
- package/src/commands/liberica/employees/delete.ts +0 -122
- package/src/commands/liberica/employees/disable.ts +0 -97
- package/src/commands/liberica/employees/enable.ts +0 -97
- package/src/commands/liberica/employees/get.ts +0 -115
- package/src/commands/liberica/employees/index.ts +0 -23
- package/src/commands/liberica/employees/list.ts +0 -131
- package/src/commands/liberica/employees/update.ts +0 -157
- package/src/commands/liberica/index.ts +0 -81
- package/src/commands/liberica/materials/create.ts +0 -199
- package/src/commands/liberica/materials/delete.ts +0 -105
- package/src/commands/liberica/materials/disable.ts +0 -148
- package/src/commands/liberica/materials/enable.ts +0 -129
- package/src/commands/liberica/materials/get.ts +0 -83
- package/src/commands/liberica/materials/index.ts +0 -23
- package/src/commands/liberica/materials/list.ts +0 -142
- package/src/commands/liberica/materials/update.ts +0 -125
- package/src/commands/liberica/mould/get.ts +0 -111
- package/src/commands/liberica/mould/index.ts +0 -17
- package/src/commands/liberica/mould/list.ts +0 -157
- package/src/commands/liberica/mould/set-status.ts +0 -99
- package/src/commands/liberica/mould/stock-in.ts +0 -165
- package/src/commands/liberica/operations/active.ts +0 -153
- package/src/commands/liberica/operations/batch-delete.ts +0 -131
- package/src/commands/liberica/operations/copy.ts +0 -138
- package/src/commands/liberica/operations/create.ts +0 -223
- package/src/commands/liberica/operations/deactive.ts +0 -152
- package/src/commands/liberica/operations/delete.ts +0 -128
- package/src/commands/liberica/operations/design.md +0 -587
- package/src/commands/liberica/operations/get.ts +0 -112
- package/src/commands/liberica/operations/index.ts +0 -27
- package/src/commands/liberica/operations/list.ts +0 -180
- package/src/commands/liberica/operations/update.ts +0 -218
- package/src/commands/liberica/orgs/index.ts +0 -34
- package/src/commands/liberica/positions/index.ts +0 -30
- package/src/commands/liberica/roles/index.ts +0 -59
- package/src/commands/liberica/stock/index.ts +0 -13
- package/src/commands/liberica/stock/ledger.ts +0 -159
- package/src/commands/liberica/stock/list.ts +0 -128
- package/src/commands/liberica/supplier-contacts/create.ts +0 -120
- package/src/commands/liberica/supplier-contacts/delete.ts +0 -88
- package/src/commands/liberica/supplier-contacts/get.ts +0 -94
- package/src/commands/liberica/supplier-contacts/index.ts +0 -19
- package/src/commands/liberica/supplier-contacts/list.ts +0 -130
- package/src/commands/liberica/supplier-contacts/update.ts +0 -127
- package/src/commands/liberica/suppliers/create.ts +0 -149
- package/src/commands/liberica/suppliers/delete.ts +0 -102
- package/src/commands/liberica/suppliers/disable.ts +0 -145
- package/src/commands/liberica/suppliers/enable.ts +0 -126
- package/src/commands/liberica/suppliers/get.ts +0 -86
- package/src/commands/liberica/suppliers/index.ts +0 -23
- package/src/commands/liberica/suppliers/list.ts +0 -134
- package/src/commands/liberica/suppliers/update.ts +0 -128
- package/src/commands/liberica/teams/index.ts +0 -17
- package/src/commands/liberica/teams/issues/close.ts +0 -104
- package/src/commands/liberica/teams/issues/create.ts +0 -254
- package/src/commands/liberica/teams/issues/delete.ts +0 -58
- package/src/commands/liberica/teams/issues/get.ts +0 -78
- package/src/commands/liberica/teams/issues/index.ts +0 -21
- package/src/commands/liberica/teams/issues/list.ts +0 -144
- package/src/commands/liberica/teams/issues/update.ts +0 -141
- package/src/commands/liberica/teams/projects/create.ts +0 -159
- package/src/commands/liberica/teams/projects/delete.ts +0 -58
- package/src/commands/liberica/teams/projects/get.ts +0 -87
- package/src/commands/liberica/teams/projects/index.ts +0 -19
- package/src/commands/liberica/teams/projects/list.ts +0 -147
- package/src/commands/liberica/teams/projects/update.ts +0 -117
- package/src/commands/liberica/teams/tasks/create.ts +0 -102
- package/src/commands/liberica/teams/tasks/delete.ts +0 -92
- package/src/commands/liberica/teams/tasks/get.ts +0 -64
- package/src/commands/liberica/teams/tasks/index.ts +0 -19
- package/src/commands/liberica/teams/tasks/list.ts +0 -102
- package/src/commands/liberica/teams/tasks/update.ts +0 -122
- package/src/commands/liberica/teams/work-logs/create.ts +0 -204
- package/src/commands/liberica/teams/work-logs/delete.ts +0 -58
- package/src/commands/liberica/teams/work-logs/get.ts +0 -87
- package/src/commands/liberica/teams/work-logs/index.ts +0 -19
- package/src/commands/liberica/teams/work-logs/list.ts +0 -141
- package/src/commands/liberica/teams/work-logs/update.ts +0 -120
- package/src/commands/liberica/transfer-in-forms/batch-delete.ts +0 -152
- package/src/commands/liberica/transfer-in-forms/batch-review.ts +0 -151
- package/src/commands/liberica/transfer-in-forms/batch-unreview.ts +0 -152
- package/src/commands/liberica/transfer-in-forms/create.ts +0 -179
- package/src/commands/liberica/transfer-in-forms/get.ts +0 -107
- package/src/commands/liberica/transfer-in-forms/index.ts +0 -23
- package/src/commands/liberica/transfer-in-forms/list.ts +0 -97
- package/src/commands/liberica/transfer-in-forms/update.ts +0 -213
- package/src/commands/liberica/transfer-out-forms/batch-delete.ts +0 -83
- package/src/commands/liberica/transfer-out-forms/batch-review.ts +0 -148
- package/src/commands/liberica/transfer-out-forms/batch-unreview.ts +0 -56
- package/src/commands/liberica/transfer-out-forms/create.ts +0 -194
- package/src/commands/liberica/transfer-out-forms/get.ts +0 -114
- package/src/commands/liberica/transfer-out-forms/index.ts +0 -23
- package/src/commands/liberica/transfer-out-forms/list.ts +0 -125
- package/src/commands/liberica/transfer-out-forms/update.ts +0 -197
- package/src/commands/liberica/uoms/create.ts +0 -134
- package/src/commands/liberica/uoms/delete.ts +0 -105
- package/src/commands/liberica/uoms/disable.ts +0 -148
- package/src/commands/liberica/uoms/enable.ts +0 -129
- package/src/commands/liberica/uoms/get.ts +0 -83
- package/src/commands/liberica/uoms/index.ts +0 -23
- package/src/commands/liberica/uoms/list.ts +0 -129
- package/src/commands/liberica/uoms/update.ts +0 -124
- package/src/commands/liberica/users/create.ts +0 -133
- package/src/commands/liberica/users/delete.ts +0 -49
- package/src/commands/liberica/users/disable.ts +0 -41
- package/src/commands/liberica/users/enable.ts +0 -30
- package/src/commands/liberica/users/get.ts +0 -46
- package/src/commands/liberica/users/index.ts +0 -27
- package/src/commands/liberica/users/list.ts +0 -68
- package/src/commands/liberica/users/me.ts +0 -42
- package/src/commands/liberica/users/reset-password.ts +0 -42
- package/src/commands/liberica/users/update.ts +0 -48
- package/src/commands/liberica/warehouses/create.ts +0 -204
- package/src/commands/liberica/warehouses/delete.ts +0 -112
- package/src/commands/liberica/warehouses/disable.ts +0 -174
- package/src/commands/liberica/warehouses/enable.ts +0 -174
- package/src/commands/liberica/warehouses/get.ts +0 -101
- package/src/commands/liberica/warehouses/index.ts +0 -25
- package/src/commands/liberica/warehouses/list.ts +0 -136
- package/src/commands/liberica/warehouses/locations/create.ts +0 -209
- package/src/commands/liberica/warehouses/locations/delete.ts +0 -116
- package/src/commands/liberica/warehouses/locations/disable.ts +0 -174
- package/src/commands/liberica/warehouses/locations/enable.ts +0 -174
- package/src/commands/liberica/warehouses/locations/get.ts +0 -84
- package/src/commands/liberica/warehouses/locations/index.ts +0 -23
- package/src/commands/liberica/warehouses/locations/list.ts +0 -140
- package/src/commands/liberica/warehouses/locations/update.ts +0 -135
- package/src/commands/liberica/warehouses/update.ts +0 -142
- package/src/core/api/client.ts +0 -4443
- package/src/core/auth/token-manager.ts +0 -183
- package/src/core/config/manager.ts +0 -164
- package/src/index.ts +0 -35
- package/src/types/calendar.ts +0 -36
- package/src/types/client-contact.ts +0 -78
- package/src/types/client.ts +0 -115
- package/src/types/currency.ts +0 -90
- package/src/types/dict.ts +0 -121
- package/src/types/employee.ts +0 -102
- package/src/types/index.ts +0 -93
- package/src/types/location.ts +0 -66
- package/src/types/material.ts +0 -61
- package/src/types/mould-stock-in.ts +0 -82
- package/src/types/mould.ts +0 -74
- package/src/types/operation.ts +0 -72
- package/src/types/org.ts +0 -25
- package/src/types/position.ts +0 -24
- package/src/types/stock.ts +0 -161
- package/src/types/supplier-contact.ts +0 -78
- package/src/types/supplier.ts +0 -66
- package/src/types/team-issue.ts +0 -94
- package/src/types/team-project.ts +0 -74
- package/src/types/team-task.ts +0 -98
- package/src/types/team-work-log.ts +0 -87
- package/src/types/transfer-in-form.ts +0 -265
- package/src/types/transfer-out-form.ts +0 -290
- package/src/types/uom.ts +0 -60
- package/src/types/user.ts +0 -64
- package/src/types/warehouse.ts +0 -82
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
# barista liberica locations list
|
|
2
|
-
|
|
3
|
-
List warehouse locations with pagination.
|
|
4
|
-
|
|
5
|
-
## 2.1 Command Metadata
|
|
6
|
-
|
|
7
|
-
| Field | Value |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| Full Command | `barista liberica locations list` |
|
|
10
|
-
| Description | List warehouse locations with pagination |
|
|
11
|
-
| HTTP Method | GET |
|
|
12
|
-
| Requires Authentication | Yes |
|
|
13
|
-
| Supports Dry-Run | No |
|
|
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/stock/
|
|
22
|
-
└── EnterpriseWarehouseLocationController.java
|
|
23
|
-
└── page(@GetResource(path = "/page"))
|
|
24
|
-
└── public ResponseData<PageResult<MasterWarehouseLocationResponse>> page(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
@ParameterObject MasterWarehouseLocationRequest masterWarehouseLocationRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO Location
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-master/master-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/master/api/pojo/request/
|
|
35
|
-
└── MasterWarehouseLocationRequest.java
|
|
36
|
-
├── warehouseId: Long
|
|
37
|
-
├── warehouseLocationCode: String
|
|
38
|
-
├── warehouseLocationName: String
|
|
39
|
-
├── statusFlag: Integer
|
|
40
|
-
└── remark: String
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Response DTO Location
|
|
44
|
-
```
|
|
45
|
-
coffee-liberica-end/
|
|
46
|
-
└── business/liberica-business-master/master-api/
|
|
47
|
-
└── src/main/java/com/newpeak/liberica/master/api/pojo/response/
|
|
48
|
-
└── MasterWarehouseLocationResponse.java
|
|
49
|
-
├── warehouseLocationId: Long
|
|
50
|
-
├── warehouseId: Long
|
|
51
|
-
├── warehouseLocationCode: String
|
|
52
|
-
├── warehouseLocationName: String
|
|
53
|
-
├── statusFlag: Integer (1=enable, 2=disable)
|
|
54
|
-
└── remark: String
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## 2.3 CLI Parameter Design
|
|
58
|
-
|
|
59
|
-
### Command Structure
|
|
60
|
-
```
|
|
61
|
-
barista liberica locations list [options]
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Global Options
|
|
65
|
-
| Option | Type | Description |
|
|
66
|
-
|------|------|------|
|
|
67
|
-
| `--env` | string | Target environment (dev\|test\|prod-cn\|prod-jp) |
|
|
68
|
-
| `--tenant` | string | Tenant code |
|
|
69
|
-
| `--json` | boolean | JSON output |
|
|
70
|
-
|
|
71
|
-
### Command Options
|
|
72
|
-
| Option | Short | Type | Required | Default | Description | Maps to Query Param |
|
|
73
|
-
|------|--------|------|------|--------|------|-------------|
|
|
74
|
-
| --page | -p | number | No | 1 | Page number (CLI 1-based) | pageNo (0-based) |
|
|
75
|
-
| --size | -s | number | No | 20 | Page size | pageSize |
|
|
76
|
-
| --warehouse-id | -w | string | No | - | Filter by parent warehouse ID | warehouseId |
|
|
77
|
-
| --status | — | number | No | - | Status filter (1=enable, 2=disable) | statusFlag |
|
|
78
|
-
| --keyword | -k | string | No | - | Keyword search (warehouseLocationName and warehouseLocationCode) | warehouseLocationName / warehouseLocationCode |
|
|
79
|
-
|
|
80
|
-
## 2.4 Field Mapping Table
|
|
81
|
-
|
|
82
|
-
| CLI Parameter | Query Param / DTO Field | Type Conversion | Validation Rule |
|
|
83
|
-
|---------|---------|----------|----------|
|
|
84
|
-
| --page / -p | pageNo | number, CLI page - 1 | >= 0 |
|
|
85
|
-
| --size / -s | pageSize | number | > 0 |
|
|
86
|
-
| --warehouse-id / -w | warehouseId | string | - |
|
|
87
|
-
| --status | statusFlag | number | 1 or 2 |
|
|
88
|
-
| --keyword / -k | warehouseLocationName / warehouseLocationCode | Direct | max=255 |
|
|
89
|
-
|
|
90
|
-
## 2.5 Error Code Reference
|
|
91
|
-
|
|
92
|
-
### ExceptionEnum Location
|
|
93
|
-
```
|
|
94
|
-
coffee-liberica-end/
|
|
95
|
-
└── business/liberica-business-master/master-api/
|
|
96
|
-
└── src/main/java/com/newpeak/liberica/master/api/exception/enums/
|
|
97
|
-
└── MasterWarehouseLocationExceptionEnum.java
|
|
98
|
-
├── MASTER_WAREHOUSE_LOCATION_NOT_EXIST("01001380001", "租户仓位不存在")
|
|
99
|
-
├── MASTER_WAREHOUSE_LOCATION_CODE_FORMAT_CANNOT_EMPTY("01001380002", "仓位编码规则不能为空")
|
|
100
|
-
└── MASTER_WAREHOUSE_LOCATION_CODE_FORMAT_NOT_CORRECT("01001380003", "仓位编码规则格式不正确")
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Known Error Codes
|
|
104
|
-
| Error Code | Error Message | Trigger Condition |
|
|
105
|
-
|--------|----------|----------|
|
|
106
|
-
| 01001380001 | Location does not exist | Detail query with non-existent ID |
|
|
107
|
-
|
|
108
|
-
## 2.6 Permission Check
|
|
109
|
-
|
|
110
|
-
| Check Item | Location | Description |
|
|
111
|
-
|--------|------|------|
|
|
112
|
-
| Page Query | No specific permission code on `@GetResource(path = "/page")` | Available to authenticated users |
|
|
113
|
-
|
|
114
|
-
## 2.7 Implementation Notes
|
|
115
|
-
|
|
116
|
-
1. **Pagination**: CLI uses 1-based page numbers. API uses 0-based. Convert: `pageNo = options.page - 1`.
|
|
117
|
-
2. **Response Fields**: Backend returns `rows`, `pageNo`, `pageSize`, `totalRows`. Do NOT use `records` or `total`.
|
|
118
|
-
3. **Warehouse Filter**: `--warehouse-id` is optional but commonly used to list locations within a specific warehouse.
|
|
119
|
-
4. **Keyword Search**: When `--keyword` is provided, send it as both `warehouseLocationName` and `warehouseLocationCode` query params.
|
|
120
|
-
5. **BigInteger IDs**: `warehouseLocationId` and `warehouseId` in response rows must be kept as `string` in TypeScript.
|
|
121
|
-
6. **Table Output**: Default columns: Location ID, Warehouse ID, Code, Name, Status.
|
|
122
|
-
7. **JSON Output**: When `--json` is used, wrap response with standardized pagination object.
|
|
123
|
-
|
|
124
|
-
## 2.8 Example Usage
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
# List all locations (first page, 20 per page)
|
|
128
|
-
barista liberica locations list
|
|
129
|
-
|
|
130
|
-
# List locations for a specific warehouse
|
|
131
|
-
barista liberica locations list --warehouse-id "1234567890123456789"
|
|
132
|
-
|
|
133
|
-
# List with pagination
|
|
134
|
-
barista liberica locations list --warehouse-id "1234567890123456789" --page 2 --size 50
|
|
135
|
-
|
|
136
|
-
# Filter by status
|
|
137
|
-
barista liberica locations list --status 1
|
|
138
|
-
|
|
139
|
-
# Keyword search
|
|
140
|
-
barista liberica locations list --keyword "A-01"
|
|
141
|
-
|
|
142
|
-
# JSON output
|
|
143
|
-
barista liberica locations list --json
|
|
144
|
-
|
|
145
|
-
# Combine filters
|
|
146
|
-
barista liberica locations list \
|
|
147
|
-
--warehouse-id "1234567890123456789" \
|
|
148
|
-
--page 1 \
|
|
149
|
-
--size 10 \
|
|
150
|
-
--status 1 \
|
|
151
|
-
--keyword "Shelf" \
|
|
152
|
-
--json
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## 2.9 API Path
|
|
156
|
-
|
|
157
|
-
```
|
|
158
|
-
GET /api/enterprise/purchases/warehouse/location/page
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
**Query Parameters:**
|
|
162
|
-
```
|
|
163
|
-
?pageNo=0&pageSize=20&warehouseId=1234567890123456789&statusFlag=1&warehouseLocationCode=Shelf&warehouseLocationName=Shelf
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
**Headers:**
|
|
167
|
-
```
|
|
168
|
-
Authorization: <token> (No "Bearer " prefix)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**Note**: Do NOT include `X-TENANT-ID` header. Tenant is extracted from JWT token.
|
|
@@ -1,293 +0,0 @@
|
|
|
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.
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
# barista liberica materials delete
|
|
2
|
-
|
|
3
|
-
删除指定物料。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica materials delete` |
|
|
10
|
-
| 功能描述 | 删除指定物料 |
|
|
11
|
-
| HTTP方法 | POST |
|
|
12
|
-
| 是否需要认证 | ✅ 是 |
|
|
13
|
-
| 是否支持dry-run | ✅ 是(默认行为) |
|
|
14
|
-
|
|
15
|
-
## 2.2 后端接口引用
|
|
16
|
-
|
|
17
|
-
### Controller位置
|
|
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
|
-
└── delete(@PostResource(path = "/delete", requiredPermission = true, requirePermissionCode = MasterMaterialPermissionConstants.DEL_MASTER_MATERIAL))
|
|
24
|
-
└── public ResponseData<?> delete(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
@RequestBody @Validated(BaseRequest.delete.class) MasterMaterialRequest masterMaterialRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
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
|
-
├── materialId: Long (@NotNull on delete)
|
|
37
|
-
└── tenantId: Long
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**删除请求体结构:**
|
|
41
|
-
```json
|
|
42
|
-
{
|
|
43
|
-
"materialId": 123456789
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Response DTO位置
|
|
48
|
-
```
|
|
49
|
-
coffee-liberica-end/
|
|
50
|
-
└── business/liberica-business-sales/sales-api/
|
|
51
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
|
|
52
|
-
└── MasterMaterialResponse.java
|
|
53
|
-
├── materialId: Long
|
|
54
|
-
├── materialCode: String
|
|
55
|
-
├── materialNo: String
|
|
56
|
-
├── materialName: String
|
|
57
|
-
└── statusFlag: Integer (1=启用, 2=禁用)
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## 2.3 CLI参数设计
|
|
61
|
-
|
|
62
|
-
### 命令结构
|
|
63
|
-
```bash
|
|
64
|
-
barista liberica materials delete <materialId> [options]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 全局选项
|
|
68
|
-
| 选项 | 类型 | 说明 |
|
|
69
|
-
|------|------|------|
|
|
70
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
71
|
-
| `--tenant` | string | 租户代码 |
|
|
72
|
-
| `--dry-run` | boolean | 预览模式(默认开启) |
|
|
73
|
-
| `--json` | boolean | JSON输出 |
|
|
74
|
-
|
|
75
|
-
### 命令选项
|
|
76
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
77
|
-
|------|--------|------|------|--------|------|-------------|
|
|
78
|
-
| materialId | - | string | ✅ | - | 物料ID(位置参数) | materialId |
|
|
79
|
-
| --force | -f | boolean | ⬜ | false | 跳过确认直接删除 | - |
|
|
80
|
-
| --json | - | boolean | ⬜ | false | JSON格式输出 | - |
|
|
81
|
-
|
|
82
|
-
### 位置参数
|
|
83
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
84
|
-
|------|------|------|------|
|
|
85
|
-
| materialId | string | ✅ | 要删除的物料ID |
|
|
86
|
-
|
|
87
|
-
## 2.4 字段映射表
|
|
88
|
-
|
|
89
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
90
|
-
|---------|---------|----------|----------|
|
|
91
|
-
| materialId (位置参数) | materialId | string→Long | @NotNull |
|
|
92
|
-
|
|
93
|
-
## 2.5 确认流程
|
|
94
|
-
|
|
95
|
-
删除操作默认启用dry-run模式,需要用户显式确认:
|
|
96
|
-
|
|
97
|
-
### 默认行为(无--force)
|
|
98
|
-
```bash
|
|
99
|
-
$ barista liberica materials delete 123456789
|
|
100
|
-
|
|
101
|
-
🗑️ Delete Material (dev)
|
|
102
|
-
|
|
103
|
-
Material ID: 123456789
|
|
104
|
-
Name: 测试物料
|
|
105
|
-
Code: MAT-001
|
|
106
|
-
|
|
107
|
-
🔍 Dry-Run Mode: No actual deletion will be made
|
|
108
|
-
|
|
109
|
-
To delete, add: --force
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### 强制删除(带--force)
|
|
113
|
-
```bash
|
|
114
|
-
$ barista liberica materials delete 123456789 --force
|
|
115
|
-
|
|
116
|
-
🗑️ Delete Material (dev)
|
|
117
|
-
|
|
118
|
-
Material ID: 123456789
|
|
119
|
-
Name: 测试物料
|
|
120
|
-
Code: MAT-001
|
|
121
|
-
|
|
122
|
-
✓ Material "测试物料" (ID: 123456789) deleted
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### JSON输出模式
|
|
126
|
-
```bash
|
|
127
|
-
$ barista liberica materials delete 123456789 --json
|
|
128
|
-
{
|
|
129
|
-
"success": true,
|
|
130
|
-
"dryRun": true,
|
|
131
|
-
"material": {
|
|
132
|
-
"materialId": "123456789",
|
|
133
|
-
"materialName": "测试物料",
|
|
134
|
-
"materialCode": "MAT-001"
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
$ barista liberica materials delete 123456789 --force --json
|
|
139
|
-
{
|
|
140
|
-
"success": true,
|
|
141
|
-
"materialId": "123456789",
|
|
142
|
-
"name": "测试物料"
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## 2.6 错误码引用
|
|
147
|
-
|
|
148
|
-
### ExceptionEnum位置
|
|
149
|
-
```
|
|
150
|
-
coffee-liberica-end/
|
|
151
|
-
└── business/liberica-business-sales/sales-api/
|
|
152
|
-
└── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
|
|
153
|
-
└── MasterMaterialExceptionEnum.java
|
|
154
|
-
├── MASTER_MATERIAL_NOT_EXIST("01001310001", "租户物料不存在")
|
|
155
|
-
└── DELETE_MASTER_WAREHOUSE_ERROR("01001310014", "删除物料仓库错误")
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Service层业务校验
|
|
159
|
-
```
|
|
160
|
-
coffee-liberica-end/
|
|
161
|
-
└── business/liberica-business-sales/sales-business/
|
|
162
|
-
└── src/main/java/com/newpeak/liberica/sales/modular/master/business/impl/
|
|
163
|
-
└── MasterMaterialBusinessImpl.java
|
|
164
|
-
└── del(MasterMaterialRequest request)
|
|
165
|
-
├── Line 384: 检查物料是否存在
|
|
166
|
-
│ └── throw new SalesServiceException(MasterMaterialExceptionEnum.MASTER_MATERIAL_NOT_EXIST)
|
|
167
|
-
└── Line 1387: 检查仓库关联
|
|
168
|
-
└── throw new SalesServiceException(MasterMaterialExceptionEnum.DELETE_MASTER_WAREHOUSE_ERROR)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### 已知错误码
|
|
172
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
173
|
-
|--------|----------|----------|
|
|
174
|
-
| 01001310001 | 租户物料不存在 | 物料ID不存在或已被删除 |
|
|
175
|
-
| 01001310014 | 删除物料仓库错误 | 物料与仓库存在关联,无法删除 |
|
|
176
|
-
|
|
177
|
-
## 2.7 权限检查
|
|
178
|
-
|
|
179
|
-
| 检查项 | 位置 | 说明 |
|
|
180
|
-
|--------|------|------|
|
|
181
|
-
| PermissionConstants | `MasterMaterialPermissionConstants.DEL_MASTER_MATERIAL` | Controller层 `@PostResource(requirePermissionCode = "DEL_MASTER_MATERIAL")` |
|
|
182
|
-
|
|
183
|
-
## 2.8 实现要点
|
|
184
|
-
|
|
185
|
-
1. **必填参数**:materialId 作为位置参数必须提供
|
|
186
|
-
2. **Dry-run默认开启**:不带 `--force` 时只显示预览信息
|
|
187
|
-
3. **物料详情获取**:删除前先调用 `/detail` 接口获取物料信息用于确认提示
|
|
188
|
-
4. **ID类型处理**:后端使用 Long (BigInteger),CLI使用 string 避免精度丢失
|
|
189
|
-
5. **权限要求**:需要 `DEL_MASTER_MATERIAL` 权限
|
|
190
|
-
|
|
191
|
-
## 2.9 示例用法
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
# 预览删除(dry-run模式,默认行为)
|
|
195
|
-
barista liberica materials delete 123456789
|
|
196
|
-
|
|
197
|
-
# 强制删除(跳过确认)
|
|
198
|
-
barista liberica materials delete 123456789 --force
|
|
199
|
-
|
|
200
|
-
# 指定环境删除
|
|
201
|
-
barista liberica materials delete 123456789 --env test --force
|
|
202
|
-
|
|
203
|
-
# JSON输出预览
|
|
204
|
-
barista liberica materials delete 123456789 --json
|
|
205
|
-
|
|
206
|
-
# JSON输出并强制删除
|
|
207
|
-
barista liberica materials delete 123456789 --force --json
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
## 2.10 实现参考
|
|
211
|
-
|
|
212
|
-
### --force 模式参考
|
|
213
|
-
参考 `suppliers/delete.ts` 的实现:
|
|
214
|
-
|
|
215
|
-
```typescript
|
|
216
|
-
if (!options.force) {
|
|
217
|
-
if (jsonOutput) {
|
|
218
|
-
console.log(JSON.stringify({ success: true, dryRun: true, supplier }));
|
|
219
|
-
} else {
|
|
220
|
-
console.log(chalk.cyan('\n🔍 Dry-Run Mode: No actual deletion will be made\n'));
|
|
221
|
-
console.log(chalk.yellow(' To delete, add: --force\n'));
|
|
222
|
-
}
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
// 实际删除
|
|
227
|
-
const response = await apiClient.deleteSupplier(environment, tenant, supplierId);
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### 请求体构造
|
|
231
|
-
```typescript
|
|
232
|
-
const request = {
|
|
233
|
-
materialId: parseInt(materialId) // string to Long
|
|
234
|
-
};
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### API路径
|
|
238
|
-
```
|
|
239
|
-
POST /api/enterprise/sales/material/delete
|
|
240
|
-
```
|