@things-factory/worksheet-base 4.3.795 → 4.3.797
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +32 -35
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +71 -47
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +41 -32
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
- package/package.json +2 -2
- package/server/controllers/outbound/picking-worksheet-controller.ts +35 -42
- package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +88 -63
- package/server/graphql/resolvers/worksheet/picking-worksheet.ts +43 -34
|
@@ -18,40 +18,65 @@ exports.activateBatchPickingResolver = {
|
|
|
18
18
|
async function activateBatchPicking(tx, domain, user, worksheetNo) {
|
|
19
19
|
try {
|
|
20
20
|
const worksheetController = new controllers_1.PickingWorksheetController(tx, domain, user);
|
|
21
|
-
const ecommerceCtrl = new controllers_1.EcommerceController(tx, domain, user);
|
|
22
21
|
const worksheet = await worksheetController.activateBatchPicking(worksheetNo);
|
|
23
22
|
const worksheetDetails = worksheet.worksheetDetails;
|
|
24
23
|
const companyDomain = worksheet === null || worksheet === void 0 ? void 0 : worksheet.bizplace.company.domain;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
24
|
+
// Collect release good IDs from the controller result for post-commit processing
|
|
25
|
+
const orderInventories = worksheetDetails.map(wsd => wsd.targetInventory);
|
|
26
|
+
const releaseGoodIds = orderInventories.reduce((data, orderInventory) => {
|
|
27
|
+
var _a;
|
|
28
|
+
if (((_a = orderInventory === null || orderInventory === void 0 ? void 0 : orderInventory.releaseGood) === null || _a === void 0 ? void 0 : _a.id) && !data.includes(orderInventory.releaseGood.id)) {
|
|
29
|
+
data.push(orderInventory.releaseGood.id);
|
|
30
|
+
}
|
|
31
|
+
return data;
|
|
32
|
+
}, []);
|
|
33
|
+
// Schedule all marketplace/LMD side effects to run AFTER the transaction commits.
|
|
34
|
+
// This prevents deadlocks caused by nested transactions competing for locks
|
|
35
|
+
// held by the outer @transaction decorator.
|
|
36
|
+
setImmediate(() => {
|
|
37
|
+
processPostActivationSideEffects(domain, user, companyDomain, worksheetNo, worksheetDetails, releaseGoodIds).catch(error => {
|
|
38
|
+
env_1.logger.error(`activate-batch-picking[postActivation]: ${worksheetNo}: ${error}`);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return worksheet;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
env_1.logger.error(`activate-batch-picking[activateBatchPicking]: ${worksheetNo + ':' + error}`);
|
|
45
|
+
throw new Error('Something went wrong. Please contact support.');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.activateBatchPicking = activateBatchPicking;
|
|
49
|
+
/**
|
|
50
|
+
* Handles marketplace stock sync, MMS order packages, and LMD parcel creation.
|
|
51
|
+
* Runs outside the main activation transaction to prevent deadlocks.
|
|
52
|
+
*/
|
|
53
|
+
async function processPostActivationSideEffects(domain, user, companyDomain, worksheetNo, worksheetDetails, releaseGoodIds) {
|
|
54
|
+
try {
|
|
55
|
+
// Find marketplace store connections
|
|
56
|
+
const marketplaceStores = await (0, typeorm_1.getConnection)()
|
|
57
|
+
.getRepository(integration_marketplace_1.MarketplaceStore)
|
|
58
|
+
.find({
|
|
28
59
|
where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
|
|
29
60
|
relations: ['marketplaceDistributors']
|
|
30
61
|
});
|
|
31
|
-
|
|
62
|
+
// Update marketplace product variation stock
|
|
63
|
+
if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
32
64
|
try {
|
|
33
65
|
await (0, typeorm_1.getConnection)().transaction(async (tx2) => {
|
|
34
|
-
|
|
66
|
+
const orderInventories = worksheetDetails.map(wsd => wsd.targetInventory);
|
|
35
67
|
const ecommerceCtrl = new controllers_1.EcommerceController(tx2, domain, user);
|
|
36
68
|
await ecommerceCtrl.updateProductVariationStock(marketplaceStores, orderInventories, companyDomain);
|
|
37
69
|
});
|
|
38
70
|
}
|
|
39
71
|
catch (error) {
|
|
40
|
-
env_1.logger.error(`activate-batch-picking[
|
|
72
|
+
env_1.logger.error(`activate-batch-picking[marketplaceStockUpdate]: ${worksheetNo}: ${error}`);
|
|
41
73
|
}
|
|
42
|
-
};
|
|
43
|
-
if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
44
|
-
updateMarketplaceProductVariationStock(worksheetDetails, domain, user, marketplaceStores, companyDomain);
|
|
45
74
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
return data;
|
|
53
|
-
}, []);
|
|
54
|
-
releaseGoods = await tx.getRepository(sales_base_1.ReleaseGood).find({
|
|
75
|
+
if (!releaseGoodIds.length)
|
|
76
|
+
return;
|
|
77
|
+
// Load release goods and process marketplace order packages
|
|
78
|
+
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
79
|
+
const releaseGoods = await tx.getRepository(sales_base_1.ReleaseGood).find({
|
|
55
80
|
where: { id: (0, typeorm_1.In)(releaseGoodIds) },
|
|
56
81
|
relations: [
|
|
57
82
|
'domain',
|
|
@@ -68,42 +93,41 @@ async function activateBatchPicking(tx, domain, user, worksheetNo) {
|
|
|
68
93
|
'orderProducts.product'
|
|
69
94
|
]
|
|
70
95
|
});
|
|
71
|
-
if (releaseGoods === null || releaseGoods === void 0 ? void 0 : releaseGoods.length)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
96
|
+
if (!(releaseGoods === null || releaseGoods === void 0 ? void 0 : releaseGoods.length))
|
|
97
|
+
return;
|
|
98
|
+
// Batch load marketplace orders for MMS release goods (avoids N+1 queries)
|
|
99
|
+
const mmsReleaseGoods = releaseGoods.filter(rg => (rg === null || rg === void 0 ? void 0 : rg.source) === auth_base_1.ApplicationType.MMS);
|
|
100
|
+
if (mmsReleaseGoods.length && (marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length)) {
|
|
101
|
+
const refNos = mmsReleaseGoods.map(rg => rg.refNo).filter(Boolean);
|
|
102
|
+
const marketplaceOrders = refNos.length
|
|
103
|
+
? await tx.getRepository(marketplace_base_1.MarketplaceOrder).find({
|
|
104
|
+
where: { orderNo: (0, typeorm_1.In)(refNos), domain: companyDomain },
|
|
76
105
|
relations: ['marketplaceStore']
|
|
77
|
-
})
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
106
|
+
})
|
|
107
|
+
: [];
|
|
108
|
+
const ecommerceCtrl = new controllers_1.EcommerceController(tx, domain, user);
|
|
109
|
+
for (const releaseGood of mmsReleaseGoods) {
|
|
110
|
+
try {
|
|
111
|
+
const marketplaceOrder = marketplaceOrders.find(mo => mo.orderNo === releaseGood.refNo);
|
|
112
|
+
if (marketplaceOrder) {
|
|
113
|
+
const marketplaceStore = marketplaceOrder.marketplaceStore;
|
|
114
|
+
await ecommerceCtrl.createOrderPackage(tx, marketplaceOrder, companyDomain, marketplaceStore, releaseGood);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
env_1.logger.error(`activate-batch-picking[mmsOrderPackage]: ${worksheetNo}: ${error}`);
|
|
89
119
|
}
|
|
90
120
|
}
|
|
91
|
-
// Process LMD orders
|
|
92
|
-
processLmdOrders(releaseGoods, domain, companyDomain, user);
|
|
93
121
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
return worksheet;
|
|
122
|
+
// Process LMD orders
|
|
123
|
+
processLmdOrders(releaseGoods, domain, companyDomain, user);
|
|
124
|
+
});
|
|
99
125
|
}
|
|
100
126
|
catch (error) {
|
|
101
|
-
env_1.logger.error(`activate-batch-picking[
|
|
102
|
-
throw new Error('Something went wrong. Please contact support.');
|
|
127
|
+
env_1.logger.error(`activate-batch-picking[postActivation]: ${worksheetNo}: ${error}`);
|
|
103
128
|
}
|
|
104
129
|
}
|
|
105
|
-
|
|
106
|
-
//triger create parcel for lmd orders
|
|
130
|
+
// Trigger create parcel for LMD orders
|
|
107
131
|
async function processLmdOrders(releaseGoods, domain, companyDomain, user) {
|
|
108
132
|
// Filter only those that need processing
|
|
109
133
|
const validReleaseGoods = releaseGoods.filter(rg => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activate-batch-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts"],"names":[],"mappings":";;;AAAA,qCAA0D;AAE1D,yDAAiE;AACjE,6CAA4C;AAC5C,qFAA0E;AAC1E,uEAAmE;AACnE,2DAAwD;AAGxD,yDAAyF;AAEzF,6CAAmD;AAEtC,QAAA,4BAA4B,GAAG;IAC1C,KAAK,CAAC,oBAAoB,CAAC,CAAM,EAAE,EAAE,WAAW,EAAE,EAAE,OAAY;QAC9D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,OAAO,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IAClE,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,oBAAoB,CACxC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,WAAmB;IAEnB,IAAI;QACF,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACxG,MAAM,
|
|
1
|
+
{"version":3,"file":"activate-batch-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,46 @@ async function pickingWorksheet(domain, orderNo, locationSortingRules, tx) {
|
|
|
81
81
|
.andWhere('"WSD"."status" != :status', { status: constants_1.WORKSHEET_STATUS.REPLACED })
|
|
82
82
|
.andWhere('"T_INV"."status" != :t_invstatus', { t_invstatus: sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED })
|
|
83
83
|
.getMany();
|
|
84
|
+
const inventoryIds = worksheetDetails
|
|
85
|
+
.map((wd) => { var _a, _b; return (_b = (_a = wd.targetInventory) === null || _a === void 0 ? void 0 : _a.inventory) === null || _b === void 0 ? void 0 : _b.id; })
|
|
86
|
+
.filter((id) => id != null);
|
|
87
|
+
const inventoryIdsWithMissing = new Set();
|
|
88
|
+
if (inventoryIds.length > 0) {
|
|
89
|
+
const rows = await tx
|
|
90
|
+
.getRepository(warehouse_base_1.InventoryChange)
|
|
91
|
+
.createQueryBuilder('ic')
|
|
92
|
+
.select('DISTINCT ic.inventory_id', 'inventoryId')
|
|
93
|
+
.where('ic.inventory_id IN (:...ids)', { ids: inventoryIds })
|
|
94
|
+
.andWhere('ic.status = :status', { status: 'PENDING' })
|
|
95
|
+
.andWhere('ic.transaction_type = :transactionType', { transactionType: 'MISSING' })
|
|
96
|
+
.getRawMany();
|
|
97
|
+
rows.forEach((r) => inventoryIdsWithMissing.add(r.inventoryId));
|
|
98
|
+
}
|
|
99
|
+
const worksheetDetailInfos = worksheetDetails.map((pickingWSD) => {
|
|
100
|
+
const targetInventory = pickingWSD.targetInventory;
|
|
101
|
+
const inventory = targetInventory.inventory;
|
|
102
|
+
return {
|
|
103
|
+
name: pickingWSD.name,
|
|
104
|
+
palletId: inventory === null || inventory === void 0 ? void 0 : inventory.palletId,
|
|
105
|
+
cartonId: inventory === null || inventory === void 0 ? void 0 : inventory.cartonId,
|
|
106
|
+
batchId: inventory === null || inventory === void 0 ? void 0 : inventory.batchId,
|
|
107
|
+
batchIdRef: inventory === null || inventory === void 0 ? void 0 : inventory.batchIdRef,
|
|
108
|
+
product: inventory === null || inventory === void 0 ? void 0 : inventory.product,
|
|
109
|
+
qty: inventory === null || inventory === void 0 ? void 0 : inventory.qty,
|
|
110
|
+
binLocation: (targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.binLocation) || '',
|
|
111
|
+
releaseQty: targetInventory.releaseQty,
|
|
112
|
+
pickedQty: targetInventory.pickedQty,
|
|
113
|
+
status: pickingWSD.status,
|
|
114
|
+
description: pickingWSD.description,
|
|
115
|
+
targetName: targetInventory.name,
|
|
116
|
+
packingType: inventory === null || inventory === void 0 ? void 0 : inventory.packingType,
|
|
117
|
+
packingSize: inventory === null || inventory === void 0 ? void 0 : inventory.packingSize,
|
|
118
|
+
expirationDate: inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate,
|
|
119
|
+
location: inventory === null || inventory === void 0 ? void 0 : inventory.location,
|
|
120
|
+
relatedOrderInv: targetInventory,
|
|
121
|
+
hasMissingInventoryChanges: (inventory === null || inventory === void 0 ? void 0 : inventory.id) ? inventoryIdsWithMissing.has(inventory.id) : false
|
|
122
|
+
};
|
|
123
|
+
});
|
|
84
124
|
return {
|
|
85
125
|
worksheetInfo: {
|
|
86
126
|
worksheet,
|
|
@@ -98,38 +138,7 @@ async function pickingWorksheet(domain, orderNo, locationSortingRules, tx) {
|
|
|
98
138
|
customerCompanyDomainId: (_d = (_c = (_b = releaseGood.bizplace) === null || _b === void 0 ? void 0 : _b.company) === null || _c === void 0 ? void 0 : _c.domain) === null || _d === void 0 ? void 0 : _d.id,
|
|
99
139
|
releaseGood
|
|
100
140
|
},
|
|
101
|
-
worksheetDetailInfos
|
|
102
|
-
const targetInventory = pickingWSD.targetInventory;
|
|
103
|
-
const inventory = targetInventory.inventory;
|
|
104
|
-
const inventoryChangesCount = await tx.getRepository(warehouse_base_1.InventoryChange).count({
|
|
105
|
-
where: {
|
|
106
|
-
inventory: inventory.id,
|
|
107
|
-
status: 'PENDING',
|
|
108
|
-
transactionType: 'MISSING'
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
return {
|
|
112
|
-
name: pickingWSD.name,
|
|
113
|
-
palletId: inventory === null || inventory === void 0 ? void 0 : inventory.palletId,
|
|
114
|
-
cartonId: inventory === null || inventory === void 0 ? void 0 : inventory.cartonId,
|
|
115
|
-
batchId: inventory === null || inventory === void 0 ? void 0 : inventory.batchId,
|
|
116
|
-
batchIdRef: inventory === null || inventory === void 0 ? void 0 : inventory.batchIdRef,
|
|
117
|
-
product: inventory === null || inventory === void 0 ? void 0 : inventory.product,
|
|
118
|
-
qty: inventory === null || inventory === void 0 ? void 0 : inventory.qty,
|
|
119
|
-
binLocation: (targetInventory === null || targetInventory === void 0 ? void 0 : targetInventory.binLocation) || '',
|
|
120
|
-
releaseQty: targetInventory.releaseQty,
|
|
121
|
-
pickedQty: targetInventory.pickedQty,
|
|
122
|
-
status: pickingWSD.status,
|
|
123
|
-
description: pickingWSD.description,
|
|
124
|
-
targetName: targetInventory.name,
|
|
125
|
-
packingType: inventory === null || inventory === void 0 ? void 0 : inventory.packingType,
|
|
126
|
-
packingSize: inventory === null || inventory === void 0 ? void 0 : inventory.packingSize,
|
|
127
|
-
expirationDate: inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate,
|
|
128
|
-
location: inventory === null || inventory === void 0 ? void 0 : inventory.location,
|
|
129
|
-
relatedOrderInv: targetInventory,
|
|
130
|
-
hasMissingInventoryChanges: inventoryChangesCount > 0 ? true : false
|
|
131
|
-
};
|
|
132
|
-
})
|
|
141
|
+
worksheetDetailInfos
|
|
133
142
|
};
|
|
134
143
|
}
|
|
135
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/picking-worksheet.ts"],"names":[],"mappings":";;;AAAA,qCAA+D;AAE/D,2DAMmC;AAEnC,mEAAqF;AAErF,kDAAqE;AACrE,gDAAmD;AACnD,0CAAwD;AAE3C,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,gBAAgB,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAY;QAC5E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;IAC1E,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAe,EAAE,oBAAyB,EAAE,EAAiB;;IAClH,IAAI,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;QACzE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,gCAAgC,EAAE;QACjE,SAAS,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,yBAAyB,CAAC;KAC1F,CAAC,CAAA;IAEF,kCAAkC;IAClC,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,WAAW,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;YACrE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SACjC,CAAC,CAAA;QAEF,IAAI,WAAW,EAAE;YACf,MAAM,mBAAmB,GAAmB,MAAM,EAAE,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,OAAO,CAAC;gBACzF,KAAK,EAAE;oBACL,MAAM;oBACN,WAAW;oBACX,MAAM,EAAE,IAAA,YAAE,EAAC,CAAC,mCAAsB,CAAC,OAAO,EAAE,mCAAsB,CAAC,MAAM,CAAC,CAAC;iBAC5E;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK;iBACjB;gBACD,SAAS,EAAE,CAAC,aAAa,EAAE,sBAAsB,EAAE,6BAA6B,CAAC;aAClF,CAAC,CAAA;YAEF,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,EAAE;gBACpC,OAAO,GAAG,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAA;gBAC9C,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAA;aAC9C;SACF;KACF;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAE7F,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,OAAO,GAAG,CAAC,CAAA;SAC5E;QAED,OAAO,aAAa,CAAA;KACrB;SAAM;QACL,IAAI,WAAW,CAAC,YAAY,EAAE;YAC5B,IAAI,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,OAAO,CAAC;gBAC/E,KAAK,EAAE;oBACL,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe;iBACjC;aACF,CAAC,CAAA;SACH;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAuB,EAC7C,MAAM,EACN,WAAW,CAAC,QAAQ,EACpB,CAAC,UAAU,CAAC,EACZ,0BAAc,CAAC,OAAO,EACtB,WAAW,EACX,EAAE,CACH,CAAA;QAED,MAAM,EAAE,GAAwC,EAAE,CAAC,kBAAkB,CAAC,0BAAe,EAAE,KAAK,CAAC,CAAA;QAC7F,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,OAAO,CAAC;aACjD,iBAAiB,CAAC,mBAAmB,EAAE,SAAS,CAAC;aACjD,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC;aAC3C,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC;aAC1C,iBAAiB,CAAC,qBAAqB,EAAE,UAAU,CAAC;aACpD,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QAE3C,IAAI,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,IAAG,CAAC,EAAE;YACpC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAqC,EAAE,EAAE;gBACrE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;oBACzC,EAAE,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;iBAC9D;qBAAM;oBACL,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;iBACvD;YACH,CAAC,CAAC,CAAA;SACH;QAED,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAEjC,MAAM,gBAAgB,GAAsB,MAAM,EAAE;aACjD,KAAK,CAAC,qCAAqC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aAC3E,QAAQ,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,4BAAgB,CAAC,QAAQ,EAAE,CAAC;aAC5E,QAAQ,CAAC,kCAAkC,EAAE,EAAE,WAAW,EAAE,mCAAsB,CAAC,SAAS,EAAE,CAAC;aAC/F,OAAO,EAAE,CAAA;QAEZ,
|
|
1
|
+
{"version":3,"file":"picking-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/picking-worksheet.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/worksheet-base",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.797",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"puppeteer": "21.0.3",
|
|
47
47
|
"uuid": "^9.0.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "1acd354f47dfc15a5670841ddfb51e338f61d15f"
|
|
50
50
|
}
|
|
@@ -572,20 +572,9 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
572
572
|
'bizplace',
|
|
573
573
|
'bizplace.domain',
|
|
574
574
|
'orderPackages',
|
|
575
|
-
'orderPackages.orderPackageItems',
|
|
576
|
-
'orderPackages.orderPackageItems.productDetail',
|
|
577
|
-
'orderPackages.orderPackageItems.orderProduct',
|
|
578
|
-
'orderPackages.orderPackageItems.orderProduct.product',
|
|
579
|
-
'orderPackages.orderPackageItems.orderProduct.productDetail',
|
|
580
575
|
'orderProducts',
|
|
581
576
|
'orderProducts.productDetail',
|
|
582
|
-
'orderProducts.product'
|
|
583
|
-
'orderConsignments',
|
|
584
|
-
'orderConsignments.orderPackages',
|
|
585
|
-
'orderConsignments.orderPackages.orderPackageItems',
|
|
586
|
-
'orderConsignments.orderPackages.orderPackageItems.orderProduct',
|
|
587
|
-
'orderConsignments.orderPackages.orderPackageItems.orderProduct.product',
|
|
588
|
-
'orderConsignments.orderPackages.orderPackageItems.orderProduct.productDetail'
|
|
577
|
+
'orderProducts.product'
|
|
589
578
|
]
|
|
590
579
|
})
|
|
591
580
|
|
|
@@ -635,29 +624,28 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
635
624
|
break
|
|
636
625
|
|
|
637
626
|
case ApplicationType.POWRUP:
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
}
|
|
627
|
+
const powrup: Powrup = await this.trxMgr
|
|
628
|
+
.getRepository(Powrup)
|
|
629
|
+
.findOne({ active: true, platform: 'POWRUP' })
|
|
630
|
+
|
|
631
|
+
if (powrup) {
|
|
632
|
+
const powrupCtrl: PowrupController = new PowrupController(this.trxMgr, this.domain, this.user)
|
|
633
|
+
|
|
634
|
+
if (!releaseGood?.orderPackages?.length) {
|
|
635
|
+
const orderProducts: OrderProduct[] = await this.trxMgr.getRepository(OrderProduct).find({
|
|
636
|
+
where: { releaseGood },
|
|
637
|
+
relations: ['product', 'productDetail']
|
|
638
|
+
})
|
|
639
|
+
|
|
640
|
+
await powrupCtrl.packOrder(
|
|
641
|
+
powrup,
|
|
642
|
+
{ ...releaseGood, orderProducts },
|
|
643
|
+
this.domain,
|
|
644
|
+
this.user,
|
|
645
|
+
this.trxMgr
|
|
646
|
+
)
|
|
659
647
|
}
|
|
660
|
-
}
|
|
648
|
+
}
|
|
661
649
|
break
|
|
662
650
|
|
|
663
651
|
case ApplicationType.WEBSPERT:
|
|
@@ -714,16 +702,22 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
714
702
|
})
|
|
715
703
|
)
|
|
716
704
|
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
705
|
+
// Batch update all release goods in a single query instead of N individual updates
|
|
706
|
+
const releaseGoodIds = releaseGoods.map(rg => rg.id)
|
|
707
|
+
if (releaseGoodIds.length) {
|
|
708
|
+
await this.trxMgr
|
|
709
|
+
.getRepository(ReleaseGood)
|
|
710
|
+
.createQueryBuilder()
|
|
711
|
+
.update(ReleaseGood)
|
|
712
|
+
.set({
|
|
713
|
+
status: () => `CASE WHEN status != 'PENDING_CANCEL' THEN 'PICKING' ELSE status END`,
|
|
722
714
|
assignedInventory: true,
|
|
715
|
+
updater: this.user,
|
|
723
716
|
updatedAt: () => 'CURRENT_TIMESTAMP'
|
|
724
717
|
})
|
|
725
|
-
|
|
726
|
-
|
|
718
|
+
.where('id IN (:...ids)', { ids: releaseGoodIds })
|
|
719
|
+
.execute()
|
|
720
|
+
}
|
|
727
721
|
}
|
|
728
722
|
|
|
729
723
|
for (const releaseGood of releaseGoods) {
|
|
@@ -1027,7 +1021,6 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
1027
1021
|
productBarcode,
|
|
1028
1022
|
pickedQty
|
|
1029
1023
|
)
|
|
1030
|
-
|
|
1031
1024
|
//validate matching product details based on scanned barcode
|
|
1032
1025
|
if (!matchingProduct) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
|
|
1033
1026
|
|