@newpeak/barista-cli 0.1.5 → 0.1.7
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/README.en.md +714 -0
- package/README.ja.md +708 -0
- package/README.md +68 -0
- package/README.vi.md +714 -0
- package/dist/commands/liberica/currency/create.d.ts +3 -0
- package/dist/commands/liberica/currency/create.d.ts.map +1 -0
- package/dist/commands/liberica/currency/create.js +168 -0
- package/dist/commands/liberica/currency/create.js.map +1 -0
- package/dist/commands/liberica/currency/delete.d.ts +3 -0
- package/dist/commands/liberica/currency/delete.d.ts.map +1 -0
- package/dist/commands/liberica/currency/delete.js +122 -0
- package/dist/commands/liberica/currency/delete.js.map +1 -0
- package/dist/commands/liberica/currency/disable.d.ts +3 -0
- package/dist/commands/liberica/currency/disable.d.ts.map +1 -0
- package/dist/commands/liberica/currency/disable.js +145 -0
- package/dist/commands/liberica/currency/disable.js.map +1 -0
- package/dist/commands/liberica/currency/enable.d.ts +3 -0
- package/dist/commands/liberica/currency/enable.d.ts.map +1 -0
- package/dist/commands/liberica/currency/enable.js +125 -0
- package/dist/commands/liberica/currency/enable.js.map +1 -0
- package/dist/commands/liberica/currency/get.d.ts +3 -0
- package/dist/commands/liberica/currency/get.d.ts.map +1 -0
- package/dist/commands/liberica/currency/get.js +80 -0
- package/dist/commands/liberica/currency/get.js.map +1 -0
- package/dist/commands/liberica/currency/index.d.ts +3 -0
- package/dist/commands/liberica/currency/index.d.ts.map +1 -0
- package/dist/commands/liberica/currency/index.js +21 -0
- package/dist/commands/liberica/currency/index.js.map +1 -0
- package/dist/commands/liberica/currency/list.d.ts +3 -0
- package/dist/commands/liberica/currency/list.d.ts.map +1 -0
- package/dist/commands/liberica/currency/list.js +106 -0
- package/dist/commands/liberica/currency/list.js.map +1 -0
- package/dist/commands/liberica/currency/update.d.ts +3 -0
- package/dist/commands/liberica/currency/update.d.ts.map +1 -0
- package/dist/commands/liberica/currency/update.js +123 -0
- package/dist/commands/liberica/currency/update.js.map +1 -0
- package/dist/commands/liberica/index.d.ts.map +1 -1
- package/dist/commands/liberica/index.js +7 -0
- package/dist/commands/liberica/index.js.map +1 -1
- package/dist/commands/liberica/materials/create.d.ts.map +1 -1
- package/dist/commands/liberica/materials/create.js +35 -9
- package/dist/commands/liberica/materials/create.js.map +1 -1
- package/dist/commands/liberica/orgs/index.d.ts.map +1 -1
- package/dist/commands/liberica/orgs/index.js.map +1 -1
- package/dist/commands/liberica/users/create.d.ts.map +1 -1
- package/dist/commands/liberica/users/create.js +1 -0
- package/dist/commands/liberica/users/create.js.map +1 -1
- package/dist/commands/liberica/warehouses/create.d.ts +3 -0
- package/dist/commands/liberica/warehouses/create.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/create.js +196 -0
- package/dist/commands/liberica/warehouses/create.js.map +1 -0
- package/dist/commands/liberica/warehouses/delete.d.ts +3 -0
- package/dist/commands/liberica/warehouses/delete.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/delete.js +111 -0
- package/dist/commands/liberica/warehouses/delete.js.map +1 -0
- package/dist/commands/liberica/warehouses/disable.d.ts +3 -0
- package/dist/commands/liberica/warehouses/disable.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/disable.js +173 -0
- package/dist/commands/liberica/warehouses/disable.js.map +1 -0
- package/dist/commands/liberica/warehouses/enable.d.ts +3 -0
- package/dist/commands/liberica/warehouses/enable.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/enable.js +173 -0
- package/dist/commands/liberica/warehouses/enable.js.map +1 -0
- package/dist/commands/liberica/warehouses/get.d.ts +3 -0
- package/dist/commands/liberica/warehouses/get.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/get.js +90 -0
- package/dist/commands/liberica/warehouses/get.js.map +1 -0
- package/dist/commands/liberica/warehouses/index.d.ts +3 -0
- package/dist/commands/liberica/warehouses/index.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/index.js +23 -0
- package/dist/commands/liberica/warehouses/index.js.map +1 -0
- package/dist/commands/liberica/warehouses/list.d.ts +3 -0
- package/dist/commands/liberica/warehouses/list.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/list.js +101 -0
- package/dist/commands/liberica/warehouses/list.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/create.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/create.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/create.js +199 -0
- package/dist/commands/liberica/warehouses/locations/create.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/delete.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/delete.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/delete.js +115 -0
- package/dist/commands/liberica/warehouses/locations/delete.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/disable.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/disable.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/disable.js +173 -0
- package/dist/commands/liberica/warehouses/locations/disable.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/enable.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/enable.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/enable.js +173 -0
- package/dist/commands/liberica/warehouses/locations/enable.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/get.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/get.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/get.js +73 -0
- package/dist/commands/liberica/warehouses/locations/get.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/index.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/index.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/index.js +21 -0
- package/dist/commands/liberica/warehouses/locations/index.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/list.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/list.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/list.js +104 -0
- package/dist/commands/liberica/warehouses/locations/list.js.map +1 -0
- package/dist/commands/liberica/warehouses/locations/update.d.ts +3 -0
- package/dist/commands/liberica/warehouses/locations/update.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/locations/update.js +128 -0
- package/dist/commands/liberica/warehouses/locations/update.js.map +1 -0
- package/dist/commands/liberica/warehouses/update.d.ts +3 -0
- package/dist/commands/liberica/warehouses/update.d.ts.map +1 -0
- package/dist/commands/liberica/warehouses/update.js +143 -0
- package/dist/commands/liberica/warehouses/update.js.map +1 -0
- package/dist/core/api/client.d.ts +26 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +471 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/types/currency.d.ts +74 -0
- package/dist/types/currency.d.ts.map +1 -0
- package/dist/types/currency.js +2 -0
- package/dist/types/currency.js.map +1 -0
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/location.d.ts +53 -0
- package/dist/types/location.d.ts.map +1 -0
- package/dist/types/location.js +2 -0
- package/dist/types/location.js.map +1 -0
- package/dist/types/warehouse.d.ts +68 -0
- package/dist/types/warehouse.d.ts.map +1 -0
- package/dist/types/warehouse.js +2 -0
- package/dist/types/warehouse.js.map +1 -0
- package/docs/COMMAND_DESIGN_SPEC.md +42 -13
- package/docs/commands/liberica/currency/create.md +145 -0
- package/docs/commands/liberica/currency/delete.md +121 -0
- package/docs/commands/liberica/currency/disable.md +119 -0
- package/docs/commands/liberica/currency/enable.md +115 -0
- package/docs/commands/liberica/currency/get.md +118 -0
- package/docs/commands/liberica/currency/list.md +149 -0
- package/docs/commands/liberica/currency/update.md +141 -0
- package/docs/commands/liberica/locations/create.md +195 -0
- package/docs/commands/liberica/locations/list.md +171 -0
- package/docs/commands/liberica/warehouses/create.md +222 -0
- package/docs/commands/liberica/warehouses/list.md +184 -0
- package/package.json +1 -1
- package/src/commands/liberica/currency/create.ts +183 -0
- package/src/commands/liberica/currency/delete.ts +124 -0
- package/src/commands/liberica/currency/disable.ts +147 -0
- package/src/commands/liberica/currency/enable.ts +128 -0
- package/src/commands/liberica/currency/get.ts +91 -0
- package/src/commands/liberica/currency/index.ts +23 -0
- package/src/commands/liberica/currency/list.ts +140 -0
- package/src/commands/liberica/currency/update.ts +129 -0
- package/src/commands/liberica/index.ts +7 -0
- package/src/commands/liberica/materials/create.ts +32 -9
- package/src/commands/liberica/orgs/index.ts +0 -1
- package/src/commands/liberica/users/create.ts +1 -0
- package/src/commands/liberica/warehouses/create.ts +204 -0
- package/src/commands/liberica/warehouses/delete.ts +112 -0
- package/src/commands/liberica/warehouses/disable.ts +174 -0
- package/src/commands/liberica/warehouses/enable.ts +174 -0
- package/src/commands/liberica/warehouses/get.ts +101 -0
- package/src/commands/liberica/warehouses/index.ts +25 -0
- package/src/commands/liberica/warehouses/list.ts +136 -0
- package/src/commands/liberica/warehouses/locations/create.ts +209 -0
- package/src/commands/liberica/warehouses/locations/delete.ts +116 -0
- package/src/commands/liberica/warehouses/locations/disable.ts +174 -0
- package/src/commands/liberica/warehouses/locations/enable.ts +174 -0
- package/src/commands/liberica/warehouses/locations/get.ts +84 -0
- package/src/commands/liberica/warehouses/locations/index.ts +23 -0
- package/src/commands/liberica/warehouses/locations/list.ts +140 -0
- package/src/commands/liberica/warehouses/locations/update.ts +135 -0
- package/src/commands/liberica/warehouses/update.ts +142 -0
- package/src/core/api/client.ts +632 -0
- package/src/index.ts +1 -3
- package/src/types/currency.ts +90 -0
- package/src/types/index.ts +4 -4
- package/src/types/location.ts +66 -0
- package/src/types/warehouse.ts +82 -0
- /package/docs/commands/liberica/{materials-create.md → materials/create.md} +0 -0
- /package/docs/commands/liberica/{materials-delete.md → materials/delete.md} +0 -0
- /package/docs/commands/liberica/{materials-disable.md → materials/disable.md} +0 -0
- /package/docs/commands/liberica/{materials-enable.md → materials/enable.md} +0 -0
- /package/docs/commands/liberica/{materials-get.md → materials/get.md} +0 -0
- /package/docs/commands/liberica/{materials-list.md → materials/list.md} +0 -0
- /package/docs/commands/liberica/{materials-update.md → materials/update.md} +0 -0
- /package/docs/commands/liberica/{uoms-create.md → uoms/create.md} +0 -0
- /package/docs/commands/liberica/{uoms-delete.md → uoms/delete.md} +0 -0
- /package/docs/commands/liberica/{uoms-disable.md → uoms/disable.md} +0 -0
- /package/docs/commands/liberica/{uoms-enable.md → uoms/enable.md} +0 -0
- /package/docs/commands/liberica/{uoms-get.md → uoms/get.md} +0 -0
- /package/docs/commands/liberica/{uoms-list.md → uoms/list.md} +0 -0
- /package/docs/commands/liberica/{uoms-update.md → uoms/update.md} +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# barista liberica currency list
|
|
2
|
+
|
|
3
|
+
分页查询币种列表。
|
|
4
|
+
|
|
5
|
+
## 2.1 命令元数据
|
|
6
|
+
|
|
7
|
+
| 字段 | 值 |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| 完整命令 | `barista liberica currency list` |
|
|
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/finance/
|
|
22
|
+
└── FinanceCurrencyController.java
|
|
23
|
+
└── listCurrencies(@GetResource(path = "/page"))
|
|
24
|
+
└── public ResponseData<PageResult<CurrencyResponse>> listCurrencies(
|
|
25
|
+
@ParameterObject CurrencyRequest request
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Request DTO位置
|
|
30
|
+
```
|
|
31
|
+
coffee-liberica-end/
|
|
32
|
+
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/pojo/request/CurrencyRequest.java
|
|
33
|
+
├── pageNo: Long (分页页码,从0开始)
|
|
34
|
+
├── pageSize: Long (分页大小)
|
|
35
|
+
├── currencyCode: String (币种编码,如 CNY, USD)
|
|
36
|
+
├── currencyName: String (币种名称)
|
|
37
|
+
└── statusFlag: Integer (状态:1=启用,2=禁用)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Response DTO位置
|
|
41
|
+
```
|
|
42
|
+
coffee-liberica-end/
|
|
43
|
+
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/pojo/response/CurrencyResponse.java
|
|
44
|
+
├── currencyId: String
|
|
45
|
+
├── currencyCode: String (3位编码,如 CNY)
|
|
46
|
+
├── currencyName: String (币种名称)
|
|
47
|
+
├── currencySign: String (符号,如 ¥)
|
|
48
|
+
├── statusFlag: Integer (1=启用,2=禁用)
|
|
49
|
+
├── createTime: String
|
|
50
|
+
└── updateTime: String
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 分页包装器
|
|
54
|
+
```
|
|
55
|
+
cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult
|
|
56
|
+
├── totalRows: long
|
|
57
|
+
├── pageSize: long
|
|
58
|
+
├── pageNo: long
|
|
59
|
+
└── rows: List<CurrencyResponse>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 2.3 CLI参数设计
|
|
63
|
+
|
|
64
|
+
### 命令结构
|
|
65
|
+
```
|
|
66
|
+
barista liberica currency list [options]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 全局选项
|
|
70
|
+
| 选项 | 类型 | 说明 |
|
|
71
|
+
|------|------|------|
|
|
72
|
+
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
73
|
+
| `--tenant` | string | 租户代码 |
|
|
74
|
+
| `--json` | boolean | JSON输出 |
|
|
75
|
+
|
|
76
|
+
### 命令选项
|
|
77
|
+
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
78
|
+
|------|--------|------|------|--------|------|-------------|
|
|
79
|
+
| --page | -p | number | ⬜ | 1 | 页码(从1开始) | pageNo (转换:CLI页码-1) |
|
|
80
|
+
| --size | -s | number | ⬜ | 20 | 每页条数 | pageSize |
|
|
81
|
+
| --status | — | string | ⬜ | - | 状态:enable/disable | statusFlag (enable=1, disable=2) |
|
|
82
|
+
| --code | -c | string | ⬜ | - | 币种编码(3位) | currencyCode |
|
|
83
|
+
| --name | -n | string | ⬜ | - | 币种名称 | currencyName |
|
|
84
|
+
|
|
85
|
+
## 2.4 字段映射表
|
|
86
|
+
|
|
87
|
+
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
88
|
+
|---------|---------|----------|----------|
|
|
89
|
+
| --page / -p | pageNo | number→Long,CLI页码-1 | >= 1 |
|
|
90
|
+
| --size / -s | pageSize | number→Long | 1-100 |
|
|
91
|
+
| --status | statusFlag | string→Integer | enable=1, disable=2 |
|
|
92
|
+
| --code / -c | currencyCode | string→String | 3位字母 |
|
|
93
|
+
| --name / -n | currencyName | string→String | - |
|
|
94
|
+
|
|
95
|
+
## 2.5 错误码引用
|
|
96
|
+
|
|
97
|
+
### ExceptionEnum位置
|
|
98
|
+
```
|
|
99
|
+
coffee-liberica-end/
|
|
100
|
+
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/exception/enums/CurrencyExceptionEnum.java
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 已知错误码
|
|
104
|
+
| 错误码 | 错误消息 | 触发条件 |
|
|
105
|
+
|--------|----------|----------|
|
|
106
|
+
| CURRENCY_NOT_EXIST | 币种不存在 | 查询/编辑/删除时ID不存在 |
|
|
107
|
+
| CURRENCY_CODE_DUPLICATE | 币种编码重复 | 创建/编辑时编码已存在 |
|
|
108
|
+
|
|
109
|
+
## 2.6 权限检查
|
|
110
|
+
|
|
111
|
+
| 检查项 | 位置 | 说明 |
|
|
112
|
+
|--------|------|------|
|
|
113
|
+
| 注解 | 无需权限 | 登录用户可访问 |
|
|
114
|
+
|
|
115
|
+
## 2.7 实现要点
|
|
116
|
+
|
|
117
|
+
1. **分页默认值**:page=1, size=20
|
|
118
|
+
2. **分页转换**:CLI使用1-based页码,API使用0-based页码(调用时需减1)
|
|
119
|
+
3. **编码格式**:currencyCode 为3位字母编码(ISO 4217标准,如 CNY, USD, EUR)
|
|
120
|
+
4. **状态映射**:CLI参数 `enable`/`disable` 映射到 API 值 `1`/`2`
|
|
121
|
+
5. **无结果处理**:返回空列表,不抛出异常
|
|
122
|
+
6. **tenantId来源**:来自 JWT token(无需 X-TENANT-ID header)
|
|
123
|
+
7. **输出格式**:表格形式展示,分页信息在底部显示
|
|
124
|
+
8. **API路径**:GET `/api/enterprise/finance/currency/page`
|
|
125
|
+
|
|
126
|
+
## 2.8 示例用法
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# 默认分页
|
|
130
|
+
barista liberica currency list
|
|
131
|
+
|
|
132
|
+
# 指定页码和每页条数
|
|
133
|
+
barista liberica currency list --page 2 --size 50
|
|
134
|
+
|
|
135
|
+
# 按状态筛选
|
|
136
|
+
barista liberica currency list --status enable
|
|
137
|
+
|
|
138
|
+
# 按编码筛选
|
|
139
|
+
barista liberica currency list --code "CNY"
|
|
140
|
+
|
|
141
|
+
# 按名称搜索
|
|
142
|
+
barista liberica currency list --name "人民币"
|
|
143
|
+
|
|
144
|
+
# 组合筛选
|
|
145
|
+
barista liberica currency list --page 1 --size 10 --status enable --code "CNY"
|
|
146
|
+
|
|
147
|
+
# JSON 输出(便于脚本处理)
|
|
148
|
+
barista liberica currency list --page 1 --size 20 --json
|
|
149
|
+
```
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# barista liberica currency update
|
|
2
|
+
|
|
3
|
+
更新币种信息。
|
|
4
|
+
|
|
5
|
+
## 2.1 命令元数据
|
|
6
|
+
|
|
7
|
+
| 字段 | 值 |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| 完整命令 | `barista liberica currency update <currency-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/finance/
|
|
22
|
+
└── FinanceCurrencyController.java
|
|
23
|
+
└── editCurrency(@PostResource(path = "/edit"))
|
|
24
|
+
└── public ResponseData<CurrencyResponse> editCurrency(
|
|
25
|
+
@RequestBody @Validated CurrencyRequest request
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Request DTO位置
|
|
30
|
+
```
|
|
31
|
+
coffee-liberica-end/
|
|
32
|
+
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/pojo/request/CurrencyRequest.java
|
|
33
|
+
├── currencyId: String (@NotBlank)
|
|
34
|
+
├── currencyCode: String (@NotBlank, 3位编码)
|
|
35
|
+
├── currencyName: String (@NotBlank)
|
|
36
|
+
├── currencySign: String (符号)
|
|
37
|
+
└── statusFlag: Integer (1=启用, 2=禁用)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Response DTO位置
|
|
41
|
+
```
|
|
42
|
+
coffee-liberica-end/
|
|
43
|
+
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/pojo/response/CurrencyResponse.java
|
|
44
|
+
├── currencyId: String
|
|
45
|
+
├── currencyCode: String
|
|
46
|
+
├── currencyName: String
|
|
47
|
+
├── currencySign: String
|
|
48
|
+
├── statusFlag: Integer
|
|
49
|
+
├── createTime: String
|
|
50
|
+
└── updateTime: String
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 2.3 CLI参数设计
|
|
54
|
+
|
|
55
|
+
### 命令结构
|
|
56
|
+
```
|
|
57
|
+
barista liberica currency update <currency-id> [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
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
70
|
+
|------|------|------|------|
|
|
71
|
+
| currency-id | string | ✅ | 币种ID |
|
|
72
|
+
|
|
73
|
+
### 命令选项
|
|
74
|
+
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
75
|
+
|------|--------|------|------|--------|------|-------------|
|
|
76
|
+
| --currency-id | -i | string | ⬜ | - | 币种ID(与位置参数互斥) | currencyId |
|
|
77
|
+
| --code | -c | string | ✅ | - | 币种编码(3位) | currencyCode |
|
|
78
|
+
| --name | -n | string | ✅ | - | 币种名称 | currencyName |
|
|
79
|
+
| --sign | -S | string | ⬜ | - | 币种符号 | currencySign |
|
|
80
|
+
|
|
81
|
+
## 2.4 字段映射表
|
|
82
|
+
|
|
83
|
+
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
84
|
+
|---------|---------|----------|----------|
|
|
85
|
+
| currency-id (位置参数) | currencyId | string→String | @NotBlank |
|
|
86
|
+
| --currency-id / -i | currencyId | string→String | @NotBlank |
|
|
87
|
+
| --code / -c | currencyCode | string→String | @NotBlank, 3位字母 |
|
|
88
|
+
| --name / -n | currencyName | string→String | @NotBlank, max=255 |
|
|
89
|
+
| --sign / -S | currencySign | string→String | max=10 |
|
|
90
|
+
|
|
91
|
+
## 2.5 错误码引用
|
|
92
|
+
|
|
93
|
+
### ExceptionEnum位置
|
|
94
|
+
```
|
|
95
|
+
coffee-liberica-end/
|
|
96
|
+
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/exception/enums/CurrencyExceptionEnum.java
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 已知错误码
|
|
100
|
+
| 错误码 | 错误消息 | 触发条件 |
|
|
101
|
+
|--------|----------|----------|
|
|
102
|
+
| CURRENCY_NOT_EXIST | 币种不存在 | 币种不存在 |
|
|
103
|
+
| CURRENCY_CODE_DUPLICATE | 币种编码重复 | 编码重复 |
|
|
104
|
+
| CURRENCY_CODE_EMPTY | 币种编码不能为空 | 编码为空 |
|
|
105
|
+
| CURRENCY_NAME_EMPTY | 币种名称不能为空 | 名称为空 |
|
|
106
|
+
|
|
107
|
+
## 2.6 权限检查
|
|
108
|
+
|
|
109
|
+
| 检查项 | 位置 | 说明 |
|
|
110
|
+
|--------|------|------|
|
|
111
|
+
| 注解 | FinanceCurrencyController.java | 需要 `finance_currency:edit` 权限 |
|
|
112
|
+
|
|
113
|
+
## 2.7 实现要点
|
|
114
|
+
|
|
115
|
+
1. **ID必填**:currencyId为必填参数(位置参数或 --currency-id 选项)
|
|
116
|
+
2. **必填字段**:currencyCode 和 currencyName 为必填参数(通常需要先获取现有值再修改)
|
|
117
|
+
3. **dry-run 支持**:支持 `--dry-run` 预览模式,显示将要更新的字段变化
|
|
118
|
+
4. **完整更新**:后端可能是完整更新模式,需要提供所有字段值
|
|
119
|
+
5. **建议用法**:先执行 `barista liberica currency get <id>` 获取当前值,再更新指定字段
|
|
120
|
+
6. **API路径**:POST `/api/enterprise/finance/currency/edit`
|
|
121
|
+
7. **成功响应**:返回更新后的币种详情
|
|
122
|
+
|
|
123
|
+
## 2.8 示例用法
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# 更新币种(通过位置参数)
|
|
127
|
+
barista liberica currency update "1234567890123456789" --code "CNY" --name "人民币"
|
|
128
|
+
|
|
129
|
+
# 更新币种(通过选项参数)
|
|
130
|
+
barista liberica currency update --currency-id "1234567890123456789" --code "CNY" --name "人民币"
|
|
131
|
+
barista liberica currency update -i "1234567890123456789" -c "CNY" -n "人民币"
|
|
132
|
+
|
|
133
|
+
# 更新符号
|
|
134
|
+
barista liberica currency update "1234567890123456789" --code "USD" --name "美元" --sign "$"
|
|
135
|
+
|
|
136
|
+
# 预览模式(dry-run)
|
|
137
|
+
barista liberica currency update "1234567890123456789" --code "EUR" --name "欧元" --dry-run
|
|
138
|
+
|
|
139
|
+
# JSON 输出
|
|
140
|
+
barista liberica currency update "1234567890123456789" --code "CNY" --name "人民币" --json
|
|
141
|
+
```
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# barista liberica locations create
|
|
2
|
+
|
|
3
|
+
Create a new warehouse location.
|
|
4
|
+
|
|
5
|
+
## 2.1 Command Metadata
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| Full Command | `barista liberica locations create` |
|
|
10
|
+
| Description | Create a new warehouse location |
|
|
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/stock/
|
|
22
|
+
└── EnterpriseWarehouseLocationController.java
|
|
23
|
+
└── add(@PostResource(path = "/add", requiredPermission = true, requirePermissionCode = MasterWarehouseLocationPermissionConstants.ADD_MASTER_WAREHOUSE_LOCATION))
|
|
24
|
+
└── public ResponseData<MasterWarehouseLocationResponse> add(
|
|
25
|
+
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
+
@RequestBody @Validated(BaseRequest.add.class) 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 (@NotNull on add)
|
|
37
|
+
├── warehouseLocationCode: String (@NotBlank on add, max=255)
|
|
38
|
+
├── warehouseLocationName: String (max=255)
|
|
39
|
+
├── statusFlag: Integer
|
|
40
|
+
└── remark: String (max=255)
|
|
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 create [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
|
+
| `--dry-run` | boolean | Preview mode (no actual API call) |
|
|
70
|
+
| `--json` | boolean | JSON output |
|
|
71
|
+
|
|
72
|
+
### Command Options
|
|
73
|
+
| Option | Short | Type | Required | Default | Description | Maps to DTO Field |
|
|
74
|
+
|------|--------|------|------|--------|------|-------------|
|
|
75
|
+
| --warehouse-id | -w | string | Yes | - | Parent warehouse ID | warehouseId |
|
|
76
|
+
| --code | -c | string | Yes | - | Location code | warehouseLocationCode |
|
|
77
|
+
| --name | -n | string | Yes | - | Location name | warehouseLocationName |
|
|
78
|
+
| --status | -s | number | No | 1 | Status (1=enable, 2=disable) | statusFlag |
|
|
79
|
+
| --remark | -r | string | No | - | Remarks | remark |
|
|
80
|
+
|
|
81
|
+
## 2.4 Field Mapping Table
|
|
82
|
+
|
|
83
|
+
| CLI Parameter | DTO Field | Type Conversion | Validation Rule |
|
|
84
|
+
|---------|---------|----------|----------|
|
|
85
|
+
| --warehouse-id / -w | warehouseId | string | @NotNull, max=255 |
|
|
86
|
+
| --code / -c | warehouseLocationCode | Direct | @NotBlank, max=255, unique per warehouse |
|
|
87
|
+
| --name / -n | warehouseLocationName | Direct | max=255 |
|
|
88
|
+
| --status / -s | statusFlag | number | 1 or 2 |
|
|
89
|
+
| --remark / -r | remark | Direct | max=255 |
|
|
90
|
+
|
|
91
|
+
**Auto-Generated Fields:**
|
|
92
|
+
| Field | Value |
|
|
93
|
+
|------|-----|
|
|
94
|
+
| tenantId | From JWT token (do NOT pass X-TENANT-ID header) |
|
|
95
|
+
| statusFlag | Default 1 (enabled) when not provided |
|
|
96
|
+
|
|
97
|
+
## 2.5 Error Code Reference
|
|
98
|
+
|
|
99
|
+
### ExceptionEnum Location
|
|
100
|
+
```
|
|
101
|
+
coffee-liberica-end/
|
|
102
|
+
└── business/liberica-business-master/master-api/
|
|
103
|
+
└── src/main/java/com/newpeak/liberica/master/api/exception/enums/
|
|
104
|
+
└── MasterWarehouseLocationExceptionEnum.java
|
|
105
|
+
├── MASTER_WAREHOUSE_LOCATION_NOT_EXIST("01001380001", "租户仓位不存在")
|
|
106
|
+
├── MASTER_WAREHOUSE_LOCATION_CODE_FORMAT_CANNOT_EMPTY("01001380002", "仓位编码规则不能为空")
|
|
107
|
+
└── MASTER_WAREHOUSE_LOCATION_CODE_FORMAT_NOT_CORRECT("01001380003", "仓位编码规则格式不正确")
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Known Error Codes
|
|
111
|
+
| Error Code | Error Message | Trigger Condition |
|
|
112
|
+
|--------|----------|----------|
|
|
113
|
+
| 01001380001 | Location does not exist | Edit/detail with non-existent ID |
|
|
114
|
+
| 01001380002 | Location code format cannot be empty | Auto-generation rule not configured |
|
|
115
|
+
| 01001380003 | Location code format incorrect | Invalid code format pattern |
|
|
116
|
+
|
|
117
|
+
## 2.6 Permission Check
|
|
118
|
+
|
|
119
|
+
| Check Item | Location | Description |
|
|
120
|
+
|--------|------|------|
|
|
121
|
+
| PermissionConstants | `MasterWarehouseLocationPermissionConstants.ADD_MASTER_WAREHOUSE_LOCATION` | Controller layer `@PostResource(requirePermissionCode = "ADD_MASTER_WAREHOUSE_LOCATION")` |
|
|
122
|
+
|
|
123
|
+
## 2.7 Implementation Notes
|
|
124
|
+
|
|
125
|
+
1. **Required Fields**: `--warehouse-id`, `--code`, and `--name` must be provided.
|
|
126
|
+
2. **Manual Code**: `warehouseLocationCode` is NOT auto-generated. Must be unique within the warehouse.
|
|
127
|
+
3. **Dry-Run Support**: Use `--dry-run` to preview request without calling API.
|
|
128
|
+
4. **Status Default**: `--status` defaults to 1 (enabled).
|
|
129
|
+
5. **No Batch Create**: This command does NOT support batch creation (one location per call). Use `barista liberica locations batch-create` for bulk operations if implemented separately.
|
|
130
|
+
6. **BigInteger IDs**: `warehouseLocationId` and `warehouseId` in response must be parsed as `string` in TypeScript to avoid precision loss.
|
|
131
|
+
|
|
132
|
+
## 2.8 Example Usage
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Create with minimal required fields
|
|
136
|
+
barista liberica locations create \
|
|
137
|
+
--warehouse-id "1234567890123456789" \
|
|
138
|
+
--code "A-01-01" \
|
|
139
|
+
--name "Shelf A-01-01"
|
|
140
|
+
|
|
141
|
+
# Create with all options
|
|
142
|
+
barista liberica locations create \
|
|
143
|
+
--warehouse-id "1234567890123456789" \
|
|
144
|
+
--code "B-02-03" \
|
|
145
|
+
--name "Bin B-02-03" \
|
|
146
|
+
--status 1 \
|
|
147
|
+
--remark "High-priority picking zone"
|
|
148
|
+
|
|
149
|
+
# Create disabled location
|
|
150
|
+
barista liberica locations create \
|
|
151
|
+
--warehouse-id "1234567890123456789" \
|
|
152
|
+
--code "C-99-99" \
|
|
153
|
+
--name "Reserved" \
|
|
154
|
+
--status 2
|
|
155
|
+
|
|
156
|
+
# Dry-run to preview
|
|
157
|
+
barista liberica locations create \
|
|
158
|
+
--warehouse-id "1234567890123456789" \
|
|
159
|
+
--code "TEST-01" \
|
|
160
|
+
--name "Test Location" \
|
|
161
|
+
--dry-run
|
|
162
|
+
|
|
163
|
+
# JSON output
|
|
164
|
+
barista liberica locations create \
|
|
165
|
+
--warehouse-id "1234567890123456789" \
|
|
166
|
+
--code "D-04-01" \
|
|
167
|
+
--name "Dock D-04-01" \
|
|
168
|
+
--json
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## 2.9 Request Body Structure
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"warehouseId": "1234567890123456789",
|
|
176
|
+
"warehouseLocationCode": "A-01-01",
|
|
177
|
+
"warehouseLocationName": "Shelf A-01-01",
|
|
178
|
+
"statusFlag": 1,
|
|
179
|
+
"remark": "High-priority picking zone"
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## 2.10 API Path
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
POST /api/enterprise/purchases/warehouse/location/add
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Headers:**
|
|
190
|
+
```
|
|
191
|
+
Authorization: <token> (No "Bearer " prefix)
|
|
192
|
+
Content-Type: application/json
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Note**: Do NOT include `X-TENANT-ID` header. Tenant is extracted from JWT token.
|
|
@@ -0,0 +1,171 @@
|
|
|
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.
|