@newpeak/barista-cli 0.1.38 → 0.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/dist/commands/liberica/cutting-material/create.d.ts +3 -0
  2. package/dist/commands/liberica/cutting-material/create.d.ts.map +1 -0
  3. package/dist/commands/liberica/cutting-material/create.js +75 -0
  4. package/dist/commands/liberica/cutting-material/create.js.map +1 -0
  5. package/dist/commands/liberica/cutting-material/index.d.ts +3 -0
  6. package/dist/commands/liberica/cutting-material/index.d.ts.map +1 -0
  7. package/dist/commands/liberica/cutting-material/index.js +11 -0
  8. package/dist/commands/liberica/cutting-material/index.js.map +1 -0
  9. package/dist/commands/liberica/cutting-material/list.d.ts +3 -0
  10. package/dist/commands/liberica/cutting-material/list.d.ts.map +1 -0
  11. package/dist/commands/liberica/cutting-material/list.js +59 -0
  12. package/dist/commands/liberica/cutting-material/list.js.map +1 -0
  13. package/dist/commands/liberica/finance/cost/index.d.ts +3 -0
  14. package/dist/commands/liberica/finance/cost/index.d.ts.map +1 -0
  15. package/dist/commands/liberica/finance/cost/index.js +9 -0
  16. package/dist/commands/liberica/finance/cost/index.js.map +1 -0
  17. package/dist/commands/liberica/finance/cost/list.d.ts +3 -0
  18. package/dist/commands/liberica/finance/cost/list.d.ts.map +1 -0
  19. package/dist/commands/liberica/finance/cost/list.js +99 -0
  20. package/dist/commands/liberica/finance/cost/list.js.map +1 -0
  21. package/dist/commands/liberica/finance/index.d.ts +3 -0
  22. package/dist/commands/liberica/finance/index.d.ts.map +1 -0
  23. package/dist/commands/liberica/finance/index.js +13 -0
  24. package/dist/commands/liberica/finance/index.js.map +1 -0
  25. package/dist/commands/liberica/finance/invoices/create.d.ts +3 -0
  26. package/dist/commands/liberica/finance/invoices/create.d.ts.map +1 -0
  27. package/dist/commands/liberica/finance/invoices/create.js +125 -0
  28. package/dist/commands/liberica/finance/invoices/create.js.map +1 -0
  29. package/dist/commands/liberica/finance/invoices/index.d.ts +3 -0
  30. package/dist/commands/liberica/finance/invoices/index.d.ts.map +1 -0
  31. package/dist/commands/liberica/finance/invoices/index.js +13 -0
  32. package/dist/commands/liberica/finance/invoices/index.js.map +1 -0
  33. package/dist/commands/liberica/finance/invoices/list.d.ts +3 -0
  34. package/dist/commands/liberica/finance/invoices/list.d.ts.map +1 -0
  35. package/dist/commands/liberica/finance/invoices/list.js +105 -0
  36. package/dist/commands/liberica/finance/invoices/list.js.map +1 -0
  37. package/dist/commands/liberica/finance/invoices/print.d.ts +3 -0
  38. package/dist/commands/liberica/finance/invoices/print.d.ts.map +1 -0
  39. package/dist/commands/liberica/finance/invoices/print.js +58 -0
  40. package/dist/commands/liberica/finance/invoices/print.js.map +1 -0
  41. package/dist/commands/liberica/finance/proceeds/create.d.ts +3 -0
  42. package/dist/commands/liberica/finance/proceeds/create.d.ts.map +1 -0
  43. package/dist/commands/liberica/finance/proceeds/create.js +124 -0
  44. package/dist/commands/liberica/finance/proceeds/create.js.map +1 -0
  45. package/dist/commands/liberica/finance/proceeds/index.d.ts +3 -0
  46. package/dist/commands/liberica/finance/proceeds/index.d.ts.map +1 -0
  47. package/dist/commands/liberica/finance/proceeds/index.js +11 -0
  48. package/dist/commands/liberica/finance/proceeds/index.js.map +1 -0
  49. package/dist/commands/liberica/finance/proceeds/list.d.ts +3 -0
  50. package/dist/commands/liberica/finance/proceeds/list.d.ts.map +1 -0
  51. package/dist/commands/liberica/finance/proceeds/list.js +106 -0
  52. package/dist/commands/liberica/finance/proceeds/list.js.map +1 -0
  53. package/dist/commands/liberica/index.d.ts.map +1 -1
  54. package/dist/commands/liberica/index.js +17 -1
  55. package/dist/commands/liberica/index.js.map +1 -1
  56. package/dist/commands/liberica/material-transfers/batch-review.d.ts +3 -0
  57. package/dist/commands/liberica/material-transfers/batch-review.d.ts.map +1 -0
  58. package/dist/commands/liberica/material-transfers/batch-review.js +124 -0
  59. package/dist/commands/liberica/material-transfers/batch-review.js.map +1 -0
  60. package/dist/commands/liberica/material-transfers/create.d.ts +3 -0
  61. package/dist/commands/liberica/material-transfers/create.d.ts.map +1 -0
  62. package/dist/commands/liberica/material-transfers/create.js +190 -0
  63. package/dist/commands/liberica/material-transfers/create.js.map +1 -0
  64. package/dist/commands/liberica/material-transfers/index.d.ts +3 -0
  65. package/dist/commands/liberica/material-transfers/index.d.ts.map +1 -0
  66. package/dist/commands/liberica/material-transfers/index.js +13 -0
  67. package/dist/commands/liberica/material-transfers/index.js.map +1 -0
  68. package/dist/commands/liberica/material-transfers/list.d.ts +3 -0
  69. package/dist/commands/liberica/material-transfers/list.d.ts.map +1 -0
  70. package/dist/commands/liberica/material-transfers/list.js +104 -0
  71. package/dist/commands/liberica/material-transfers/list.js.map +1 -0
  72. package/dist/commands/liberica/outsourcing-orders/create.d.ts +3 -0
  73. package/dist/commands/liberica/outsourcing-orders/create.d.ts.map +1 -0
  74. package/dist/commands/liberica/outsourcing-orders/create.js +235 -0
  75. package/dist/commands/liberica/outsourcing-orders/create.js.map +1 -0
  76. package/dist/commands/liberica/outsourcing-orders/history.d.ts +3 -0
  77. package/dist/commands/liberica/outsourcing-orders/history.d.ts.map +1 -0
  78. package/dist/commands/liberica/outsourcing-orders/history.js +109 -0
  79. package/dist/commands/liberica/outsourcing-orders/history.js.map +1 -0
  80. package/dist/commands/liberica/outsourcing-orders/index.d.ts +3 -0
  81. package/dist/commands/liberica/outsourcing-orders/index.d.ts.map +1 -0
  82. package/dist/commands/liberica/outsourcing-orders/index.js +15 -0
  83. package/dist/commands/liberica/outsourcing-orders/index.js.map +1 -0
  84. package/dist/commands/liberica/outsourcing-orders/list.d.ts +3 -0
  85. package/dist/commands/liberica/outsourcing-orders/list.d.ts.map +1 -0
  86. package/dist/commands/liberica/outsourcing-orders/list.js +110 -0
  87. package/dist/commands/liberica/outsourcing-orders/list.js.map +1 -0
  88. package/dist/commands/liberica/outsourcing-orders/stock-in-create.d.ts +3 -0
  89. package/dist/commands/liberica/outsourcing-orders/stock-in-create.d.ts.map +1 -0
  90. package/dist/commands/liberica/outsourcing-orders/stock-in-create.js +205 -0
  91. package/dist/commands/liberica/outsourcing-orders/stock-in-create.js.map +1 -0
  92. package/dist/commands/liberica/purchase-orders/create.d.ts +3 -0
  93. package/dist/commands/liberica/purchase-orders/create.d.ts.map +1 -0
  94. package/dist/commands/liberica/purchase-orders/create.js +123 -0
  95. package/dist/commands/liberica/purchase-orders/create.js.map +1 -0
  96. package/dist/commands/liberica/purchase-orders/delete.d.ts +3 -0
  97. package/dist/commands/liberica/purchase-orders/delete.d.ts.map +1 -0
  98. package/dist/commands/liberica/purchase-orders/delete.js +47 -0
  99. package/dist/commands/liberica/purchase-orders/delete.js.map +1 -0
  100. package/dist/commands/liberica/purchase-orders/get.d.ts +3 -0
  101. package/dist/commands/liberica/purchase-orders/get.d.ts.map +1 -0
  102. package/dist/commands/liberica/purchase-orders/get.js +29 -0
  103. package/dist/commands/liberica/purchase-orders/get.js.map +1 -0
  104. package/dist/commands/liberica/purchase-orders/index.d.ts +3 -0
  105. package/dist/commands/liberica/purchase-orders/index.d.ts.map +1 -0
  106. package/dist/commands/liberica/purchase-orders/index.js +27 -0
  107. package/dist/commands/liberica/purchase-orders/index.js.map +1 -0
  108. package/dist/commands/liberica/purchase-orders/list.d.ts +3 -0
  109. package/dist/commands/liberica/purchase-orders/list.d.ts.map +1 -0
  110. package/dist/commands/liberica/purchase-orders/list.js +109 -0
  111. package/dist/commands/liberica/purchase-orders/list.js.map +1 -0
  112. package/dist/commands/liberica/purchase-orders/stock-in-create.d.ts +3 -0
  113. package/dist/commands/liberica/purchase-orders/stock-in-create.d.ts.map +1 -0
  114. package/dist/commands/liberica/purchase-orders/stock-in-create.js +193 -0
  115. package/dist/commands/liberica/purchase-orders/stock-in-create.js.map +1 -0
  116. package/dist/commands/liberica/purchase-orders/stock-in-list.d.ts +3 -0
  117. package/dist/commands/liberica/purchase-orders/stock-in-list.d.ts.map +1 -0
  118. package/dist/commands/liberica/purchase-orders/stock-in-list.js +62 -0
  119. package/dist/commands/liberica/purchase-orders/stock-in-list.js.map +1 -0
  120. package/dist/commands/liberica/purchase-orders/track.d.ts +3 -0
  121. package/dist/commands/liberica/purchase-orders/track.d.ts.map +1 -0
  122. package/dist/commands/liberica/purchase-orders/track.js +59 -0
  123. package/dist/commands/liberica/purchase-orders/track.js.map +1 -0
  124. package/dist/commands/liberica/purchase-orders/update.d.ts +3 -0
  125. package/dist/commands/liberica/purchase-orders/update.d.ts.map +1 -0
  126. package/dist/commands/liberica/purchase-orders/update.js +72 -0
  127. package/dist/commands/liberica/purchase-orders/update.js.map +1 -0
  128. package/dist/commands/liberica/sales-orders/batch-close.d.ts +3 -0
  129. package/dist/commands/liberica/sales-orders/batch-close.d.ts.map +1 -0
  130. package/dist/commands/liberica/sales-orders/batch-close.js +42 -0
  131. package/dist/commands/liberica/sales-orders/batch-close.js.map +1 -0
  132. package/dist/commands/liberica/sales-orders/batch-reopen.d.ts +3 -0
  133. package/dist/commands/liberica/sales-orders/batch-reopen.d.ts.map +1 -0
  134. package/dist/commands/liberica/sales-orders/batch-reopen.js +42 -0
  135. package/dist/commands/liberica/sales-orders/batch-reopen.js.map +1 -0
  136. package/dist/commands/liberica/sales-orders/batch-review.d.ts +3 -0
  137. package/dist/commands/liberica/sales-orders/batch-review.d.ts.map +1 -0
  138. package/dist/commands/liberica/sales-orders/batch-review.js +47 -0
  139. package/dist/commands/liberica/sales-orders/batch-review.js.map +1 -0
  140. package/dist/commands/liberica/sales-orders/create-workorder.d.ts +3 -0
  141. package/dist/commands/liberica/sales-orders/create-workorder.d.ts.map +1 -0
  142. package/dist/commands/liberica/sales-orders/create-workorder.js +54 -0
  143. package/dist/commands/liberica/sales-orders/create-workorder.js.map +1 -0
  144. package/dist/commands/liberica/sales-orders/create.d.ts +3 -0
  145. package/dist/commands/liberica/sales-orders/create.d.ts.map +1 -0
  146. package/dist/commands/liberica/sales-orders/create.js +62 -0
  147. package/dist/commands/liberica/sales-orders/create.js.map +1 -0
  148. package/dist/commands/liberica/sales-orders/delete.d.ts +3 -0
  149. package/dist/commands/liberica/sales-orders/delete.d.ts.map +1 -0
  150. package/dist/commands/liberica/sales-orders/delete.js +45 -0
  151. package/dist/commands/liberica/sales-orders/delete.js.map +1 -0
  152. package/dist/commands/liberica/sales-orders/delivery-notes/create.d.ts +3 -0
  153. package/dist/commands/liberica/sales-orders/delivery-notes/create.d.ts.map +1 -0
  154. package/dist/commands/liberica/sales-orders/delivery-notes/create.js +57 -0
  155. package/dist/commands/liberica/sales-orders/delivery-notes/create.js.map +1 -0
  156. package/dist/commands/liberica/sales-orders/delivery-notes/index.d.ts +3 -0
  157. package/dist/commands/liberica/sales-orders/delivery-notes/index.d.ts.map +1 -0
  158. package/dist/commands/liberica/sales-orders/delivery-notes/index.js +9 -0
  159. package/dist/commands/liberica/sales-orders/delivery-notes/index.js.map +1 -0
  160. package/dist/commands/liberica/sales-orders/delivery-notes-create.d.ts +3 -0
  161. package/dist/commands/liberica/sales-orders/delivery-notes-create.d.ts.map +1 -0
  162. package/dist/commands/liberica/sales-orders/delivery-notes-create.js +57 -0
  163. package/dist/commands/liberica/sales-orders/delivery-notes-create.js.map +1 -0
  164. package/dist/commands/liberica/sales-orders/forecasts/create.d.ts +3 -0
  165. package/dist/commands/liberica/sales-orders/forecasts/create.d.ts.map +1 -0
  166. package/dist/commands/liberica/sales-orders/forecasts/create.js +59 -0
  167. package/dist/commands/liberica/sales-orders/forecasts/create.js.map +1 -0
  168. package/dist/commands/liberica/sales-orders/forecasts/index.d.ts +3 -0
  169. package/dist/commands/liberica/sales-orders/forecasts/index.d.ts.map +1 -0
  170. package/dist/commands/liberica/sales-orders/forecasts/index.js +11 -0
  171. package/dist/commands/liberica/sales-orders/forecasts/index.js.map +1 -0
  172. package/dist/commands/liberica/sales-orders/forecasts/list.d.ts +3 -0
  173. package/dist/commands/liberica/sales-orders/forecasts/list.d.ts.map +1 -0
  174. package/dist/commands/liberica/sales-orders/forecasts/list.js +59 -0
  175. package/dist/commands/liberica/sales-orders/forecasts/list.js.map +1 -0
  176. package/dist/commands/liberica/sales-orders/get.d.ts +3 -0
  177. package/dist/commands/liberica/sales-orders/get.d.ts.map +1 -0
  178. package/dist/commands/liberica/sales-orders/get.js +28 -0
  179. package/dist/commands/liberica/sales-orders/get.js.map +1 -0
  180. package/dist/commands/liberica/sales-orders/index.d.ts +3 -0
  181. package/dist/commands/liberica/sales-orders/index.d.ts.map +1 -0
  182. package/dist/commands/liberica/sales-orders/index.js +31 -0
  183. package/dist/commands/liberica/sales-orders/index.js.map +1 -0
  184. package/dist/commands/liberica/sales-orders/list.d.ts +3 -0
  185. package/dist/commands/liberica/sales-orders/list.d.ts.map +1 -0
  186. package/dist/commands/liberica/sales-orders/list.js +74 -0
  187. package/dist/commands/liberica/sales-orders/list.js.map +1 -0
  188. package/dist/commands/liberica/sales-orders/submit.d.ts +3 -0
  189. package/dist/commands/liberica/sales-orders/submit.d.ts.map +1 -0
  190. package/dist/commands/liberica/sales-orders/submit.js +43 -0
  191. package/dist/commands/liberica/sales-orders/submit.js.map +1 -0
  192. package/dist/commands/liberica/sales-orders/update.d.ts +3 -0
  193. package/dist/commands/liberica/sales-orders/update.d.ts.map +1 -0
  194. package/dist/commands/liberica/sales-orders/update.js +84 -0
  195. package/dist/commands/liberica/sales-orders/update.js.map +1 -0
  196. package/dist/commands/liberica/work-orders/complete.d.ts +3 -0
  197. package/dist/commands/liberica/work-orders/complete.d.ts.map +1 -0
  198. package/dist/commands/liberica/work-orders/complete.js +172 -0
  199. package/dist/commands/liberica/work-orders/complete.js.map +1 -0
  200. package/dist/commands/liberica/work-orders/create.d.ts +3 -0
  201. package/dist/commands/liberica/work-orders/create.d.ts.map +1 -0
  202. package/dist/commands/liberica/work-orders/create.js +116 -0
  203. package/dist/commands/liberica/work-orders/create.js.map +1 -0
  204. package/dist/commands/liberica/work-orders/history.d.ts +3 -0
  205. package/dist/commands/liberica/work-orders/history.d.ts.map +1 -0
  206. package/dist/commands/liberica/work-orders/history.js +70 -0
  207. package/dist/commands/liberica/work-orders/history.js.map +1 -0
  208. package/dist/commands/liberica/work-orders/index.d.ts +3 -0
  209. package/dist/commands/liberica/work-orders/index.d.ts.map +1 -0
  210. package/dist/commands/liberica/work-orders/index.js +17 -0
  211. package/dist/commands/liberica/work-orders/index.js.map +1 -0
  212. package/dist/commands/liberica/work-orders/list.d.ts +3 -0
  213. package/dist/commands/liberica/work-orders/list.d.ts.map +1 -0
  214. package/dist/commands/liberica/work-orders/list.js +116 -0
  215. package/dist/commands/liberica/work-orders/list.js.map +1 -0
  216. package/dist/commands/liberica/work-orders/release.d.ts +3 -0
  217. package/dist/commands/liberica/work-orders/release.d.ts.map +1 -0
  218. package/dist/commands/liberica/work-orders/release.js +147 -0
  219. package/dist/commands/liberica/work-orders/release.js.map +1 -0
  220. package/dist/core/api/client.d.ts +64 -0
  221. package/dist/core/api/client.d.ts.map +1 -1
  222. package/dist/core/api/client.js +968 -53
  223. package/dist/core/api/client.js.map +1 -1
  224. package/dist/types/cutting-material.d.ts +57 -0
  225. package/dist/types/cutting-material.d.ts.map +1 -0
  226. package/dist/types/cutting-material.js +2 -0
  227. package/dist/types/cutting-material.js.map +1 -0
  228. package/dist/types/finance.d.ts +74 -0
  229. package/dist/types/finance.d.ts.map +1 -0
  230. package/dist/types/finance.js +2 -0
  231. package/dist/types/finance.js.map +1 -0
  232. package/dist/types/index.d.ts +6 -0
  233. package/dist/types/index.d.ts.map +1 -1
  234. package/dist/types/material-transfer.d.ts +167 -0
  235. package/dist/types/material-transfer.d.ts.map +1 -0
  236. package/dist/types/material-transfer.js +3 -0
  237. package/dist/types/material-transfer.js.map +1 -0
  238. package/dist/types/outsourcing-order.d.ts +111 -0
  239. package/dist/types/outsourcing-order.d.ts.map +1 -0
  240. package/dist/types/outsourcing-order.js +10 -0
  241. package/dist/types/outsourcing-order.js.map +1 -0
  242. package/dist/types/purchase-order.d.ts +121 -0
  243. package/dist/types/purchase-order.d.ts.map +1 -0
  244. package/dist/types/purchase-order.js +2 -0
  245. package/dist/types/purchase-order.js.map +1 -0
  246. package/dist/types/sales-order.d.ts +254 -0
  247. package/dist/types/sales-order.d.ts.map +1 -0
  248. package/dist/types/sales-order.js +3 -0
  249. package/dist/types/sales-order.js.map +1 -0
  250. package/dist/types/work-order.d.ts +122 -0
  251. package/dist/types/work-order.d.ts.map +1 -0
  252. package/dist/types/work-order.js +2 -0
  253. package/dist/types/work-order.js.map +1 -0
  254. package/package.json +1 -1
@@ -0,0 +1,116 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { configManager } from '../../../core/config/manager.js';
4
+ import { apiClient } from '../../../core/api/client.js';
5
+ export function createWorkOrderCreateCommand() {
6
+ const cmd = new Command('create');
7
+ cmd.description('Create a work order');
8
+ cmd
9
+ .requiredOption('-m, --material-code <code>', 'Material code (required)')
10
+ .requiredOption('-q, --quantity <number>', 'Planned quantity (required)')
11
+ .option('--material-name <name>', 'Material name')
12
+ .option('--material-no <no>', 'Material number')
13
+ .option('-b, --bom-code <code>', 'BOM code')
14
+ .option('-r, --routing-code <code>', 'Routing code')
15
+ .option('-t, --type <type>', 'Work order type (NORMAL/URGENT/REWORK)', 'NORMAL')
16
+ .option('-s, --start-date <date>', 'Planned start date (YYYY-MM-DD)')
17
+ .option('-e, --end-date <date>', 'Planned end date (YYYY-MM-DD)')
18
+ .option('-p, --priority <number>', 'Priority (1-10)')
19
+ .option('-w, --workplace-code <code>', 'Workplace code')
20
+ .option('-f, --follower <id>', 'Follower ID')
21
+ .option('--remark <remark>', 'Remark')
22
+ .option('--dry-run', 'Preview mode')
23
+ .option('--json', 'Output as JSON')
24
+ .action(async () => {
25
+ const opts = cmd.opts();
26
+ const context = configManager.getCurrentContext();
27
+ const environment = context.environment;
28
+ const tenant = context.tenant;
29
+ const dryRun = opts.dryRun === true;
30
+ const jsonOutput = opts.json === true;
31
+ // Validate quantity
32
+ const quantity = parseFloat(opts.quantity);
33
+ if (isNaN(quantity) || quantity <= 0) {
34
+ console.error(chalk.red('\n✗ Quantity must be a positive number\n'));
35
+ process.exit(1);
36
+ }
37
+ // Validate date formats
38
+ if (opts.startDate && !/^\d{4}-\d{2}-\d{2}$/.test(opts.startDate)) {
39
+ console.error(chalk.red('\n✗ Invalid start-date format. Use YYYY-MM-DD\n'));
40
+ process.exit(1);
41
+ }
42
+ if (opts.endDate && !/^\d{4}-\d{2}-\d{2}$/.test(opts.endDate)) {
43
+ console.error(chalk.red('\n✗ Invalid end-date format. Use YYYY-MM-DD\n'));
44
+ process.exit(1);
45
+ }
46
+ const request = {
47
+ materialCode: opts.materialCode,
48
+ materialName: opts.materialName,
49
+ materialNo: opts.materialNo,
50
+ plannedQuantity: quantity,
51
+ workOrderType: opts.type,
52
+ bomCode: opts.bomCode,
53
+ routingCode: opts.routingCode,
54
+ plannedStartDate: opts.startDate,
55
+ plannedEndDate: opts.endDate,
56
+ priority: opts.priority ? parseInt(opts.priority, 10) : undefined,
57
+ workplaceCode: opts.workplaceCode,
58
+ follower: opts.follower,
59
+ remark: opts.remark,
60
+ };
61
+ if (dryRun) {
62
+ if (jsonOutput) {
63
+ console.log(JSON.stringify({ success: true, dryRun: true, data: request }));
64
+ }
65
+ else {
66
+ console.log(chalk.bold('\n🔍 Dry-Run Mode: No changes will be made\n'));
67
+ console.log(' Work order to be created:');
68
+ console.log(` Material: ${request.materialCode}`);
69
+ console.log(` Quantity: ${request.plannedQuantity}`);
70
+ console.log(` Type: ${request.workOrderType}`);
71
+ if (request.bomCode)
72
+ console.log(` BOM: ${request.bomCode}`);
73
+ if (request.routingCode)
74
+ console.log(` Routing: ${request.routingCode}`);
75
+ if (request.plannedStartDate)
76
+ console.log(` Start Date: ${request.plannedStartDate}`);
77
+ if (request.plannedEndDate)
78
+ console.log(` End Date: ${request.plannedEndDate}`);
79
+ if (request.priority)
80
+ console.log(` Priority: ${request.priority}`);
81
+ if (request.workplaceCode)
82
+ console.log(` Workplace: ${request.workplaceCode}`);
83
+ if (request.follower)
84
+ console.log(` Follower: ${request.follower}`);
85
+ if (request.remark)
86
+ console.log(` Remark: ${request.remark}`);
87
+ console.log();
88
+ }
89
+ return;
90
+ }
91
+ if (!jsonOutput) {
92
+ console.log(chalk.bold('\n📥 Creating Work Order\n'));
93
+ }
94
+ const response = await apiClient.createWorkOrder(environment, tenant, request);
95
+ if (response.success) {
96
+ if (jsonOutput) {
97
+ console.log(JSON.stringify({ success: true, data: response.data }));
98
+ }
99
+ else {
100
+ console.log(chalk.green('\n✓ Work order created successfully\n'));
101
+ }
102
+ }
103
+ else {
104
+ const errMsg = response.error?.message || 'Failed to create work order';
105
+ if (jsonOutput) {
106
+ console.log(JSON.stringify({ success: false, error: { code: response.error?.code, message: errMsg } }));
107
+ }
108
+ else {
109
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
110
+ }
111
+ process.exit(1);
112
+ }
113
+ });
114
+ return cmd;
115
+ }
116
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createWorkOrderHistoryCommand(): Command;
3
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,6BAA6B,IAAI,OAAO,CAuEvD"}
@@ -0,0 +1,70 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import Table from 'cli-table3';
4
+ import { configManager } from '../../../core/config/manager.js';
5
+ import { apiClient } from '../../../core/api/client.js';
6
+ export function createWorkOrderHistoryCommand() {
7
+ const cmd = new Command('history');
8
+ cmd.description('List work order change history');
9
+ cmd
10
+ .argument('[work-order-id]', 'Work order ID (optional)')
11
+ .option('-p, --page <number>', 'Page number', '1')
12
+ .option('-s, --size <number>', 'Page size', '20')
13
+ .option('--code <string>', 'Work order code')
14
+ .option('--material-code <string>', 'Material code')
15
+ .option('--material-name <string>', 'Material name')
16
+ .option('--json', 'Output as JSON')
17
+ .action(async (workOrderId, options) => {
18
+ const context = configManager.getCurrentContext();
19
+ const environment = options.env || context.environment;
20
+ const tenant = options.tenant || context.tenant;
21
+ const page = parseInt(options.page, 10) - 1; // API uses 0-based
22
+ const size = parseInt(options.size, 10);
23
+ const params = { pageNo: page, pageSize: size };
24
+ if (workOrderId)
25
+ params.workOrderId = workOrderId;
26
+ if (options.code)
27
+ params.workOrderCode = options.code;
28
+ if (options.materialCode)
29
+ params.materialCode = options.materialCode;
30
+ if (options.materialName)
31
+ params.materialName = options.materialName;
32
+ const response = await apiClient.listWorkOrderHistory(environment, tenant, params);
33
+ if (!response.success) {
34
+ console.error(chalk.red(`\n✗ Failed to list work order history: ${response.error?.message || 'Unknown error'}`));
35
+ process.exit(1);
36
+ }
37
+ const data = response.data;
38
+ if (!data || data.totalRows === 0) {
39
+ console.log(chalk.bold('\n📋 Work Order History\n'));
40
+ console.log(chalk.gray(' No history records found\n'));
41
+ return;
42
+ }
43
+ if (options.json) {
44
+ console.log(JSON.stringify({ success: true, data }, null, 2));
45
+ return;
46
+ }
47
+ const records = data.rows || [];
48
+ console.log(chalk.bold('\n📋 Work Order History\n'));
49
+ const table = new Table({
50
+ head: [chalk.bold('WO Code'), chalk.bold('Field'), chalk.bold('Old Value'), chalk.bold('New Value'), chalk.bold('Changed By')],
51
+ colWidths: [15, 15, 20, 20, 15],
52
+ style: { head: [], border: [] },
53
+ });
54
+ for (const r of records) {
55
+ table.push([
56
+ r.workOrderCode || '-',
57
+ r.changeField || r.changedField || '-',
58
+ r.oldValue ?? String(r.oldValue ?? '-'),
59
+ r.newValue ?? String(r.newValue ?? '-'),
60
+ r.changedBy || r.updateUser || '-',
61
+ ]);
62
+ }
63
+ console.log(table.toString());
64
+ console.log();
65
+ console.log(chalk.gray(` Total: ${data.totalRows} | Page: ${data.pageNo + 1} / ${Math.ceil(data.totalRows / data.pageSize) || 1}`));
66
+ console.log();
67
+ });
68
+ return cmd;
69
+ }
70
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createWorkOrdersCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,IAAI,OAAO,CASjD"}
@@ -0,0 +1,17 @@
1
+ import { Command } from 'commander';
2
+ import { createWorkOrderListCommand } from './list.js';
3
+ import { createWorkOrderCreateCommand } from './create.js';
4
+ import { createWorkOrderReleaseCommand } from './release.js';
5
+ import { createWorkOrderCompleteCommand } from './complete.js';
6
+ import { createWorkOrderHistoryCommand } from './history.js';
7
+ export function createWorkOrdersCommand() {
8
+ const cmd = new Command('work-orders');
9
+ cmd.description('Manage production work orders');
10
+ cmd.addCommand(createWorkOrderListCommand());
11
+ cmd.addCommand(createWorkOrderCreateCommand());
12
+ cmd.addCommand(createWorkOrderReleaseCommand());
13
+ cmd.addCommand(createWorkOrderCompleteCommand());
14
+ cmd.addCommand(createWorkOrderHistoryCommand());
15
+ return cmd;
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createWorkOrderListCommand(): Command;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,0BAA0B,IAAI,OAAO,CAwGpD"}
@@ -0,0 +1,116 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import Table from 'cli-table3';
4
+ import { configManager } from '../../../core/config/manager.js';
5
+ import { apiClient } from '../../../core/api/client.js';
6
+ export function createWorkOrderListCommand() {
7
+ const listCommand = new Command('list');
8
+ listCommand.description('List work orders with pagination');
9
+ listCommand
10
+ .option('-p, --page <number>', 'Page number', '1')
11
+ .option('-s, --size <number>', 'Page size', '20')
12
+ .option('--code <string>', 'Work order code')
13
+ .option('--type <string>', 'Work order type (NORMAL/URGENT/REWORK)')
14
+ .option('--status <string>', 'Work order status (PENDING/RELEASED/IN_PROGRESS/COMPLETED/HOLD/CANCELLED)')
15
+ .option('--material-code <string>', 'Material code')
16
+ .option('--material-name <string>', 'Material name')
17
+ .option('--bom-code <string>', 'BOM code')
18
+ .option('--routing-code <string>', 'Routing code')
19
+ .option('--workplace-code <string>', 'Workplace code')
20
+ .option('--follower <string>', 'Follower ID')
21
+ .option('--priority <number>', 'Priority')
22
+ .option('--review-flag <string>', 'Review flag')
23
+ .option('--create-time-from <string>', 'Create time from (YYYY-MM-DD)')
24
+ .option('--create-time-to <string>', 'Create time to (YYYY-MM-DD)')
25
+ .option('--planned-start-from <string>', 'Planned start date from (YYYY-MM-DD)')
26
+ .option('--planned-start-to <string>', 'Planned start date to (YYYY-MM-DD)')
27
+ .option('--planned-end-from <string>', 'Planned end date from (YYYY-MM-DD)')
28
+ .option('--planned-end-to <string>', 'Planned end date to (YYYY-MM-DD)')
29
+ .option('--json', 'Output as JSON')
30
+ .action(async (options) => {
31
+ const context = configManager.getCurrentContext();
32
+ const environment = options.env || context.environment;
33
+ const tenant = options.tenant || context.tenant;
34
+ const page = parseInt(options.page, 10) - 1; // API uses 0-based
35
+ const size = parseInt(options.size, 10);
36
+ const params = { pageNo: page, pageSize: size };
37
+ if (options.code)
38
+ params.workOrderCode = options.code;
39
+ if (options.type)
40
+ params.workOrderType = options.type;
41
+ if (options.status)
42
+ params.workOrderStatus = options.status;
43
+ if (options.materialCode)
44
+ params.materialCode = options.materialCode;
45
+ if (options.materialName)
46
+ params.materialName = options.materialName;
47
+ if (options.bomCode)
48
+ params.bomCode = options.bomCode;
49
+ if (options.routingCode)
50
+ params.routingCode = options.routingCode;
51
+ if (options.workplaceCode)
52
+ params.workplaceCode = options.workplaceCode;
53
+ if (options.follower)
54
+ params.follower = options.follower;
55
+ if (options.priority)
56
+ params.priority = parseInt(options.priority, 10);
57
+ if (options.reviewFlag)
58
+ params.reviewFlag = options.reviewFlag;
59
+ if (options.createTimeFrom)
60
+ params.createTimeBegin = options.createTimeFrom;
61
+ if (options.createTimeTo)
62
+ params.createTimeEnd = options.createTimeTo;
63
+ if (options.plannedStartFrom)
64
+ params.plannedStartDateBegin = options.plannedStartFrom;
65
+ if (options.plannedStartTo)
66
+ params.plannedStartDateEnd = options.plannedStartTo;
67
+ if (options.plannedEndFrom)
68
+ params.plannedEndDateBegin = options.plannedEndFrom;
69
+ if (options.plannedEndTo)
70
+ params.plannedEndDateEnd = options.plannedEndTo;
71
+ const response = await apiClient.listWorkOrders(environment, tenant, params);
72
+ if (!response.success) {
73
+ console.error(chalk.red(`\n✗ Failed to list work orders: ${response.error?.message || 'Unknown error'}`));
74
+ process.exit(1);
75
+ }
76
+ const data = response.data;
77
+ if (!data || data.totalRows === 0) {
78
+ console.log(chalk.bold('\n📋 Work Order List\n'));
79
+ console.log(chalk.gray(' No records found\n'));
80
+ return;
81
+ }
82
+ if (options.json) {
83
+ console.log(JSON.stringify({ success: true, data }, null, 2));
84
+ return;
85
+ }
86
+ const records = data.rows || [];
87
+ console.log(chalk.bold('\n📋 Work Order List\n'));
88
+ const table = new Table({
89
+ head: [chalk.bold('ID'), chalk.bold('Code'), chalk.bold('Type'), chalk.bold('Material'), chalk.bold('Planned'), chalk.bold('Completed'), chalk.bold('Status')],
90
+ colWidths: [20, 15, 10, 20, 10, 10, 12],
91
+ style: { head: [], border: [] },
92
+ });
93
+ for (const r of records) {
94
+ const statusColor = r.workOrderStatus === 'COMPLETED' ? chalk.green :
95
+ r.workOrderStatus === 'IN_PROGRESS' ? chalk.blue :
96
+ r.workOrderStatus === 'RELEASED' ? chalk.cyan :
97
+ r.workOrderStatus === 'HOLD' ? chalk.yellow :
98
+ r.workOrderStatus === 'CANCELLED' ? chalk.red : chalk.gray;
99
+ table.push([
100
+ r.workOrderId || '-',
101
+ r.workOrderCode || '-',
102
+ r.workOrderType || '-',
103
+ r.materialName || r.materialCode || '-',
104
+ String(r.plannedQuantity || ''),
105
+ String(r.completedQuantity || ''),
106
+ statusColor(r.workOrderStatus || '-'),
107
+ ]);
108
+ }
109
+ console.log(table.toString());
110
+ console.log();
111
+ console.log(chalk.gray(` Total: ${data.totalRows} | Page: ${data.pageNo + 1} / ${Math.ceil(data.totalRows / data.pageSize) || 1}`));
112
+ console.log();
113
+ });
114
+ return listCommand;
115
+ }
116
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAIxD,MAAM,UAAU,0BAA0B;IACxC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,WAAW,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAE5D,WAAW;SACR,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,GAAG,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC;SAChD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SAC5C,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,2EAA2E,CAAC;SACxG,MAAM,CAAC,0BAA0B,EAAE,eAAe,CAAC;SACnD,MAAM,CAAC,0BAA0B,EAAE,eAAe,CAAC;SACnD,MAAM,CAAC,qBAAqB,EAAE,UAAU,CAAC;SACzC,MAAM,CAAC,yBAAyB,EAAE,cAAc,CAAC;SACjD,MAAM,CAAC,2BAA2B,EAAE,gBAAgB,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,UAAU,CAAC;SACzC,MAAM,CAAC,wBAAwB,EAAE,aAAa,CAAC;SAC/C,MAAM,CAAC,6BAA6B,EAAE,+BAA+B,CAAC;SACtE,MAAM,CAAC,2BAA2B,EAAE,6BAA6B,CAAC;SAClE,MAAM,CAAC,+BAA+B,EAAE,sCAAsC,CAAC;SAC/E,MAAM,CAAC,6BAA6B,EAAE,oCAAoC,CAAC;SAC3E,MAAM,CAAC,6BAA6B,EAAE,oCAAoC,CAAC;SAC3E,MAAM,CAAC,2BAA2B,EAAE,kCAAkC,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAc,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB;QAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;QACtD,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5D,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACrE,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACrE,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,IAAI,OAAO,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAClE,IAAI,OAAO,CAAC,aAAa;YAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACxE,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACzD,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/D,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC5E,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;QACtE,IAAI,OAAO,CAAC,gBAAgB;YAAE,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACtF,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,CAAC,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;QAChF,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,CAAC,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;QAChF,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;QAE1E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE7E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAyC,CAAC;QAChE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAElD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9J,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YACvC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SAChC,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,IAAI,OAAsB,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,CAAC,CAAC,eAAe,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnE,CAAC,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7C,CAAC,CAAC,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC3C,CAAC,CAAC,eAAe,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC;gBACT,CAAC,CAAC,WAAW,IAAI,GAAG;gBACpB,CAAC,CAAC,aAAa,IAAI,GAAG;gBACtB,CAAC,CAAC,aAAa,IAAI,GAAG;gBACtB,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG;gBACvC,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBACjC,WAAW,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createWorkOrderReleaseCommand(): Command;
3
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,6BAA6B,IAAI,OAAO,CAgJvD"}
@@ -0,0 +1,147 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import inquirer from 'inquirer';
4
+ import { configManager } from '../../../core/config/manager.js';
5
+ import { apiClient } from '../../../core/api/client.js';
6
+ export function createWorkOrderReleaseCommand() {
7
+ const cmd = new Command('release');
8
+ cmd
9
+ .description('Release (approve) work orders')
10
+ .argument('<ids...>', 'Work order IDs to release')
11
+ .option('--force', 'Skip confirmation prompt')
12
+ .option('--dry-run', 'Preview what would be released')
13
+ .option('--json', 'Output as JSON');
14
+ cmd.action(async (ids, options) => {
15
+ const context = configManager.getCurrentContext();
16
+ const environment = context.environment;
17
+ const tenant = context.tenant;
18
+ const jsonOutput = options.json === true;
19
+ const dryRun = options.dryRun === true;
20
+ const force = options.force === true;
21
+ if (ids.length === 0) {
22
+ const errMsg = 'No work order IDs provided';
23
+ if (jsonOutput) {
24
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
25
+ }
26
+ else {
27
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
28
+ }
29
+ process.exit(1);
30
+ }
31
+ // Validate IDs are non-empty strings
32
+ const validIds = ids.filter(id => id.trim() !== '');
33
+ if (validIds.length === 0) {
34
+ const errMsg = 'No valid work order IDs provided';
35
+ if (jsonOutput) {
36
+ console.log(JSON.stringify({ success: false, error: { code: 'INVALID_IDS', message: errMsg } }));
37
+ }
38
+ else {
39
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
40
+ }
41
+ process.exit(1);
42
+ }
43
+ // Fetch details for dry-run or confirmation
44
+ const workOrders = [];
45
+ if (!force || dryRun) {
46
+ for (const id of validIds) {
47
+ try {
48
+ // Note: There's no getWorkOrder endpoint, so we fetch from list
49
+ const response = await apiClient.listWorkOrders(environment, tenant, { workOrderId: id, pageSize: 1 });
50
+ if (response.success && response.data && 'rows' in response.data) {
51
+ const rows = response.data.rows;
52
+ if (rows && rows.length > 0 && rows[0].workOrderId === id) {
53
+ workOrders.push(rows[0]);
54
+ }
55
+ }
56
+ }
57
+ catch {
58
+ // ignore fetch errors
59
+ }
60
+ }
61
+ }
62
+ if (dryRun) {
63
+ if (jsonOutput) {
64
+ console.log(JSON.stringify({
65
+ success: true,
66
+ dryRun: true,
67
+ ids: validIds,
68
+ workOrders: workOrders.map(wo => ({
69
+ workOrderId: wo.workOrderId,
70
+ workOrderCode: wo.workOrderCode,
71
+ materialName: wo.materialName,
72
+ plannedQuantity: wo.plannedQuantity,
73
+ workOrderStatus: wo.workOrderStatus,
74
+ })),
75
+ message: 'Dry-run mode: no actual release will be performed',
76
+ }));
77
+ }
78
+ else {
79
+ console.log(chalk.bold('\n🔍 Dry-Run Mode: No changes will be made\n'));
80
+ console.log(chalk.gray(` IDs to release: ${validIds.join(', ')}\n`));
81
+ if (workOrders.length > 0) {
82
+ console.log(chalk.gray(' Work orders to be released:'));
83
+ workOrders.forEach(wo => {
84
+ console.log(chalk.gray(` • ${wo.workOrderCode || wo.workOrderId} (Material: ${wo.materialName || wo.materialCode}, Qty: ${wo.plannedQuantity})`));
85
+ });
86
+ console.log();
87
+ }
88
+ }
89
+ return;
90
+ }
91
+ if (!force) {
92
+ // Show confirmation prompt with details
93
+ if (!jsonOutput) {
94
+ console.log(chalk.bold('\n📝 Release Work Orders\n'));
95
+ console.log(chalk.gray(` IDs: ${validIds.join(', ')}\n`));
96
+ if (workOrders.length > 0) {
97
+ console.log(chalk.gray(' Work orders to release:'));
98
+ workOrders.forEach(wo => {
99
+ console.log(chalk.gray(` • ${wo.workOrderCode || wo.workOrderId} (Material: ${wo.materialName || wo.materialCode}, Qty: ${wo.plannedQuantity})`));
100
+ });
101
+ console.log();
102
+ }
103
+ }
104
+ const { confirm } = await inquirer.prompt([
105
+ {
106
+ type: 'confirm',
107
+ name: 'confirm',
108
+ message: `Release ${validIds.length} work order(s)?`,
109
+ default: false,
110
+ },
111
+ ]);
112
+ if (!confirm) {
113
+ if (jsonOutput) {
114
+ console.log(JSON.stringify({ success: false, error: { code: 'CANCELLED', message: 'Operation cancelled by user' } }));
115
+ }
116
+ else {
117
+ console.log(chalk.gray('\n Operation cancelled.\n'));
118
+ }
119
+ process.exit(0);
120
+ }
121
+ }
122
+ if (!jsonOutput) {
123
+ console.log(chalk.bold(`\n📝 Releasing ${validIds.length} Work Order(s)\n`));
124
+ }
125
+ const response = await apiClient.batchReviewWorkOrders(environment, tenant, validIds);
126
+ if (response.success) {
127
+ if (jsonOutput) {
128
+ console.log(JSON.stringify({ success: true, releasedCount: validIds.length, ids: validIds }));
129
+ }
130
+ else {
131
+ console.log(chalk.green(`\n✓ ${validIds.length} work order(s) released\n`));
132
+ }
133
+ }
134
+ else {
135
+ const errMsg = response.error?.message || 'Failed to release';
136
+ if (jsonOutput) {
137
+ console.log(JSON.stringify({ success: false, error: { code: response.error?.code, message: errMsg } }));
138
+ }
139
+ else {
140
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
141
+ }
142
+ process.exit(1);
143
+ }
144
+ });
145
+ return cmd;
146
+ }
147
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../../src/commands/liberica/work-orders/release.ts"],"names":[],"mappings":"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"}