@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.
Files changed (298) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +7 -3
  3. package/docs/ARCHITECTURE.md +0 -184
  4. package/docs/COMMANDS.md +0 -352
  5. package/docs/COMMAND_DESIGN_SPEC.md +0 -840
  6. package/docs/INTEGRATION_NOTES.md +0 -270
  7. package/docs/commands/REFERENCE.md +0 -323
  8. package/docs/commands/arabica/auth/index.md +0 -296
  9. package/docs/commands/liberica/auth/index.md +0 -133
  10. package/docs/commands/liberica/calendar/DESIGN.md +0 -333
  11. package/docs/commands/liberica/client-contacts/create.md +0 -152
  12. package/docs/commands/liberica/client-contacts/delete.md +0 -123
  13. package/docs/commands/liberica/client-contacts/get.md +0 -133
  14. package/docs/commands/liberica/client-contacts/list.md +0 -143
  15. package/docs/commands/liberica/client-contacts/update.md +0 -158
  16. package/docs/commands/liberica/context/index.md +0 -60
  17. package/docs/commands/liberica/currency/create.md +0 -145
  18. package/docs/commands/liberica/currency/delete.md +0 -121
  19. package/docs/commands/liberica/currency/disable.md +0 -119
  20. package/docs/commands/liberica/currency/enable.md +0 -115
  21. package/docs/commands/liberica/currency/get.md +0 -118
  22. package/docs/commands/liberica/currency/list.md +0 -149
  23. package/docs/commands/liberica/currency/update.md +0 -141
  24. package/docs/commands/liberica/employees/create.md +0 -185
  25. package/docs/commands/liberica/employees/disable.md +0 -138
  26. package/docs/commands/liberica/employees/enable.md +0 -137
  27. package/docs/commands/liberica/employees/get.md +0 -153
  28. package/docs/commands/liberica/employees/list.md +0 -168
  29. package/docs/commands/liberica/employees/update.md +0 -180
  30. package/docs/commands/liberica/locations/create.md +0 -195
  31. package/docs/commands/liberica/locations/list.md +0 -171
  32. package/docs/commands/liberica/materials/create.md +0 -293
  33. package/docs/commands/liberica/materials/delete.md +0 -240
  34. package/docs/commands/liberica/materials/disable.md +0 -150
  35. package/docs/commands/liberica/materials/enable.md +0 -146
  36. package/docs/commands/liberica/materials/get.md +0 -188
  37. package/docs/commands/liberica/materials/list.md +0 -198
  38. package/docs/commands/liberica/materials/update.md +0 -250
  39. package/docs/commands/liberica/orgs/list.md +0 -62
  40. package/docs/commands/liberica/positions/list.md +0 -61
  41. package/docs/commands/liberica/roles/list.md +0 -67
  42. package/docs/commands/liberica/stock/ledger.md +0 -209
  43. package/docs/commands/liberica/stock/list.md +0 -165
  44. package/docs/commands/liberica/supplier-contacts/create.md +0 -152
  45. package/docs/commands/liberica/supplier-contacts/delete.md +0 -123
  46. package/docs/commands/liberica/supplier-contacts/get.md +0 -133
  47. package/docs/commands/liberica/supplier-contacts/list.md +0 -143
  48. package/docs/commands/liberica/supplier-contacts/update.md +0 -158
  49. package/docs/commands/liberica/teams/issues/close.md +0 -161
  50. package/docs/commands/liberica/teams/issues/create.md +0 -212
  51. package/docs/commands/liberica/teams/issues/delete.md +0 -179
  52. package/docs/commands/liberica/teams/issues/get.md +0 -167
  53. package/docs/commands/liberica/teams/issues/list.md +0 -182
  54. package/docs/commands/liberica/teams/issues/tests-design.md +0 -341
  55. package/docs/commands/liberica/teams/issues/update.md +0 -202
  56. package/docs/commands/liberica/teams/projects/create.md +0 -174
  57. package/docs/commands/liberica/teams/projects/delete.md +0 -180
  58. package/docs/commands/liberica/teams/projects/get.md +0 -150
  59. package/docs/commands/liberica/teams/projects/list.md +0 -179
  60. package/docs/commands/liberica/teams/projects/update.md +0 -175
  61. package/docs/commands/liberica/teams/tasks/create.md +0 -163
  62. package/docs/commands/liberica/teams/tasks/delete.md +0 -109
  63. package/docs/commands/liberica/teams/tasks/get.md +0 -121
  64. package/docs/commands/liberica/teams/tasks/list.md +0 -148
  65. package/docs/commands/liberica/teams/tasks/update.md +0 -158
  66. package/docs/commands/liberica/teams/work-logs/create.md +0 -151
  67. package/docs/commands/liberica/teams/work-logs/delete.md +0 -130
  68. package/docs/commands/liberica/teams/work-logs/get.md +0 -131
  69. package/docs/commands/liberica/teams/work-logs/list.md +0 -153
  70. package/docs/commands/liberica/teams/work-logs/update.md +0 -150
  71. package/docs/commands/liberica/transfer-in-forms/batch-delete.md +0 -157
  72. package/docs/commands/liberica/transfer-in-forms/batch-review.md +0 -157
  73. package/docs/commands/liberica/transfer-in-forms/batch-unreview.md +0 -157
  74. package/docs/commands/liberica/transfer-in-forms/create.md +0 -220
  75. package/docs/commands/liberica/transfer-in-forms/get.md +0 -221
  76. package/docs/commands/liberica/transfer-in-forms/list.md +0 -242
  77. package/docs/commands/liberica/transfer-in-forms/update.md +0 -185
  78. package/docs/commands/liberica/transfer-out-forms/batch-delete.md +0 -187
  79. package/docs/commands/liberica/transfer-out-forms/batch-review.md +0 -157
  80. package/docs/commands/liberica/transfer-out-forms/batch-unreview.md +0 -157
  81. package/docs/commands/liberica/transfer-out-forms/create.md +0 -280
  82. package/docs/commands/liberica/transfer-out-forms/get.md +0 -211
  83. package/docs/commands/liberica/transfer-out-forms/list.md +0 -233
  84. package/docs/commands/liberica/transfer-out-forms/update.md +0 -286
  85. package/docs/commands/liberica/uoms/create.md +0 -136
  86. package/docs/commands/liberica/uoms/delete.md +0 -119
  87. package/docs/commands/liberica/uoms/disable.md +0 -117
  88. package/docs/commands/liberica/uoms/enable.md +0 -115
  89. package/docs/commands/liberica/uoms/get.md +0 -119
  90. package/docs/commands/liberica/uoms/list.md +0 -155
  91. package/docs/commands/liberica/uoms/update.md +0 -148
  92. package/docs/commands/liberica/users/create.md +0 -170
  93. package/docs/commands/liberica/users/get.md +0 -151
  94. package/docs/commands/liberica/users/list.md +0 -175
  95. package/docs/commands/liberica/warehouses/create.md +0 -222
  96. package/docs/commands/liberica/warehouses/list.md +0 -184
  97. package/src/commands/arabica/auth/index.ts +0 -277
  98. package/src/commands/arabica/auth/login.ts +0 -5
  99. package/src/commands/arabica/auth/logout.ts +0 -5
  100. package/src/commands/arabica/auth/register.ts +0 -5
  101. package/src/commands/arabica/auth/status.ts +0 -5
  102. package/src/commands/arabica/index.ts +0 -23
  103. package/src/commands/auth.ts +0 -107
  104. package/src/commands/context.ts +0 -60
  105. package/src/commands/liberica/auth/index.ts +0 -176
  106. package/src/commands/liberica/calendar/index.ts +0 -13
  107. package/src/commands/liberica/calendar/list.ts +0 -214
  108. package/src/commands/liberica/calendar/set.ts +0 -130
  109. package/src/commands/liberica/client-contacts/create.ts +0 -115
  110. package/src/commands/liberica/client-contacts/delete.ts +0 -140
  111. package/src/commands/liberica/client-contacts/get.ts +0 -103
  112. package/src/commands/liberica/client-contacts/index.ts +0 -19
  113. package/src/commands/liberica/client-contacts/list.ts +0 -118
  114. package/src/commands/liberica/client-contacts/update.ts +0 -137
  115. package/src/commands/liberica/clients/create.ts +0 -122
  116. package/src/commands/liberica/clients/delete.ts +0 -125
  117. package/src/commands/liberica/clients/get.ts +0 -88
  118. package/src/commands/liberica/clients/index.ts +0 -19
  119. package/src/commands/liberica/clients/list.ts +0 -123
  120. package/src/commands/liberica/clients/update.ts +0 -103
  121. package/src/commands/liberica/context/index.ts +0 -43
  122. package/src/commands/liberica/currency/create.ts +0 -183
  123. package/src/commands/liberica/currency/delete.ts +0 -124
  124. package/src/commands/liberica/currency/disable.ts +0 -147
  125. package/src/commands/liberica/currency/enable.ts +0 -128
  126. package/src/commands/liberica/currency/get.ts +0 -91
  127. package/src/commands/liberica/currency/index.ts +0 -23
  128. package/src/commands/liberica/currency/list.ts +0 -140
  129. package/src/commands/liberica/currency/update.ts +0 -129
  130. package/src/commands/liberica/dict-types/get.ts +0 -74
  131. package/src/commands/liberica/dict-types/index.ts +0 -15
  132. package/src/commands/liberica/dict-types/list.ts +0 -118
  133. package/src/commands/liberica/dict-types/update.ts +0 -134
  134. package/src/commands/liberica/dicts/create.ts +0 -175
  135. package/src/commands/liberica/dicts/delete.ts +0 -107
  136. package/src/commands/liberica/dicts/get.ts +0 -80
  137. package/src/commands/liberica/dicts/index.ts +0 -19
  138. package/src/commands/liberica/dicts/list.ts +0 -114
  139. package/src/commands/liberica/dicts/update.ts +0 -116
  140. package/src/commands/liberica/employees/create.ts +0 -275
  141. package/src/commands/liberica/employees/delete.ts +0 -122
  142. package/src/commands/liberica/employees/disable.ts +0 -97
  143. package/src/commands/liberica/employees/enable.ts +0 -97
  144. package/src/commands/liberica/employees/get.ts +0 -115
  145. package/src/commands/liberica/employees/index.ts +0 -23
  146. package/src/commands/liberica/employees/list.ts +0 -131
  147. package/src/commands/liberica/employees/update.ts +0 -157
  148. package/src/commands/liberica/index.ts +0 -81
  149. package/src/commands/liberica/materials/create.ts +0 -199
  150. package/src/commands/liberica/materials/delete.ts +0 -105
  151. package/src/commands/liberica/materials/disable.ts +0 -148
  152. package/src/commands/liberica/materials/enable.ts +0 -129
  153. package/src/commands/liberica/materials/get.ts +0 -83
  154. package/src/commands/liberica/materials/index.ts +0 -23
  155. package/src/commands/liberica/materials/list.ts +0 -142
  156. package/src/commands/liberica/materials/update.ts +0 -125
  157. package/src/commands/liberica/mould/get.ts +0 -111
  158. package/src/commands/liberica/mould/index.ts +0 -17
  159. package/src/commands/liberica/mould/list.ts +0 -157
  160. package/src/commands/liberica/mould/set-status.ts +0 -99
  161. package/src/commands/liberica/mould/stock-in.ts +0 -165
  162. package/src/commands/liberica/operations/active.ts +0 -153
  163. package/src/commands/liberica/operations/batch-delete.ts +0 -131
  164. package/src/commands/liberica/operations/copy.ts +0 -138
  165. package/src/commands/liberica/operations/create.ts +0 -223
  166. package/src/commands/liberica/operations/deactive.ts +0 -152
  167. package/src/commands/liberica/operations/delete.ts +0 -128
  168. package/src/commands/liberica/operations/design.md +0 -587
  169. package/src/commands/liberica/operations/get.ts +0 -112
  170. package/src/commands/liberica/operations/index.ts +0 -27
  171. package/src/commands/liberica/operations/list.ts +0 -180
  172. package/src/commands/liberica/operations/update.ts +0 -218
  173. package/src/commands/liberica/orgs/index.ts +0 -34
  174. package/src/commands/liberica/positions/index.ts +0 -30
  175. package/src/commands/liberica/roles/index.ts +0 -59
  176. package/src/commands/liberica/stock/index.ts +0 -13
  177. package/src/commands/liberica/stock/ledger.ts +0 -159
  178. package/src/commands/liberica/stock/list.ts +0 -128
  179. package/src/commands/liberica/supplier-contacts/create.ts +0 -120
  180. package/src/commands/liberica/supplier-contacts/delete.ts +0 -88
  181. package/src/commands/liberica/supplier-contacts/get.ts +0 -94
  182. package/src/commands/liberica/supplier-contacts/index.ts +0 -19
  183. package/src/commands/liberica/supplier-contacts/list.ts +0 -130
  184. package/src/commands/liberica/supplier-contacts/update.ts +0 -127
  185. package/src/commands/liberica/suppliers/create.ts +0 -149
  186. package/src/commands/liberica/suppliers/delete.ts +0 -102
  187. package/src/commands/liberica/suppliers/disable.ts +0 -145
  188. package/src/commands/liberica/suppliers/enable.ts +0 -126
  189. package/src/commands/liberica/suppliers/get.ts +0 -86
  190. package/src/commands/liberica/suppliers/index.ts +0 -23
  191. package/src/commands/liberica/suppliers/list.ts +0 -134
  192. package/src/commands/liberica/suppliers/update.ts +0 -128
  193. package/src/commands/liberica/teams/index.ts +0 -17
  194. package/src/commands/liberica/teams/issues/close.ts +0 -104
  195. package/src/commands/liberica/teams/issues/create.ts +0 -254
  196. package/src/commands/liberica/teams/issues/delete.ts +0 -58
  197. package/src/commands/liberica/teams/issues/get.ts +0 -78
  198. package/src/commands/liberica/teams/issues/index.ts +0 -21
  199. package/src/commands/liberica/teams/issues/list.ts +0 -144
  200. package/src/commands/liberica/teams/issues/update.ts +0 -141
  201. package/src/commands/liberica/teams/projects/create.ts +0 -159
  202. package/src/commands/liberica/teams/projects/delete.ts +0 -58
  203. package/src/commands/liberica/teams/projects/get.ts +0 -87
  204. package/src/commands/liberica/teams/projects/index.ts +0 -19
  205. package/src/commands/liberica/teams/projects/list.ts +0 -147
  206. package/src/commands/liberica/teams/projects/update.ts +0 -117
  207. package/src/commands/liberica/teams/tasks/create.ts +0 -102
  208. package/src/commands/liberica/teams/tasks/delete.ts +0 -92
  209. package/src/commands/liberica/teams/tasks/get.ts +0 -64
  210. package/src/commands/liberica/teams/tasks/index.ts +0 -19
  211. package/src/commands/liberica/teams/tasks/list.ts +0 -102
  212. package/src/commands/liberica/teams/tasks/update.ts +0 -122
  213. package/src/commands/liberica/teams/work-logs/create.ts +0 -204
  214. package/src/commands/liberica/teams/work-logs/delete.ts +0 -58
  215. package/src/commands/liberica/teams/work-logs/get.ts +0 -87
  216. package/src/commands/liberica/teams/work-logs/index.ts +0 -19
  217. package/src/commands/liberica/teams/work-logs/list.ts +0 -141
  218. package/src/commands/liberica/teams/work-logs/update.ts +0 -120
  219. package/src/commands/liberica/transfer-in-forms/batch-delete.ts +0 -152
  220. package/src/commands/liberica/transfer-in-forms/batch-review.ts +0 -151
  221. package/src/commands/liberica/transfer-in-forms/batch-unreview.ts +0 -152
  222. package/src/commands/liberica/transfer-in-forms/create.ts +0 -179
  223. package/src/commands/liberica/transfer-in-forms/get.ts +0 -107
  224. package/src/commands/liberica/transfer-in-forms/index.ts +0 -23
  225. package/src/commands/liberica/transfer-in-forms/list.ts +0 -97
  226. package/src/commands/liberica/transfer-in-forms/update.ts +0 -213
  227. package/src/commands/liberica/transfer-out-forms/batch-delete.ts +0 -83
  228. package/src/commands/liberica/transfer-out-forms/batch-review.ts +0 -148
  229. package/src/commands/liberica/transfer-out-forms/batch-unreview.ts +0 -56
  230. package/src/commands/liberica/transfer-out-forms/create.ts +0 -194
  231. package/src/commands/liberica/transfer-out-forms/get.ts +0 -114
  232. package/src/commands/liberica/transfer-out-forms/index.ts +0 -23
  233. package/src/commands/liberica/transfer-out-forms/list.ts +0 -125
  234. package/src/commands/liberica/transfer-out-forms/update.ts +0 -197
  235. package/src/commands/liberica/uoms/create.ts +0 -134
  236. package/src/commands/liberica/uoms/delete.ts +0 -105
  237. package/src/commands/liberica/uoms/disable.ts +0 -148
  238. package/src/commands/liberica/uoms/enable.ts +0 -129
  239. package/src/commands/liberica/uoms/get.ts +0 -83
  240. package/src/commands/liberica/uoms/index.ts +0 -23
  241. package/src/commands/liberica/uoms/list.ts +0 -129
  242. package/src/commands/liberica/uoms/update.ts +0 -124
  243. package/src/commands/liberica/users/create.ts +0 -133
  244. package/src/commands/liberica/users/delete.ts +0 -49
  245. package/src/commands/liberica/users/disable.ts +0 -41
  246. package/src/commands/liberica/users/enable.ts +0 -30
  247. package/src/commands/liberica/users/get.ts +0 -46
  248. package/src/commands/liberica/users/index.ts +0 -27
  249. package/src/commands/liberica/users/list.ts +0 -68
  250. package/src/commands/liberica/users/me.ts +0 -42
  251. package/src/commands/liberica/users/reset-password.ts +0 -42
  252. package/src/commands/liberica/users/update.ts +0 -48
  253. package/src/commands/liberica/warehouses/create.ts +0 -204
  254. package/src/commands/liberica/warehouses/delete.ts +0 -112
  255. package/src/commands/liberica/warehouses/disable.ts +0 -174
  256. package/src/commands/liberica/warehouses/enable.ts +0 -174
  257. package/src/commands/liberica/warehouses/get.ts +0 -101
  258. package/src/commands/liberica/warehouses/index.ts +0 -25
  259. package/src/commands/liberica/warehouses/list.ts +0 -136
  260. package/src/commands/liberica/warehouses/locations/create.ts +0 -209
  261. package/src/commands/liberica/warehouses/locations/delete.ts +0 -116
  262. package/src/commands/liberica/warehouses/locations/disable.ts +0 -174
  263. package/src/commands/liberica/warehouses/locations/enable.ts +0 -174
  264. package/src/commands/liberica/warehouses/locations/get.ts +0 -84
  265. package/src/commands/liberica/warehouses/locations/index.ts +0 -23
  266. package/src/commands/liberica/warehouses/locations/list.ts +0 -140
  267. package/src/commands/liberica/warehouses/locations/update.ts +0 -135
  268. package/src/commands/liberica/warehouses/update.ts +0 -142
  269. package/src/core/api/client.ts +0 -4443
  270. package/src/core/auth/token-manager.ts +0 -183
  271. package/src/core/config/manager.ts +0 -164
  272. package/src/index.ts +0 -35
  273. package/src/types/calendar.ts +0 -36
  274. package/src/types/client-contact.ts +0 -78
  275. package/src/types/client.ts +0 -115
  276. package/src/types/currency.ts +0 -90
  277. package/src/types/dict.ts +0 -121
  278. package/src/types/employee.ts +0 -102
  279. package/src/types/index.ts +0 -93
  280. package/src/types/location.ts +0 -66
  281. package/src/types/material.ts +0 -61
  282. package/src/types/mould-stock-in.ts +0 -82
  283. package/src/types/mould.ts +0 -74
  284. package/src/types/operation.ts +0 -72
  285. package/src/types/org.ts +0 -25
  286. package/src/types/position.ts +0 -24
  287. package/src/types/stock.ts +0 -161
  288. package/src/types/supplier-contact.ts +0 -78
  289. package/src/types/supplier.ts +0 -66
  290. package/src/types/team-issue.ts +0 -94
  291. package/src/types/team-project.ts +0 -74
  292. package/src/types/team-task.ts +0 -98
  293. package/src/types/team-work-log.ts +0 -87
  294. package/src/types/transfer-in-form.ts +0 -265
  295. package/src/types/transfer-out-form.ts +0 -290
  296. package/src/types/uom.ts +0 -60
  297. package/src/types/user.ts +0 -64
  298. 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
- ```