@things-factory/operato-hub 4.3.690 → 4.3.692

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.
@@ -31,6 +31,45 @@ exports.params = {
31
31
  'get-inventory-product-group-list': ['bizplaceId', 'sku', 'batchId', ...fromToDate, ...limitOffset],
32
32
  'get-inventory-adjustment-details': ['bizplaceId', 'id'],
33
33
  'get-inventory-adjustment-list': ['bizplaceId', ...fromToDate, ...limitOffset, 'sku', 'adjustmentStatus'],
34
+ 'add-inventory-adjustment': [
35
+ 'adjustments',
36
+ 'adjustments.target',
37
+ 'adjustments.target.palletId',
38
+ 'adjustments.target.cartonId',
39
+ 'adjustments.target.batchId',
40
+ 'adjustments.target.locationName',
41
+ 'adjustments.target.bizplaceId',
42
+ 'adjustments.target.sku',
43
+ 'adjustments.changes',
44
+ // core required
45
+ 'adjustments.changes.adjustmentCode',
46
+ 'adjustments.changes.adjustmentNote',
47
+ // commonly used fields
48
+ 'adjustments.changes.qty',
49
+ 'adjustments.changes.uom',
50
+ 'adjustments.changes.uomValue',
51
+ 'adjustments.changes.location',
52
+ 'adjustments.changes.locationName',
53
+ 'adjustments.changes.packingType',
54
+ 'adjustments.changes.packingSize',
55
+ 'adjustments.changes.batchId',
56
+ 'adjustments.changes.batchIdRef',
57
+ 'adjustments.changes.unitCost',
58
+ 'adjustments.changes.expirationDate',
59
+ 'adjustments.changes.manufactureDate',
60
+ 'adjustments.changes.remark',
61
+ 'adjustments.changes.serialNumbers',
62
+ 'adjustments.changes.productDetailId',
63
+ 'adjustments.changes.sku',
64
+ 'adjustments.changes.productName',
65
+ 'adjustments.changes.refCode',
66
+ // accepted aliases
67
+ 'adjustments.changes.batchNo',
68
+ 'adjustments.changes.batchNoRef',
69
+ 'adjustments.changes.totalUomValue',
70
+ 'adjustments.changes.expDate',
71
+ 'adjustments.changes.company'
72
+ ],
34
73
  'get-manifest-details': ['bizplaceId', 'name', 'id'],
35
74
  'get-webhook-details': ['warehouseBizplaceId', 'webhookId'],
36
75
  'add-contact-points': [
@@ -679,6 +718,64 @@ exports.reqParams = {
679
718
  'get-warehouse-bizplace-onhand-inventories': ['bizplaceId'],
680
719
  'get-inventory-adjustment-details': ['id'],
681
720
  'get-inventory-adjustment-list': ['bizplaceId', 'fromDate', 'toDate'],
721
+ 'add-inventory-adjustment': [
722
+ {
723
+ name: 'adjustments',
724
+ required: true,
725
+ type: 'array',
726
+ data: [
727
+ {
728
+ name: 'target',
729
+ required: true,
730
+ type: 'object',
731
+ data: [
732
+ { name: 'bizplaceId', required: true, type: 'field' },
733
+ // at least one selector should be present (validated in handler)
734
+ { name: 'palletId', required: false, type: 'field' },
735
+ { name: 'cartonId', required: false, type: 'field' },
736
+ { name: 'batchId', required: false, type: 'field' },
737
+ { name: 'locationName', required: false, type: 'field' },
738
+ { name: 'sku', required: false, type: 'field' }
739
+ ]
740
+ },
741
+ {
742
+ name: 'changes',
743
+ required: true,
744
+ type: 'object',
745
+ data: [
746
+ // required by business
747
+ { name: 'adjustmentCode', required: true, type: 'field' },
748
+ { name: 'adjustmentNote', required: true, type: 'field' },
749
+ // optional fields
750
+ { name: 'qty', required: false, type: 'field' },
751
+ { name: 'uom', required: false, type: 'field' },
752
+ { name: 'uomValue', required: false, type: 'field' },
753
+ { name: 'location', required: false, type: 'field' },
754
+ { name: 'locationName', required: false, type: 'field' },
755
+ { name: 'packingType', required: false, type: 'field' },
756
+ { name: 'packingSize', required: false, type: 'field' },
757
+ { name: 'batchId', required: false, type: 'field' },
758
+ { name: 'batchIdRef', required: false, type: 'field' },
759
+ { name: 'unitCost', required: false, type: 'field' },
760
+ { name: 'expirationDate', required: false, type: 'field' },
761
+ { name: 'manufactureDate', required: false, type: 'field' },
762
+ { name: 'remark', required: false, type: 'field' },
763
+ { name: 'serialNumbers', required: false, type: 'field' },
764
+ { name: 'productDetailId', required: false, type: 'field' },
765
+ { name: 'refCode', required: false, type: 'field' },
766
+ { name: 'sku', required: false, type: 'field' },
767
+ { name: 'productName', required: false, type: 'field' },
768
+ // aliases allowed in payload
769
+ { name: 'batchNo', required: false, type: 'field' },
770
+ { name: 'batchNoRef', required: false, type: 'field' },
771
+ { name: 'totalUomValue', required: false, type: 'field' },
772
+ { name: 'expDate', required: false, type: 'field' },
773
+ { name: 'company', required: false, type: 'field' }
774
+ ]
775
+ }
776
+ ]
777
+ }
778
+ ],
682
779
  'upload-attachments': ['bizplaceId'],
683
780
  'upsert-product': [
684
781
  {
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/utils/params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/utils/params.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACvC,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;AAEzC,SAAS;AACI,QAAA,MAAM,GAAG;IACpB,mBAAmB,EAAE,CAAC,GAAG,WAAW,CAAC;IACrC,wBAAwB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChF,yBAAyB,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACtF,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;IAC7C,kBAAkB,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;IACzD,4BAA4B,EAAE,CAAC,GAAG,WAAW,CAAC;IAC9C,qCAAqC,EAAE;QACrC,SAAS;QACT,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,iBAAiB;QACjB,GAAG,UAAU;QACb,GAAG,WAAW;KACf;IACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC;IAClD,wBAAwB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;IAC1F,2BAA2B,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;IACvF,8BAA8B,EAAE,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;IAC7E,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;IACzF,2BAA2B,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;IACtF,yBAAyB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;IAC7F,2BAA2B,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IACnG,kCAAkC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;IACnG,kCAAkC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;IACxD,+BAA+B,EAAE,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC;IACzG,0BAA0B,EAAE;QAC1B,aAAa;QACb,oBAAoB;QACpB,6BAA6B;QAC7B,6BAA6B;QAC7B,4BAA4B;QAC5B,iCAAiC;QACjC,+BAA+B;QAC/B,wBAAwB;QACxB,qBAAqB;QACrB,gBAAgB;QAChB,oCAAoC;QACpC,oCAAoC;QACpC,uBAAuB;QACvB,yBAAyB;QACzB,yBAAyB;QACzB,8BAA8B;QAC9B,8BAA8B;QAC9B,kCAAkC;QAClC,iCAAiC;QACjC,iCAAiC;QACjC,6BAA6B;QAC7B,gCAAgC;QAChC,8BAA8B;QAC9B,oCAAoC;QACpC,qCAAqC;QACrC,4BAA4B;QAC5B,mCAAmC;QACnC,qCAAqC;QACrC,yBAAyB;QACzB,iCAAiC;QACjC,6BAA6B;QAC7B,mBAAmB;QACnB,6BAA6B;QAC7B,gCAAgC;QAChC,mCAAmC;QACnC,6BAA6B;QAC7B,6BAA6B;KAC9B;IACD,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC;IACpD,qBAAqB,EAAE,CAAC,qBAAqB,EAAE,WAAW,CAAC;IAC3D,oBAAoB,EAAE;QACpB,YAAY;QACZ,MAAM;QACN,aAAa;QACb,aAAa;QACb,OAAO;QACP,KAAK;QACL,OAAO;QACP,gBAAgB;QAChB,WAAW;QACX,SAAS;QACT,UAAU;QACV,MAAM;QACN,OAAO;QACP,UAAU;QACV,MAAM;KACP;IACD,uBAAuB,EAAE;QACvB,SAAS;QACT,SAAS;QACT,QAAQ;QACR,WAAW;QACX,eAAe;QACf,eAAe;QACf,SAAS;QACT,aAAa;QACb,eAAe;QACf,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,eAAe;QACf,mBAAmB;QACnB,qBAAqB;QACrB,uBAAuB;QACvB,gBAAgB;QAChB,eAAe;QACf,QAAQ;QACR,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,uBAAuB;QACvB,mCAAmC;QACnC,2BAA2B;QAC3B,qCAAqC;QACrC,iCAAiC;QACjC,yCAAyC;QACzC,qCAAqC;QACrC,kCAAkC;QAClC,iDAAiD;QACjD,0CAA0C;QAC1C,2CAA2C;QAC3C,iCAAiC;QACjC,gCAAgC;QAChC,8BAA8B;QAC9B,uCAAuC;QACvC,+BAA+B;QAC/B,+BAA+B;QAC/B,+BAA+B;QAC/B,+BAA+B;QAC/B,+BAA+B;QAC/B,iCAAiC;QACjC,gCAAgC;QAChC,oCAAoC;QACpC,iCAAiC;QACjC,8BAA8B;QAC9B,mDAAmD;QACnD,uDAAuD;QACvD,gEAAgE;QAChE,iEAAiE;QACjE,+DAA+D;QAC/D,0BAA0B;QAC1B,yCAAyC;QACzC,sCAAsC;QACtC,mCAAmC;QACnC,mCAAmC;QACnC,mCAAmC;QACnC,mCAAmC;QACnC,mCAAmC;QACnC,gCAAgC;QAChC,+BAA+B;QAC/B,mCAAmC;QACnC,kCAAkC;QAClC,iCAAiC;QACjC,iCAAiC;QACjC,gCAAgC;QAChC,sCAAsC;QACtC,qCAAqC;QACrC,yCAAyC;QACzC,sCAAsC;QACtC,sCAAsC;QACtC,sCAAsC;QACtC,qCAAqC;KACtC;IACD,0BAA0B,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;IACxE,oCAAoC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5D,0BAA0B,EAAE;QAC1B,SAAS;QACT,qBAAqB;QACrB,4BAA4B;QAC5B,0BAA0B;QAC1B,uCAAuC;QACvC,0BAA0B;QAC1B,iCAAiC;QACjC,2BAA2B;QAC3B,0BAA0B;QAC1B,4BAA4B;QAC5B,8BAA8B;QAC9B,gCAAgC;QAChC,+BAA+B;QAC/B,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,kDAAkD;QAClD,8DAA8D;QAC9D,+DAA+D;QAC/D,6DAA6D;QAC7D,uDAAuD;QACvD,8DAA8D;QAC9D,sDAAsD;QACtD,uDAAuD;QACvD,2DAA2D;QAC3D,4DAA4D;QAC5D,oEAAoE;QACpE,4DAA4D;QAC5D,qEAAqE;QACrE,6DAA6D;QAC7D,yDAAyD;QACzD,oEAAoE;QACpE,8DAA8D;QAC9D,mEAAmE;QACnE,kEAAkE;QAClE,kEAAkE;QAClE,6DAA6D;KAC9D;IACD,iBAAiB,EAAE;QACjB,IAAI;QACJ,MAAM;QACN,qBAAqB;QACrB,oBAAoB;QACpB,uBAAuB;QACvB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,QAAQ;KACT;IACD,4BAA4B,EAAE;QAC5B,SAAS;QACT,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,mBAAmB;QACnB,MAAM;QACN,aAAa;QACb,OAAO;QACP,MAAM;QACN,QAAQ;QACR,UAAU;QACV,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,8BAA8B;QAC9B,0CAA0C;QAC1C,2CAA2C;QAC3C,yCAAyC;QACzC,mCAAmC;QACnC,0CAA0C;QAC1C,kCAAkC;QAClC,mCAAmC;QACnC,uCAAuC;QACvC,wCAAwC;QACxC,gDAAgD;QAChD,wCAAwC;QACxC,iDAAiD;QACjD,yCAAyC;QACzC,qCAAqC;QACrC,gDAAgD;QAChD,0CAA0C;QAC1C,+CAA+C;QAC/C,8CAA8C;QAC9C,8CAA8C;QAC9C,yCAAyC;KAC1C;IACD,cAAc,EAAE;QACd,KAAK;QACL,UAAU;QACV,MAAM;QACN,aAAa;QACb,MAAM;QACN,OAAO;QACP,UAAU;QACV,uBAAuB;QACvB,+BAA+B;QAC/B,sCAAsC;QACtC,uCAAuC;QACvC,iBAAiB;QACjB,qBAAqB;QACrB,sBAAsB;QACtB,gBAAgB;QAChB,0BAA0B;QAC1B,qBAAqB;QACrB,wBAAwB;QACxB,4BAA4B;QAC5B,4BAA4B;QAC5B,oBAAoB;QACpB,yBAAyB;QACzB,0BAA0B;QAC1B,uBAAuB;QACvB,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,2BAA2B;QAC3B,2BAA2B;QAC3B,4BAA4B;QAC5B,2BAA2B;QAC3B,sBAAsB;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,uBAAuB;QACvB,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,mCAAmC;QACnC,gCAAgC;QAChC,qCAAqC;KACtC;IACD,mBAAmB,EAAE;QACnB,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,cAAc;QACd,aAAa;QACb,WAAW;QACX,aAAa;QACb,eAAe;QACf,SAAS;QACT,iBAAiB;QACjB,eAAe;QACf,uBAAuB;QACvB,2BAA2B;QAC3B,2BAA2B;QAC3B,mBAAmB;QACnB,yBAAyB;QACzB,yBAAyB;QACzB,uBAAuB;QACvB,2BAA2B;QAC3B,+BAA+B;QAC/B,2BAA2B;QAC3B,gCAAgC;QAChC,YAAY;QACZ,aAAa;KACd;IACD,sBAAsB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;IACzD,mBAAmB,EAAE;QACnB,YAAY;QACZ,aAAa;QACb,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,aAAa;QACb,YAAY;QACZ,eAAe;QACf,cAAc;QACd,cAAc;QACd,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,eAAe;QACf,wBAAwB;QACxB,2BAA2B;QAC3B,wBAAwB;QACxB,oBAAoB;QACpB,kBAAkB;QAClB,oCAAoC;QACpC,oCAAoC;QACpC,WAAW;QACX,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,uBAAuB;QACvB,4BAA4B;QAC5B,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;QACpB,sBAAsB;QACtB,mBAAmB;QACnB,iBAAiB;QACjB,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QACjB,wBAAwB;QACxB,YAAY;QACZ,SAAS;QACT,OAAO;QACP,WAAW;QACX,WAAW;QACX,SAAS;QACT,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,kBAAkB;QAClB,0BAA0B;QAC1B,8BAA8B;QAC9B,kCAAkC;QAClC,8BAA8B;QAC9B,8BAA8B;QAC9B,6BAA6B;QAC7B,+BAA+B;QAC/B,6BAA6B;QAC7B,sBAAsB;QACtB,0BAA0B;QAC1B,gCAAgC;QAChC,4BAA4B;QAC5B,QAAQ;QACR,QAAQ;QACR,uBAAuB;QACvB,eAAe;QACf,YAAY;QACZ,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,WAAW;QACX,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,eAAe;QACf,0BAA0B;QAC1B,wBAAwB;QACxB,6BAA6B;QAC7B,yBAAyB;QACzB,aAAa;KACd;IACD,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC;IACzG,8BAA8B,EAAE;QAC9B,YAAY;QACZ,MAAM;QACN,cAAc;QACd,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;KAC1B;IACD,8BAA8B,EAAE;QAC9B,YAAY;QACZ,aAAa;QACb,kBAAkB;QAClB,+BAA+B;QAC/B,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,wBAAwB;QACxB,oCAAoC;QACpC,4BAA4B;QAC5B,8BAA8B;QAC9B,yBAAyB;QACzB,kBAAkB;QAClB,kBAAkB;QAClB,sBAAsB;QACtB,qBAAqB;QACrB,wBAAwB;QACxB,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,wBAAwB;QACxB,qBAAqB;QACrB,eAAe;QACf,wBAAwB;QACxB,2BAA2B;QAC3B,wBAAwB;QACxB,oBAAoB;QACpB,kBAAkB;QAClB,oCAAoC;QACpC,oCAAoC;KACrC;IACD,mCAAmC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;IACtG,kBAAkB,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,CAAC;IACzE,sBAAsB,EAAE;QACtB,YAAY;QACZ,cAAc;QACd,SAAS;QACT,UAAU;QACV,UAAU;QACV,GAAG,UAAU;QACb,GAAG,WAAW;KACf;IACD,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC;IACrD,yBAAyB,EAAE;QACzB,MAAM;QACN,cAAc;QACd,cAAc;QACd,cAAc;QACd,MAAM;QACN,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,oBAAoB;QACpB,4BAA4B;QAC5B,sBAAsB;QACtB,kBAAkB;QAClB,qBAAqB;QACrB,uBAAuB;QACvB,kBAAkB;QAClB,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,MAAM;QACN,SAAS;QACT,kBAAkB;QAClB,QAAQ;QACR,YAAY;QACZ,OAAO;QACP,kBAAkB;QAClB,qBAAqB;QACrB,yBAAyB;QACzB,gBAAgB;QAChB,oCAAoC;QACpC,oCAAoC;QACpC,2BAA2B;QAC3B,wBAAwB;KACzB;IACD,yBAAyB,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;IAC3D,uBAAuB,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;IAChD,2CAA2C,EAAE,CAAC,YAAY,CAAC;IAC3D,gBAAgB,EAAE;QAChB,KAAK;QACL,UAAU;QACV,MAAM;QACN,aAAa;QACb,MAAM;QACN,OAAO;QACP,UAAU;QACV,uBAAuB;QACvB,+BAA+B;QAC/B,sCAAsC;QACtC,uCAAuC;QACvC,iBAAiB;QACjB,qBAAqB;QACrB,sBAAsB;QACtB,gBAAgB;QAChB,0BAA0B;QAC1B,qBAAqB;QACrB,wBAAwB;QACxB,4BAA4B;QAC5B,4BAA4B;QAC5B,oBAAoB;QACpB,yBAAyB;QACzB,0BAA0B;QAC1B,uBAAuB;QACvB,uBAAuB;QACvB,0BAA0B;QAC1B,2BAA2B;QAC3B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,2BAA2B;QAC3B,sBAAsB;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,uBAAuB;QACvB,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,mCAAmC;QACnC,qCAAqC;KACtC;IACD,iBAAiB,EAAE;QACjB,KAAK;QACL,UAAU;QACV,MAAM;QACN,aAAa;QACb,MAAM;QACN,OAAO;QACP,UAAU;QACV,uBAAuB;QACvB,+BAA+B;QAC/B,sCAAsC;QACtC,uCAAuC;QACvC,iBAAiB;QACjB,qBAAqB;QACrB,sBAAsB;QACtB,gBAAgB;QAChB,0BAA0B;QAC1B,qBAAqB;QACrB,wBAAwB;QACxB,4BAA4B;QAC5B,4BAA4B;QAC5B,oBAAoB;QACpB,yBAAyB;QACzB,0BAA0B;QAC1B,uBAAuB;QACvB,uBAAuB;QACvB,0BAA0B;QAC1B,2BAA2B;QAC3B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,2BAA2B;QAC3B,sBAAsB;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,uBAAuB;QACvB,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,mCAAmC;QACnC,yBAAyB;QACzB,qCAAqC;KACtC;IACD,mBAAmB,EAAE;QACnB,iBAAiB;QACjB,yBAAyB;QACzB,qBAAqB;QACrB,sBAAsB;QACtB,6BAA6B;QAC7B,qBAAqB;QACrB,2BAA2B;QAC3B,2BAA2B;QAC3B,0BAA0B;QAC1B,2CAA2C;QAC3C,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,MAAM;QACN,kBAAkB;QAClB,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,UAAU;QACV,WAAW;QACX,aAAa;QACb,WAAW;QACX,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,aAAa;QACb,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,uBAAuB;QACvB,qBAAqB;QACrB,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,mBAAmB;KACpB;IACD,kBAAkB,EAAE;QAClB,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;QAClB,gCAAgC;QAChC,wCAAwC;QACxC,4BAA4B;QAC5B,0BAA0B;QAC1B,QAAQ;QACR,cAAc;QACd,oBAAoB;QACpB,mBAAmB;KACpB;IACD,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC;IAC9E,0BAA0B,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC;IACjE,oBAAoB,EAAE,CAAC,YAAY,CAAC;CACrC,CAAA;AAED,kBAAkB;AACL,QAAA,SAAS,GAAG;IACvB,wBAAwB,EAAE,CAAC,YAAY,CAAC;IACxC,yBAAyB,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;IACzD,kBAAkB,EAAE,CAAC,YAAY,CAAC;IAClC,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;IAC7C,kBAAkB,EAAE,CAAC,YAAY,CAAC;IAClC,qCAAqC,EAAE,CAAC,SAAS,CAAC;IAClD,wBAAwB,EAAE,CAAC,YAAY,CAAC;IACxC,2BAA2B,EAAE,EAAE;IAC/B,8BAA8B,EAAE,CAAC,YAAY,CAAC;IAC9C,wBAAwB,EAAE,CAAC,YAAY,CAAC;IACxC,2BAA2B,EAAE,EAAE;IAC/B,yBAAyB,EAAE,CAAC,YAAY,CAAC;IACzC,2BAA2B,EAAE,CAAC,YAAY,CAAC;IAC3C,kCAAkC,EAAE,CAAC,YAAY,CAAC;IAClD,sBAAsB,EAAE,CAAC,YAAY,CAAC;IACtC,qBAAqB,EAAE,CAAC,qBAAqB,CAAC;IAC9C,2CAA2C,EAAE,CAAC,YAAY,CAAC;IAC3D,kCAAkC,EAAE,CAAC,IAAI,CAAC;IAC1C,+BAA+B,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC;IACrE,0BAA0B,EAAE;QAC1B;YACE,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;wBACrD,iEAAiE;wBACjE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACpD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACpD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnD,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACxD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;qBAChD;iBACF;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,uBAAuB;wBACvB,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;wBACzD,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;wBACzD,kBAAkB;wBAClB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC/C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACpD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACpD,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACxD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACvD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACvD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnD,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACtD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC1D,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAClD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACzD,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC3D,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACvD,6BAA6B;wBAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnD,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACtD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACzD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpD;iBACF;aACF;SACF;KACF;IACD,oBAAoB,EAAE,CAAC,YAAY,CAAC;IACpC,gBAAgB,EAAE;QAChB;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACpD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACpD;SACF;KACF;IACD,iBAAiB,EAAE;QACjB;YACE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SACtD;QACD;YACE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;KACF;IACD,iBAAiB,EAAE;QACjB;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACpD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACpD;SACF;KACF;IACD,oBAAoB,EAAE;QACpB;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;KACF;IACD,uBAAuB,EAAE;QACvB;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC9C;oBACE,IAAI,EAAE,6BAA6B;oBACnC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;wBACvD,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;qBACzD;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACnD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAChD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACnD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACjD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACjD;SACF;KACF;IACD,0BAA0B,EAAE;QAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAClD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KAClD;IACD,oCAAoC,EAAE;QACpC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAClD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KACnD;IACD,0BAA0B,EAAE;QAC1B;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,IAAI,EAAE,8BAA8B;oBACpC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,aAAa;4BACnB,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,OAAO;yBACd;wBACD;4BACE,IAAI,EAAE,cAAc;4BACpB,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,OAAO;yBACd;wBACD;4BACE,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,OAAO;yBACd;qBACF;iBACF;aACF;SACF;KACF;IACD,4BAA4B,EAAE;QAC5B;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACpD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACpD;SACF;KACF;IACD,mBAAmB,EAAE;QACnB;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACnD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC/D,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aAChE;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,OAAO;iBACd;aACF;SACF;KACF;IACD,mBAAmB,EAAE;QACnB;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD;YACE,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,EAAE;iBACT;aACF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;SACd;KACF;IACD,sBAAsB,EAAE;QACtB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KAClD;IACD,sBAAsB,EAAE;QACtB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KAClD;IACD,8BAA8B,EAAE;QAC9B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD;YACE,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SACxD;QACD;YACE,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACnD,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC/D,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aAChE;SACF;KACF;IACD,8BAA8B,EAAE;QAC9B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;KACF;IACD,mCAAmC,EAAE;QACnC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAClD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAClD,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KACtD;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC;IACvD,sBAAsB,EAAE,CAAC,YAAY,CAAC;IACtC,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC;IACrD,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACvD;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;KACF;IACD,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/C,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KACtD;IACD,uBAAuB,EAAE;QACvB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAChD;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;KACF;IACD,mBAAmB,EAAE;QACnB;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;SACd;QACD,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACjD;YACE,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACrD;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1D;YACE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC3D;gBACD,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACpD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;aACnD;SACF;KACF;IACD,uBAAuB,EAAE,CAAC,YAAY,CAAC;IACvC,0BAA0B,EAAE,EAAE;CAC/B,CAAA;AAED,iBAAiB;AACJ,QAAA,4BAA4B,GAAG;IAC1C,wBAAwB;IACxB,2BAA2B;IAC3B,kCAAkC;IAClC,wBAAwB;IACxB,8BAA8B;IAC9B,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,4BAA4B;IAC5B,qCAAqC;IACrC,wBAAwB;IACxB,mBAAmB;IACnB,sBAAsB;IACtB,+BAA+B;IAC/B,uBAAuB;CACxB,CAAA;AAED,8BAA8B;AACjB,QAAA,2BAA2B,GAAG;IACzC,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;IAC9B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;IACtB,+BAA+B;IAC/B,uBAAuB;CACxB,CAAA"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const typeorm_1 = require("typeorm");
4
+ const api_1 = require("@things-factory/api");
5
+ const uuid_1 = require("uuid");
6
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
7
+ const product_base_1 = require("@things-factory/product-base");
8
+ const biz_base_1 = require("@things-factory/biz-base");
9
+ const middlewares_1 = require("../middlewares");
10
+ const error_util_1 = require("../utils/error-util");
11
+ // Note: Avoid deep imports from other packages to keep runtime resolution stable
12
+ const ALLOWED_ADJUSTMENT_CODES = [
13
+ 'AC-01',
14
+ 'AC-02',
15
+ 'AC-03',
16
+ 'AC-04',
17
+ 'AC-05',
18
+ 'AC-06',
19
+ 'AC-07' // OTHERS
20
+ ];
21
+ api_1.restfulApiRouter.post('/v1/warehouse/add-inventory-adjustment', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
22
+ var _a;
23
+ try {
24
+ const { domain, user } = context.state;
25
+ const payload = (_a = context.request.body) === null || _a === void 0 ? void 0 : _a.data;
26
+ if (!payload)
27
+ throw new error_util_1.ApiError('E01', 'data');
28
+ // Accept either { adjustments: [...] } or a single adjustment object for convenience
29
+ const adjustments = Array.isArray(payload === null || payload === void 0 ? void 0 : payload.adjustments)
30
+ ? payload.adjustments
31
+ : Array.isArray(payload)
32
+ ? payload
33
+ : (payload === null || payload === void 0 ? void 0 : payload.target) && (payload === null || payload === void 0 ? void 0 : payload.changes)
34
+ ? [payload]
35
+ : [];
36
+ if (!adjustments.length) {
37
+ throw new error_util_1.ApiError('E01', 'adjustments');
38
+ }
39
+ // Build patches with deterministic targeting (resolve inventory by pallet/carton/batch/location)
40
+ await (0, typeorm_1.getConnection)().transaction(async (tx) => {
41
+ var _a, _b, _c;
42
+ const patches = [];
43
+ const correlationIds = [];
44
+ for (const [index, adj] of adjustments.entries()) {
45
+ const target = (adj === null || adj === void 0 ? void 0 : adj.target) || {};
46
+ const rawChanges = (adj === null || adj === void 0 ? void 0 : adj.changes) || {};
47
+ // Validate required fields
48
+ const adjustmentCode = (rawChanges === null || rawChanges === void 0 ? void 0 : rawChanges.adjustmentCode) || (rawChanges === null || rawChanges === void 0 ? void 0 : rawChanges.adjustment_code);
49
+ const adjustmentNote = (rawChanges === null || rawChanges === void 0 ? void 0 : rawChanges.adjustmentNote) || (rawChanges === null || rawChanges === void 0 ? void 0 : rawChanges.adjustment_note);
50
+ if (!adjustmentCode) {
51
+ throw new error_util_1.ApiError('E01', `adjustmentCode (adjustmentCode is required) at index ${index}`);
52
+ }
53
+ if (!adjustmentNote) {
54
+ throw new error_util_1.ApiError('E01', `adjustmentNote (adjustmentNote is required) at index ${index}`);
55
+ }
56
+ if (!ALLOWED_ADJUSTMENT_CODES.includes(adjustmentCode)) {
57
+ throw new error_util_1.ApiError('E01', `Invalid adjustmentCode '${adjustmentCode}' at index ${index}`);
58
+ }
59
+ // Resolve inventory by target selector. Require at least one selector.
60
+ if (!(target === null || target === void 0 ? void 0 : target.palletId) && !(target === null || target === void 0 ? void 0 : target.cartonId) && !(target === null || target === void 0 ? void 0 : target.batchId) && !(target === null || target === void 0 ? void 0 : target.locationName)) {
61
+ throw new error_util_1.ApiError('E01', `target (need palletId/cartonId/batchId/locationName) at index ${index}`);
62
+ }
63
+ const inventory = await findSingleInventoryByTarget(tx, domain.id, target);
64
+ // Map human-friendly keys to InventoryPatch structure
65
+ const changes = massageChanges(rawChanges);
66
+ // Attach the resolved inventory identifiers so the mutation updates existing record
67
+ changes.id = inventory.id;
68
+ changes.palletId = inventory.palletId;
69
+ // Enforce required note/code
70
+ changes.adjustmentCode = adjustmentCode;
71
+ changes.adjustmentNote = adjustmentNote;
72
+ // Correlate each generated InventoryChange using details field
73
+ const correlationId = `rest-adjustment:${(0, uuid_1.v4)()}`;
74
+ changes.details = correlationId;
75
+ correlationIds.push(correlationId);
76
+ // If sku is changed, require refCode and resolve productDetailId to ensure exact match
77
+ if ((changes === null || changes === void 0 ? void 0 : changes.sku) && changes.sku !== ((_a = inventory === null || inventory === void 0 ? void 0 : inventory.product) === null || _a === void 0 ? void 0 : _a.sku)) {
78
+ const refCode = rawChanges === null || rawChanges === void 0 ? void 0 : rawChanges.refCode;
79
+ if (!refCode) {
80
+ throw new error_util_1.ApiError('E01', 'changes.refCode (required when changing sku)');
81
+ }
82
+ const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, target.bizplaceId || ((_b = inventory === null || inventory === void 0 ? void 0 : inventory.bizplace) === null || _b === void 0 ? void 0 : _b.id), tx);
83
+ const domainId = (_c = companyBizplace === null || companyBizplace === void 0 ? void 0 : companyBizplace.domain) === null || _c === void 0 ? void 0 : _c.id;
84
+ const pd = await tx
85
+ .getRepository(product_base_1.ProductDetail)
86
+ .createQueryBuilder('pd')
87
+ .innerJoinAndSelect('pd.product', 'prod')
88
+ .where('pd.domain = :domain', { domain: domainId })
89
+ .andWhere('prod.sku = :sku', { sku: changes.sku })
90
+ .andWhere('pd.refCode = :refCode', { refCode })
91
+ .getOne();
92
+ if (!pd) {
93
+ throw new error_util_1.ApiError('E04', 'productDetail (by sku and refCode)');
94
+ }
95
+ ;
96
+ changes.productDetailId = pd.id;
97
+ }
98
+ patches.push(changes);
99
+ }
100
+ // Submit via shared service to preserve core business logic
101
+ await (0, warehouse_base_1.submitInventoryChangesService)(patches, { state: { domain, user, tx } });
102
+ // Fetch exact InventoryChange rows by correlation ids
103
+ const changes = await tx
104
+ .getRepository(warehouse_base_1.InventoryChange)
105
+ .createQueryBuilder('ic')
106
+ .leftJoinAndSelect('ic.inventory', 'iv')
107
+ .leftJoinAndSelect('ic.product', 'prod')
108
+ .leftJoinAndSelect('ic.productDetail', 'pd')
109
+ .leftJoinAndSelect('ic.location', 'loc')
110
+ .where('ic.domain_id = :domainId', { domainId: domain.id })
111
+ .andWhere('ic.details IN (:...details)', { details: correlationIds })
112
+ .orderBy('ic.created_at', 'ASC')
113
+ .getMany();
114
+ context.body = {
115
+ responseCode: '200',
116
+ message: 'success',
117
+ data: {
118
+ submitted: patches.length,
119
+ inventoryChanges: changes.map(ic => {
120
+ var _a, _b, _c, _d, _e, _f;
121
+ return ({
122
+ id: ic.id,
123
+ status: ic.status,
124
+ transactionType: ic.transactionType,
125
+ palletId: ic.palletId,
126
+ cartonId: ic.cartonId,
127
+ adjustmentCode: ic.adjustmentCode,
128
+ adjustmentNote: ic.adjustmentNote,
129
+ productSku: ((_a = ic.product) === null || _a === void 0 ? void 0 : _a.sku) || ((_c = (_b = ic.inventory) === null || _b === void 0 ? void 0 : _b.product) === null || _c === void 0 ? void 0 : _c.sku),
130
+ location: ((_d = ic.location) === null || _d === void 0 ? void 0 : _d.name) || ((_f = (_e = ic.inventory) === null || _e === void 0 ? void 0 : _e.location) === null || _f === void 0 ? void 0 : _f.name),
131
+ createdAt: ic.createdAt
132
+ });
133
+ })
134
+ }
135
+ };
136
+ });
137
+ }
138
+ catch (e) {
139
+ if (e instanceof error_util_1.ApiError)
140
+ (0, error_util_1.ApiErrorHandler)(context, e);
141
+ else
142
+ (0, error_util_1.throwInternalServerError)(context, e);
143
+ }
144
+ });
145
+ async function findSingleInventoryByTarget(tx, domainId, target) {
146
+ const qb = tx.getRepository(warehouse_base_1.Inventory).createQueryBuilder('iv');
147
+ qb.where('iv.domain_id = :domainId', { domainId })
148
+ .leftJoinAndSelect('iv.bizplace', 'biz')
149
+ .leftJoinAndSelect('iv.product', 'prod')
150
+ .leftJoinAndSelect('iv.productDetail', 'pd')
151
+ .leftJoinAndSelect('iv.location', 'loc')
152
+ .leftJoinAndSelect('iv.warehouse', 'wh');
153
+ if (target === null || target === void 0 ? void 0 : target.palletId) {
154
+ qb.andWhere('iv.pallet_id = :palletId', { palletId: target.palletId });
155
+ }
156
+ if (target === null || target === void 0 ? void 0 : target.cartonId) {
157
+ qb.andWhere('iv.carton_id = :cartonId', { cartonId: target.cartonId });
158
+ }
159
+ if (target === null || target === void 0 ? void 0 : target.batchId) {
160
+ qb.andWhere('iv.batch_id = :batchId', { batchId: target.batchId });
161
+ }
162
+ if (target === null || target === void 0 ? void 0 : target.locationName) {
163
+ qb.andWhere('loc.name = :locName', { locName: target.locationName });
164
+ }
165
+ if (target === null || target === void 0 ? void 0 : target.bizplaceId) {
166
+ qb.andWhere('iv.bizplace_id = :bizplaceId', { bizplaceId: target.bizplaceId });
167
+ }
168
+ const items = await qb.getMany();
169
+ if (items.length === 0) {
170
+ throw new error_util_1.ApiError('E04', 'inventory');
171
+ }
172
+ if (items.length > 1) {
173
+ throw new error_util_1.ApiError('E02', 'inventory (ambiguous target; narrow by pallet/carton/batch/location)');
174
+ }
175
+ return items[0];
176
+ }
177
+ function massageChanges(input) {
178
+ // Normalize incoming keys (support snake_case & alternate names)
179
+ const changes = Object.assign({}, input);
180
+ // Field aliases from requirement list
181
+ if (changes.batchNo && !changes.batchId)
182
+ changes.batchId = changes.batchNo;
183
+ if (changes.batchNoRef && !changes.batchIdRef)
184
+ changes.batchIdRef = changes.batchNoRef;
185
+ if (changes.company && !changes.bizplaceId)
186
+ changes.bizplaceId = changes.company;
187
+ if (changes.totalUomValue && !changes.uomValue)
188
+ changes.uomValue = Number(changes.totalUomValue);
189
+ if (changes.expDate && !changes.expirationDate)
190
+ changes.expirationDate = changes.expDate;
191
+ if (changes.location && typeof changes.location === 'string') {
192
+ changes.locationName = changes.location;
193
+ delete changes.location;
194
+ }
195
+ // Build InventoryPatch with supported fields only
196
+ const patch = {};
197
+ assignIfDefined(patch, 'bizplace', changes.bizplace);
198
+ if (changes.bizplaceId)
199
+ patch.bizplace = { id: String(changes.bizplaceId) };
200
+ // Identify product by productDetailId or sku
201
+ if (changes.productDetailId)
202
+ assignIfDefined(patch, 'productDetailId', String(changes.productDetailId));
203
+ if (changes.sku)
204
+ assignIfDefined(patch, 'sku', String(changes.sku));
205
+ if (changes.productName)
206
+ assignIfDefined(patch, 'productName', String(changes.productName));
207
+ // Location can be id or name
208
+ if (changes.locationId)
209
+ patch.location = { id: String(changes.locationId) };
210
+ if (changes.locationName)
211
+ patch.location = { name: String(changes.locationName) };
212
+ assignIfDefined(patch, 'batchId', changes.batchId);
213
+ assignIfDefined(patch, 'batchIdRef', changes.batchIdRef);
214
+ assignIfDefined(patch, 'cartonId', changes.cartonId);
215
+ assignIfDefined(patch, 'packingType', changes.packingType);
216
+ if (defined(changes.packingSize))
217
+ patch.packingSize = Number(changes.packingSize);
218
+ if (defined(changes.qty))
219
+ patch.qty = Number(changes.qty);
220
+ if (defined(changes.uomValue))
221
+ patch.uomValue = Number(changes.uomValue);
222
+ if (defined(changes.uom))
223
+ patch.uom = String(changes.uom).trim();
224
+ assignIfDefined(patch, 'serialNumbers', changes.serialNumbers);
225
+ assignIfDefined(patch, 'remark', changes.remark);
226
+ assignIfDefined(patch, 'expirationDate', changes.expirationDate);
227
+ assignIfDefined(patch, 'manufactureDate', changes.manufactureDate);
228
+ if (defined(changes.unitCost))
229
+ patch.unitCost = Number(changes.unitCost);
230
+ assignIfDefined(patch, 'adjustmentCode', changes.adjustmentCode);
231
+ assignIfDefined(patch, 'adjustmentNote', changes.adjustmentNote);
232
+ return patch;
233
+ }
234
+ function assignIfDefined(obj, key, value) {
235
+ if (defined(value))
236
+ obj[key] = value;
237
+ }
238
+ function defined(v) {
239
+ return typeof v !== 'undefined' && v !== null && v !== '';
240
+ }
241
+ //# sourceMappingURL=add-inventory-adjustment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-inventory-adjustment.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/warehouse/add-inventory-adjustment.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ require("./get-release-order-list");
26
26
  require("./get-return-order-details");
27
27
  require("./get-return-order-list");
28
28
  require("./get-warehouse-bizplace-onhand-inventories");
29
+ require("./add-inventory-adjustment");
29
30
  require("./update-gan-to-arrived");
30
31
  require("./update-order-package-details");
31
32
  require("./update-release-order-details");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/warehouse/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,8BAA2B;AAC3B,+BAA4B;AAC5B,kCAA+B;AAC/B,kCAA+B;AAC/B,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,6BAA0B;AAC1B,qCAAkC;AAClC,kCAA+B;AAC/B,0CAAuC;AACvC,8BAA2B;AAC3B,uCAAoC;AACpC,oCAAiC;AACjC,8CAA2C;AAC3C,2CAAwC;AACxC,8CAA2C;AAC3C,kCAA+B;AAC/B,uCAAoC;AACpC,uCAAoC;AACpC,oCAAiC;AACjC,sCAAmC;AACnC,mCAAgC;AAChC,uDAAoD;AACpD,mCAAgC;AAChC,0CAAuC;AACvC,0CAAuC;AACvC,gCAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/warehouse/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,8BAA2B;AAC3B,+BAA4B;AAC5B,kCAA+B;AAC/B,kCAA+B;AAC/B,qCAAkC;AAClC,qCAAkC;AAClC,qCAAkC;AAClC,6BAA0B;AAC1B,qCAAkC;AAClC,kCAA+B;AAC/B,0CAAuC;AACvC,8BAA2B;AAC3B,uCAAoC;AACpC,oCAAiC;AACjC,8CAA2C;AAC3C,2CAAwC;AACxC,8CAA2C;AAC3C,kCAA+B;AAC/B,uCAAoC;AACpC,uCAAoC;AACpC,oCAAiC;AACjC,sCAAmC;AACnC,mCAAgC;AAChC,uDAAoD;AACpD,sCAAmC;AACnC,mCAAgC;AAChC,0CAAuC;AACvC,0CAAuC;AACvC,gCAA6B"}
@@ -553,6 +553,60 @@ definitions:
553
553
  xml:
554
554
  name: 'GetInventoryAdjustmentDetails'
555
555
 
556
+ # AddInventoryAdjustmentResponse
557
+ AddInventoryAdjustmentResponse:
558
+ type: 'object'
559
+ properties:
560
+ responseCode:
561
+ type: 'string'
562
+ example: '200'
563
+ message:
564
+ type: 'string'
565
+ example: 'success'
566
+ data:
567
+ type: 'object'
568
+ properties:
569
+ submitted:
570
+ type: 'integer'
571
+ example: 2
572
+ inventoryChanges:
573
+ type: 'array'
574
+ items:
575
+ type: 'object'
576
+ properties:
577
+ id:
578
+ type: 'string'
579
+ example: 'b60feaf2-1940-40cd-9c53-9e9ac072049d'
580
+ status:
581
+ type: 'string'
582
+ example: 'PENDING'
583
+ transactionType:
584
+ type: 'string'
585
+ example: 'CHANGES'
586
+ palletId:
587
+ type: 'string'
588
+ example: 'PALLET-123'
589
+ cartonId:
590
+ type: 'string'
591
+ example: 'CTN-123'
592
+ adjustmentCode:
593
+ type: 'string'
594
+ example: 'AC-04'
595
+ adjustmentNote:
596
+ type: 'string'
597
+ example: 'Stock number normalization'
598
+ productSku:
599
+ type: 'string'
600
+ example: 'SKU-123'
601
+ location:
602
+ type: 'string'
603
+ example: 'A-01-01'
604
+ createdAt:
605
+ type: 'string'
606
+ example: '2025-11-02T03:04:05Z'
607
+ xml:
608
+ name: 'AddInventoryAdjustmentResponse'
609
+
556
610
  paths:
557
611
  # get-onhand-inventory-list
558
612
  api/v1/warehouse/get-onhand-inventory-list:
@@ -734,3 +788,132 @@ paths:
734
788
  type: 'array'
735
789
  items:
736
790
  $ref: '#/definitions/GetInventoryAdjustmentDetails'
791
+
792
+ # add-inventory-adjustment
793
+ api/v1/warehouse/add-inventory-adjustment:
794
+ post:
795
+ tags:
796
+ - 'Inventory'
797
+ summary: 'Submit inventory adjustments'
798
+ description: 'Create pending InventoryChange records by targeting existing inventories via pallet/carton/batch/location.'
799
+ operationId: 'addInventoryAdjustment'
800
+ produces:
801
+ - 'application/json'
802
+ parameters:
803
+ - in: 'body'
804
+ name: 'body'
805
+ schema:
806
+ type: 'object'
807
+ properties:
808
+ data:
809
+ type: 'object'
810
+ properties:
811
+ adjustments:
812
+ type: 'array'
813
+ items:
814
+ type: 'object'
815
+ required:
816
+ - 'target'
817
+ - 'changes'
818
+ properties:
819
+ target:
820
+ type: 'object'
821
+ description: 'bizplaceId is required. Plus at least one selector: palletId | cartonId | batchId | locationName.'
822
+ required:
823
+ - 'bizplaceId'
824
+ properties:
825
+ palletId:
826
+ type: 'string'
827
+ example: 'PALLET-123'
828
+ cartonId:
829
+ type: 'string'
830
+ example: 'CTN-123'
831
+ batchId:
832
+ type: 'string'
833
+ example: 'BATCH-001'
834
+ locationName:
835
+ type: 'string'
836
+ example: 'A-01-01'
837
+ bizplaceId:
838
+ type: 'string'
839
+ example: 'cd911484-d634-4877-8f01-026e2edbe50f'
840
+ sku:
841
+ type: 'string'
842
+ example: 'SKU-123'
843
+ changes:
844
+ type: 'object'
845
+ required:
846
+ - 'adjustmentCode'
847
+ - 'adjustmentNote'
848
+ properties:
849
+ qty:
850
+ type: 'integer'
851
+ example: 10
852
+ uom:
853
+ type: 'string'
854
+ example: 'EA'
855
+ uomValue:
856
+ type: 'integer'
857
+ example: 10
858
+ location:
859
+ type: 'string'
860
+ example: 'A-01-01'
861
+ locationName:
862
+ type: 'string'
863
+ example: 'A-01-01'
864
+ packingType:
865
+ type: 'string'
866
+ example: 'CTN'
867
+ packingSize:
868
+ type: 'integer'
869
+ example: 1
870
+ batchId:
871
+ type: 'string'
872
+ example: 'BATCH-001'
873
+ batchIdRef:
874
+ type: 'string'
875
+ example: 'REF-ABC'
876
+ unitCost:
877
+ type: 'number'
878
+ format: 'double'
879
+ example: 1.23
880
+ expirationDate:
881
+ type: 'string'
882
+ example: '2026-12-31'
883
+ manufactureDate:
884
+ type: 'string'
885
+ example: '2025-01-10'
886
+ remark:
887
+ type: 'string'
888
+ example: 'counted difference'
889
+ serialNumbers:
890
+ type: 'string'
891
+ example: 'SN001,SN002'
892
+ productDetailId:
893
+ type: 'string'
894
+ example: 'uuid-product-detail'
895
+ sku:
896
+ type: 'string'
897
+ example: 'SKU-123'
898
+ refCode:
899
+ type: 'string'
900
+ description: 'Required when sku is changed; used to resolve exact product detail.'
901
+ example: 'REF-ABC'
902
+ productName:
903
+ type: 'string'
904
+ example: 'Product Name'
905
+ adjustmentCode:
906
+ type: 'string'
907
+ description: 'Allowed: AC-01 LOST INVENTORY, AC-02 DAMAGE, AC-03 SHELF LIFE, AC-04 STOCK NUMBER CHANGE, AC-05 OWNERSHIP CHANGE, AC-06 TRANSFER, AC-07 OTHERS'
908
+ enum: ['AC-01', 'AC-02', 'AC-03', 'AC-04', 'AC-05', 'AC-06', 'AC-07']
909
+ example: 'AC-04'
910
+ adjustmentNote:
911
+ type: 'string'
912
+ example: 'Stock number normalization'
913
+ responses:
914
+ '200':
915
+ description: 'success'
916
+ content:
917
+ application/json:
918
+ schema:
919
+ $ref: '#/definitions/AddInventoryAdjustmentResponse'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-hub",
3
- "version": "4.3.690",
3
+ "version": "4.3.692",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -92,7 +92,7 @@
92
92
  "@things-factory/pdf": "^4.3.591",
93
93
  "@things-factory/product-ui": "^4.3.689",
94
94
  "@things-factory/resource-ui": "^4.3.689",
95
- "@things-factory/sales-base": "^4.3.689",
95
+ "@things-factory/sales-base": "^4.3.691",
96
96
  "@things-factory/scene-data-transform": "^4.3.591",
97
97
  "@things-factory/scene-excel": "^4.3.591",
98
98
  "@things-factory/scene-firebase": "^4.3.591",
@@ -108,8 +108,8 @@
108
108
  "@things-factory/shell": "^4.3.689",
109
109
  "@things-factory/system-ui": "^4.3.689",
110
110
  "@things-factory/transport-base": "^4.3.689",
111
- "@things-factory/warehouse-base": "^4.3.689",
112
- "@things-factory/worksheet-base": "^4.3.690",
111
+ "@things-factory/warehouse-base": "^4.3.691",
112
+ "@things-factory/worksheet-base": "^4.3.692",
113
113
  "cron-parser": "^4.7.0",
114
114
  "koa2-swagger-ui": "^5.0.2",
115
115
  "swagger-jsdoc": "^5.0.0",
@@ -122,5 +122,5 @@
122
122
  "resolutions": {
123
123
  "core-js": "^3.16.0"
124
124
  },
125
- "gitHead": "2922a2e1b9189b82fc4e0a392070d35342218bc7"
125
+ "gitHead": "8a3ba6fd64c8d408b057c4b11a709473116da1d1"
126
126
  }
@@ -29,6 +29,45 @@ export const params = {
29
29
  'get-inventory-product-group-list': ['bizplaceId', 'sku', 'batchId', ...fromToDate, ...limitOffset],
30
30
  'get-inventory-adjustment-details': ['bizplaceId', 'id'],
31
31
  'get-inventory-adjustment-list': ['bizplaceId', ...fromToDate, ...limitOffset, 'sku', 'adjustmentStatus'],
32
+ 'add-inventory-adjustment': [
33
+ 'adjustments',
34
+ 'adjustments.target',
35
+ 'adjustments.target.palletId',
36
+ 'adjustments.target.cartonId',
37
+ 'adjustments.target.batchId',
38
+ 'adjustments.target.locationName',
39
+ 'adjustments.target.bizplaceId',
40
+ 'adjustments.target.sku',
41
+ 'adjustments.changes',
42
+ // core required
43
+ 'adjustments.changes.adjustmentCode',
44
+ 'adjustments.changes.adjustmentNote',
45
+ // commonly used fields
46
+ 'adjustments.changes.qty',
47
+ 'adjustments.changes.uom',
48
+ 'adjustments.changes.uomValue',
49
+ 'adjustments.changes.location',
50
+ 'adjustments.changes.locationName',
51
+ 'adjustments.changes.packingType',
52
+ 'adjustments.changes.packingSize',
53
+ 'adjustments.changes.batchId',
54
+ 'adjustments.changes.batchIdRef',
55
+ 'adjustments.changes.unitCost',
56
+ 'adjustments.changes.expirationDate',
57
+ 'adjustments.changes.manufactureDate',
58
+ 'adjustments.changes.remark',
59
+ 'adjustments.changes.serialNumbers',
60
+ 'adjustments.changes.productDetailId',
61
+ 'adjustments.changes.sku',
62
+ 'adjustments.changes.productName',
63
+ 'adjustments.changes.refCode',
64
+ // accepted aliases
65
+ 'adjustments.changes.batchNo',
66
+ 'adjustments.changes.batchNoRef',
67
+ 'adjustments.changes.totalUomValue',
68
+ 'adjustments.changes.expDate',
69
+ 'adjustments.changes.company'
70
+ ],
32
71
  'get-manifest-details': ['bizplaceId', 'name', 'id'],
33
72
  'get-webhook-details': ['warehouseBizplaceId', 'webhookId'],
34
73
  'add-contact-points': [
@@ -678,6 +717,64 @@ export const reqParams = {
678
717
  'get-warehouse-bizplace-onhand-inventories': ['bizplaceId'],
679
718
  'get-inventory-adjustment-details': ['id'],
680
719
  'get-inventory-adjustment-list': ['bizplaceId', 'fromDate', 'toDate'],
720
+ 'add-inventory-adjustment': [
721
+ {
722
+ name: 'adjustments',
723
+ required: true,
724
+ type: 'array',
725
+ data: [
726
+ {
727
+ name: 'target',
728
+ required: true,
729
+ type: 'object',
730
+ data: [
731
+ { name: 'bizplaceId', required: true, type: 'field' },
732
+ // at least one selector should be present (validated in handler)
733
+ { name: 'palletId', required: false, type: 'field' },
734
+ { name: 'cartonId', required: false, type: 'field' },
735
+ { name: 'batchId', required: false, type: 'field' },
736
+ { name: 'locationName', required: false, type: 'field' },
737
+ { name: 'sku', required: false, type: 'field' }
738
+ ]
739
+ },
740
+ {
741
+ name: 'changes',
742
+ required: true,
743
+ type: 'object',
744
+ data: [
745
+ // required by business
746
+ { name: 'adjustmentCode', required: true, type: 'field' },
747
+ { name: 'adjustmentNote', required: true, type: 'field' },
748
+ // optional fields
749
+ { name: 'qty', required: false, type: 'field' },
750
+ { name: 'uom', required: false, type: 'field' },
751
+ { name: 'uomValue', required: false, type: 'field' },
752
+ { name: 'location', required: false, type: 'field' },
753
+ { name: 'locationName', required: false, type: 'field' },
754
+ { name: 'packingType', required: false, type: 'field' },
755
+ { name: 'packingSize', required: false, type: 'field' },
756
+ { name: 'batchId', required: false, type: 'field' },
757
+ { name: 'batchIdRef', required: false, type: 'field' },
758
+ { name: 'unitCost', required: false, type: 'field' },
759
+ { name: 'expirationDate', required: false, type: 'field' },
760
+ { name: 'manufactureDate', required: false, type: 'field' },
761
+ { name: 'remark', required: false, type: 'field' },
762
+ { name: 'serialNumbers', required: false, type: 'field' },
763
+ { name: 'productDetailId', required: false, type: 'field' },
764
+ { name: 'refCode', required: false, type: 'field' },
765
+ { name: 'sku', required: false, type: 'field' },
766
+ { name: 'productName', required: false, type: 'field' },
767
+ // aliases allowed in payload
768
+ { name: 'batchNo', required: false, type: 'field' },
769
+ { name: 'batchNoRef', required: false, type: 'field' },
770
+ { name: 'totalUomValue', required: false, type: 'field' },
771
+ { name: 'expDate', required: false, type: 'field' },
772
+ { name: 'company', required: false, type: 'field' }
773
+ ]
774
+ }
775
+ ]
776
+ }
777
+ ],
681
778
  'upload-attachments': ['bizplaceId'],
682
779
  'upsert-product': [
683
780
  {
@@ -0,0 +1,284 @@
1
+ import _ from 'lodash'
2
+ import { EntityManager, SelectQueryBuilder, getConnection } from 'typeorm'
3
+
4
+ import { restfulApiRouter as router } from '@things-factory/api'
5
+ import { v4 as uuidv4 } from 'uuid'
6
+ import {
7
+ Inventory,
8
+ InventoryPatch,
9
+ InventoryChange,
10
+ submitInventoryChangesService
11
+ } from '@things-factory/warehouse-base'
12
+ import { ProductDetail } from '@things-factory/product-base'
13
+ import { getCompanyBizplace } from '@things-factory/biz-base'
14
+
15
+ import { businessMiddleware, loggingMiddleware, validationMiddleware } from '../middlewares'
16
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
17
+
18
+ // Note: Avoid deep imports from other packages to keep runtime resolution stable
19
+
20
+ const ALLOWED_ADJUSTMENT_CODES = [
21
+ 'AC-01', // LOST INVENTORY
22
+ 'AC-02', // DAMAGE
23
+ 'AC-03', // SHELF LIFE
24
+ 'AC-04', // STOCK NUMBER CHANGE
25
+ 'AC-05', // OWNERSHIP CHANGE
26
+ 'AC-06', // TRANSFER
27
+ 'AC-07' // OTHERS
28
+ ]
29
+
30
+ type TargetSelector = {
31
+ palletId?: string
32
+ cartonId?: string
33
+ batchId?: string
34
+ locationName?: string
35
+ bizplaceId?: string
36
+ sku?: string
37
+ }
38
+
39
+ type AdjustmentInput = {
40
+ target: TargetSelector
41
+ changes: Record<string, any>
42
+ }
43
+
44
+ router.post(
45
+ '/v1/warehouse/add-inventory-adjustment',
46
+ businessMiddleware,
47
+ validationMiddleware,
48
+ loggingMiddleware,
49
+ async (context, next) => {
50
+ try {
51
+ const { domain, user } = context.state
52
+ const payload = context.request.body?.data
53
+
54
+ if (!payload) throw new ApiError('E01', 'data')
55
+
56
+ // Accept either { adjustments: [...] } or a single adjustment object for convenience
57
+ const adjustments: AdjustmentInput[] = Array.isArray(payload?.adjustments)
58
+ ? payload.adjustments
59
+ : Array.isArray(payload)
60
+ ? payload
61
+ : payload?.target && payload?.changes
62
+ ? [payload as AdjustmentInput]
63
+ : []
64
+
65
+ if (!adjustments.length) {
66
+ throw new ApiError('E01', 'adjustments')
67
+ }
68
+
69
+ // Build patches with deterministic targeting (resolve inventory by pallet/carton/batch/location)
70
+ await getConnection().transaction(async (tx: EntityManager) => {
71
+ const patches: InventoryPatch[] = []
72
+ const correlationIds: string[] = []
73
+
74
+ for (const [index, adj] of adjustments.entries()) {
75
+ const target: TargetSelector = adj?.target || {}
76
+ const rawChanges: any = adj?.changes || {}
77
+
78
+ // Validate required fields
79
+ const adjustmentCode: string | undefined = rawChanges?.adjustmentCode || rawChanges?.adjustment_code
80
+ const adjustmentNote: string | undefined = rawChanges?.adjustmentNote || rawChanges?.adjustment_note
81
+
82
+ if (!adjustmentCode) {
83
+ throw new ApiError('E01', `adjustmentCode (adjustmentCode is required) at index ${index}`)
84
+ }
85
+ if (!adjustmentNote) {
86
+ throw new ApiError('E01', `adjustmentNote (adjustmentNote is required) at index ${index}`)
87
+ }
88
+ if (!ALLOWED_ADJUSTMENT_CODES.includes(adjustmentCode)) {
89
+ throw new ApiError('E01', `Invalid adjustmentCode '${adjustmentCode}' at index ${index}`)
90
+ }
91
+
92
+ // Resolve inventory by target selector. Require at least one selector.
93
+ if (!target?.palletId && !target?.cartonId && !target?.batchId && !target?.locationName) {
94
+ throw new ApiError('E01', `target (need palletId/cartonId/batchId/locationName) at index ${index}`)
95
+ }
96
+
97
+ const inventory: Inventory = await findSingleInventoryByTarget(tx, domain.id, target)
98
+
99
+ // Map human-friendly keys to InventoryPatch structure
100
+ const changes: InventoryPatch = massageChanges(rawChanges)
101
+
102
+ // Attach the resolved inventory identifiers so the mutation updates existing record
103
+ changes.id = inventory.id
104
+ changes.palletId = inventory.palletId
105
+
106
+ // Enforce required note/code
107
+ changes.adjustmentCode = adjustmentCode
108
+ changes.adjustmentNote = adjustmentNote
109
+
110
+ // Correlate each generated InventoryChange using details field
111
+ const correlationId = `rest-adjustment:${uuidv4()}`
112
+ ;(changes as any).details = correlationId
113
+ correlationIds.push(correlationId)
114
+
115
+ // If sku is changed, require refCode and resolve productDetailId to ensure exact match
116
+ if (changes?.sku && changes.sku !== inventory?.product?.sku) {
117
+ const refCode: string | undefined = rawChanges?.refCode
118
+ if (!refCode) {
119
+ throw new ApiError('E01', 'changes.refCode (required when changing sku)')
120
+ }
121
+ const companyBizplace: any = await getCompanyBizplace(
122
+ domain,
123
+ null,
124
+ target.bizplaceId || inventory?.bizplace?.id,
125
+ tx
126
+ )
127
+ const domainId = (companyBizplace?.domain as any)?.id
128
+ const pd = await tx
129
+ .getRepository(ProductDetail)
130
+ .createQueryBuilder('pd')
131
+ .innerJoinAndSelect('pd.product', 'prod')
132
+ .where('pd.domain = :domain', { domain: domainId })
133
+ .andWhere('prod.sku = :sku', { sku: changes.sku })
134
+ .andWhere('pd.refCode = :refCode', { refCode })
135
+ .getOne()
136
+ if (!pd) {
137
+ throw new ApiError('E04', 'productDetail (by sku and refCode)')
138
+ }
139
+ ;(changes as any).productDetailId = (pd as any).id
140
+ }
141
+
142
+ patches.push(changes)
143
+ }
144
+
145
+ // Submit via shared service to preserve core business logic
146
+ await submitInventoryChangesService(patches, { state: { domain, user, tx } })
147
+
148
+ // Fetch exact InventoryChange rows by correlation ids
149
+ const changes: InventoryChange[] = await tx
150
+ .getRepository(InventoryChange)
151
+ .createQueryBuilder('ic')
152
+ .leftJoinAndSelect('ic.inventory', 'iv')
153
+ .leftJoinAndSelect('ic.product', 'prod')
154
+ .leftJoinAndSelect('ic.productDetail', 'pd')
155
+ .leftJoinAndSelect('ic.location', 'loc')
156
+ .where('ic.domain_id = :domainId', { domainId: domain.id })
157
+ .andWhere('ic.details IN (:...details)', { details: correlationIds })
158
+ .orderBy('ic.created_at', 'ASC')
159
+ .getMany()
160
+
161
+ context.body = {
162
+ responseCode: '200',
163
+ message: 'success',
164
+ data: {
165
+ submitted: patches.length,
166
+ inventoryChanges: changes.map(ic => ({
167
+ id: ic.id,
168
+ status: ic.status,
169
+ transactionType: ic.transactionType,
170
+ palletId: ic.palletId,
171
+ cartonId: ic.cartonId,
172
+ adjustmentCode: ic.adjustmentCode,
173
+ adjustmentNote: ic.adjustmentNote,
174
+ productSku: ic.product?.sku || ic.inventory?.product?.sku,
175
+ location: ic.location?.name || ic.inventory?.location?.name,
176
+ createdAt: ic.createdAt
177
+ }))
178
+ }
179
+ }
180
+ })
181
+ } catch (e) {
182
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
183
+ else throwInternalServerError(context, e)
184
+ }
185
+ }
186
+ )
187
+
188
+ async function findSingleInventoryByTarget(
189
+ tx: EntityManager,
190
+ domainId: string,
191
+ target: TargetSelector
192
+ ): Promise<Inventory> {
193
+ const qb: SelectQueryBuilder<Inventory> = tx.getRepository(Inventory).createQueryBuilder('iv')
194
+ qb.where('iv.domain_id = :domainId', { domainId })
195
+ .leftJoinAndSelect('iv.bizplace', 'biz')
196
+ .leftJoinAndSelect('iv.product', 'prod')
197
+ .leftJoinAndSelect('iv.productDetail', 'pd')
198
+ .leftJoinAndSelect('iv.location', 'loc')
199
+ .leftJoinAndSelect('iv.warehouse', 'wh')
200
+
201
+ if (target?.palletId) {
202
+ qb.andWhere('iv.pallet_id = :palletId', { palletId: target.palletId })
203
+ }
204
+ if (target?.cartonId) {
205
+ qb.andWhere('iv.carton_id = :cartonId', { cartonId: target.cartonId })
206
+ }
207
+ if (target?.batchId) {
208
+ qb.andWhere('iv.batch_id = :batchId', { batchId: target.batchId })
209
+ }
210
+ if (target?.locationName) {
211
+ qb.andWhere('loc.name = :locName', { locName: target.locationName })
212
+ }
213
+ if (target?.bizplaceId) {
214
+ qb.andWhere('iv.bizplace_id = :bizplaceId', { bizplaceId: target.bizplaceId })
215
+ }
216
+
217
+ const items: Inventory[] = await qb.getMany()
218
+
219
+ if (items.length === 0) {
220
+ throw new ApiError('E04', 'inventory')
221
+ }
222
+ if (items.length > 1) {
223
+ throw new ApiError('E02', 'inventory (ambiguous target; narrow by pallet/carton/batch/location)')
224
+ }
225
+
226
+ return items[0]
227
+ }
228
+
229
+ function massageChanges(input: any): InventoryPatch {
230
+ // Normalize incoming keys (support snake_case & alternate names)
231
+ const changes = { ...input }
232
+
233
+ // Field aliases from requirement list
234
+ if (changes.batchNo && !changes.batchId) changes.batchId = changes.batchNo
235
+ if (changes.batchNoRef && !changes.batchIdRef) changes.batchIdRef = changes.batchNoRef
236
+ if (changes.company && !changes.bizplaceId) changes.bizplaceId = changes.company
237
+ if (changes.totalUomValue && !changes.uomValue) changes.uomValue = Number(changes.totalUomValue)
238
+ if (changes.expDate && !changes.expirationDate) changes.expirationDate = changes.expDate
239
+ if (changes.location && typeof changes.location === 'string') {
240
+ changes.locationName = changes.location
241
+ delete changes.location
242
+ }
243
+
244
+ // Build InventoryPatch with supported fields only
245
+ const patch: InventoryPatch = {}
246
+
247
+ assignIfDefined(patch, 'bizplace', changes.bizplace)
248
+ if (changes.bizplaceId) patch.bizplace = { id: String(changes.bizplaceId) } as any
249
+
250
+ // Identify product by productDetailId or sku
251
+ if (changes.productDetailId) assignIfDefined(patch, 'productDetailId', String(changes.productDetailId))
252
+ if (changes.sku) assignIfDefined(patch, 'sku', String(changes.sku))
253
+ if (changes.productName) assignIfDefined(patch, 'productName', String(changes.productName))
254
+
255
+ // Location can be id or name
256
+ if (changes.locationId) patch.location = { id: String(changes.locationId) } as any
257
+ if (changes.locationName) patch.location = { name: String(changes.locationName) } as any
258
+
259
+ assignIfDefined(patch, 'batchId', changes.batchId)
260
+ assignIfDefined(patch, 'batchIdRef', changes.batchIdRef)
261
+ assignIfDefined(patch, 'cartonId', changes.cartonId)
262
+ assignIfDefined(patch, 'packingType', changes.packingType)
263
+ if (defined(changes.packingSize)) patch.packingSize = Number(changes.packingSize)
264
+ if (defined(changes.qty)) patch.qty = Number(changes.qty)
265
+ if (defined(changes.uomValue)) patch.uomValue = Number(changes.uomValue)
266
+ if (defined(changes.uom)) patch.uom = String(changes.uom).trim()
267
+ assignIfDefined(patch, 'serialNumbers', changes.serialNumbers)
268
+ assignIfDefined(patch, 'remark', changes.remark)
269
+ assignIfDefined(patch, 'expirationDate', changes.expirationDate)
270
+ assignIfDefined(patch, 'manufactureDate', changes.manufactureDate)
271
+ if (defined(changes.unitCost)) patch.unitCost = Number(changes.unitCost)
272
+ assignIfDefined(patch, 'adjustmentCode', changes.adjustmentCode)
273
+ assignIfDefined(patch, 'adjustmentNote', changes.adjustmentNote)
274
+
275
+ return patch
276
+ }
277
+
278
+ function assignIfDefined<T extends object, K extends keyof any>(obj: T, key: K, value: any) {
279
+ if (defined(value)) (obj as any)[key] = value
280
+ }
281
+
282
+ function defined(v: any): boolean {
283
+ return typeof v !== 'undefined' && v !== null && v !== ''
284
+ }
@@ -24,7 +24,8 @@ import './get-release-order-list'
24
24
  import './get-return-order-details'
25
25
  import './get-return-order-list'
26
26
  import './get-warehouse-bizplace-onhand-inventories'
27
+ import './add-inventory-adjustment'
27
28
  import './update-gan-to-arrived'
28
29
  import './update-order-package-details'
29
30
  import './update-release-order-details'
30
- import './upload-attachments'
31
+ import './upload-attachments'