@newpeak/barista-cli 0.1.11 → 0.1.13

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