@newpeak/barista-cli 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/liberica/auth/index.d.ts.map +1 -1
- package/dist/commands/liberica/auth/index.js +5 -0
- package/dist/commands/liberica/auth/index.js.map +1 -1
- package/dist/commands/liberica/index.d.ts.map +1 -1
- package/dist/commands/liberica/index.js +8 -0
- package/dist/commands/liberica/index.js.map +1 -1
- package/dist/commands/liberica/materials/create.d.ts +3 -0
- package/dist/commands/liberica/materials/create.d.ts.map +1 -0
- package/dist/commands/liberica/materials/create.js +154 -0
- package/dist/commands/liberica/materials/create.js.map +1 -0
- package/dist/commands/liberica/materials/delete.d.ts +3 -0
- package/dist/commands/liberica/materials/delete.d.ts.map +1 -0
- package/dist/commands/liberica/materials/delete.js +104 -0
- package/dist/commands/liberica/materials/delete.js.map +1 -0
- package/dist/commands/liberica/materials/disable.d.ts +3 -0
- package/dist/commands/liberica/materials/disable.d.ts.map +1 -0
- package/dist/commands/liberica/materials/disable.js +146 -0
- package/dist/commands/liberica/materials/disable.js.map +1 -0
- package/dist/commands/liberica/materials/enable.d.ts +3 -0
- package/dist/commands/liberica/materials/enable.d.ts.map +1 -0
- package/dist/commands/liberica/materials/enable.js +126 -0
- package/dist/commands/liberica/materials/enable.js.map +1 -0
- package/dist/commands/liberica/materials/get.d.ts +3 -0
- package/dist/commands/liberica/materials/get.d.ts.map +1 -0
- package/dist/commands/liberica/materials/get.js +71 -0
- package/dist/commands/liberica/materials/get.js.map +1 -0
- package/dist/commands/liberica/materials/index.d.ts +3 -0
- package/dist/commands/liberica/materials/index.d.ts.map +1 -0
- package/dist/commands/liberica/materials/index.js +21 -0
- package/dist/commands/liberica/materials/index.js.map +1 -0
- package/dist/commands/liberica/materials/list.d.ts +3 -0
- package/dist/commands/liberica/materials/list.d.ts.map +1 -0
- package/dist/commands/liberica/materials/list.js +107 -0
- package/dist/commands/liberica/materials/list.js.map +1 -0
- package/dist/commands/liberica/materials/update.d.ts +3 -0
- package/dist/commands/liberica/materials/update.d.ts.map +1 -0
- package/dist/commands/liberica/materials/update.js +118 -0
- package/dist/commands/liberica/materials/update.js.map +1 -0
- package/dist/commands/liberica/suppliers/create.d.ts +3 -0
- package/dist/commands/liberica/suppliers/create.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/create.js +140 -0
- package/dist/commands/liberica/suppliers/create.js.map +1 -0
- package/dist/commands/liberica/suppliers/delete.d.ts +3 -0
- package/dist/commands/liberica/suppliers/delete.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/delete.js +102 -0
- package/dist/commands/liberica/suppliers/delete.js.map +1 -0
- package/dist/commands/liberica/suppliers/disable.d.ts +3 -0
- package/dist/commands/liberica/suppliers/disable.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/disable.js +144 -0
- package/dist/commands/liberica/suppliers/disable.js.map +1 -0
- package/dist/commands/liberica/suppliers/enable.d.ts +3 -0
- package/dist/commands/liberica/suppliers/enable.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/enable.js +124 -0
- package/dist/commands/liberica/suppliers/enable.js.map +1 -0
- package/dist/commands/liberica/suppliers/get.d.ts +3 -0
- package/dist/commands/liberica/suppliers/get.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/get.js +75 -0
- package/dist/commands/liberica/suppliers/get.js.map +1 -0
- package/dist/commands/liberica/suppliers/index.d.ts +3 -0
- package/dist/commands/liberica/suppliers/index.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/index.js +21 -0
- package/dist/commands/liberica/suppliers/index.js.map +1 -0
- package/dist/commands/liberica/suppliers/list.d.ts +3 -0
- package/dist/commands/liberica/suppliers/list.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/list.js +100 -0
- package/dist/commands/liberica/suppliers/list.js.map +1 -0
- package/dist/commands/liberica/suppliers/update.d.ts +3 -0
- package/dist/commands/liberica/suppliers/update.d.ts.map +1 -0
- package/dist/commands/liberica/suppliers/update.js +122 -0
- package/dist/commands/liberica/suppliers/update.js.map +1 -0
- package/dist/commands/liberica/uoms/create.d.ts +3 -0
- package/dist/commands/liberica/uoms/create.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/create.js +120 -0
- package/dist/commands/liberica/uoms/create.js.map +1 -0
- package/dist/commands/liberica/uoms/delete.d.ts +3 -0
- package/dist/commands/liberica/uoms/delete.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/delete.js +104 -0
- package/dist/commands/liberica/uoms/delete.js.map +1 -0
- package/dist/commands/liberica/uoms/disable.d.ts +3 -0
- package/dist/commands/liberica/uoms/disable.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/disable.js +146 -0
- package/dist/commands/liberica/uoms/disable.js.map +1 -0
- package/dist/commands/liberica/uoms/enable.d.ts +3 -0
- package/dist/commands/liberica/uoms/enable.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/enable.js +126 -0
- package/dist/commands/liberica/uoms/enable.js.map +1 -0
- package/dist/commands/liberica/uoms/get.d.ts +3 -0
- package/dist/commands/liberica/uoms/get.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/get.js +71 -0
- package/dist/commands/liberica/uoms/get.js.map +1 -0
- package/dist/commands/liberica/uoms/index.d.ts +3 -0
- package/dist/commands/liberica/uoms/index.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/index.js +21 -0
- package/dist/commands/liberica/uoms/index.js.map +1 -0
- package/dist/commands/liberica/uoms/list.d.ts +3 -0
- package/dist/commands/liberica/uoms/list.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/list.js +98 -0
- package/dist/commands/liberica/uoms/list.js.map +1 -0
- package/dist/commands/liberica/uoms/update.d.ts +3 -0
- package/dist/commands/liberica/uoms/update.d.ts.map +1 -0
- package/dist/commands/liberica/uoms/update.js +115 -0
- package/dist/commands/liberica/uoms/update.js.map +1 -0
- package/dist/core/api/client.d.ts +24 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +465 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/material.d.ts +49 -0
- package/dist/types/material.d.ts.map +1 -0
- package/dist/types/material.js +2 -0
- package/dist/types/material.js.map +1 -0
- package/dist/types/supplier.d.ts +53 -0
- package/dist/types/supplier.d.ts.map +1 -0
- package/dist/types/supplier.js +2 -0
- package/dist/types/supplier.js.map +1 -0
- package/dist/types/uom.d.ts +47 -0
- package/dist/types/uom.d.ts.map +1 -0
- package/dist/types/uom.js +2 -0
- package/dist/types/uom.js.map +1 -0
- package/docs/commands/liberica/materials-create.md +293 -0
- package/docs/commands/liberica/materials-delete.md +240 -0
- package/docs/commands/liberica/materials-disable.md +150 -0
- package/docs/commands/liberica/materials-enable.md +146 -0
- package/docs/commands/liberica/materials-get.md +188 -0
- package/docs/commands/liberica/materials-list.md +198 -0
- package/docs/commands/liberica/materials-update.md +250 -0
- package/docs/commands/liberica/uoms-create.md +136 -0
- package/docs/commands/liberica/uoms-delete.md +119 -0
- package/docs/commands/liberica/uoms-disable.md +117 -0
- package/docs/commands/liberica/uoms-enable.md +115 -0
- package/docs/commands/liberica/uoms-get.md +119 -0
- package/docs/commands/liberica/uoms-list.md +155 -0
- package/docs/commands/liberica/uoms-update.md +148 -0
- package/package.json +2 -4
- package/src/commands/liberica/auth/index.ts +6 -0
- package/src/commands/liberica/index.ts +8 -0
- package/src/commands/liberica/materials/create.ts +168 -0
- package/src/commands/liberica/materials/delete.ts +105 -0
- package/src/commands/liberica/materials/disable.ts +148 -0
- package/src/commands/liberica/materials/enable.ts +129 -0
- package/src/commands/liberica/materials/get.ts +83 -0
- package/src/commands/liberica/materials/index.ts +23 -0
- package/src/commands/liberica/materials/list.ts +142 -0
- package/src/commands/liberica/materials/update.ts +125 -0
- package/src/commands/liberica/suppliers/create.ts +149 -0
- package/src/commands/liberica/suppliers/delete.ts +102 -0
- package/src/commands/liberica/suppliers/disable.ts +145 -0
- package/src/commands/liberica/suppliers/enable.ts +126 -0
- package/src/commands/liberica/suppliers/get.ts +86 -0
- package/src/commands/liberica/suppliers/index.ts +23 -0
- package/src/commands/liberica/suppliers/list.ts +134 -0
- package/src/commands/liberica/suppliers/update.ts +128 -0
- package/src/commands/liberica/uoms/create.ts +134 -0
- package/src/commands/liberica/uoms/delete.ts +105 -0
- package/src/commands/liberica/uoms/disable.ts +148 -0
- package/src/commands/liberica/uoms/enable.ts +129 -0
- package/src/commands/liberica/uoms/get.ts +83 -0
- package/src/commands/liberica/uoms/index.ts +23 -0
- package/src/commands/liberica/uoms/list.ts +129 -0
- package/src/commands/liberica/uoms/update.ts +124 -0
- package/src/core/api/client.ts +585 -0
- package/src/index.ts +1 -1
- package/src/types/index.ts +5 -2
- package/src/types/material.ts +61 -0
- package/src/types/supplier.ts +66 -0
- package/src/types/uom.ts +60 -0
- package/bin/barista.js +0 -3
|
@@ -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
|
+
```
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# barista liberica uoms enable
|
|
2
|
+
|
|
3
|
+
启用计量单位(批量)。
|
|
4
|
+
|
|
5
|
+
## 2.1 命令元数据
|
|
6
|
+
|
|
7
|
+
| 字段 | 值 |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| 完整命令 | `barista liberica uoms enable <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
|
+
└── enableUom(@PostResource(path = "/batchActive"))
|
|
24
|
+
└── public ResponseData<Void> enableUom(
|
|
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 enable <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_NO_PERMISSION | 无权限操作 | 无权限操作 |
|
|
83
|
+
|
|
84
|
+
## 2.6 权限检查
|
|
85
|
+
|
|
86
|
+
| 检查项 | 位置 | 说明 |
|
|
87
|
+
|--------|------|------|
|
|
88
|
+
| 注解 | MasterUomController.java | 需要 `master_uom:edit` 权限 |
|
|
89
|
+
|
|
90
|
+
## 2.7 实现要点
|
|
91
|
+
|
|
92
|
+
1. **批量支持**:支持单个ID或多个ID(空格分隔)
|
|
93
|
+
2. **ID来源**:可通过位置参数或 --uom-id 选项传递
|
|
94
|
+
3. **逗号分隔**:--uom-id 选项支持逗号分隔的多个ID
|
|
95
|
+
4. **状态变更**:将 statusFlag 从 2(禁用)改为 1(启用)
|
|
96
|
+
5. **部分失败**:如果某些ID不存在,后端可能返回错误或仅处理存在的ID
|
|
97
|
+
6. **API路径**:POST `/api/enterprise/sales/uom/batchActive`
|
|
98
|
+
7. **请求格式**:{ uomIdList: ["id1", "id2", ...] }
|
|
99
|
+
|
|
100
|
+
## 2.8 示例用法
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# 启用单个计量单位
|
|
104
|
+
barista liberica uoms enable "1234567890123456789"
|
|
105
|
+
|
|
106
|
+
# 启用多个计量单位
|
|
107
|
+
barista liberica uoms enable "1234567890123456789" "9876543210987654321"
|
|
108
|
+
|
|
109
|
+
# 通过选项参数启用(逗号分隔)
|
|
110
|
+
barista liberica uoms enable --uom-id "1234567890123456789,9876543210987654321"
|
|
111
|
+
barista liberica uoms enable -i "1234567890123456789,9876543210987654321"
|
|
112
|
+
|
|
113
|
+
# JSON 输出
|
|
114
|
+
barista liberica uoms enable "1234567890123456789" --json
|
|
115
|
+
```
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# barista liberica uoms get
|
|
2
|
+
|
|
3
|
+
获取单个计量单位详情。
|
|
4
|
+
|
|
5
|
+
## 2.1 命令元数据
|
|
6
|
+
|
|
7
|
+
| 字段 | 值 |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| 完整命令 | `barista liberica uoms get <uom-id>` |
|
|
10
|
+
| 功能描述 | 获取计量单位详情 |
|
|
11
|
+
| HTTP方法 | GET |
|
|
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
|
+
└── getUom(@GetResource(path = "/detail"))
|
|
24
|
+
└── public ResponseData<MasterUomResponse> getUom(
|
|
25
|
+
@RequestParam String uomId
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Request DTO位置
|
|
30
|
+
```
|
|
31
|
+
[无Request DTO]
|
|
32
|
+
- uomId通过@RequestParam传递
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Response DTO位置
|
|
36
|
+
```
|
|
37
|
+
coffee-liberica-end/
|
|
38
|
+
└── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/pojo/response/MasterUomResponse.java
|
|
39
|
+
├── uomId: String
|
|
40
|
+
├── uomCode: String
|
|
41
|
+
├── uomName: String
|
|
42
|
+
├── uomFractionPlaces: Integer
|
|
43
|
+
├── statusFlag: Integer (1=启用,2=禁用)
|
|
44
|
+
├── remark: String
|
|
45
|
+
├── createTime: String
|
|
46
|
+
└── updateTime: String
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 2.3 CLI参数设计
|
|
50
|
+
|
|
51
|
+
### 命令结构
|
|
52
|
+
```
|
|
53
|
+
barista liberica uoms get <uom-id> [options]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 全局选项
|
|
57
|
+
| 选项 | 类型 | 说明 |
|
|
58
|
+
|------|------|------|
|
|
59
|
+
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
60
|
+
| `--tenant` | string | 租户代码 |
|
|
61
|
+
| `--json` | boolean | JSON输出 |
|
|
62
|
+
|
|
63
|
+
### 位置参数
|
|
64
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
65
|
+
|------|------|------|------|
|
|
66
|
+
| uom-id | string | ✅ | 计量单位ID |
|
|
67
|
+
|
|
68
|
+
### 命令选项
|
|
69
|
+
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
70
|
+
|------|--------|------|------|--------|------|-------------|
|
|
71
|
+
| --uom-id | -i | string | ⬜ | - | 计量单位ID(与位置参数互斥) | uomId |
|
|
72
|
+
|
|
73
|
+
## 2.4 字段映射表
|
|
74
|
+
|
|
75
|
+
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
76
|
+
|---------|---------|----------|----------|
|
|
77
|
+
| uom-id (位置参数) | uomId | string→String | @NotBlank |
|
|
78
|
+
| --uom-id / -i | uomId | string→String | @NotBlank |
|
|
79
|
+
|
|
80
|
+
## 2.5 错误码引用
|
|
81
|
+
|
|
82
|
+
### ExceptionEnum位置
|
|
83
|
+
```
|
|
84
|
+
coffee-liberica-end/
|
|
85
|
+
└── business/liberica-business-uom/uom-api/src/main/java/com/newpeak/liberica/uom/api/exception/enums/MasterUomExceptionEnum.java
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 已知错误码
|
|
89
|
+
| 错误码 | 错误消息 | 触发条件 |
|
|
90
|
+
|--------|----------|----------|
|
|
91
|
+
| UOM_NOT_EXIST | 计量单位不存在 | ID不存在 |
|
|
92
|
+
|
|
93
|
+
## 2.6 权限检查
|
|
94
|
+
|
|
95
|
+
| 检查项 | 位置 | 说明 |
|
|
96
|
+
|--------|------|------|
|
|
97
|
+
| 注解 | 无需权限 | 登录用户可访问 |
|
|
98
|
+
|
|
99
|
+
## 2.7 实现要点
|
|
100
|
+
|
|
101
|
+
1. **参数解析**:支持位置参数 `<uom-id>` 和选项参数 `--uom-id`
|
|
102
|
+
2. **ID必填**:uomId为必填参数
|
|
103
|
+
3. **输出格式**:格式化展示UOM详情,包括基本信息和状态
|
|
104
|
+
4. **错误处理**:UOM不存在时显示友好错误提示
|
|
105
|
+
5. **API路径**:GET `/api/enterprise/sales/uom/detail`
|
|
106
|
+
|
|
107
|
+
## 2.8 示例用法
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# 通过位置参数获取
|
|
111
|
+
barista liberica uoms get "1234567890123456789"
|
|
112
|
+
|
|
113
|
+
# 通过选项参数获取
|
|
114
|
+
barista liberica uoms get --uom-id "1234567890123456789"
|
|
115
|
+
barista liberica uoms get -i "1234567890123456789"
|
|
116
|
+
|
|
117
|
+
# JSON 输出
|
|
118
|
+
barista liberica uoms get "1234567890123456789" --json
|
|
119
|
+
```
|