@newpeak/barista-cli 0.1.18 → 0.1.19

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 (69) hide show
  1. package/dist/commands/liberica/client-price/create.d.ts.map +1 -1
  2. package/dist/commands/liberica/client-price/create.js +46 -8
  3. package/dist/commands/liberica/client-price/create.js.map +1 -1
  4. package/dist/commands/liberica/client-price/update.d.ts.map +1 -1
  5. package/dist/commands/liberica/client-price/update.js +2 -3
  6. package/dist/commands/liberica/client-price/update.js.map +1 -1
  7. package/dist/commands/liberica/index.d.ts.map +1 -1
  8. package/dist/commands/liberica/index.js +3 -0
  9. package/dist/commands/liberica/index.js.map +1 -1
  10. package/dist/commands/liberica/supplier-price/create.d.ts +3 -0
  11. package/dist/commands/liberica/supplier-price/create.d.ts.map +1 -0
  12. package/dist/commands/liberica/supplier-price/create.js +217 -0
  13. package/dist/commands/liberica/supplier-price/create.js.map +1 -0
  14. package/dist/commands/liberica/supplier-price/delete.d.ts +3 -0
  15. package/dist/commands/liberica/supplier-price/delete.d.ts.map +1 -0
  16. package/dist/commands/liberica/supplier-price/delete.js +102 -0
  17. package/dist/commands/liberica/supplier-price/delete.js.map +1 -0
  18. package/dist/commands/liberica/supplier-price/diff.d.ts +3 -0
  19. package/dist/commands/liberica/supplier-price/diff.d.ts.map +1 -0
  20. package/dist/commands/liberica/supplier-price/diff.js +162 -0
  21. package/dist/commands/liberica/supplier-price/diff.js.map +1 -0
  22. package/dist/commands/liberica/supplier-price/disable.d.ts +3 -0
  23. package/dist/commands/liberica/supplier-price/disable.d.ts.map +1 -0
  24. package/dist/commands/liberica/supplier-price/disable.js +63 -0
  25. package/dist/commands/liberica/supplier-price/disable.js.map +1 -0
  26. package/dist/commands/liberica/supplier-price/enable.d.ts +3 -0
  27. package/dist/commands/liberica/supplier-price/enable.d.ts.map +1 -0
  28. package/dist/commands/liberica/supplier-price/enable.js +63 -0
  29. package/dist/commands/liberica/supplier-price/enable.js.map +1 -0
  30. package/dist/commands/liberica/supplier-price/expire.d.ts +3 -0
  31. package/dist/commands/liberica/supplier-price/expire.d.ts.map +1 -0
  32. package/dist/commands/liberica/supplier-price/expire.js +167 -0
  33. package/dist/commands/liberica/supplier-price/expire.js.map +1 -0
  34. package/dist/commands/liberica/supplier-price/get.d.ts +3 -0
  35. package/dist/commands/liberica/supplier-price/get.d.ts.map +1 -0
  36. package/dist/commands/liberica/supplier-price/get.js +93 -0
  37. package/dist/commands/liberica/supplier-price/get.js.map +1 -0
  38. package/dist/commands/liberica/supplier-price/history.d.ts +3 -0
  39. package/dist/commands/liberica/supplier-price/history.d.ts.map +1 -0
  40. package/dist/commands/liberica/supplier-price/history.js +114 -0
  41. package/dist/commands/liberica/supplier-price/history.js.map +1 -0
  42. package/dist/commands/liberica/supplier-price/index.d.ts +3 -0
  43. package/dist/commands/liberica/supplier-price/index.d.ts.map +1 -0
  44. package/dist/commands/liberica/supplier-price/index.js +29 -0
  45. package/dist/commands/liberica/supplier-price/index.js.map +1 -0
  46. package/dist/commands/liberica/supplier-price/list.d.ts +3 -0
  47. package/dist/commands/liberica/supplier-price/list.d.ts.map +1 -0
  48. package/dist/commands/liberica/supplier-price/list.js +115 -0
  49. package/dist/commands/liberica/supplier-price/list.js.map +1 -0
  50. package/dist/commands/liberica/supplier-price/simulate.d.ts +3 -0
  51. package/dist/commands/liberica/supplier-price/simulate.d.ts.map +1 -0
  52. package/dist/commands/liberica/supplier-price/simulate.js +124 -0
  53. package/dist/commands/liberica/supplier-price/simulate.js.map +1 -0
  54. package/dist/commands/liberica/supplier-price/update.d.ts +3 -0
  55. package/dist/commands/liberica/supplier-price/update.d.ts.map +1 -0
  56. package/dist/commands/liberica/supplier-price/update.js +146 -0
  57. package/dist/commands/liberica/supplier-price/update.js.map +1 -0
  58. package/dist/index.js +1 -1
  59. package/dist/types/client-price.d.ts +2 -2
  60. package/dist/types/client-price.d.ts.map +1 -1
  61. package/dist/types/supplier-price.d.ts +181 -0
  62. package/dist/types/supplier-price.d.ts.map +1 -0
  63. package/dist/types/supplier-price.js +3 -0
  64. package/dist/types/supplier-price.js.map +1 -0
  65. package/dist/utils/tax.d.ts +1 -25
  66. package/dist/utils/tax.d.ts.map +1 -1
  67. package/dist/utils/tax.js +4 -39
  68. package/dist/utils/tax.js.map +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { configManager } from '../../../core/config/manager.js';
4
+ import { tokenManager } from '../../../core/auth/token-manager.js';
5
+ import { createAPIClient } from '../../../core/api/client.js';
6
+ import { decimalToPercent } from '../../../utils/tax.js';
7
+ export function createSupplierPriceGetCommand() {
8
+ const getCommand = new Command('get');
9
+ getCommand.description('Get supplier price details');
10
+ getCommand.arguments('<id>');
11
+ getCommand.option('--json', 'Output as JSON');
12
+ getCommand.action(async (id, options) => {
13
+ const context = configManager.getCurrentContext();
14
+ const environment = options.env || context.environment;
15
+ const tenant = options.tenant || context.tenant;
16
+ const jsonOutput = options.json === true;
17
+ if (!tenant) {
18
+ console.error(chalk.red('\n✗ No tenant configured. Run "barista liberica auth login" first.\n'));
19
+ process.exit(1);
20
+ }
21
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
22
+ if (!token) {
23
+ console.error(chalk.red('\n✗ Not logged in. Run "barista liberica auth login" first.\n'));
24
+ process.exit(1);
25
+ }
26
+ const client = createAPIClient('liberica', environment, tenant);
27
+ client.setAuthToken(token);
28
+ try {
29
+ const response = await client.getClient().get(`/api/enterprise/purchases/supplier/price/detail?supplierPriceId=${id}`);
30
+ if (!response.data.success) {
31
+ const errorCode = response.data.error?.code || 'UNKNOWN_ERROR';
32
+ const errorMessage = response.data.error?.message || 'Unknown error';
33
+ if (jsonOutput) {
34
+ console.log(JSON.stringify({ success: false, error: response.data.error }));
35
+ }
36
+ else {
37
+ if (errorCode === '01001150001' || errorMessage.includes('不存在')) {
38
+ console.error(chalk.red(`\n✗ Supplier price not found: ${id}\n`));
39
+ }
40
+ else {
41
+ console.error(chalk.red(`\n✗ Error: ${errorMessage} (${errorCode})\n`));
42
+ }
43
+ }
44
+ process.exit(1);
45
+ }
46
+ const price = response.data.data;
47
+ if (!price) {
48
+ console.error(chalk.red('\n✗ Supplier price not found\n'));
49
+ process.exit(1);
50
+ }
51
+ if (jsonOutput) {
52
+ console.log(JSON.stringify({ success: true, data: price }, null, 2));
53
+ return;
54
+ }
55
+ console.log(chalk.bold('\n💰 Supplier Price Details\n'));
56
+ console.log(` ${chalk.gray('Price ID:')} ${price.supplierPriceId}`);
57
+ console.log(` ${chalk.gray('Supplier:')} ${price.supplierName} (${price.supplierCode})`);
58
+ console.log(` ${chalk.gray('Material:')} ${price.materialName} (${price.materialCode})`);
59
+ console.log(` ${chalk.gray('UOM:')} ${price.materialUomCode || '-'}`);
60
+ console.log(` ${chalk.gray('Min Order:')} ${price.minOrderNumber || '-'}`);
61
+ console.log(` ${chalk.gray('Unit Price:')} ¥${price.unitPrice?.toFixed(2) || '-'}`);
62
+ console.log(` ${chalk.gray('Currency:')} ${price.currency || '-'}`);
63
+ console.log(` ${chalk.gray('Tax Type:')} ${price.taxType || '-'}`);
64
+ console.log(` ${chalk.gray('Tax Rate:')} ${decimalToPercent(price.taxRate)}`);
65
+ console.log(` ${chalk.gray('After Tax:')} ¥${price.afterTaxPrice?.toFixed(2) || '-'}`);
66
+ console.log(` ${chalk.gray('Eff. Date:')} ${price.effectiveDate || '-'}`);
67
+ const statusText = price.statusFlag === 'ENABLE' ? chalk.green('Active') : chalk.gray('Inactive');
68
+ console.log(` ${chalk.gray('Status:')} ${statusText}`);
69
+ if (price.remark) {
70
+ console.log(` ${chalk.gray('Remark:')} ${price.remark}`);
71
+ }
72
+ if (price.createTime) {
73
+ console.log(` ${chalk.gray('Created:')} ${price.createTime}`);
74
+ }
75
+ if (price.updateTime) {
76
+ console.log(` ${chalk.gray('Updated:')} ${price.updateTime}`);
77
+ }
78
+ console.log();
79
+ }
80
+ catch (error) {
81
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
82
+ if (jsonOutput) {
83
+ console.log(JSON.stringify({ success: false, error: { code: 'API_ERROR', message: errMsg } }));
84
+ }
85
+ else {
86
+ console.error(chalk.red(`\n✗ Unexpected error: ${errMsg}\n`));
87
+ }
88
+ process.exit(1);
89
+ }
90
+ });
91
+ return getCommand;
92
+ }
93
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,6BAA6B;IAC3C,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACrD,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE9C,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAgC,EAAE,EAAE;QACvE,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAI,OAAO,CAAC,MAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;YACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,UAAiB,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAC3C,mEAAmE,EAAE,EAAE,CACxE,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,eAAe,CAAC;gBAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;gBACrE,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,IAAI,SAAS,KAAK,aAAa,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,YAAY,KAAK,SAAS,KAAK,CAAC,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAA4B,CAAC;YAEzD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,CAAC,cAAc,IAAI,GAAG,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACxE,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACjG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,MAAM,IAAI,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createSupplierPriceHistoryCommand(): Command;
3
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,iCAAiC,IAAI,OAAO,CAoH3D"}
@@ -0,0 +1,114 @@
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 { tokenManager } from '../../../core/auth/token-manager.js';
6
+ import { createAPIClient } from '../../../core/api/client.js';
7
+ import { decimalToPercent, getPriceStatus, getStatusIndicator, formatPriceStatus } from '../../../utils/tax.js';
8
+ export function createSupplierPriceHistoryCommand() {
9
+ const historyCommand = new Command('history');
10
+ historyCommand.description('View all prices for a supplier+material combination');
11
+ historyCommand
12
+ .requiredOption('--supplier <code>', 'Supplier code')
13
+ .requiredOption('--material <code>', 'Material code')
14
+ .option('--uom <code>', 'UOM code')
15
+ .option('--json', 'Output as JSON');
16
+ historyCommand.action(async (options) => {
17
+ const context = configManager.getCurrentContext();
18
+ const environment = context.environment;
19
+ const tenant = context.tenant;
20
+ const jsonOutput = options.json === true;
21
+ if (!tenant) {
22
+ console.error(chalk.red('\n✗ No tenant configured. Run "barista liberica auth login" first.\n'));
23
+ process.exit(1);
24
+ }
25
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
26
+ if (!token) {
27
+ console.error(chalk.red('\n✗ Not logged in. Run "barista liberica auth login" first.\n'));
28
+ process.exit(1);
29
+ }
30
+ const client = createAPIClient('liberica', environment, tenant);
31
+ client.setAuthToken(token);
32
+ const queryString = new URLSearchParams();
33
+ queryString.append('supplierCode', options.supplier);
34
+ queryString.append('materialCode', options.material);
35
+ if (options.uom)
36
+ queryString.append('materialUomCode', options.uom);
37
+ try {
38
+ const response = await client.getClient().get(`/api/enterprise/purchases/supplier/price/list?${queryString.toString()}`);
39
+ if (!response.data.success) {
40
+ const errMsg = response.data.error?.message || 'Failed to fetch supplier price history';
41
+ if (jsonOutput) {
42
+ console.log(JSON.stringify({ success: false, error: response.data.error }));
43
+ }
44
+ else {
45
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
46
+ }
47
+ process.exit(1);
48
+ }
49
+ const prices = response.data.data || [];
50
+ if (prices.length === 0) {
51
+ if (jsonOutput) {
52
+ console.log(JSON.stringify({ success: true, data: [], message: 'No price records found' }));
53
+ }
54
+ else {
55
+ console.log(chalk.yellow('\n No price records found for this supplier+material.\n'));
56
+ }
57
+ return;
58
+ }
59
+ if (jsonOutput) {
60
+ console.log(JSON.stringify({ success: true, data: prices }, null, 2));
61
+ return;
62
+ }
63
+ const table = new Table({
64
+ head: [
65
+ chalk.bold('Status'),
66
+ chalk.bold('Eff. Date'),
67
+ chalk.bold('Min Qty'),
68
+ chalk.bold('Unit Price'),
69
+ chalk.bold('Tax Rate'),
70
+ chalk.bold('After Tax'),
71
+ chalk.bold('Currency'),
72
+ chalk.bold('UOM'),
73
+ ],
74
+ colWidths: [6, 12, 10, 12, 8, 12, 8, 6],
75
+ style: { border: [], head: [] },
76
+ });
77
+ for (const price of prices) {
78
+ const status = getPriceStatus(price.effectiveDate);
79
+ const indicator = getStatusIndicator(status);
80
+ let statusColor = chalk.gray;
81
+ if (status === 'current')
82
+ statusColor = chalk.green;
83
+ else if (status === 'pending')
84
+ statusColor = chalk.yellow;
85
+ table.push([
86
+ statusColor(`${indicator} ${formatPriceStatus(status)}`),
87
+ price.effectiveDate || '-',
88
+ price.minOrderNumber?.toString() || '-',
89
+ price.unitPrice != null ? `¥${price.unitPrice.toFixed(2)}` : '-',
90
+ decimalToPercent(price.taxRate),
91
+ price.afterTaxPrice != null ? `¥${price.afterTaxPrice.toFixed(2)}` : '-',
92
+ price.currency || '-',
93
+ price.materialUomCode || '-',
94
+ ]);
95
+ }
96
+ console.log(chalk.bold('\n Supplier Price History\n'));
97
+ console.log(chalk.gray(` Supplier: ${options.supplier} | Material: ${options.material}\n`));
98
+ console.log(table.toString());
99
+ console.log(chalk.gray(' Legend: ✓ = Current, ○ = Pending (future), ✗ = Historical\n'));
100
+ }
101
+ catch (error) {
102
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
103
+ if (jsonOutput) {
104
+ console.log(JSON.stringify({ success: false, error: { code: 'API_ERROR', message: errMsg } }));
105
+ }
106
+ else {
107
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
108
+ }
109
+ process.exit(1);
110
+ }
111
+ });
112
+ return historyCommand;
113
+ }
114
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createSupplierPriceCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,0BAA0B,IAAI,OAAO,CAiBpD"}
@@ -0,0 +1,29 @@
1
+ import { Command } from 'commander';
2
+ import { createSupplierPriceListCommand } from './list.js';
3
+ import { createSupplierPriceGetCommand } from './get.js';
4
+ import { createSupplierPriceCreateCommand } from './create.js';
5
+ import { createSupplierPriceUpdateCommand } from './update.js';
6
+ import { createSupplierPriceDeleteCommand } from './delete.js';
7
+ import { createSupplierPriceEnableCommand } from './enable.js';
8
+ import { createSupplierPriceDisableCommand } from './disable.js';
9
+ import { createSupplierPriceHistoryCommand } from './history.js';
10
+ import { createSupplierPriceSimulateCommand } from './simulate.js';
11
+ import { createSupplierPriceDiffCommand } from './diff.js';
12
+ import { createSupplierPriceExpireCommand } from './expire.js';
13
+ export function createSupplierPriceCommand() {
14
+ const supplierPriceCommand = new Command('supplier-price');
15
+ supplierPriceCommand.description('Supplier purchase price management');
16
+ supplierPriceCommand.addCommand(createSupplierPriceListCommand());
17
+ supplierPriceCommand.addCommand(createSupplierPriceGetCommand());
18
+ supplierPriceCommand.addCommand(createSupplierPriceCreateCommand());
19
+ supplierPriceCommand.addCommand(createSupplierPriceUpdateCommand());
20
+ supplierPriceCommand.addCommand(createSupplierPriceDeleteCommand());
21
+ supplierPriceCommand.addCommand(createSupplierPriceEnableCommand());
22
+ supplierPriceCommand.addCommand(createSupplierPriceDisableCommand());
23
+ supplierPriceCommand.addCommand(createSupplierPriceHistoryCommand());
24
+ supplierPriceCommand.addCommand(createSupplierPriceSimulateCommand());
25
+ supplierPriceCommand.addCommand(createSupplierPriceDiffCommand());
26
+ supplierPriceCommand.addCommand(createSupplierPriceExpireCommand());
27
+ return supplierPriceCommand;
28
+ }
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,UAAU,0BAA0B;IACxC,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,oBAAoB,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAEvE,oBAAoB,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAClE,oBAAoB,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACjE,oBAAoB,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IACpE,oBAAoB,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IACpE,oBAAoB,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IACpE,oBAAoB,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IACpE,oBAAoB,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACrE,oBAAoB,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACrE,oBAAoB,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC,CAAC;IACtE,oBAAoB,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAClE,oBAAoB,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IAEpE,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createSupplierPriceListCommand(): Command;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,8BAA8B,IAAI,OAAO,CAsHxD"}
@@ -0,0 +1,115 @@
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 { tokenManager } from '../../../core/auth/token-manager.js';
6
+ import { createAPIClient } from '../../../core/api/client.js';
7
+ import { decimalToPercent } from '../../../utils/tax.js';
8
+ export function createSupplierPriceListCommand() {
9
+ const listCommand = new Command('list');
10
+ listCommand.description('Query supplier price list (paginated)');
11
+ listCommand
12
+ .option('--supplier <code>', 'Supplier code')
13
+ .option('--material <code>', 'Material code')
14
+ .option('-p, --page <number>', 'Page number (1-based)', '1')
15
+ .option('-s, --size <number>', 'Page size', '20')
16
+ .option('--status <active|inactive|all>', 'Status filter', 'all')
17
+ .option('--effective-date <date>', 'Effective date (YYYY-MM-DD)')
18
+ .option('--json', 'Output as JSON')
19
+ .action(async (options) => {
20
+ const context = configManager.getCurrentContext();
21
+ const environment = options.env || context.environment;
22
+ const tenant = options.tenant || context.tenant;
23
+ if (!tenant) {
24
+ console.error(chalk.red('\n✗ No tenant configured. Run "barista liberica auth login" first.\n'));
25
+ process.exit(1);
26
+ }
27
+ const pageNo = parseInt(options.page, 10) - 1;
28
+ const pageSize = parseInt(options.size, 10);
29
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
30
+ if (!token) {
31
+ console.error(chalk.red('\n✗ Not logged in. Run "barista liberica auth login" first.\n'));
32
+ process.exit(1);
33
+ }
34
+ const client = createAPIClient('liberica', environment, tenant);
35
+ client.setAuthToken(token);
36
+ const queryString = new URLSearchParams();
37
+ queryString.append('pageNo', pageNo.toString());
38
+ queryString.append('pageSize', pageSize.toString());
39
+ if (options.supplier)
40
+ queryString.append('supplierCode', options.supplier);
41
+ if (options.material)
42
+ queryString.append('materialCode', options.material);
43
+ if (options.status && options.status !== 'all') {
44
+ queryString.append('statusFlag', options.status === 'active' ? 'ENABLE' : 'DISABLE');
45
+ }
46
+ if (options.effectiveDate)
47
+ queryString.append('effectiveDate', options.effectiveDate);
48
+ try {
49
+ const response = await client.getClient().get(`/api/enterprise/purchases/supplier/price/page?${queryString.toString()}`);
50
+ if (!response.data.success) {
51
+ const errMsg = response.data.error?.message || 'Failed to fetch supplier prices';
52
+ if (options.json) {
53
+ console.log(JSON.stringify({ success: false, error: response.data.error }));
54
+ }
55
+ else {
56
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
57
+ }
58
+ process.exit(1);
59
+ }
60
+ const data = response.data.data;
61
+ const items = data?.rows || [];
62
+ if (options.json) {
63
+ console.log(JSON.stringify({ success: true, data }, null, 2));
64
+ return;
65
+ }
66
+ if (items.length === 0) {
67
+ console.log(chalk.yellow('\n No supplier price records found.\n'));
68
+ return;
69
+ }
70
+ const table = new Table({
71
+ head: [
72
+ chalk.bold('Supplier'),
73
+ chalk.bold('Material'),
74
+ chalk.bold('Min Qty'),
75
+ chalk.bold('Unit Price'),
76
+ chalk.bold('Tax Rate'),
77
+ chalk.bold('After Tax'),
78
+ chalk.bold('Eff. Date'),
79
+ chalk.bold('Status'),
80
+ ],
81
+ colWidths: [16, 14, 8, 12, 8, 12, 12, 8],
82
+ style: { border: [], head: [] },
83
+ });
84
+ for (const item of items) {
85
+ table.push([
86
+ item.supplierCode || '-',
87
+ item.materialCode || '-',
88
+ item.minOrderNumber?.toString() || '-',
89
+ item.unitPrice != null ? `¥${item.unitPrice.toFixed(2)}` : '-',
90
+ decimalToPercent(item.taxRate),
91
+ item.afterTaxPrice != null ? `¥${item.afterTaxPrice.toFixed(2)}` : '-',
92
+ item.effectiveDate || '-',
93
+ item.statusFlag === 'ENABLE' ? chalk.green('Active') : chalk.gray('Inactive'),
94
+ ]);
95
+ }
96
+ console.log(chalk.bold('\n Supplier Price List\n'));
97
+ console.log(table.toString());
98
+ const totalPages = Math.ceil((data?.totalRows || 0) / pageSize);
99
+ const currentPage = pageNo + 1;
100
+ console.log(chalk.gray(`\n Page ${currentPage} of ${totalPages} (Total: ${(data?.totalRows || 0).toLocaleString()})\n`));
101
+ }
102
+ catch (error) {
103
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
104
+ if (options.json) {
105
+ console.log(JSON.stringify({ success: false, error: { code: 'API_ERROR', message: errMsg } }));
106
+ }
107
+ else {
108
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
109
+ }
110
+ process.exit(1);
111
+ }
112
+ });
113
+ return listCommand;
114
+ }
115
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createSupplierPriceSimulateCommand(): Command;
3
+ //# sourceMappingURL=simulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,kCAAkC,IAAI,OAAO,CAoI5D"}
@@ -0,0 +1,124 @@
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 { tokenManager } from '../../../core/auth/token-manager.js';
6
+ import { createAPIClient } from '../../../core/api/client.js';
7
+ import { decimalToPercent, getTodayString, formatPriceWithLocale } from '../../../utils/tax.js';
8
+ export function createSupplierPriceSimulateCommand() {
9
+ const simulateCommand = new Command('simulate');
10
+ simulateCommand.description('Simulate price calculation for a given quantity');
11
+ simulateCommand
12
+ .requiredOption('--supplier <code>', 'Supplier code')
13
+ .requiredOption('--material <code>', 'Material code')
14
+ .requiredOption('--qty <number>', 'Order quantity', parseFloat)
15
+ .option('--date <date>', 'Simulate date (YYYY-MM-DD, default: today)')
16
+ .option('--uom <code>', 'UOM code')
17
+ .option('--json', 'Output as JSON');
18
+ simulateCommand.action(async (options) => {
19
+ const context = configManager.getCurrentContext();
20
+ const environment = context.environment;
21
+ const tenant = context.tenant;
22
+ const jsonOutput = options.json === true;
23
+ if (!tenant) {
24
+ console.error(chalk.red('\n✗ No tenant configured. Run "barista liberica auth login" first.\n'));
25
+ process.exit(1);
26
+ }
27
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
28
+ if (!token) {
29
+ console.error(chalk.red('\n✗ Not logged in. Run "barista liberica auth login" first.\n'));
30
+ process.exit(1);
31
+ }
32
+ const client = createAPIClient('liberica', environment, tenant);
33
+ client.setAuthToken(token);
34
+ const simulateDate = options.date || getTodayString();
35
+ const qty = options.qty;
36
+ const queryString = new URLSearchParams();
37
+ queryString.append('supplierCode', options.supplier);
38
+ queryString.append('materialCode', options.material);
39
+ if (options.uom)
40
+ queryString.append('materialUomCode', options.uom);
41
+ try {
42
+ const response = await client.getClient().get(`/api/enterprise/purchases/supplier/price/list?${queryString.toString()}`);
43
+ if (!response.data.success) {
44
+ const errMsg = response.data.error?.message || 'Failed to fetch prices';
45
+ if (jsonOutput) {
46
+ console.log(JSON.stringify({ success: false, error: response.data.error }));
47
+ }
48
+ else {
49
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
50
+ }
51
+ process.exit(1);
52
+ }
53
+ const allPrices = response.data.data || [];
54
+ const eligiblePrices = allPrices
55
+ .filter((p) => p.statusFlag === 'ENABLE')
56
+ .filter((p) => p.effectiveDate <= simulateDate)
57
+ .filter((p) => !options.uom || p.materialUomCode === options.uom)
58
+ .sort((a, b) => (b.minOrderNumber || 0) - (a.minOrderNumber || 0));
59
+ const matchedPrice = eligiblePrices.find((p) => (p.minOrderNumber || 0) <= qty);
60
+ if (jsonOutput) {
61
+ console.log(JSON.stringify({
62
+ success: true,
63
+ simulateDate,
64
+ quantity: qty,
65
+ matchedPrice,
66
+ allPrices: eligiblePrices,
67
+ totalAmount: matchedPrice ? qty * (matchedPrice.afterTaxPrice || matchedPrice.unitPrice) : null,
68
+ }, null, 2));
69
+ return;
70
+ }
71
+ console.log(chalk.bold('\n Price Simulation\n'));
72
+ console.log(chalk.gray(` Supplier: ${options.supplier}`));
73
+ console.log(chalk.gray(` Material: ${options.material}`));
74
+ console.log(chalk.gray(` Quantity: ${qty}`));
75
+ console.log(chalk.gray(` Date: ${simulateDate}\n`));
76
+ if (eligiblePrices.length === 0) {
77
+ console.log(chalk.red(' No eligible prices found for this combination.\n'));
78
+ return;
79
+ }
80
+ const table = new Table({
81
+ head: [
82
+ chalk.bold('Match'),
83
+ chalk.bold('Min Qty'),
84
+ chalk.bold('Unit Price'),
85
+ chalk.bold('Tax Rate'),
86
+ chalk.bold('After Tax'),
87
+ ],
88
+ colWidths: [8, 10, 12, 8, 12],
89
+ style: { border: [], head: [] },
90
+ });
91
+ for (const price of eligiblePrices) {
92
+ const isMatched = matchedPrice && price.supplierPriceId === matchedPrice.supplierPriceId;
93
+ const row = [
94
+ isMatched ? chalk.green('▶') : ' ',
95
+ price.minOrderNumber?.toString() || '-',
96
+ price.unitPrice != null ? `¥${price.unitPrice.toFixed(2)}` : '-',
97
+ decimalToPercent(price.taxRate),
98
+ price.afterTaxPrice != null ? `¥${price.afterTaxPrice.toFixed(2)}` : '-',
99
+ ];
100
+ table.push(row);
101
+ }
102
+ console.log(table.toString());
103
+ if (matchedPrice) {
104
+ const total = qty * matchedPrice.afterTaxPrice;
105
+ console.log(chalk.green(`\n ✓ Matched: ${matchedPrice.materialUomCode || 'PCS'} × ${qty} × ¥${matchedPrice.afterTaxPrice.toFixed(2)} = ${formatPriceWithLocale(total)}\n`));
106
+ }
107
+ else {
108
+ console.log(chalk.red(`\n ✗ No price found for quantity ${qty} (highest minOrderNumber: ${eligiblePrices[0]?.minOrderNumber || '-'})\n`));
109
+ }
110
+ }
111
+ catch (error) {
112
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
113
+ if (jsonOutput) {
114
+ console.log(JSON.stringify({ success: false, error: { code: 'API_ERROR', message: errMsg } }));
115
+ }
116
+ else {
117
+ console.error(chalk.red(`\n✗ ${errMsg}\n`));
118
+ }
119
+ process.exit(1);
120
+ }
121
+ });
122
+ return simulateCommand;
123
+ }
124
+ //# sourceMappingURL=simulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/simulate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createSupplierPriceUpdateCommand(): Command;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/supplier-price/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gCAAgC,IAAI,OAAO,CA+I1D"}