@newpeak/barista-cli 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/commands/liberica/auth/index.d.ts.map +1 -1
  2. package/dist/commands/liberica/auth/index.js +5 -0
  3. package/dist/commands/liberica/auth/index.js.map +1 -1
  4. package/dist/commands/liberica/clients/create.d.ts +3 -0
  5. package/dist/commands/liberica/clients/create.d.ts.map +1 -0
  6. package/dist/commands/liberica/clients/create.js +125 -0
  7. package/dist/commands/liberica/clients/create.js.map +1 -0
  8. package/dist/commands/liberica/clients/delete.d.ts +3 -0
  9. package/dist/commands/liberica/clients/delete.d.ts.map +1 -0
  10. package/dist/commands/liberica/clients/delete.js +125 -0
  11. package/dist/commands/liberica/clients/delete.js.map +1 -0
  12. package/dist/commands/liberica/clients/get.d.ts +3 -0
  13. package/dist/commands/liberica/clients/get.d.ts.map +1 -0
  14. package/dist/commands/liberica/clients/get.js +77 -0
  15. package/dist/commands/liberica/clients/get.js.map +1 -0
  16. package/dist/commands/liberica/clients/index.d.ts +3 -0
  17. package/dist/commands/liberica/clients/index.d.ts.map +1 -0
  18. package/dist/commands/liberica/clients/index.js +17 -0
  19. package/dist/commands/liberica/clients/index.js.map +1 -0
  20. package/dist/commands/liberica/clients/list.d.ts +3 -0
  21. package/dist/commands/liberica/clients/list.d.ts.map +1 -0
  22. package/dist/commands/liberica/clients/list.js +92 -0
  23. package/dist/commands/liberica/clients/list.js.map +1 -0
  24. package/dist/commands/liberica/clients/update.d.ts +3 -0
  25. package/dist/commands/liberica/clients/update.d.ts.map +1 -0
  26. package/dist/commands/liberica/clients/update.js +106 -0
  27. package/dist/commands/liberica/clients/update.js.map +1 -0
  28. package/dist/commands/liberica/index.d.ts.map +1 -1
  29. package/dist/commands/liberica/index.js +11 -0
  30. package/dist/commands/liberica/index.js.map +1 -1
  31. package/dist/commands/liberica/materials/create.d.ts +3 -0
  32. package/dist/commands/liberica/materials/create.d.ts.map +1 -0
  33. package/dist/commands/liberica/materials/create.js +154 -0
  34. package/dist/commands/liberica/materials/create.js.map +1 -0
  35. package/dist/commands/liberica/materials/delete.d.ts +3 -0
  36. package/dist/commands/liberica/materials/delete.d.ts.map +1 -0
  37. package/dist/commands/liberica/materials/delete.js +104 -0
  38. package/dist/commands/liberica/materials/delete.js.map +1 -0
  39. package/dist/commands/liberica/materials/disable.d.ts +3 -0
  40. package/dist/commands/liberica/materials/disable.d.ts.map +1 -0
  41. package/dist/commands/liberica/materials/disable.js +146 -0
  42. package/dist/commands/liberica/materials/disable.js.map +1 -0
  43. package/dist/commands/liberica/materials/enable.d.ts +3 -0
  44. package/dist/commands/liberica/materials/enable.d.ts.map +1 -0
  45. package/dist/commands/liberica/materials/enable.js +126 -0
  46. package/dist/commands/liberica/materials/enable.js.map +1 -0
  47. package/dist/commands/liberica/materials/get.d.ts +3 -0
  48. package/dist/commands/liberica/materials/get.d.ts.map +1 -0
  49. package/dist/commands/liberica/materials/get.js +71 -0
  50. package/dist/commands/liberica/materials/get.js.map +1 -0
  51. package/dist/commands/liberica/materials/index.d.ts +3 -0
  52. package/dist/commands/liberica/materials/index.d.ts.map +1 -0
  53. package/dist/commands/liberica/materials/index.js +21 -0
  54. package/dist/commands/liberica/materials/index.js.map +1 -0
  55. package/dist/commands/liberica/materials/list.d.ts +3 -0
  56. package/dist/commands/liberica/materials/list.d.ts.map +1 -0
  57. package/dist/commands/liberica/materials/list.js +107 -0
  58. package/dist/commands/liberica/materials/list.js.map +1 -0
  59. package/dist/commands/liberica/materials/update.d.ts +3 -0
  60. package/dist/commands/liberica/materials/update.d.ts.map +1 -0
  61. package/dist/commands/liberica/materials/update.js +118 -0
  62. package/dist/commands/liberica/materials/update.js.map +1 -0
  63. package/dist/commands/liberica/suppliers/create.d.ts +3 -0
  64. package/dist/commands/liberica/suppliers/create.d.ts.map +1 -0
  65. package/dist/commands/liberica/suppliers/create.js +140 -0
  66. package/dist/commands/liberica/suppliers/create.js.map +1 -0
  67. package/dist/commands/liberica/suppliers/delete.d.ts +3 -0
  68. package/dist/commands/liberica/suppliers/delete.d.ts.map +1 -0
  69. package/dist/commands/liberica/suppliers/delete.js +102 -0
  70. package/dist/commands/liberica/suppliers/delete.js.map +1 -0
  71. package/dist/commands/liberica/suppliers/disable.d.ts +3 -0
  72. package/dist/commands/liberica/suppliers/disable.d.ts.map +1 -0
  73. package/dist/commands/liberica/suppliers/disable.js +144 -0
  74. package/dist/commands/liberica/suppliers/disable.js.map +1 -0
  75. package/dist/commands/liberica/suppliers/enable.d.ts +3 -0
  76. package/dist/commands/liberica/suppliers/enable.d.ts.map +1 -0
  77. package/dist/commands/liberica/suppliers/enable.js +124 -0
  78. package/dist/commands/liberica/suppliers/enable.js.map +1 -0
  79. package/dist/commands/liberica/suppliers/get.d.ts +3 -0
  80. package/dist/commands/liberica/suppliers/get.d.ts.map +1 -0
  81. package/dist/commands/liberica/suppliers/get.js +75 -0
  82. package/dist/commands/liberica/suppliers/get.js.map +1 -0
  83. package/dist/commands/liberica/suppliers/index.d.ts +3 -0
  84. package/dist/commands/liberica/suppliers/index.d.ts.map +1 -0
  85. package/dist/commands/liberica/suppliers/index.js +21 -0
  86. package/dist/commands/liberica/suppliers/index.js.map +1 -0
  87. package/dist/commands/liberica/suppliers/list.d.ts +3 -0
  88. package/dist/commands/liberica/suppliers/list.d.ts.map +1 -0
  89. package/dist/commands/liberica/suppliers/list.js +100 -0
  90. package/dist/commands/liberica/suppliers/list.js.map +1 -0
  91. package/dist/commands/liberica/suppliers/update.d.ts +3 -0
  92. package/dist/commands/liberica/suppliers/update.d.ts.map +1 -0
  93. package/dist/commands/liberica/suppliers/update.js +122 -0
  94. package/dist/commands/liberica/suppliers/update.js.map +1 -0
  95. package/dist/commands/liberica/uoms/create.d.ts +3 -0
  96. package/dist/commands/liberica/uoms/create.d.ts.map +1 -0
  97. package/dist/commands/liberica/uoms/create.js +120 -0
  98. package/dist/commands/liberica/uoms/create.js.map +1 -0
  99. package/dist/commands/liberica/uoms/delete.d.ts +3 -0
  100. package/dist/commands/liberica/uoms/delete.d.ts.map +1 -0
  101. package/dist/commands/liberica/uoms/delete.js +104 -0
  102. package/dist/commands/liberica/uoms/delete.js.map +1 -0
  103. package/dist/commands/liberica/uoms/disable.d.ts +3 -0
  104. package/dist/commands/liberica/uoms/disable.d.ts.map +1 -0
  105. package/dist/commands/liberica/uoms/disable.js +146 -0
  106. package/dist/commands/liberica/uoms/disable.js.map +1 -0
  107. package/dist/commands/liberica/uoms/enable.d.ts +3 -0
  108. package/dist/commands/liberica/uoms/enable.d.ts.map +1 -0
  109. package/dist/commands/liberica/uoms/enable.js +126 -0
  110. package/dist/commands/liberica/uoms/enable.js.map +1 -0
  111. package/dist/commands/liberica/uoms/get.d.ts +3 -0
  112. package/dist/commands/liberica/uoms/get.d.ts.map +1 -0
  113. package/dist/commands/liberica/uoms/get.js +71 -0
  114. package/dist/commands/liberica/uoms/get.js.map +1 -0
  115. package/dist/commands/liberica/uoms/index.d.ts +3 -0
  116. package/dist/commands/liberica/uoms/index.d.ts.map +1 -0
  117. package/dist/commands/liberica/uoms/index.js +21 -0
  118. package/dist/commands/liberica/uoms/index.js.map +1 -0
  119. package/dist/commands/liberica/uoms/list.d.ts +3 -0
  120. package/dist/commands/liberica/uoms/list.d.ts.map +1 -0
  121. package/dist/commands/liberica/uoms/list.js +98 -0
  122. package/dist/commands/liberica/uoms/list.js.map +1 -0
  123. package/dist/commands/liberica/uoms/update.d.ts +3 -0
  124. package/dist/commands/liberica/uoms/update.d.ts.map +1 -0
  125. package/dist/commands/liberica/uoms/update.js +115 -0
  126. package/dist/commands/liberica/uoms/update.js.map +1 -0
  127. package/dist/core/api/client.d.ts +30 -0
  128. package/dist/core/api/client.d.ts.map +1 -1
  129. package/dist/core/api/client.js +590 -0
  130. package/dist/core/api/client.js.map +1 -1
  131. package/dist/index.js +1 -1
  132. package/dist/types/client.d.ts +100 -0
  133. package/dist/types/client.d.ts.map +1 -0
  134. package/dist/types/client.js +2 -0
  135. package/dist/types/client.js.map +1 -0
  136. package/dist/types/index.d.ts +6 -0
  137. package/dist/types/index.d.ts.map +1 -1
  138. package/dist/types/material.d.ts +49 -0
  139. package/dist/types/material.d.ts.map +1 -0
  140. package/dist/types/material.js +2 -0
  141. package/dist/types/material.js.map +1 -0
  142. package/dist/types/supplier.d.ts +53 -0
  143. package/dist/types/supplier.d.ts.map +1 -0
  144. package/dist/types/supplier.js +2 -0
  145. package/dist/types/supplier.js.map +1 -0
  146. package/dist/types/uom.d.ts +47 -0
  147. package/dist/types/uom.d.ts.map +1 -0
  148. package/dist/types/uom.js +2 -0
  149. package/dist/types/uom.js.map +1 -0
  150. package/docs/commands/REFERENCE.md +21 -15
  151. package/docs/commands/liberica/materials-create.md +293 -0
  152. package/docs/commands/liberica/materials-delete.md +240 -0
  153. package/docs/commands/liberica/materials-disable.md +150 -0
  154. package/docs/commands/liberica/materials-enable.md +146 -0
  155. package/docs/commands/liberica/materials-get.md +188 -0
  156. package/docs/commands/liberica/materials-list.md +198 -0
  157. package/docs/commands/liberica/materials-update.md +250 -0
  158. package/docs/commands/liberica/uoms-create.md +136 -0
  159. package/docs/commands/liberica/uoms-delete.md +119 -0
  160. package/docs/commands/liberica/uoms-disable.md +117 -0
  161. package/docs/commands/liberica/uoms-enable.md +115 -0
  162. package/docs/commands/liberica/uoms-get.md +119 -0
  163. package/docs/commands/liberica/uoms-list.md +155 -0
  164. package/docs/commands/liberica/uoms-update.md +148 -0
  165. package/package.json +2 -4
  166. package/src/commands/liberica/auth/index.ts +6 -0
  167. package/src/commands/liberica/clients/create.ts +122 -0
  168. package/src/commands/liberica/clients/delete.ts +125 -0
  169. package/src/commands/liberica/clients/get.ts +88 -0
  170. package/src/commands/liberica/clients/index.ts +19 -0
  171. package/src/commands/liberica/clients/list.ts +123 -0
  172. package/src/commands/liberica/clients/update.ts +103 -0
  173. package/src/commands/liberica/index.ts +11 -0
  174. package/src/commands/liberica/materials/create.ts +168 -0
  175. package/src/commands/liberica/materials/delete.ts +105 -0
  176. package/src/commands/liberica/materials/disable.ts +148 -0
  177. package/src/commands/liberica/materials/enable.ts +129 -0
  178. package/src/commands/liberica/materials/get.ts +83 -0
  179. package/src/commands/liberica/materials/index.ts +23 -0
  180. package/src/commands/liberica/materials/list.ts +142 -0
  181. package/src/commands/liberica/materials/update.ts +125 -0
  182. package/src/commands/liberica/suppliers/create.ts +149 -0
  183. package/src/commands/liberica/suppliers/delete.ts +102 -0
  184. package/src/commands/liberica/suppliers/disable.ts +145 -0
  185. package/src/commands/liberica/suppliers/enable.ts +126 -0
  186. package/src/commands/liberica/suppliers/get.ts +86 -0
  187. package/src/commands/liberica/suppliers/index.ts +23 -0
  188. package/src/commands/liberica/suppliers/list.ts +134 -0
  189. package/src/commands/liberica/suppliers/update.ts +128 -0
  190. package/src/commands/liberica/uoms/create.ts +134 -0
  191. package/src/commands/liberica/uoms/delete.ts +105 -0
  192. package/src/commands/liberica/uoms/disable.ts +148 -0
  193. package/src/commands/liberica/uoms/enable.ts +129 -0
  194. package/src/commands/liberica/uoms/get.ts +83 -0
  195. package/src/commands/liberica/uoms/index.ts +23 -0
  196. package/src/commands/liberica/uoms/list.ts +129 -0
  197. package/src/commands/liberica/uoms/update.ts +124 -0
  198. package/src/core/api/client.ts +758 -21
  199. package/src/index.ts +1 -1
  200. package/src/types/client.ts +115 -0
  201. package/src/types/index.ts +6 -0
  202. package/src/types/material.ts +61 -0
  203. package/src/types/supplier.ts +66 -0
  204. package/src/types/uom.ts +60 -0
  205. package/bin/barista.js +0 -3
@@ -0,0 +1,250 @@
1
+ # barista liberica materials update
2
+
3
+ 更新物料信息。
4
+
5
+ ## 2.1 命令元数据
6
+
7
+ | 字段 | 值 |
8
+ |------|-----|
9
+ | 完整命令 | `barista liberica materials update <materialId>` |
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
+ └── edit(@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = "EDIT_MASTER_MATERIAL"))
24
+ └── public ResponseData<?> edit(
25
+ @RequestHeader("X-TENANT-ID") Long tenantId,
26
+ @RequestBody @Validated(BaseRequest.edit.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 edit) — 必须提供
37
+ ├── materialCode: String
38
+ ├── materialNo: String
39
+ ├── materialName: String
40
+ ├── materialShortName: String
41
+ ├── materialMaker: String
42
+ ├── materialClass: String
43
+ ├── materialType: String
44
+ ├── materialUomCode: String
45
+ ├── materialBarCode: String
46
+ ├── enableSale: String (Y/N)
47
+ ├── enablePurchase: String (Y/N)
48
+ ├── enableSubMaterial: String (Y/N)
49
+ ├── enableOutsourcing: String (Y/N)
50
+ ├── enableDivision: String (Y/N)
51
+ ├── productionPeriod: Integer
52
+ ├── unitPrice: BigDecimal
53
+ ├── currency: String
54
+ ├── defaultWarehouse: String
55
+ ├── defaultSupplier: String
56
+ ├── defaultClient: String
57
+ ├── safetyInventory: BigDecimal
58
+ ├── longX: BigDecimal
59
+ ├── wideY: BigDecimal
60
+ ├── highZ: BigDecimal
61
+ ├── thickness: BigDecimal
62
+ ├── grossWeight: String
63
+ ├── netWeight: String
64
+ ├── color: String
65
+ └── remark: String
66
+ ```
67
+
68
+ ### Response DTO位置
69
+ ```
70
+ coffee-liberica-end/
71
+ └── business/liberica-business-sales/sales-api/
72
+ └── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
73
+ └── MasterMaterialResponse.java
74
+ ├── materialId: Long
75
+ ├── materialCode: String
76
+ ├── materialNo: String
77
+ ├── materialName: String
78
+ ├── materialShortName: String
79
+ ├── materialClass: String
80
+ ├── materialType: String
81
+ ├── materialUomCode: String
82
+ ├── statusFlag: Integer (1=enable, 2=disable)
83
+ ├── createTime: String
84
+ └── updateTime: String
85
+ ```
86
+
87
+ ## 2.3 CLI参数设计
88
+
89
+ ### 命令结构
90
+ ```
91
+ barista liberica materials update <materialId> [options]
92
+ ```
93
+
94
+ ### 位置参数
95
+ | 参数 | 类型 | 必填 | 说明 |
96
+ |------|------|------|------|
97
+ | materialId | string | ✅ | 物料ID (materialId) |
98
+
99
+ ### 全局选项
100
+ | 选项 | 类型 | 说明 |
101
+ |------|------|------|
102
+ | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
103
+ | `--tenant` | string | 租户代码 |
104
+ | `--dry-run` | boolean | 预览模式(不实际调用API) |
105
+ | `--json` | boolean | JSON输出 |
106
+
107
+ ### 命令选项
108
+ | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
109
+ |------|--------|------|------|--------|------|-------------|
110
+ | --name | -n | string | ⬜ | - | 物料名称 | materialName |
111
+ | --class | -c | string | ⬜ | - | 物料类别 | materialClass |
112
+ | --type | -t | string | ⬜ | - | 规格型号 | materialType |
113
+ | --unit | -u | string | ⬜ | - | 计量单位 | materialUomCode |
114
+ | --short-name | — | string | ⬜ | - | 物料简称 | materialShortName |
115
+ | --maker | — | string | ⬜ | - | 生产厂商 | materialMaker |
116
+ | --barcode | — | string | ⬜ | - | 条形码 | materialBarCode |
117
+ | --enable-sale | — | boolean | ⬜ | - | 可销售 | enableSale |
118
+ | --enable-purchase | — | boolean | ⬜ | - | 可采购 | enablePurchase |
119
+ | --enable-sub-material | — | boolean | ⬜ | - | 可为子件 | enableSubMaterial |
120
+ | --enable-outsourcing | — | boolean | ⬜ | - | 可委外 | enableOutsourcing |
121
+ | --enable-division | — | boolean | ⬜ | - | 可切割 | enableDivision |
122
+ | --production-period | — | number | ⬜ | - | 生产周期(天) | productionPeriod |
123
+ | --unit-price | — | number | ⬜ | - | 单价 | unitPrice |
124
+ | --currency | — | string | ⬜ | - | 币种 | currency |
125
+ | --default-warehouse | — | string | ⬜ | - | 默认仓库 | defaultWarehouse |
126
+ | --default-supplier | — | string | ⬜ | - | 默认供应商 | defaultSupplier |
127
+ | --default-client | — | string | ⬜ | - | 默认客户 | defaultClient |
128
+ | --safety-inventory | — | number | ⬜ | - | 安全库存 | safetyInventory |
129
+ | --long-x | — | number | ⬜ | - | 长 | longX |
130
+ | --wide-y | — | number | ⬜ | - | 宽 | wideY |
131
+ | --high-z | — | number | ⬜ | - | 高 | highZ |
132
+ | --thickness | — | number | ⬜ | - | 厚度 | thickness |
133
+ | --gross-weight | — | string | ⬜ | - | 毛重 | grossWeight |
134
+ | --net-weight | — | string | ⬜ | - | 净重 | netWeight |
135
+ | --color | — | string | ⬜ | - | 颜色 | color |
136
+ | --remark | -r | string | ⬜ | - | 备注 | remark |
137
+
138
+ **注意**:物料ID(materialId)为必填,通过位置参数 `<materialId>` 传入。后端处理部分更新,未提供的字段保持原值。
139
+
140
+ ## 2.4 字段映射表
141
+
142
+ | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
143
+ |---------|---------|----------|----------|
144
+ | <materialId> (位置参数) | materialId | string→Long | @NotNull |
145
+ | --name / -n | materialName | 直接传递 | max=255 |
146
+ | --class / -c | materialClass | 直接传递 | max=255 |
147
+ | --type / -t | materialType | 直接传递 | max=255 |
148
+ | --unit / -u | materialUomCode | 直接传递 | max=255 |
149
+ | --short-name | materialShortName | 直接传递 | max=255 |
150
+ | --maker | materialMaker | 直接传递 | max=255 |
151
+ | --barcode | materialBarCode | 直接传递 | max=255 |
152
+ | --enable-sale | enableSale | boolean→String | Y 或 N |
153
+ | --enable-purchase | enablePurchase | boolean→String | Y 或 N |
154
+ | --enable-sub-material | enableSubMaterial | boolean→String | Y 或 N |
155
+ | --enable-outsourcing | enableOutsourcing | boolean→String | Y 或 N |
156
+ | --enable-division | enableDivision | boolean→String | Y 或 N |
157
+ | --production-period | productionPeriod | number→Integer | - |
158
+ | --unit-price | unitPrice | number→BigDecimal | - |
159
+ | --currency | currency | 直接传递 | max=255 |
160
+ | --default-warehouse | defaultWarehouse | 直接传递 | max=255 |
161
+ | --default-supplier | defaultSupplier | 直接传递 | max=255 |
162
+ | --default-client | defaultClient | 直接传递 | max=255 |
163
+ | --safety-inventory | safetyInventory | number→BigDecimal | - |
164
+ | --long-x | longX | number→BigDecimal | - |
165
+ | --wide-y | wideY | number→BigDecimal | - |
166
+ | --high-z | highZ | number→BigDecimal | - |
167
+ | --thickness | thickness | number→BigDecimal | - |
168
+ | --gross-weight | grossWeight | 直接传递 | max=255 |
169
+ | --net-weight | netWeight | 直接传递 | max=255 |
170
+ | --color | color | 直接传递 | max=255 |
171
+ | --remark / -r | remark | 直接传递 | max=255 |
172
+
173
+ ## 2.5 错误码引用
174
+
175
+ ### ExceptionEnum位置
176
+ ```
177
+ coffee-liberica-end/
178
+ └── business/liberica-business-sales/sales-api/
179
+ └── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
180
+ └── MasterMaterialExceptionEnum.java
181
+ ├── MASTER_MATERIAL_NOT_EXIST("01001512001", "租户物料不存在")
182
+ ├── MASTER_MATERIAL_CODE_VALIDATE_NOT_EXIST_ERROR("01001512006", "指定{}不存在")
183
+ ├── MASTER_MATERIAL_NAME_VALIDATE_NOT_EXIST_ERROR("01001512010", "指定{}不存在")
184
+ ├── ENABLE_DIVISION_MATERIAL_NEED_WIDE_AND_LONG("01001512012", "可分割物料必须设置长和宽")
185
+ └── ENABLE_DIVISION_MATERIAL_NEED_WIDE_AND_LONG_GT_ZERO("01001512013", "可分割物料长和宽必须大于0")
186
+ ```
187
+
188
+ ### 已知错误码
189
+ | 错误码 | 错误消息 | 触发条件 |
190
+ |--------|----------|----------|
191
+ | 01001512001 | 租户物料不存在 | materialId 不存在或不属于当前租户 |
192
+ | 01001512006 | 指定xxx不存在 | 指定关联的物料编码不存在 |
193
+ | 01001512012 | 可分割物料必须设置长和宽 | 设置enableDivision=Y但未提供长宽 |
194
+ | 01001512013 | 可分割物料长和宽必须大于0 | 设置enableDivision=Y且长宽<=0 |
195
+
196
+ ## 2.6 权限检查
197
+
198
+ | 检查项 | 位置 | 说明 |
199
+ |--------|------|------|
200
+ | PermissionConstants | `MasterMaterialPermissionConstants.EDIT_MASTER_MATERIAL` | Controller层 `@PostResource(requirePermissionCode = "EDIT_MASTER_MATERIAL")` |
201
+
202
+ ## 2.7 实现要点
203
+
204
+ 1. **materialId位置参数**:`<materialId>` 通过位置参数传入,映射到 `materialId` 字段
205
+ 2. **请求体结构**:必须将 `materialId` 包含在请求体中,后端通过此ID定位记录
206
+ 3. **部分更新**:只发送需要更新的字段,未提供的字段保持原值
207
+ 4. **Dry-run支持**:使用 --dry-run 时构造请求体但不发送,显示预览信息
208
+ 5. **后端验证**:edit() 方法调用 `masterMaterialBusiness.edit()`,后端会校验物料是否存在
209
+
210
+ ## 2.8 示例用法
211
+
212
+ ```bash
213
+ # 更新物料名称
214
+ barista liberica materials update 12345 --name "新产品名称"
215
+
216
+ # 更新物料类别和规格
217
+ barista liberica materials update 12345 \
218
+ --class "原材料" \
219
+ --type "ABC-001" \
220
+ --unit "KG"
221
+
222
+ # 更新价格信息
223
+ barista liberica materials update 12345 \
224
+ --unit-price 100.50 \
225
+ --currency "CNY"
226
+
227
+ # 启用可销售属性
228
+ barista liberica materials update 12345 --enable-sale true
229
+
230
+ # 同时更新多个字段
231
+ barista liberica materials update 12345 \
232
+ --name "新产品" \
233
+ --class "成品" \
234
+ --type "XYZ-999" \
235
+ --unit "PCS" \
236
+ --unit-price 299.99 \
237
+ --enable-sale true \
238
+ --enable-purchase true \
239
+ --remark "更新备注信息"
240
+
241
+ # Dry-run 预览
242
+ barista liberica materials update 12345 --name "新产品" --dry-run
243
+
244
+ # JSON 输出
245
+ barista liberica materials update 12345 --name "新产品" --json
246
+
247
+ # 物料不存在
248
+ barista liberica materials update 99999 --name "测试"
249
+ # 输出: Error: 租户物料不存在 (01001512001)
250
+ ```
@@ -0,0 +1,136 @@
1
+ # barista liberica uoms create
2
+
3
+ 创建新的计量单位。
4
+
5
+ ## 2.1 命令元数据
6
+
7
+ | 字段 | 值 |
8
+ |------|-----|
9
+ | 完整命令 | `barista liberica uoms create` |
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/sales/
22
+ └── MasterUomController.java
23
+ └── createUom(@PostResource(path = "/add"))
24
+ └── public ResponseData<MasterUomResponse> createUom(
25
+ @RequestBody @Validated MasterUomRequest request
26
+ )
27
+ ```
28
+
29
+ ### Request DTO位置
30
+ ```
31
+ coffee-liberica-end/
32
+ └── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/pojo/request/MasterUomRequest.java
33
+ ├── uomCode: String (@NotBlank)
34
+ ├── uomName: String (@NotBlank)
35
+ ├── uomFractionPlaces: Integer (default: 2)
36
+ └── remark: String (optional)
37
+ ```
38
+
39
+ ### Response DTO位置
40
+ ```
41
+ coffee-liberica-end/
42
+ └── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/pojo/response/MasterUomResponse.java
43
+ ├── uomId: String
44
+ ├── uomCode: String
45
+ ├── uomName: String
46
+ ├── uomFractionPlaces: Integer
47
+ ├── statusFlag: Integer (1=启用)
48
+ ├── remark: String
49
+ ├── createTime: String
50
+ └── updateTime: String
51
+ ```
52
+
53
+ ## 2.3 CLI参数设计
54
+
55
+ ### 命令结构
56
+ ```
57
+ barista liberica uoms create [options]
58
+ ```
59
+
60
+ ### 全局选项
61
+ | 选项 | 类型 | 说明 |
62
+ |------|------|------|
63
+ | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
64
+ | `--tenant` | string | 租户代码 |
65
+ | `--dry-run` | boolean | 预览模式 |
66
+ | `--json` | boolean | JSON输出 |
67
+
68
+ ### 命令选项
69
+ | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
70
+ |------|--------|------|------|--------|------|-------------|
71
+ | --code | -c | string | ✅ | - | 计量单位编码 | uomCode |
72
+ | --name | -n | string | ✅ | - | 计量单位名称 | uomName |
73
+ | --fraction-places | -f | number | ⬜ | 2 | 小数位数 | uomFractionPlaces |
74
+ | --remark | -r | string | ⬜ | - | 备注 | remark |
75
+
76
+ ## 2.4 字段映射表
77
+
78
+ | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
79
+ |---------|---------|----------|----------|
80
+ | --code / -c | uomCode | string→String | @NotBlank, max=255 |
81
+ | --name / -n | uomName | string→String | @NotBlank, max=255 |
82
+ | --fraction-places / -f | uomFractionPlaces | number→Integer | >= 0, <= 10 |
83
+ | --remark / -r | remark | string→String | max=500 |
84
+
85
+ ## 2.5 错误码引用
86
+
87
+ ### ExceptionEnum位置
88
+ ```
89
+ coffee-liberica-end/
90
+ └── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/exception/enums/MasterUomExceptionEnum.java
91
+ ```
92
+
93
+ ### 已知错误码
94
+ | 错误码 | 错误消息 | 触发条件 |
95
+ |--------|----------|----------|
96
+ | UOM_CODE_DUPLICATE | 计量单位编码重复 | 编码重复 |
97
+ | UOM_CODE_EMPTY | 计量单位编码不能为空 | 编码为空 |
98
+ | UOM_NAME_EMPTY | 计量单位名称不能为空 | 名称为空 |
99
+
100
+ ## 2.6 权限检查
101
+
102
+ | 检查项 | 位置 | 说明 |
103
+ |--------|------|------|
104
+ | 注解 | MasterUomController.java | 需要 `master_uom:add` 权限 |
105
+
106
+ ## 2.7 实现要点
107
+
108
+ 1. **必填参数**:uomCode 和 uomName 为必填参数
109
+ 2. **默认值**:fraction-places 默认为 2
110
+ 3. **dry-run 支持**:支持 `--dry-run` 预览模式,显示将要创建的UOM信息
111
+ 4. **编码唯一性**:后端会校验 uomCode 是否已存在
112
+ 5. **状态默认**:新创建UOM默认状态为启用(statusFlag=1)
113
+ 6. **API路径**:POST `/api/enterprise/sales/uom/add`
114
+ 7. **成功响应**:返回创建的UOM详情,包括生成的 uomId
115
+
116
+ ## 2.8 示例用法
117
+
118
+ ```bash
119
+ # 创建基本计量单位
120
+ barista liberica uoms create --code "kg" --name "千克"
121
+ barista liberica uoms create -c "kg" -n "千克"
122
+
123
+ # 创建并指定小数位数
124
+ barista liberica uoms create --code "m" --name "米" --fraction-places 3
125
+ barista liberica uoms create -c "m" -n "米" -f 3
126
+
127
+ # 创建并添加备注
128
+ barista liberica uoms create --code "pcs" --name "件" --remark "计量件数"
129
+ barista liberica uoms create -c "pcs" -n "件" -r "计量件数"
130
+
131
+ # 预览模式(dry-run)
132
+ barista liberica uoms create --code "box" --name "箱" --dry-run
133
+
134
+ # JSON 输出
135
+ barista liberica uoms create --code "kg" --name "千克" --json
136
+ ```
@@ -0,0 +1,119 @@
1
+ # barista liberica uoms delete
2
+
3
+ 删除计量单位。
4
+
5
+ ## 2.1 命令元数据
6
+
7
+ | 字段 | 值 |
8
+ |------|-----|
9
+ | 完整命令 | `barista liberica uoms delete <uom-id>` |
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/sales/
22
+ └── MasterUomController.java
23
+ └── deleteUom(@PostResource(path = "/delete"))
24
+ └── public ResponseData<Void> deleteUom(
25
+ @RequestBody MasterUomRequest request
26
+ )
27
+ ```
28
+
29
+ ### Request DTO位置
30
+ ```
31
+ coffee-liberica-end/business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/pojo/request/MasterUomRequest.java
32
+ - 删除请求使用:{ uomId: String }
33
+ ```
34
+
35
+ ### Response DTO位置
36
+ ```
37
+ - 返回 void 或成功标记(ResponseData<Void>)
38
+ ```
39
+
40
+ ## 2.3 CLI参数设计
41
+
42
+ ### 命令结构
43
+ ```
44
+ barista liberica uoms delete <uom-id> [options]
45
+ ```
46
+
47
+ ### 全局选项
48
+ | 选项 | 类型 | 说明 |
49
+ |------|------|------|
50
+ | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
51
+ | `--tenant` | string | 租户代码 |
52
+ | `--json` | boolean | JSON输出 |
53
+
54
+ ### 位置参数
55
+ | 参数 | 类型 | 必填 | 说明 |
56
+ |------|------|------|------|
57
+ | uom-id | string | ✅ | 计量单位ID |
58
+
59
+ ### 命令选项
60
+ | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
61
+ |------|--------|------|------|--------|------|-------------|
62
+ | --uom-id | -i | string | ⬜ | - | 计量单位ID(与位置参数互斥) | uomId |
63
+ | --force | -f | boolean | ⬜ | false | 强制删除,跳过确认提示 | - |
64
+
65
+ ## 2.4 字段映射表
66
+
67
+ | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
68
+ |---------|---------|----------|----------|
69
+ | uom-id (位置参数) | uomId | string→String | @NotBlank |
70
+ | --uom-id / -i | uomId | string→String | @NotBlank |
71
+
72
+ ## 2.5 错误码引用
73
+
74
+ ### ExceptionEnum位置
75
+ ```
76
+ coffee-liberica-end/
77
+ └── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/exception/enums/MasterUomExceptionEnum.java
78
+ ```
79
+
80
+ ### 已知错误码
81
+ | 错误码 | 错误消息 | 触发条件 |
82
+ |--------|----------|----------|
83
+ | UOM_NOT_EXIST | 计量单位不存在 | UOM不存在 |
84
+ | UOM_IN_USE | 计量单位已被使用,无法删除 | UOM已被使用,无法删除 |
85
+ | UOM_NO_PERMISSION | 无权限删除 | 无权限删除 |
86
+
87
+ ## 2.6 权限检查
88
+
89
+ | 检查项 | 位置 | 说明 |
90
+ |--------|------|------|
91
+ | 注解 | MasterUomController.java | 需要 `master_uom:remove` 权限 |
92
+
93
+ ## 2.7 实现要点
94
+
95
+ 1. **ID必填**:uomId为必填参数(位置参数或 --uom-id 选项)
96
+ 2. **确认提示**:默认会显示确认提示,需要用户确认(除非使用 --force)
97
+ 3. **强制删除**:使用 `--force` 或 `-f` 跳过确认提示
98
+ 4. **依赖检查**:后端可能会检查UOM是否被物料或其他数据引用
99
+ 5. **不可恢复**:删除操作不可逆,需谨慎操作
100
+ 6. **API路径**:POST `/api/enterprise/sales/uom/delete`
101
+ 7. **批量删除**:未来可能支持批量删除(通过逗号分隔的ID列表)
102
+
103
+ ## 2.8 示例用法
104
+
105
+ ```bash
106
+ # 删除计量单位(带确认提示)
107
+ barista liberica uoms delete "1234567890123456789"
108
+
109
+ # 通过选项参数删除
110
+ barista liberica uoms delete --uom-id "1234567890123456789"
111
+ barista liberica uoms delete -i "1234567890123456789"
112
+
113
+ # 强制删除(跳过确认)
114
+ barista liberica uoms delete "1234567890123456789" --force
115
+ barista liberica uoms delete "1234567890123456789" -f
116
+
117
+ # JSON 输出
118
+ barista liberica uoms delete "1234567890123456789" --force --json
119
+ ```
@@ -0,0 +1,117 @@
1
+ # barista liberica uoms disable
2
+
3
+ 禁用计量单位(批量)。
4
+
5
+ ## 2.1 命令元数据
6
+
7
+ | 字段 | 值 |
8
+ |------|-----|
9
+ | 完整命令 | `barista liberica uoms disable <uom-id...>` |
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/sales/
22
+ └── MasterUomController.java
23
+ └── disableUom(@PostResource(path = "/batchDeActive"))
24
+ └── public ResponseData<Void> disableUom(
25
+ @RequestBody Map<String, List<String>> request
26
+ )
27
+ ```
28
+
29
+ ### Request DTO位置
30
+ ```
31
+ - 批量禁用请求:{ uomIdList: List<String> }
32
+ ```
33
+
34
+ ### Response DTO位置
35
+ ```
36
+ - 返回 void 或成功标记(ResponseData<Void>)
37
+ ```
38
+
39
+ ## 2.3 CLI参数设计
40
+
41
+ ### 命令结构
42
+ ```
43
+ barista liberica uoms disable <uom-id...> [options]
44
+ ```
45
+
46
+ ### 全局选项
47
+ | 选项 | 类型 | 说明 |
48
+ |------|------|------|
49
+ | `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
50
+ | `--tenant` | string | 租户代码 |
51
+ | `--json` | boolean | JSON输出 |
52
+
53
+ ### 位置参数
54
+ | 参数 | 类型 | 必填 | 说明 |
55
+ |------|------|------|------|
56
+ | uom-id... | string | ✅ | 一个或多个计量单位ID |
57
+
58
+ ### 命令选项
59
+ | 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
60
+ |------|--------|------|------|--------|------|-------------|
61
+ | --uom-id | -i | string | ⬜ | - | 计量单位ID(逗号分隔,与位置参数互斥) | uomIdList |
62
+
63
+ ## 2.4 字段映射表
64
+
65
+ | CLI参数 | DTO字段 | 类型转换 | 验证规则 |
66
+ |---------|---------|----------|----------|
67
+ | uom-id... (位置参数) | uomIdList | string[]→List<String> | 至少一个ID |
68
+ | --uom-id / -i | uomIdList | string→List<String> | 逗号分隔 |
69
+
70
+ ## 2.5 错误码引用
71
+
72
+ ### ExceptionEnum位置
73
+ ```
74
+ coffee-liberica-end/
75
+ └── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/exception/enums/MasterUomExceptionEnum.java
76
+ ```
77
+
78
+ ### 已知错误码
79
+ | 错误码 | 错误消息 | 触发条件 |
80
+ |--------|----------|----------|
81
+ | UOM_NOT_EXIST | 计量单位不存在 | UOM不存在 |
82
+ | UOM_IN_USE | 计量单位已被使用,无法禁用 | UOM已被使用,无法禁用 |
83
+ | UOM_NO_PERMISSION | 无权限操作 | 无权限操作 |
84
+
85
+ ## 2.6 权限检查
86
+
87
+ | 检查项 | 位置 | 说明 |
88
+ |--------|------|------|
89
+ | 注解 | MasterUomController.java | 需要 `master_uom:edit` 权限 |
90
+
91
+ ## 2.7 实现要点
92
+
93
+ 1. **批量支持**:支持单个ID或多个ID(空格分隔)
94
+ 2. **ID来源**:可通过位置参数或 --uom-id 选项传递
95
+ 3. **逗号分隔**:--uom-id 选项支持逗号分隔的多个ID
96
+ 4. **状态变更**:将 statusFlag 从 1(启用)改为 2(禁用)
97
+ 5. **依赖检查**:后端可能会检查UOM是否被物料或其他数据引用
98
+ 6. **部分失败**:如果某些ID不存在,后端可能返回错误或仅处理存在的ID
99
+ 7. **API路径**:POST `/api/enterprise/sales/uom/batchDeActive`
100
+ 8. **请求格式**:{ uomIdList: ["id1", "id2", ...] }
101
+
102
+ ## 2.8 示例用法
103
+
104
+ ```bash
105
+ # 禁用单个计量单位
106
+ barista liberica uoms disable "1234567890123456789"
107
+
108
+ # 禁用多个计量单位
109
+ barista liberica uoms disable "1234567890123456789" "9876543210987654321"
110
+
111
+ # 通过选项参数禁用(逗号分隔)
112
+ barista liberica uoms disable --uom-id "1234567890123456789,9876543210987654321"
113
+ barista liberica uoms disable -i "1234567890123456789,9876543210987654321"
114
+
115
+ # JSON 输出
116
+ barista liberica uoms disable "1234567890123456789" --json
117
+ ```