@newpeak/barista-cli 0.1.9 → 0.1.10
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/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/teams/index.d.ts +3 -0
- package/dist/commands/liberica/teams/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/index.js +15 -0
- package/dist/commands/liberica/teams/index.js.map +1 -0
- package/dist/commands/liberica/teams/issues/close.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/close.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/close.js +99 -0
- package/dist/commands/liberica/teams/issues/close.js.map +1 -0
- package/dist/commands/liberica/teams/issues/create.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/create.js +255 -0
- package/dist/commands/liberica/teams/issues/create.js.map +1 -0
- package/dist/commands/liberica/teams/issues/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/delete.js +55 -0
- package/dist/commands/liberica/teams/issues/delete.js.map +1 -0
- package/dist/commands/liberica/teams/issues/get.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/get.js +68 -0
- package/dist/commands/liberica/teams/issues/get.js.map +1 -0
- package/dist/commands/liberica/teams/issues/index.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/index.js +19 -0
- package/dist/commands/liberica/teams/issues/index.js.map +1 -0
- package/dist/commands/liberica/teams/issues/list.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/list.js +111 -0
- package/dist/commands/liberica/teams/issues/list.js.map +1 -0
- package/dist/commands/liberica/teams/issues/update.d.ts +3 -0
- package/dist/commands/liberica/teams/issues/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/issues/update.js +132 -0
- package/dist/commands/liberica/teams/issues/update.js.map +1 -0
- package/dist/commands/liberica/teams/projects/create.d.ts +3 -0
- package/dist/commands/liberica/teams/projects/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/projects/create.js +164 -0
- package/dist/commands/liberica/teams/projects/create.js.map +1 -0
- package/dist/commands/liberica/teams/projects/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/projects/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/projects/delete.js +55 -0
- package/dist/commands/liberica/teams/projects/delete.js.map +1 -0
- package/dist/commands/liberica/teams/projects/get.d.ts +3 -0
- package/dist/commands/liberica/teams/projects/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/projects/get.js +77 -0
- package/dist/commands/liberica/teams/projects/get.js.map +1 -0
- package/dist/commands/liberica/teams/projects/index.d.ts +3 -0
- package/dist/commands/liberica/teams/projects/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/projects/index.js +17 -0
- package/dist/commands/liberica/teams/projects/index.js.map +1 -0
- package/dist/commands/liberica/teams/projects/list.d.ts +3 -0
- package/dist/commands/liberica/teams/projects/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/projects/list.js +115 -0
- package/dist/commands/liberica/teams/projects/list.js.map +1 -0
- package/dist/commands/liberica/teams/projects/update.d.ts +3 -0
- package/dist/commands/liberica/teams/projects/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/projects/update.js +115 -0
- package/dist/commands/liberica/teams/projects/update.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/create.d.ts +3 -0
- package/dist/commands/liberica/teams/tasks/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/tasks/create.js +88 -0
- package/dist/commands/liberica/teams/tasks/create.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/tasks/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/tasks/delete.js +73 -0
- package/dist/commands/liberica/teams/tasks/delete.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/get.d.ts +3 -0
- package/dist/commands/liberica/teams/tasks/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/tasks/get.js +51 -0
- package/dist/commands/liberica/teams/tasks/get.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/index.d.ts +3 -0
- package/dist/commands/liberica/teams/tasks/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/tasks/index.js +17 -0
- package/dist/commands/liberica/teams/tasks/index.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/list.d.ts +3 -0
- package/dist/commands/liberica/teams/tasks/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/tasks/list.js +82 -0
- package/dist/commands/liberica/teams/tasks/list.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/update.d.ts +3 -0
- package/dist/commands/liberica/teams/tasks/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/tasks/update.js +114 -0
- package/dist/commands/liberica/teams/tasks/update.js.map +1 -0
- package/dist/commands/liberica/teams/work-logs/create.d.ts +3 -0
- package/dist/commands/liberica/teams/work-logs/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/work-logs/create.js +183 -0
- package/dist/commands/liberica/teams/work-logs/create.js.map +1 -0
- package/dist/commands/liberica/teams/work-logs/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/work-logs/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/work-logs/delete.js +55 -0
- package/dist/commands/liberica/teams/work-logs/delete.js.map +1 -0
- package/dist/commands/liberica/teams/work-logs/get.d.ts +3 -0
- package/dist/commands/liberica/teams/work-logs/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/work-logs/get.js +77 -0
- package/dist/commands/liberica/teams/work-logs/get.js.map +1 -0
- package/dist/commands/liberica/teams/work-logs/index.d.ts +3 -0
- package/dist/commands/liberica/teams/work-logs/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/work-logs/index.js +17 -0
- package/dist/commands/liberica/teams/work-logs/index.js.map +1 -0
- package/dist/commands/liberica/teams/work-logs/list.d.ts +3 -0
- package/dist/commands/liberica/teams/work-logs/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/work-logs/list.js +109 -0
- package/dist/commands/liberica/teams/work-logs/list.js.map +1 -0
- package/dist/commands/liberica/teams/work-logs/update.d.ts +3 -0
- package/dist/commands/liberica/teams/work-logs/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/work-logs/update.js +105 -0
- package/dist/commands/liberica/teams/work-logs/update.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/batch-delete.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/batch-delete.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/batch-delete.js +147 -0
- package/dist/commands/liberica/transfer-in-forms/batch-delete.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/batch-review.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/batch-review.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/batch-review.js +146 -0
- package/dist/commands/liberica/transfer-in-forms/batch-review.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/batch-unreview.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/batch-unreview.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/batch-unreview.js +147 -0
- package/dist/commands/liberica/transfer-in-forms/batch-unreview.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/create.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/create.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/create.js +168 -0
- package/dist/commands/liberica/transfer-in-forms/create.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/get.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/get.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/get.js +94 -0
- package/dist/commands/liberica/transfer-in-forms/get.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/index.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/index.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/index.js +21 -0
- package/dist/commands/liberica/transfer-in-forms/index.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/list.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/list.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/list.js +94 -0
- package/dist/commands/liberica/transfer-in-forms/list.js.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/update.d.ts +3 -0
- package/dist/commands/liberica/transfer-in-forms/update.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-in-forms/update.js +206 -0
- package/dist/commands/liberica/transfer-in-forms/update.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/batch-delete.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/batch-delete.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/batch-delete.js +80 -0
- package/dist/commands/liberica/transfer-out-forms/batch-delete.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/batch-review.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/batch-review.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/batch-review.js +142 -0
- package/dist/commands/liberica/transfer-out-forms/batch-review.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/batch-unreview.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/batch-unreview.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/batch-unreview.js +53 -0
- package/dist/commands/liberica/transfer-out-forms/batch-unreview.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/create.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/create.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/create.js +191 -0
- package/dist/commands/liberica/transfer-out-forms/create.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/get.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/get.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/get.js +87 -0
- package/dist/commands/liberica/transfer-out-forms/get.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/index.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/index.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/index.js +21 -0
- package/dist/commands/liberica/transfer-out-forms/index.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/list.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/list.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/list.js +118 -0
- package/dist/commands/liberica/transfer-out-forms/list.js.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/update.d.ts +3 -0
- package/dist/commands/liberica/transfer-out-forms/update.d.ts.map +1 -0
- package/dist/commands/liberica/transfer-out-forms/update.js +197 -0
- package/dist/commands/liberica/transfer-out-forms/update.js.map +1 -0
- package/dist/core/api/client.d.ts +42 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +798 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/team-issue.d.ts +87 -0
- package/dist/types/team-issue.d.ts.map +1 -0
- package/dist/types/team-issue.js +2 -0
- package/dist/types/team-issue.js.map +1 -0
- package/dist/types/team-project.d.ts +68 -0
- package/dist/types/team-project.d.ts.map +1 -0
- package/dist/types/team-project.js +2 -0
- package/dist/types/team-project.js.map +1 -0
- package/dist/types/team-task.d.ts +91 -0
- package/dist/types/team-task.d.ts.map +1 -0
- package/dist/types/team-task.js +2 -0
- package/dist/types/team-task.js.map +1 -0
- package/dist/types/team-work-log.d.ts +81 -0
- package/dist/types/team-work-log.d.ts.map +1 -0
- package/dist/types/team-work-log.js +2 -0
- package/dist/types/team-work-log.js.map +1 -0
- package/dist/types/transfer-in-form.d.ts +242 -0
- package/dist/types/transfer-in-form.d.ts.map +1 -0
- package/dist/types/transfer-in-form.js +2 -0
- package/dist/types/transfer-in-form.js.map +1 -0
- package/dist/types/transfer-out-form.d.ts +252 -0
- package/dist/types/transfer-out-form.d.ts.map +1 -0
- package/dist/types/transfer-out-form.js +4 -0
- package/dist/types/transfer-out-form.js.map +1 -0
- package/docs/commands/liberica/teams/issues/close.md +161 -0
- package/docs/commands/liberica/teams/issues/create.md +212 -0
- package/docs/commands/liberica/teams/issues/delete.md +179 -0
- package/docs/commands/liberica/teams/issues/get.md +167 -0
- package/docs/commands/liberica/teams/issues/list.md +182 -0
- package/docs/commands/liberica/teams/issues/tests-design.md +341 -0
- package/docs/commands/liberica/teams/issues/update.md +202 -0
- package/docs/commands/liberica/teams/projects/create.md +174 -0
- package/docs/commands/liberica/teams/projects/delete.md +180 -0
- package/docs/commands/liberica/teams/projects/get.md +150 -0
- package/docs/commands/liberica/teams/projects/list.md +179 -0
- package/docs/commands/liberica/teams/projects/update.md +175 -0
- package/docs/commands/liberica/teams/tasks/create.md +163 -0
- package/docs/commands/liberica/teams/tasks/delete.md +109 -0
- package/docs/commands/liberica/teams/tasks/get.md +121 -0
- package/docs/commands/liberica/teams/tasks/list.md +148 -0
- package/docs/commands/liberica/teams/tasks/update.md +158 -0
- package/docs/commands/liberica/teams/work-logs/create.md +151 -0
- package/docs/commands/liberica/teams/work-logs/delete.md +130 -0
- package/docs/commands/liberica/teams/work-logs/get.md +131 -0
- package/docs/commands/liberica/teams/work-logs/list.md +153 -0
- package/docs/commands/liberica/teams/work-logs/update.md +150 -0
- package/docs/commands/liberica/transfer-in-forms/batch-delete.md +157 -0
- package/docs/commands/liberica/transfer-in-forms/batch-review.md +157 -0
- package/docs/commands/liberica/transfer-in-forms/batch-unreview.md +157 -0
- package/docs/commands/liberica/transfer-in-forms/create.md +220 -0
- package/docs/commands/liberica/transfer-in-forms/get.md +221 -0
- package/docs/commands/liberica/transfer-in-forms/list.md +242 -0
- package/docs/commands/liberica/transfer-in-forms/update.md +185 -0
- package/docs/commands/liberica/transfer-out-forms/batch-delete.md +187 -0
- package/docs/commands/liberica/transfer-out-forms/batch-review.md +157 -0
- package/docs/commands/liberica/transfer-out-forms/batch-unreview.md +157 -0
- package/docs/commands/liberica/transfer-out-forms/create.md +280 -0
- package/docs/commands/liberica/transfer-out-forms/get.md +211 -0
- package/docs/commands/liberica/transfer-out-forms/list.md +233 -0
- package/docs/commands/liberica/transfer-out-forms/update.md +286 -0
- package/package.json +1 -1
- package/src/commands/liberica/index.ts +8 -1
- package/src/commands/liberica/teams/index.ts +17 -0
- package/src/commands/liberica/teams/issues/close.ts +104 -0
- package/src/commands/liberica/teams/issues/create.ts +254 -0
- package/src/commands/liberica/teams/issues/delete.ts +58 -0
- package/src/commands/liberica/teams/issues/get.ts +78 -0
- package/src/commands/liberica/teams/issues/index.ts +21 -0
- package/src/commands/liberica/teams/issues/list.ts +144 -0
- package/src/commands/liberica/teams/issues/update.ts +141 -0
- package/src/commands/liberica/teams/projects/create.ts +159 -0
- package/src/commands/liberica/teams/projects/delete.ts +58 -0
- package/src/commands/liberica/teams/projects/get.ts +87 -0
- package/src/commands/liberica/teams/projects/index.ts +19 -0
- package/src/commands/liberica/teams/projects/list.ts +147 -0
- package/src/commands/liberica/teams/projects/update.ts +117 -0
- package/src/commands/liberica/teams/tasks/create.ts +102 -0
- package/src/commands/liberica/teams/tasks/delete.ts +92 -0
- package/src/commands/liberica/teams/tasks/get.ts +64 -0
- package/src/commands/liberica/teams/tasks/index.ts +19 -0
- package/src/commands/liberica/teams/tasks/list.ts +102 -0
- package/src/commands/liberica/teams/tasks/update.ts +122 -0
- package/src/commands/liberica/teams/work-logs/create.ts +204 -0
- package/src/commands/liberica/teams/work-logs/delete.ts +58 -0
- package/src/commands/liberica/teams/work-logs/get.ts +87 -0
- package/src/commands/liberica/teams/work-logs/index.ts +19 -0
- package/src/commands/liberica/teams/work-logs/list.ts +141 -0
- package/src/commands/liberica/teams/work-logs/update.ts +120 -0
- package/src/commands/liberica/transfer-in-forms/batch-delete.ts +152 -0
- package/src/commands/liberica/transfer-in-forms/batch-review.ts +151 -0
- package/src/commands/liberica/transfer-in-forms/batch-unreview.ts +152 -0
- package/src/commands/liberica/transfer-in-forms/create.ts +179 -0
- package/src/commands/liberica/transfer-in-forms/get.ts +107 -0
- package/src/commands/liberica/transfer-in-forms/index.ts +23 -0
- package/src/commands/liberica/transfer-in-forms/list.ts +97 -0
- package/src/commands/liberica/transfer-in-forms/update.ts +213 -0
- package/src/commands/liberica/transfer-out-forms/batch-delete.ts +83 -0
- package/src/commands/liberica/transfer-out-forms/batch-review.ts +148 -0
- package/src/commands/liberica/transfer-out-forms/batch-unreview.ts +56 -0
- package/src/commands/liberica/transfer-out-forms/create.ts +194 -0
- package/src/commands/liberica/transfer-out-forms/get.ts +114 -0
- package/src/commands/liberica/transfer-out-forms/index.ts +23 -0
- package/src/commands/liberica/transfer-out-forms/list.ts +125 -0
- package/src/commands/liberica/transfer-out-forms/update.ts +197 -0
- package/src/core/api/client.ts +1218 -190
- package/src/index.ts +1 -1
- package/src/types/index.ts +5 -0
- package/src/types/team-issue.ts +94 -0
- package/src/types/team-project.ts +74 -0
- package/src/types/team-task.ts +98 -0
- package/src/types/team-work-log.ts +87 -0
- package/src/types/transfer-in-form.ts +265 -0
- package/src/types/transfer-out-form.ts +290 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# barista liberica transfer-out-forms list
|
|
2
|
+
|
|
3
|
+
Paginated query of transfer-out form line items.
|
|
4
|
+
|
|
5
|
+
## 2.1 Command Metadata
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| Full Command | `barista liberica transfer-out-forms list` |
|
|
10
|
+
| Description | Paginated query of transfer-out form line items |
|
|
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
|
+
└── EnterpriseTransferOutFormController.java
|
|
23
|
+
└── page(@GetResource(path = "/page"))
|
|
24
|
+
└── public ResponseData<PageResult<TransferOutFormCompactResponse>> page(
|
|
25
|
+
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
+
@ParameterObject TransferOutFormCompactQueryRequest transferOutFormCompactQueryRequest
|
|
27
|
+
)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Request DTO Location
|
|
31
|
+
```
|
|
32
|
+
coffee-liberica-end/
|
|
33
|
+
└── business/liberica-business-stock/stock-api/
|
|
34
|
+
└── src/main/java/com/newpeak/liberica/stock/api/pojo/request/
|
|
35
|
+
└── TransferOutFormCompactQueryRequest.java
|
|
36
|
+
├── current: Long (page number, 0-based)
|
|
37
|
+
├── size: Long (page size)
|
|
38
|
+
├── transferOutFormCode: String
|
|
39
|
+
├── warehouseCode: String
|
|
40
|
+
├── materialCode: String
|
|
41
|
+
├── materialName: String
|
|
42
|
+
├── stockDate: Date
|
|
43
|
+
├── stockDateCriteria: DateRange
|
|
44
|
+
├── transferOutType: String
|
|
45
|
+
├── reviewFlag: String
|
|
46
|
+
├── reviewerName: String
|
|
47
|
+
├── followerName: String
|
|
48
|
+
└── sourceCode: String
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Response DTO Location
|
|
52
|
+
```
|
|
53
|
+
coffee-liberica-end/
|
|
54
|
+
└── business/liberica-business-stock/stock-api/
|
|
55
|
+
└── src/main/java/com/newpeak/liberica/stock/api/pojo/response/
|
|
56
|
+
└── TransferOutFormCompactResponse.java
|
|
57
|
+
├── transferOutFormItemId: Long
|
|
58
|
+
├── transferOutFormItemCode: String
|
|
59
|
+
├── transferOutFormId: Long
|
|
60
|
+
├── transferOutFormCode: String
|
|
61
|
+
├── warehouseCode: String
|
|
62
|
+
├── materialCode: String
|
|
63
|
+
├── materialName: String
|
|
64
|
+
├── materialType: String
|
|
65
|
+
├── materialUomCode: String
|
|
66
|
+
├── formQuantity: BigDecimal
|
|
67
|
+
├── formMaterialUomCode: String
|
|
68
|
+
├── stockQuantity: BigDecimal
|
|
69
|
+
├── unitPrice: BigDecimal
|
|
70
|
+
├── stockAmount: BigDecimal
|
|
71
|
+
├── stockDate: Date
|
|
72
|
+
├── transferOutType: String
|
|
73
|
+
├── reviewFlag: String
|
|
74
|
+
├── reviewerName: String
|
|
75
|
+
├── followerName: String
|
|
76
|
+
├── createTime: String
|
|
77
|
+
└── updateTime: String
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Pagination Wrapper
|
|
81
|
+
```
|
|
82
|
+
cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult
|
|
83
|
+
├── total: long
|
|
84
|
+
├── size: long
|
|
85
|
+
├── current: long
|
|
86
|
+
└── records: List<TransferOutFormCompactResponse>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 2.3 CLI Parameter Design
|
|
90
|
+
|
|
91
|
+
### Command Structure
|
|
92
|
+
```
|
|
93
|
+
barista liberica transfer-out-forms list [options]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Global Options
|
|
97
|
+
| Option | Type | Description |
|
|
98
|
+
|------|------|------|
|
|
99
|
+
| `--env` | string | Target environment (dev\|test\|prod-cn\|prod-jp) |
|
|
100
|
+
| `--tenant` | string | Tenant code |
|
|
101
|
+
| `--json` | boolean | JSON output |
|
|
102
|
+
|
|
103
|
+
### Command Options
|
|
104
|
+
| Option | Short | Type | Required | Default | Description | Maps to DTO Field |
|
|
105
|
+
|------|--------|------|------|--------|------|-------------|
|
|
106
|
+
| --page | -p | number | No | 1 | Page number (1-based) | current |
|
|
107
|
+
| --size | -s | number | No | 20 | Page size | size |
|
|
108
|
+
| --code | -c | string | No | - | Transfer-out form code | transferOutFormCode |
|
|
109
|
+
| --warehouse-code | -w | string | No | - | Warehouse code | warehouseCode |
|
|
110
|
+
| --material-code | -m | string | No | - | Material code | materialCode |
|
|
111
|
+
| --material-name | -n | string | No | - | Material name (fuzzy) | materialName |
|
|
112
|
+
| --review-flag | -r | string | No | - | Review flag | reviewFlag |
|
|
113
|
+
| --stock-date-start | — | string | No | - | Stock date start (YYYY-MM-DD) | stockDateCriteria.start |
|
|
114
|
+
| --stock-date-end | — | string | No | - | Stock date end (YYYY-MM-DD) | stockDateCriteria.end |
|
|
115
|
+
| --follower-name | -f | string | No | - | Follower name | followerName |
|
|
116
|
+
|
|
117
|
+
## 2.4 Field Mapping Table
|
|
118
|
+
|
|
119
|
+
| CLI Parameter | DTO Field | Type Conversion | Validation Rule |
|
|
120
|
+
|---------|---------|----------|----------|
|
|
121
|
+
| --page / -p | current | number→Long | >= 1, CLI page 1 maps to API page 0 |
|
|
122
|
+
| --size / -s | size | number→Long | 1-100 |
|
|
123
|
+
| --code / -c | transferOutFormCode | Direct | max=255 |
|
|
124
|
+
| --warehouse-code / -w | warehouseCode | Direct | max=255 |
|
|
125
|
+
| --material-code / -m | materialCode | Direct | max=255 |
|
|
126
|
+
| --material-name / -n | materialName | Direct | fuzzy match |
|
|
127
|
+
| --review-flag / -r | reviewFlag | Direct | enum validation |
|
|
128
|
+
| --stock-date-start | stockDateCriteria.start | string→Date | yyyy-MM-dd |
|
|
129
|
+
| --stock-date-end | stockDateCriteria.end | string→Date | yyyy-MM-dd |
|
|
130
|
+
| --follower-name / -f | followerName | Direct | max=255 |
|
|
131
|
+
|
|
132
|
+
## 2.5 Error Code Reference
|
|
133
|
+
|
|
134
|
+
### ExceptionEnum Location
|
|
135
|
+
```
|
|
136
|
+
coffee-liberica-end/
|
|
137
|
+
└── business/liberica-business-stock/stock-api/
|
|
138
|
+
└── src/main/java/com/newpeak/liberica/stock/api/exception/enums/
|
|
139
|
+
└── TransferOutFormExceptionEnum.java
|
|
140
|
+
├── TRANSFER_OUT_FORM_NOT_EXIST("01001190001", "租户出库单不存在")
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Known Error Codes
|
|
144
|
+
| Error Code | Error Message | Trigger Condition |
|
|
145
|
+
|--------|----------|----------|
|
|
146
|
+
| 01001190001 | Transfer-out form does not exist | Detail with non-existent ID |
|
|
147
|
+
|
|
148
|
+
## 2.6 Permission Check
|
|
149
|
+
|
|
150
|
+
| Check Item | Location | Description |
|
|
151
|
+
|--------|------|------|
|
|
152
|
+
| Annotation | `@GetResource(path = "/page")` | No requiredPermission |
|
|
153
|
+
|
|
154
|
+
## 2.7 Implementation Notes
|
|
155
|
+
|
|
156
|
+
1. **Pagination conversion**: CLI page is 1-based, API page is 0-based. `apiPage = cliPage - 1`.
|
|
157
|
+
2. **No X-TENANT-ID header**: Tenant is extracted from JWT token.
|
|
158
|
+
3. **BigInteger ID handling**: All ID fields (`transferOutFormId`, `transferOutFormItemId`) must be parsed as `string` in TypeScript to avoid precision loss.
|
|
159
|
+
4. **Date range**: When only start or only end is provided, send it as a single `stockDate` instead of `stockDateCriteria`.
|
|
160
|
+
5. **Output format**: Table output with pagination summary at the bottom.
|
|
161
|
+
|
|
162
|
+
## 2.8 Example Usage
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Default pagination
|
|
166
|
+
barista liberica transfer-out-forms list
|
|
167
|
+
|
|
168
|
+
# Page 2 with 50 items per page
|
|
169
|
+
barista liberica transfer-out-forms list --page 2 --size 50
|
|
170
|
+
|
|
171
|
+
# Filter by warehouse and review flag
|
|
172
|
+
barista liberica transfer-out-forms list --warehouse-code WH001 --review-flag reviewed
|
|
173
|
+
|
|
174
|
+
# Filter by date range
|
|
175
|
+
barista liberica transfer-out-forms list --stock-date-start 2025-01-01 --stock-date-end 2025-01-31
|
|
176
|
+
|
|
177
|
+
# JSON output
|
|
178
|
+
barista liberica transfer-out-forms list --page 1 --size 10 --json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 2.9 Output Examples
|
|
182
|
+
|
|
183
|
+
### Table Output
|
|
184
|
+
```
|
|
185
|
+
┌─────────────┬─────────────────────┬──────────────┬──────────────────┬───────────────┬─────────────┬──────────────┐
|
|
186
|
+
│ Item ID │ Form Code │ Warehouse │ Material Name │ Stock Qty │ Review Flag │ Follower │
|
|
187
|
+
├─────────────┼─────────────────────┼──────────────┼──────────────────┼───────────────┼─────────────┼──────────────┤
|
|
188
|
+
│ 1000001 │ TO-2025-0001 │ WH001 │ Coffee Beans A │ 500.00 │ reviewed │ Zhang San │
|
|
189
|
+
│ 1000002 │ TO-2025-0001 │ WH001 │ Coffee Beans B │ 300.00 │ reviewed │ Zhang San │
|
|
190
|
+
│ 1000003 │ TO-2025-0002 │ WH002 │ Filter Paper │ 1000.00 │ pending │ Li Si │
|
|
191
|
+
└─────────────┴─────────────────────┴──────────────┴──────────────────┴───────────────┴─────────────┴──────────────┘
|
|
192
|
+
Total: 3 | Page 1/1 | Size 20
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### JSON Output
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"success": true,
|
|
199
|
+
"data": {
|
|
200
|
+
"items": [
|
|
201
|
+
{
|
|
202
|
+
"transferOutFormItemId": "1000001",
|
|
203
|
+
"transferOutFormCode": "TO-2025-0001",
|
|
204
|
+
"warehouseCode": "WH001",
|
|
205
|
+
"materialName": "Coffee Beans A",
|
|
206
|
+
"stockQuantity": "500.00",
|
|
207
|
+
"materialUomCode": "kg",
|
|
208
|
+
"reviewFlag": "reviewed",
|
|
209
|
+
"followerName": "Zhang San",
|
|
210
|
+
"stockDate": "2025-05-15"
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"pagination": {
|
|
214
|
+
"page": 1,
|
|
215
|
+
"size": 20,
|
|
216
|
+
"total": 3
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## 2.10 API Path
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
GET /api/enterprise/stock/transferOut/page?pageNo=0&pageSize=20
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Headers:**
|
|
229
|
+
```
|
|
230
|
+
Authorization: <token> (No "Bearer " prefix)
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Note**: Do NOT include `X-TENANT-ID` header. Tenant is extracted from JWT token.
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# barista liberica transfer-out-forms update
|
|
2
|
+
|
|
3
|
+
Update an existing transfer-out form.
|
|
4
|
+
|
|
5
|
+
## 2.1 Command Metadata
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|------|-----|
|
|
9
|
+
| Full Command | `barista liberica transfer-out-forms update <id>` |
|
|
10
|
+
| Description | Update an existing transfer-out form |
|
|
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
|
+
└── EnterpriseTransferOutFormController.java
|
|
23
|
+
└── edit(@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = TransferOutFormPermissionConstants.EDIT_TRANSFER_OUT_FORM))
|
|
24
|
+
└── public ResponseData<? extends TransferOutFormResponse> edit(
|
|
25
|
+
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
+
@RequestBody @Validated(BaseRequest.edit.class) TransferOutFormRequest transferOutFormRequest
|
|
27
|
+
)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Request DTO Location
|
|
31
|
+
```
|
|
32
|
+
coffee-liberica-end/
|
|
33
|
+
└── business/liberica-business-stock/stock-api/
|
|
34
|
+
└── src/main/java/com/newpeak/liberica/stock/api/pojo/request/
|
|
35
|
+
└── TransferOutFormRequest.java
|
|
36
|
+
├── transferOutFormId: Long (@NotNull on edit)
|
|
37
|
+
├── warehouseCode: String (@NotBlank on edit, max=255)
|
|
38
|
+
├── stockDate: Date (@NotNull on edit)
|
|
39
|
+
├── transferOutType: String (@NotBlank on edit, max=255)
|
|
40
|
+
├── transferOutFormCode: String (max=255)
|
|
41
|
+
├── follower: String (max=255)
|
|
42
|
+
├── followerName: String (max=255)
|
|
43
|
+
├── remark: String (max=255)
|
|
44
|
+
├── itemList: List<TransferOutFormItemRequest> (@NotEmpty on edit)
|
|
45
|
+
└── lotList: List<TransferOutFormLotRequest>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**TransferOutFormItemRequest (required fields on edit):**
|
|
49
|
+
```
|
|
50
|
+
├── materialCode: String (@NotBlank, max=255)
|
|
51
|
+
├── materialUomCode: String (@NotBlank, max=255)
|
|
52
|
+
├── formQuantity: BigDecimal (@NotNull)
|
|
53
|
+
├── formMaterialUomCode: String (@NotBlank, max=255)
|
|
54
|
+
├── stockQuantity: BigDecimal (@NotNull)
|
|
55
|
+
├── transferOutFormItemId: Long (required for existing items)
|
|
56
|
+
├── sourceType: String (max=255)
|
|
57
|
+
├── sourceCode: String (max=255)
|
|
58
|
+
├── materialName: String (max=255)
|
|
59
|
+
├── materialType: String (max=255)
|
|
60
|
+
├── materialCharacteristicCode: String (max=255)
|
|
61
|
+
├── color: String (max=255)
|
|
62
|
+
├── longX: BigDecimal
|
|
63
|
+
├── wideY: BigDecimal
|
|
64
|
+
├── highZ: BigDecimal
|
|
65
|
+
├── lotNoList: List<String>
|
|
66
|
+
├── unitPrice: BigDecimal
|
|
67
|
+
├── localCurrency: String (max=255)
|
|
68
|
+
├── stockAmount: BigDecimal
|
|
69
|
+
└── remark: String (max=255)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**TransferOutFormLotRequest (required fields on edit):**
|
|
73
|
+
```
|
|
74
|
+
├── transferOutFormLotId: Long (required for existing lots)
|
|
75
|
+
├── warehouseCode: String (@NotBlank, max=255)
|
|
76
|
+
├── materialCode: String (@NotBlank, max=255)
|
|
77
|
+
├── materialUomCode: String (@NotBlank, max=255)
|
|
78
|
+
├── lotNo: String (max=255)
|
|
79
|
+
├── stockQuantity: BigDecimal (@NotNull)
|
|
80
|
+
├── materialName: String (max=255)
|
|
81
|
+
├── materialType: String (max=255)
|
|
82
|
+
├── materialCharacteristicCode: String (max=255)
|
|
83
|
+
├── color: String (max=255)
|
|
84
|
+
├── longX: BigDecimal
|
|
85
|
+
├── wideY: BigDecimal
|
|
86
|
+
├── highZ: BigDecimal
|
|
87
|
+
├── unitPrice: BigDecimal
|
|
88
|
+
├── localCurrency: String (max=255)
|
|
89
|
+
├── stockAmount: BigDecimal
|
|
90
|
+
└── remark: String (max=255)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Response DTO Location
|
|
94
|
+
```
|
|
95
|
+
coffee-liberica-end/
|
|
96
|
+
└── business/liberica-business-stock/stock-api/
|
|
97
|
+
└── src/main/java/com/newpeak/liberica/stock/api/pojo/response/
|
|
98
|
+
└── TransferOutFormResponse.java
|
|
99
|
+
├── transferOutFormId: Long
|
|
100
|
+
├── transferOutFormCode: String
|
|
101
|
+
├── warehouseCode: String
|
|
102
|
+
├── stockDate: Date
|
|
103
|
+
├── transferOutType: String
|
|
104
|
+
├── follower: String
|
|
105
|
+
├── followerName: String
|
|
106
|
+
├── reviewFlag: String
|
|
107
|
+
├── reviewer: String
|
|
108
|
+
├── reviewerName: String
|
|
109
|
+
├── reviewTime: Instant
|
|
110
|
+
├── remark: String
|
|
111
|
+
├── enough: boolean
|
|
112
|
+
├── itemList: List<TransferOutFormItemResponse>
|
|
113
|
+
├── lotList: List<TransferOutFormLotResponse>
|
|
114
|
+
├── createTime: String
|
|
115
|
+
└── updateTime: String
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 2.3 CLI Parameter Design
|
|
119
|
+
|
|
120
|
+
### Command Structure
|
|
121
|
+
```
|
|
122
|
+
barista liberica transfer-out-forms update <id> [options]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Positional Arguments
|
|
126
|
+
| Argument | Type | Required | Description |
|
|
127
|
+
|------|------|------|------|
|
|
128
|
+
| id | string | Yes | Transfer-out form ID (transferOutFormId) |
|
|
129
|
+
|
|
130
|
+
### Global Options
|
|
131
|
+
| Option | Type | Description |
|
|
132
|
+
|------|------|------|
|
|
133
|
+
| `--env` | string | Target environment (dev\|test\|prod-cn\|prod-jp) |
|
|
134
|
+
| `--tenant` | string | Tenant code |
|
|
135
|
+
| `--dry-run` | boolean | Preview mode (no actual API call) |
|
|
136
|
+
| `--json` | boolean | JSON output |
|
|
137
|
+
|
|
138
|
+
### Command Options
|
|
139
|
+
| Option | Short | Type | Required | Default | Description | Maps to DTO Field |
|
|
140
|
+
|------|--------|------|------|--------|------|-------------|
|
|
141
|
+
| --warehouse-code | -w | string | Yes | - | Warehouse code | warehouseCode |
|
|
142
|
+
| --stock-date | -d | string | Yes | - | Stock date (YYYY-MM-DD) | stockDate |
|
|
143
|
+
| --transfer-out-type | -t | string | Yes | - | Transfer-out type | transferOutType |
|
|
144
|
+
| --code | -c | string | No | - | Transfer-out form code | transferOutFormCode |
|
|
145
|
+
| --follower | -f | string | No | - | Follower code | follower |
|
|
146
|
+
| --follower-name | -n | string | No | - | Follower name | followerName |
|
|
147
|
+
| --remark | -r | string | No | - | Remark | remark |
|
|
148
|
+
| --items | -i | string | Yes | - | Item list as JSON array | itemList |
|
|
149
|
+
| --lots | -l | string | No | - | Lot list as JSON array | lotList |
|
|
150
|
+
|
|
151
|
+
## 2.4 Field Mapping Table
|
|
152
|
+
|
|
153
|
+
| CLI Parameter | DTO Field | Type Conversion | Validation Rule |
|
|
154
|
+
|---------|---------|----------|----------|
|
|
155
|
+
| <id> (positional) | transferOutFormId | string→Long | @NotNull |
|
|
156
|
+
| --warehouse-code / -w | warehouseCode | Direct | @NotBlank, max=255 |
|
|
157
|
+
| --stock-date / -d | stockDate | string→Date | @NotNull, yyyy-MM-dd |
|
|
158
|
+
| --transfer-out-type / -t | transferOutType | Direct | @NotBlank, max=255 |
|
|
159
|
+
| --code / -c | transferOutFormCode | Direct | max=255 |
|
|
160
|
+
| --follower / -f | follower | Direct | max=255 |
|
|
161
|
+
| --follower-name / -n | followerName | Direct | max=255 |
|
|
162
|
+
| --remark / -r | remark | Direct | max=255 |
|
|
163
|
+
| --items / -i | itemList | string→JSON Array | @NotEmpty |
|
|
164
|
+
| --lots / -l | lotList | string→JSON Array | - |
|
|
165
|
+
|
|
166
|
+
## 2.5 Error Code Reference
|
|
167
|
+
|
|
168
|
+
### ExceptionEnum Location
|
|
169
|
+
```
|
|
170
|
+
coffee-liberica-end/
|
|
171
|
+
└── business/liberica-business-stock/stock-api/
|
|
172
|
+
└── src/main/java/com/newpeak/liberica/stock/api/exception/enums/
|
|
173
|
+
└── TransferOutFormExceptionEnum.java
|
|
174
|
+
├── TRANSFER_OUT_FORM_NOT_EXIST("01001190001", "租户出库单不存在")
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Known Error Codes
|
|
178
|
+
| Error Code | Error Message | Trigger Condition |
|
|
179
|
+
|--------|----------|----------|
|
|
180
|
+
| 01001190001 | Transfer-out form does not exist | Update with non-existent ID |
|
|
181
|
+
|
|
182
|
+
## 2.6 Permission Check
|
|
183
|
+
|
|
184
|
+
| Check Item | Location | Description |
|
|
185
|
+
|--------|------|------|
|
|
186
|
+
| PermissionConstants | `TransferOutFormPermissionConstants.EDIT_TRANSFER_OUT_FORM` | Controller layer `@PostResource(requirePermissionCode = "EDIT_TRANSFER_OUT_FORM")` |
|
|
187
|
+
|
|
188
|
+
## 2.7 Implementation Notes
|
|
189
|
+
|
|
190
|
+
1. **Required fields**: `id` (positional), `--warehouse-code`, `--stock-date`, `--transfer-out-type`, and `--items` must be provided.
|
|
191
|
+
2. **Item ID handling**: Existing items must include `transferOutFormItemId` in the JSON array. New items should omit this field.
|
|
192
|
+
3. **Lot ID handling**: Existing lots must include `transferOutFormLotId` in the JSON array. New lots should omit this field.
|
|
193
|
+
4. **Dry-run support**: Use `--dry-run` to preview the request body without calling the API.
|
|
194
|
+
5. **BigInteger ID handling**: `transferOutFormId` and nested IDs must be parsed as `string` in TypeScript to avoid precision loss.
|
|
195
|
+
6. **Pre-population**: For CLI convenience, consider fetching the current form detail first and merging unchanged fields with the provided options.
|
|
196
|
+
|
|
197
|
+
## 2.8 Example Usage
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Update with minimal required fields
|
|
201
|
+
barista liberica transfer-out-forms update 123456789 \
|
|
202
|
+
--warehouse-code WH001 \
|
|
203
|
+
--stock-date 2025-05-15 \
|
|
204
|
+
--transfer-out-type adjustment \
|
|
205
|
+
--items '[{"transferOutFormItemId":"1000001","materialCode":"MAT001","materialUomCode":"kg","formQuantity":600,"formMaterialUomCode":"kg","stockQuantity":600}]'
|
|
206
|
+
|
|
207
|
+
# Update with all options
|
|
208
|
+
barista liberica transfer-out-forms update 123456789 \
|
|
209
|
+
--warehouse-code WH001 \
|
|
210
|
+
--stock-date 2025-05-15 \
|
|
211
|
+
--transfer-out-type adjustment \
|
|
212
|
+
--code "TO-2025-0001" \
|
|
213
|
+
--follower "EMP001" \
|
|
214
|
+
--follower-name "Zhang San" \
|
|
215
|
+
--remark "Updated adjustment" \
|
|
216
|
+
--items '[{"transferOutFormItemId":"1000001","materialCode":"MAT001","materialName":"Coffee Beans A","materialUomCode":"kg","formQuantity":600,"formMaterialUomCode":"kg","stockQuantity":600,"unitPrice":50,"stockAmount":30000}]' \
|
|
217
|
+
--lots '[{"transferOutFormLotId":"2000001","warehouseCode":"WH001","materialCode":"MAT001","materialUomCode":"kg","lotNo":"LOT202501","stockQuantity":600}]'
|
|
218
|
+
|
|
219
|
+
# Dry-run preview
|
|
220
|
+
barista liberica transfer-out-forms update 123456789 \
|
|
221
|
+
--warehouse-code WH001 \
|
|
222
|
+
--stock-date 2025-05-15 \
|
|
223
|
+
--transfer-out-type adjustment \
|
|
224
|
+
--items '[...]' \
|
|
225
|
+
--dry-run
|
|
226
|
+
|
|
227
|
+
# JSON output
|
|
228
|
+
barista liberica transfer-out-forms update 123456789 \
|
|
229
|
+
--warehouse-code WH001 \
|
|
230
|
+
--stock-date 2025-05-15 \
|
|
231
|
+
--transfer-out-type adjustment \
|
|
232
|
+
--items '[...]' \
|
|
233
|
+
--json
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## 2.9 Request Body Structure
|
|
237
|
+
|
|
238
|
+
```json
|
|
239
|
+
{
|
|
240
|
+
"transferOutFormId": 123456789,
|
|
241
|
+
"warehouseCode": "WH001",
|
|
242
|
+
"stockDate": "2025-05-15",
|
|
243
|
+
"transferOutType": "adjustment",
|
|
244
|
+
"transferOutFormCode": "TO-2025-0001",
|
|
245
|
+
"follower": "EMP001",
|
|
246
|
+
"followerName": "Zhang San",
|
|
247
|
+
"remark": "Updated adjustment",
|
|
248
|
+
"itemList": [
|
|
249
|
+
{
|
|
250
|
+
"transferOutFormItemId": 1000001,
|
|
251
|
+
"materialCode": "MAT001",
|
|
252
|
+
"materialName": "Coffee Beans A",
|
|
253
|
+
"materialUomCode": "kg",
|
|
254
|
+
"formQuantity": 600,
|
|
255
|
+
"formMaterialUomCode": "kg",
|
|
256
|
+
"stockQuantity": 600,
|
|
257
|
+
"unitPrice": 50,
|
|
258
|
+
"stockAmount": 30000
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"lotList": [
|
|
262
|
+
{
|
|
263
|
+
"transferOutFormLotId": 2000001,
|
|
264
|
+
"warehouseCode": "WH001",
|
|
265
|
+
"materialCode": "MAT001",
|
|
266
|
+
"materialUomCode": "kg",
|
|
267
|
+
"lotNo": "LOT202501",
|
|
268
|
+
"stockQuantity": 600
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## 2.10 API Path
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
POST /api/enterprise/stock/transferOut/edit
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Headers:**
|
|
281
|
+
```
|
|
282
|
+
Authorization: <token> (No "Bearer " prefix)
|
|
283
|
+
Content-Type: application/json
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Note**: Do NOT include `X-TENANT-ID` header. Tenant is extracted from JWT token.
|
package/package.json
CHANGED
|
@@ -21,6 +21,9 @@ import { createCalendarCommand } from './calendar/index.js';
|
|
|
21
21
|
import { createClientContactsCommand } from './client-contacts/index.js';
|
|
22
22
|
import { createSupplierContactsCommand } from './supplier-contacts/index.js';
|
|
23
23
|
import { createMouldCommand } from './mould/index.js';
|
|
24
|
+
import { createTeamsCommand } from './teams/index.js';
|
|
25
|
+
import { createTransferInFormsCommand } from './transfer-in-forms/index.js';
|
|
26
|
+
import { createTransferOutFormsCommand } from './transfer-out-forms/index.js';
|
|
24
27
|
|
|
25
28
|
export function createLibericaCommand(): Command {
|
|
26
29
|
const libericaCommand = new Command('liberica');
|
|
@@ -47,6 +50,9 @@ export function createLibericaCommand(): Command {
|
|
|
47
50
|
libericaCommand.addCommand(createClientContactsCommand());
|
|
48
51
|
libericaCommand.addCommand(createSupplierContactsCommand());
|
|
49
52
|
libericaCommand.addCommand(createMouldCommand());
|
|
53
|
+
libericaCommand.addCommand(createTeamsCommand());
|
|
54
|
+
libericaCommand.addCommand(createTransferInFormsCommand());
|
|
55
|
+
libericaCommand.addCommand(createTransferOutFormsCommand());
|
|
50
56
|
|
|
51
57
|
libericaCommand.action(() => {
|
|
52
58
|
console.log(chalk.bold('\n☕ Liberica Commands\n'));
|
|
@@ -67,8 +73,9 @@ export function createLibericaCommand(): Command {
|
|
|
67
73
|
console.log(' Use "barista liberica dicts <command>" for dictionary item management');
|
|
68
74
|
console.log(' Use "barista liberica operations <command>" for operation management');
|
|
69
75
|
console.log(' Use "barista liberica stock <command>" for stock management');
|
|
76
|
+
console.log(' Use "barista liberica teams <command>" for teams and issue management');
|
|
70
77
|
console.log('\n Run "barista liberica <command> --help" for more details\n');
|
|
71
78
|
});
|
|
72
79
|
|
|
73
80
|
return libericaCommand;
|
|
74
|
-
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createTeamIssuesCommand } from './issues/index.js';
|
|
3
|
+
import { createTeamProjectsCommand } from './projects/index.js';
|
|
4
|
+
import { createTeamTasksCommand } from './tasks/index.js';
|
|
5
|
+
import { createTeamWorkLogsCommand } from './work-logs/index.js';
|
|
6
|
+
|
|
7
|
+
export function createTeamsCommand(): Command {
|
|
8
|
+
const teamsCommand = new Command('teams');
|
|
9
|
+
teamsCommand.description('Manage teams and issues');
|
|
10
|
+
|
|
11
|
+
teamsCommand.addCommand(createTeamIssuesCommand());
|
|
12
|
+
teamsCommand.addCommand(createTeamProjectsCommand());
|
|
13
|
+
teamsCommand.addCommand(createTeamTasksCommand());
|
|
14
|
+
teamsCommand.addCommand(createTeamWorkLogsCommand());
|
|
15
|
+
|
|
16
|
+
return teamsCommand;
|
|
17
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { configManager } from '../../../../core/config/manager.js';
|
|
4
|
+
import { apiClient } from '../../../../core/api/client.js';
|
|
5
|
+
import { Environment } from '../../../../types/index.js';
|
|
6
|
+
import { UpdateTeamIssueRequest } from '../../../../types/team-issue.js';
|
|
7
|
+
|
|
8
|
+
export function createTeamIssueCloseCommand(): Command {
|
|
9
|
+
const closeCommand = new Command('close');
|
|
10
|
+
closeCommand
|
|
11
|
+
.description('Close a team issue (sets status to CLOSED)')
|
|
12
|
+
.argument('<issue-id>', 'Issue ID')
|
|
13
|
+
.addOption(new Option('--env <string>').hideHelp())
|
|
14
|
+
.addOption(new Option('--tenant <string>').hideHelp())
|
|
15
|
+
.option('--json', 'Output as JSON');
|
|
16
|
+
|
|
17
|
+
closeCommand.action(async (issueId: string, options: Record<string, unknown>) => {
|
|
18
|
+
const context = configManager.getCurrentContext();
|
|
19
|
+
const environment = context.environment as Environment;
|
|
20
|
+
const tenant = context.tenant;
|
|
21
|
+
|
|
22
|
+
if (!issueId || issueId.trim() === '') {
|
|
23
|
+
console.error(chalk.red('\n✗ Issue ID is required\n'));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Fetch the issue first to get all required fields
|
|
28
|
+
let existingIssue: Record<string, unknown> | null = null;
|
|
29
|
+
try {
|
|
30
|
+
const getResponse = await apiClient.getTeamIssue(environment, tenant, issueId);
|
|
31
|
+
if (!getResponse.success || !getResponse.data) {
|
|
32
|
+
if (options.json) {
|
|
33
|
+
console.log(JSON.stringify({ success: false, error: getResponse.error }, null, 2));
|
|
34
|
+
} else {
|
|
35
|
+
console.error(chalk.red(`\n✗ Issue not found: ${getResponse.error?.message || 'Unknown error'}\n`));
|
|
36
|
+
}
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
existingIssue = getResponse.data as unknown as Record<string, unknown>;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
if (options.json) {
|
|
42
|
+
console.log(JSON.stringify({ success: false, error: { message: error instanceof Error ? error.message : 'Unknown error' } }, null, 2));
|
|
43
|
+
} else {
|
|
44
|
+
console.error(chalk.red(`\n✗ Error fetching issue: ${error instanceof Error ? error.message : 'Unknown error'}\n`));
|
|
45
|
+
}
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const request: UpdateTeamIssueRequest = {
|
|
50
|
+
teamIssueId: issueId,
|
|
51
|
+
issueTitle: existingIssue.issueTitle as string,
|
|
52
|
+
issueDesc: existingIssue.issueDesc as string,
|
|
53
|
+
issueType: existingIssue.issueType as 'BUG' | 'REQUIREMENT' | 'QUESTION',
|
|
54
|
+
projectId: existingIssue.projectId as string,
|
|
55
|
+
projectCode: existingIssue.projectCode as string,
|
|
56
|
+
projectName: existingIssue.projectName as string,
|
|
57
|
+
reporterName: existingIssue.reporterName as string,
|
|
58
|
+
reporterEmail: existingIssue.reporterEmail as string,
|
|
59
|
+
priority: existingIssue.priority as 'LOW' | 'MEDIUM' | 'HIGH' | 'URGENT',
|
|
60
|
+
teamIssueStatus: 'CLOSED',
|
|
61
|
+
assignTo: existingIssue.assignTo as string[],
|
|
62
|
+
tags: existingIssue.tags as string[] | undefined,
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
const response = await apiClient.updateTeamIssue(environment, tenant, request);
|
|
67
|
+
|
|
68
|
+
if (response.success) {
|
|
69
|
+
if (options.json) {
|
|
70
|
+
console.log(JSON.stringify({ success: true, data: response.data }, null, 2));
|
|
71
|
+
} else {
|
|
72
|
+
console.log(chalk.green(`\n✓ Issue ${issueId} closed successfully\n`));
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
if (options.json) {
|
|
76
|
+
console.log(JSON.stringify({ success: false, error: response.error }, null, 2));
|
|
77
|
+
} else {
|
|
78
|
+
console.error(chalk.red(`\n✗ Close failed: ${response.error?.message || 'Unknown error'}`));
|
|
79
|
+
if (response.error?.code) {
|
|
80
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
81
|
+
}
|
|
82
|
+
console.error();
|
|
83
|
+
}
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
} catch (error) {
|
|
87
|
+
if (options.json) {
|
|
88
|
+
console.log(
|
|
89
|
+
JSON.stringify({
|
|
90
|
+
success: false,
|
|
91
|
+
error: { message: error instanceof Error ? error.message : 'Unknown error' },
|
|
92
|
+
})
|
|
93
|
+
);
|
|
94
|
+
} else {
|
|
95
|
+
console.error(
|
|
96
|
+
chalk.red(`\n✗ Error: ${error instanceof Error ? error.message : 'Unknown error'}\n`)
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
return closeCommand;
|
|
104
|
+
}
|