@devx-commerce/plugin-gati 0.0.34-beta.50 → 0.0.34-beta.52
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/.medusa/server/src/api/erp/webhook/config.js +38 -28
- package/.medusa/server/src/jobs/process-erp-events.js +8 -50
- package/.medusa/server/src/modules/order-proceed-master/index.js +13 -0
- package/.medusa/server/src/modules/order-proceed-master/migrations/Migration20260327100226.js +31 -0
- package/.medusa/server/src/modules/order-proceed-master/models/order-proceed-master.js +38 -0
- package/.medusa/server/src/modules/order-proceed-master/service.js +11 -0
- package/.medusa/server/src/modules/receive-voucher-master/index.js +13 -0
- package/.medusa/server/src/modules/receive-voucher-master/migrations/Migration20260328053649.js +16 -0
- package/.medusa/server/src/modules/receive-voucher-master/models/receive-voucher-master.js +27 -0
- package/.medusa/server/src/modules/receive-voucher-master/service.js +10 -0
- package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260327084135.js +14 -0
- package/.medusa/server/src/modules/sale-return-master/models/sale-return-master.js +3 -1
- package/.medusa/server/src/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/inward-master/steps/index.js +1 -2
- package/.medusa/server/src/workflows/inward-master/workflows/index.js +1 -2
- package/.medusa/server/src/workflows/material-purchase-master/steps/create-material-purchase-master.js +41 -2
- package/.medusa/server/src/workflows/material-purchase-master/steps/delete-material-purchase-master.js +22 -1
- package/.medusa/server/src/workflows/material-purchase-master/steps/update-material-purchase-master.js +67 -19
- package/.medusa/server/src/workflows/order-master/steps/process-order-master-from-webhook.js +2 -2
- package/.medusa/server/src/workflows/order-proceed-master/index.js +6 -0
- package/.medusa/server/src/workflows/order-proceed-master/order-proceed-master-webhook.js +26 -0
- package/.medusa/server/src/workflows/order-proceed-master/steps/create-or-update-order-proceed-master.js +186 -0
- package/.medusa/server/src/workflows/order-proceed-master/steps/delete-order-proceed-master-by-erp-ids.js +28 -0
- package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +2 -2
- package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +97 -40
- package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +102 -2
- package/.medusa/server/src/workflows/orders/utils/order-helper.js +5 -5
- package/.medusa/server/src/workflows/party-style-master/steps/index.js +1 -2
- package/.medusa/server/src/workflows/party-style-master/workflows/index.js +1 -2
- package/.medusa/server/src/workflows/receive-voucher-master/index.js +24 -0
- package/.medusa/server/src/workflows/receive-voucher-master/steps/create-receive-voucher-master.js +125 -0
- package/.medusa/server/src/workflows/receive-voucher-master/steps/delete-receive-voucher-master.js +45 -0
- package/.medusa/server/src/workflows/receive-voucher-master/steps/fetch-receive-voucher-master.js +22 -0
- package/.medusa/server/src/workflows/receive-voucher-master/steps/update-receive-voucher-master.js +44 -0
- package/.medusa/server/src/workflows/sale-return-master/index.js +4 -22
- package/.medusa/server/src/workflows/sale-return-master/sale-return-master-webhook.js +28 -0
- package/.medusa/server/src/workflows/sale-return-master/steps/create-or-update-sale-return-master.js +109 -0
- package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master-by-erp-ids.js +36 -0
- package/.medusa/server/src/workflows/sale-return-master/steps/process-sale-return-from-webhook.js +232 -0
- package/.medusa/server/src/workflows/style-master/steps/index.js +1 -2
- package/.medusa/server/src/workflows/style-master/workflows/index.js +1 -2
- package/package.json +1 -1
- package/.medusa/server/src/workflows/inward-master/steps/update-inward-price-only.js +0 -47
- package/.medusa/server/src/workflows/inward-master/workflows/update-inward-price-only.js +0 -99
- package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-price-only.js +0 -111
- package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master-price-only.js +0 -90
- package/.medusa/server/src/workflows/style-master/steps/update-style-price-only.js +0 -105
- package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master-price-only.js +0 -104
package/.medusa/server/src/workflows/sale-return-master/steps/process-sale-return-from-webhook.js
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processSaleReturnFromWebhookStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const sale_return_master_1 = require("../../../modules/sale-return-master");
|
|
7
|
+
const framework_1 = require("@medusajs/framework");
|
|
8
|
+
/**
|
|
9
|
+
* Phase 5: Sale Return Webhook Step — Detection Logic
|
|
10
|
+
*
|
|
11
|
+
* Routes to different handlers based on whether the sale return is:
|
|
12
|
+
* - Sub-scenario B: Medusa-originated (has order_request_id reference)
|
|
13
|
+
* - Sub-scenario A: Pure ERP-originated (no Medusa order_request link)
|
|
14
|
+
*/
|
|
15
|
+
exports.processSaleReturnFromWebhookStep = (0, workflows_sdk_1.createStep)("process-sale-return-from-webhook", async (input, { container }) => {
|
|
16
|
+
try {
|
|
17
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
18
|
+
const saleReturnService = container.resolve(sale_return_master_1.SALE_RETURN_MASTER_MODULE);
|
|
19
|
+
const erpService = container.resolve("erp");
|
|
20
|
+
const results = [];
|
|
21
|
+
for (const transId of input.jewel_trans_ids) {
|
|
22
|
+
const erpData = await erpService.getMasterData("sale_return", String(transId));
|
|
23
|
+
if (!erpData?.SaleReturn?.[0]) {
|
|
24
|
+
framework_1.logger.warn(`No sale return data received for JewelTransID ${transId}`);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const saleReturn = erpData.SaleReturn[0];
|
|
28
|
+
const erpTransIdStr = String(saleReturn.JewelTransId);
|
|
29
|
+
// ─── DETECTION: Which sub-scenario? ───────────────────────────────────
|
|
30
|
+
let orderRequestId = null;
|
|
31
|
+
// CHECK 1: Direct order_request_id in ERP response
|
|
32
|
+
if (saleReturn.OrderRequest?.OrderRequestId) {
|
|
33
|
+
orderRequestId = saleReturn.OrderRequest.OrderRequestId;
|
|
34
|
+
framework_1.logger.info(`[Webhook] Sale return ${erpTransIdStr} is Medusa-originated: ${orderRequestId}`);
|
|
35
|
+
}
|
|
36
|
+
// CHECK 2: Search order_request by metadata.external_id
|
|
37
|
+
if (!orderRequestId) {
|
|
38
|
+
try {
|
|
39
|
+
const { data: existingRequests } = await query.graph({
|
|
40
|
+
entity: "order_request",
|
|
41
|
+
fields: ["id"],
|
|
42
|
+
filters: {
|
|
43
|
+
// @ts-ignore - metadata filter for external_id
|
|
44
|
+
metadata: { external_id: erpTransIdStr },
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
if (existingRequests?.length > 0) {
|
|
48
|
+
orderRequestId = existingRequests[0].id;
|
|
49
|
+
framework_1.logger.info(`[Webhook] Found order_request ${orderRequestId} by metadata.external_id`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (queryErr) {
|
|
53
|
+
framework_1.logger.warn(`[Webhook] order_request metadata lookup failed: ${queryErr?.message}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// ─── Route to correct sub-scenario handler ────────────────────────────
|
|
57
|
+
try {
|
|
58
|
+
if (orderRequestId) {
|
|
59
|
+
// Sub-scenario B: Medusa-originated return
|
|
60
|
+
await handleMedusaOriginatedReturn(orderRequestId, saleReturn, erpTransIdStr, saleReturnService, query, container);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Sub-scenario A: Pure ERP return
|
|
64
|
+
await handleErpOriginatedReturn(saleReturn, saleReturnService);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (handlerError) {
|
|
68
|
+
framework_1.logger.warn(`[Webhook] Sale return handler error for ERP sale return ${erpTransIdStr}: ${handlerError?.message}`);
|
|
69
|
+
}
|
|
70
|
+
results.push(saleReturn);
|
|
71
|
+
}
|
|
72
|
+
return new workflows_sdk_1.StepResponse(results);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
framework_1.logger.error(`Error in processSaleReturnFromWebhookStep: ${error?.message}`);
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
/**
|
|
80
|
+
* Sub-scenario B: Medusa-originated return
|
|
81
|
+
* - Links created/updated sale_return_master to order_request
|
|
82
|
+
* - Updates order_request status
|
|
83
|
+
* - Triggers any downstream actions (e.g., update order status)
|
|
84
|
+
*/
|
|
85
|
+
async function handleMedusaOriginatedReturn(orderRequestId, saleReturn, erpTransIdStr, saleReturnService, query, container) {
|
|
86
|
+
framework_1.logger.info(`[Webhook] Handling Medusa-originated return ${erpTransIdStr} → order_request ${orderRequestId}`);
|
|
87
|
+
// Fetch the order_request to understand context
|
|
88
|
+
try {
|
|
89
|
+
const { data: orderRequests } = await query.graph({
|
|
90
|
+
entity: "order_request",
|
|
91
|
+
fields: ["*", "order.*"],
|
|
92
|
+
filters: { id: orderRequestId },
|
|
93
|
+
});
|
|
94
|
+
if (!orderRequests?.length) {
|
|
95
|
+
framework_1.logger.warn(`[Webhook] order_request ${orderRequestId} not found, skipping update`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const orderRequest = orderRequests[0];
|
|
99
|
+
const order = orderRequest.order;
|
|
100
|
+
// Create/update sale_return_master with order_request_id field
|
|
101
|
+
const existing = await saleReturnService.listSaleReturnMasters({
|
|
102
|
+
sale_return_id: Number(saleReturn.JewelTransId),
|
|
103
|
+
});
|
|
104
|
+
// Build addless_detail from response (tax/discount breakdown)
|
|
105
|
+
const addlessDetail = saleReturn.AddlessDetail?.length
|
|
106
|
+
? saleReturn.AddlessDetail.map((item) => ({
|
|
107
|
+
prompt: item.Prompt,
|
|
108
|
+
addless_per: item.AddLessPer || null,
|
|
109
|
+
addless_amount: item.AddLessAmount,
|
|
110
|
+
}))
|
|
111
|
+
: null;
|
|
112
|
+
const addlessDetailWithSummary = addlessDetail
|
|
113
|
+
? {
|
|
114
|
+
items: addlessDetail,
|
|
115
|
+
gross_amount: saleReturn.GrossAmount,
|
|
116
|
+
total_addless_amount: saleReturn.TotalAddlessAmount,
|
|
117
|
+
final_amount: saleReturn.Amount,
|
|
118
|
+
}
|
|
119
|
+
: {
|
|
120
|
+
gross_amount: saleReturn.GrossAmount,
|
|
121
|
+
total_addless_amount: saleReturn.TotalAddlessAmount,
|
|
122
|
+
final_amount: saleReturn.Amount,
|
|
123
|
+
};
|
|
124
|
+
const saleReturnPayload = {
|
|
125
|
+
sale_return_id: saleReturn.JewelTransId,
|
|
126
|
+
return_no: saleReturn.JewelTransNo,
|
|
127
|
+
return_date: saleReturn.JewelTransDate,
|
|
128
|
+
party_no: saleReturn.PartyNo,
|
|
129
|
+
branch_no: saleReturn.BranchNo,
|
|
130
|
+
status: saleReturn.Status || null,
|
|
131
|
+
total_amount: saleReturn.Amount,
|
|
132
|
+
remarks: saleReturn.Remarks || null,
|
|
133
|
+
addless_detail: addlessDetailWithSummary,
|
|
134
|
+
order_request_id: orderRequestId,
|
|
135
|
+
metadata: {
|
|
136
|
+
erp_prefix: saleReturn.JewelTransPrefix,
|
|
137
|
+
erp_jewel_trans_id: saleReturn.JewelTransId,
|
|
138
|
+
sales_person: saleReturn.SalesPerson,
|
|
139
|
+
firm_name: saleReturn.FirmName,
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
if (existing?.length > 0) {
|
|
143
|
+
await saleReturnService.updateSaleReturnMasters({
|
|
144
|
+
id: existing[0].id,
|
|
145
|
+
...saleReturnPayload,
|
|
146
|
+
});
|
|
147
|
+
framework_1.logger.info(`[Webhook] Updated sale_return_master ${existing[0].id} for Medusa-originated return`);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
await saleReturnService.createSaleReturnMasters(saleReturnPayload);
|
|
151
|
+
framework_1.logger.info(`[Webhook] Created sale_return_master for Medusa-originated return`);
|
|
152
|
+
}
|
|
153
|
+
// Update order_request status to completed/closed
|
|
154
|
+
const orderRequestService = container.resolve("order_request");
|
|
155
|
+
if (orderRequestService?.updateOrderRequest) {
|
|
156
|
+
try {
|
|
157
|
+
await orderRequestService.updateOrderRequest(orderRequestId, {
|
|
158
|
+
status: "completed",
|
|
159
|
+
});
|
|
160
|
+
framework_1.logger.info(`[Webhook] Updated order_request ${orderRequestId} status`);
|
|
161
|
+
}
|
|
162
|
+
catch (updateError) {
|
|
163
|
+
framework_1.logger.warn(`[Webhook] Could not update order_request status: ${updateError?.message}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
framework_1.logger.warn(`[Webhook] Error handling Medusa-originated return: ${error?.message}`);
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Sub-scenario A: Pure ERP-originated return
|
|
174
|
+
* - Creates sale_return_master without order_request link
|
|
175
|
+
* - Records the return for reference/reporting
|
|
176
|
+
*/
|
|
177
|
+
async function handleErpOriginatedReturn(saleReturn, saleReturnService) {
|
|
178
|
+
framework_1.logger.info(`[Webhook] Handling ERP-originated return ${saleReturn.JewelTransId}`);
|
|
179
|
+
const existing = await saleReturnService.listSaleReturnMasters({
|
|
180
|
+
sale_return_id: Number(saleReturn.JewelTransId),
|
|
181
|
+
});
|
|
182
|
+
// Build addless_detail from response (tax/discount breakdown)
|
|
183
|
+
const addlessDetail = saleReturn.AddlessDetail?.length
|
|
184
|
+
? saleReturn.AddlessDetail.map((item) => ({
|
|
185
|
+
prompt: item.Prompt,
|
|
186
|
+
addless_per: item.AddLessPer || null,
|
|
187
|
+
addless_amount: item.AddLessAmount,
|
|
188
|
+
}))
|
|
189
|
+
: null;
|
|
190
|
+
const addlessDetailWithSummary = addlessDetail
|
|
191
|
+
? {
|
|
192
|
+
items: addlessDetail,
|
|
193
|
+
gross_amount: saleReturn.GrossAmount,
|
|
194
|
+
total_addless_amount: saleReturn.TotalAddlessAmount,
|
|
195
|
+
final_amount: saleReturn.Amount,
|
|
196
|
+
}
|
|
197
|
+
: {
|
|
198
|
+
gross_amount: saleReturn.GrossAmount,
|
|
199
|
+
total_addless_amount: saleReturn.TotalAddlessAmount,
|
|
200
|
+
final_amount: saleReturn.Amount,
|
|
201
|
+
};
|
|
202
|
+
const saleReturnPayload = {
|
|
203
|
+
sale_return_id: saleReturn.JewelTransId,
|
|
204
|
+
return_no: saleReturn.JewelTransNo,
|
|
205
|
+
return_date: saleReturn.JewelTransDate,
|
|
206
|
+
party_no: saleReturn.PartyNo,
|
|
207
|
+
branch_no: saleReturn.BranchNo,
|
|
208
|
+
status: saleReturn.Status || null,
|
|
209
|
+
total_amount: saleReturn.Amount,
|
|
210
|
+
remarks: saleReturn.Remarks || null,
|
|
211
|
+
addless_detail: addlessDetailWithSummary,
|
|
212
|
+
metadata: {
|
|
213
|
+
erp_prefix: saleReturn.JewelTransPrefix,
|
|
214
|
+
erp_jewel_trans_id: saleReturn.JewelTransId,
|
|
215
|
+
sales_person: saleReturn.SalesPerson,
|
|
216
|
+
firm_name: saleReturn.FirmName,
|
|
217
|
+
note: "ERP-originated return (no Medusa order link)",
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
if (existing?.length > 0) {
|
|
221
|
+
await saleReturnService.updateSaleReturnMasters({
|
|
222
|
+
id: existing[0].id,
|
|
223
|
+
...saleReturnPayload,
|
|
224
|
+
});
|
|
225
|
+
framework_1.logger.info(`[Webhook] Updated sale_return_master ${existing[0].id} for ERP-originated return`);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
await saleReturnService.createSaleReturnMasters(saleReturnPayload);
|
|
229
|
+
framework_1.logger.info(`[Webhook] Created sale_return_master for ERP-originated return`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zYWxlLXJldHVybi1mcm9tLXdlYmhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NhbGUtcmV0dXJuLW1hc3Rlci9zdGVwcy9wcm9jZXNzLXNhbGUtcmV0dXJuLWZyb20td2ViaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQXNFO0FBRXRFLDRFQUFnRjtBQUNoRixtREFBNkM7QUFPN0M7Ozs7OztHQU1HO0FBQ1UsUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3hELGtDQUFrQyxFQUNsQyxLQUFLLEVBQUUsS0FBd0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDaEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxNQUFNLGlCQUFpQixHQUE0QixTQUFTLENBQUMsT0FBTyxDQUNsRSw4Q0FBeUIsQ0FDMUIsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFxQixDQUFDO1FBRWhFLE1BQU0sT0FBTyxHQUFVLEVBQUUsQ0FBQztRQUUxQixLQUFLLE1BQU0sT0FBTyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxNQUFNLE9BQU8sR0FBUSxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQ2pELGFBQWEsRUFDYixNQUFNLENBQUMsT0FBTyxDQUFDLENBQ2hCLENBQUM7WUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLGtCQUFNLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RSxTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFH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
|
|
@@ -16,5 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./fetch-styles"), exports);
|
|
18
18
|
__exportStar(require("./delete-style-master"), exports);
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLHdEQUFzQztBQUN0Qyw0REFBMEMifQ==
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLHdEQUFzQyJ9
|
|
@@ -15,6 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./create-or-update-style-master"), exports);
|
|
18
|
-
__exportStar(require("./create-or-update-style-master-price-only"), exports);
|
|
19
18
|
__exportStar(require("./delete-style-master"), exports);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUFnRDtBQUNoRCx3REFBc0MifQ==
|
package/package.json
CHANGED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateInwardPriceOnly = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const extended_variant_1 = require("../../../modules/extended-variant");
|
|
6
|
-
/**
|
|
7
|
-
* Step to update inward master price fields only
|
|
8
|
-
* Does not touch explorations, outlet_ids, or OpenSearch sync
|
|
9
|
-
* Only updates:
|
|
10
|
-
* - Inward master price/cost/margin/discount/amount fields
|
|
11
|
-
* - All formula fields for cost and sale calculations
|
|
12
|
-
*
|
|
13
|
-
* @param input - Array of inward update payloads (id + price-only update fields)
|
|
14
|
-
* @param container - Dependency injection container
|
|
15
|
-
*/
|
|
16
|
-
exports.updateInwardPriceOnly = (0, workflows_sdk_1.createStep)("update-inward-price-only", async (input, { container }) => {
|
|
17
|
-
const extendedVariantService = container.resolve(extended_variant_1.EXTENDED_VARIANT_MODULE);
|
|
18
|
-
const logger = container.resolve("logger");
|
|
19
|
-
if (!input.inwards || input.inwards.length === 0) {
|
|
20
|
-
logger.info("No inward price-only updates to process");
|
|
21
|
-
return new workflows_sdk_1.StepResponse({ success: true, updatedCount: 0 });
|
|
22
|
-
}
|
|
23
|
-
let updatedCount = 0;
|
|
24
|
-
for (const updatePayload of input.inwards) {
|
|
25
|
-
try {
|
|
26
|
-
// Update inward with price fields only
|
|
27
|
-
await extendedVariantService.updateInwardMasters({
|
|
28
|
-
id: updatePayload.id,
|
|
29
|
-
...updatePayload.priceData,
|
|
30
|
-
});
|
|
31
|
-
updatedCount++;
|
|
32
|
-
logger.info(`✅ Price-only update completed for inward ${updatePayload.id}`);
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
logger.error(`❌ Failed to update price-only for inward ${updatePayload.id}:`, error);
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return new workflows_sdk_1.StepResponse({
|
|
40
|
-
success: true,
|
|
41
|
-
updatedCount,
|
|
42
|
-
});
|
|
43
|
-
}, async (result, { container }) => {
|
|
44
|
-
const logger = container.resolve("logger");
|
|
45
|
-
logger.error("Compensation: Failed to update inward price-only data");
|
|
46
|
-
});
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWlud2FyZC1wcmljZS1vbmx5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9pbndhcmQtbWFzdGVyL3N0ZXBzL3VwZGF0ZS1pbndhcmQtcHJpY2Utb25seS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFHN0Usd0VBQTRFO0FBRTVFOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsSUFBQSwwQkFBVSxFQUM3QywwQkFBMEIsRUFDMUIsS0FBSyxFQUNILEtBS0MsRUFDRCxFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRixNQUFNLHNCQUFzQixHQUMxQixTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUF1QixDQUFDLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7SUFFckIsS0FBSyxNQUFNLGFBQWEsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDO1lBQ0gsdUNBQXVDO1lBQ3ZDLE1BQU0sc0JBQXNCLENBQUMsbUJBQW1CLENBQUM7Z0JBQy9DLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRTtnQkFDcEIsR0FBRyxhQUFhLENBQUMsU0FBUzthQUMzQixDQUFDLENBQUM7WUFFSCxZQUFZLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQ1QsNENBQTRDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FDL0QsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLEtBQUssQ0FDViw0Q0FBNEMsYUFBYSxDQUFDLEVBQUUsR0FBRyxFQUMvRCxLQUFLLENBQ04sQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixPQUFPLEVBQUUsSUFBSTtRQUNiLFlBQVk7S0FDYixDQUFDLENBQUM7QUFDTCxDQUFDLEVBQ0QsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDOUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7QUFDeEUsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateInwardPriceOnlyWorkflow = exports.updateInwardPriceOnlyWorkflowId = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
-
const helper_1 = require("../helper");
|
|
7
|
-
const steps_1 = require("../steps");
|
|
8
|
-
const create_inward_detail_lines_1 = require("../steps/create-inward-detail-lines");
|
|
9
|
-
const create_inward_extra_charges_lines_1 = require("../steps/create-inward-extra-charges-lines");
|
|
10
|
-
const delete_inward_detail_lines_1 = require("../steps/delete-inward-detail-lines");
|
|
11
|
-
const delete_inward_extra_charges_lines_1 = require("../steps/delete-inward-extra-charges-lines");
|
|
12
|
-
const update_inward_price_only_1 = require("../steps/update-inward-price-only");
|
|
13
|
-
const helper_2 = require("../helper");
|
|
14
|
-
exports.updateInwardPriceOnlyWorkflowId = "update-inward-price-only";
|
|
15
|
-
/**
|
|
16
|
-
* Price-only workflow for Inward updates when DailyRate is detected
|
|
17
|
-
* This workflow:
|
|
18
|
-
* 1. Fetches inward data from ERP
|
|
19
|
-
* 2. Updates only price fields in inward master (cost, mrp, margin, discount, formulas)
|
|
20
|
-
* 3. Recreates inward detail lines and extra charges (all price-related)
|
|
21
|
-
* 4. Does NOT update inward explorations, outlet_ids, or sync to OpenSearch
|
|
22
|
-
*
|
|
23
|
-
* @param input - Contains operation type, data IDs, and priceOnly flag
|
|
24
|
-
*/
|
|
25
|
-
exports.updateInwardPriceOnlyWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.updateInwardPriceOnlyWorkflowId, (input) => {
|
|
26
|
-
const inwardData = (0, steps_1.fetchInwardMaster)(input);
|
|
27
|
-
const transformedInwardMaster = (0, workflows_sdk_1.transform)({ inwardData }, ({ inwardData }) => inwardData.map((item) => (0, helper_2.transformInwardMaster)(item)));
|
|
28
|
-
const jewelIds = (0, workflows_sdk_1.transform)({ transformedInwardMaster }, ({ transformedInwardMaster }) => transformedInwardMaster.map((item) => item.jewel_id));
|
|
29
|
-
const { data: inwards } = (0, core_flows_1.useQueryGraphStep)({
|
|
30
|
-
entity: "inward_master",
|
|
31
|
-
fields: [
|
|
32
|
-
"id",
|
|
33
|
-
"jewel_id",
|
|
34
|
-
"inward_details.*",
|
|
35
|
-
"inward_extra_charges.*",
|
|
36
|
-
],
|
|
37
|
-
filters: {
|
|
38
|
-
jewel_id: jewelIds,
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
(0, workflows_sdk_1.when)({ inwards }, (data) => data.inwards.length > 0).then(() => {
|
|
42
|
-
// Delete existing detail and extra charge lines (these are all price-related)
|
|
43
|
-
const allInwardDetails = (0, workflows_sdk_1.transform)({ inwards }, ({ inwards }) => inwards.flatMap((inward) => inward.inward_details?.map((i) => i.id)));
|
|
44
|
-
(0, delete_inward_detail_lines_1.deleteInwardDetailLinesStep)(allInwardDetails);
|
|
45
|
-
const allInwardExtraCharges = (0, workflows_sdk_1.transform)({ inwards }, ({ inwards }) => inwards.flatMap((inward) => inward.inward_extra_charges?.map((i) => i.id)));
|
|
46
|
-
(0, delete_inward_extra_charges_lines_1.deleteInwardExtraChargesLinesStep)(allInwardExtraCharges);
|
|
47
|
-
});
|
|
48
|
-
// Build update payloads by pairing existing inwards with transformed data via jewel_id
|
|
49
|
-
const inwardsToUpdate = (0, workflows_sdk_1.transform)({ inwards, transformedInwardMaster }, ({ inwards, transformedInwardMaster }) => {
|
|
50
|
-
const byJewelId = new Map(transformedInwardMaster.map((t) => [t.jewel_id, t]));
|
|
51
|
-
return inwards
|
|
52
|
-
.map((existing) => {
|
|
53
|
-
const updated = byJewelId.get(existing.jewel_id);
|
|
54
|
-
if (!updated) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
id: existing.id,
|
|
59
|
-
priceData: updated,
|
|
60
|
-
};
|
|
61
|
-
})
|
|
62
|
-
.filter((x) => x !== null);
|
|
63
|
-
});
|
|
64
|
-
const updateResult = (0, update_inward_price_only_1.updateInwardPriceOnly)({
|
|
65
|
-
inwards: inwardsToUpdate,
|
|
66
|
-
});
|
|
67
|
-
// Extract inward IDs and jewel IDs for linking to detail lines
|
|
68
|
-
const updatedInwardsMeta = (0, workflows_sdk_1.transform)({ inwards, inwardsToUpdate }, ({ inwards, inwardsToUpdate }) => {
|
|
69
|
-
const updatedIds = new Set(inwardsToUpdate.map((item) => item.id));
|
|
70
|
-
return inwards
|
|
71
|
-
.filter((inward) => updatedIds.has(inward.id))
|
|
72
|
-
.map((inward) => ({
|
|
73
|
-
id: inward.id,
|
|
74
|
-
jewel_id: inward.jewel_id,
|
|
75
|
-
}));
|
|
76
|
-
});
|
|
77
|
-
// Recreate detail lines after update (price-only)
|
|
78
|
-
(0, workflows_sdk_1.when)({ updateResult, inwardData }, ({ updateResult, inwardData }) => {
|
|
79
|
-
return updateResult.updatedCount > 0 && inwardData.length > 0;
|
|
80
|
-
}).then(() => {
|
|
81
|
-
const allInwardDetails = (0, workflows_sdk_1.transform)({ inwardData, createdInwards: updatedInwardsMeta }, (data) => (0, helper_1.extractLines)(data));
|
|
82
|
-
if (allInwardDetails.length === 0) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
(0, create_inward_detail_lines_1.createInwardDetailLinesStep)(allInwardDetails);
|
|
86
|
-
});
|
|
87
|
-
// Recreate extra charges after update (price-only)
|
|
88
|
-
(0, workflows_sdk_1.when)({ updateResult, inwardData }, ({ updateResult, inwardData }) => {
|
|
89
|
-
return updateResult.updatedCount > 0 && inwardData.length > 0;
|
|
90
|
-
}).then(() => {
|
|
91
|
-
const allInwardExtraCharges = (0, workflows_sdk_1.transform)({ inwardData, createdInwards: updatedInwardsMeta }, (data) => (0, helper_1.extractExtraChargesLines)(data));
|
|
92
|
-
if (allInwardExtraCharges.length === 0) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
(0, create_inward_extra_charges_lines_1.createInwardExtraChargesLinesStep)(allInwardExtraCharges);
|
|
96
|
-
});
|
|
97
|
-
return new workflows_sdk_1.WorkflowResponse({ success: true, updatedCount: updateResult.updatedCount });
|
|
98
|
-
});
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWlud2FyZC1wcmljZS1vbmx5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9pbndhcmQtbWFzdGVyL3dvcmtmbG93cy91cGRhdGUtaW53YXJkLXByaWNlLW9ubHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLDREQUFnRTtBQUdoRSxzQ0FHbUI7QUFDbkIsb0NBQTZDO0FBQzdDLG9GQUFrRjtBQUNsRixrR0FBK0Y7QUFDL0Ysb0ZBQWtGO0FBQ2xGLGtHQUErRjtBQUMvRixnRkFBMEU7QUFDMUUsc0NBQWtEO0FBRXJDLFFBQUEsK0JBQStCLEdBQUcsMEJBQTBCLENBQUM7QUFFMUU7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3pELHVDQUErQixFQUMvQixDQUFDLEtBQWtCLEVBQUUsRUFBRTtJQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSx5QkFBUyxFQUN2QyxFQUFFLFVBQVUsRUFBRSxFQUNkLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSw4QkFBcUIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRSxDQUFDO0lBRUYsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBUyxFQUN4QixFQUFFLHVCQUF1QixFQUFFLEVBQzNCLENBQUMsRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEVBQUUsQ0FDOUIsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3ZELENBQUM7SUFFRixNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLElB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
|
package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-price-only.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updatePartyStylePriceOnly = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const extended_variant_1 = require("../../../modules/extended-variant");
|
|
6
|
-
/**
|
|
7
|
-
* Step to update extended variant price fields only
|
|
8
|
-
* Does not touch Medusa variant (title, SKU, options) or explorations
|
|
9
|
-
* Only updates:
|
|
10
|
-
* - Extended variant price/cost/margin/discount/amount fields
|
|
11
|
-
* - Party style detail lines with updated price calculations
|
|
12
|
-
*
|
|
13
|
-
* @param input - Array of price-only updates
|
|
14
|
-
* @param container - Dependency injection container
|
|
15
|
-
*/
|
|
16
|
-
exports.updatePartyStylePriceOnly = (0, workflows_sdk_1.createStep)("update-party-style-price-only", async (input, { container }) => {
|
|
17
|
-
const extendedVariantService = container.resolve(extended_variant_1.EXTENDED_VARIANT_MODULE);
|
|
18
|
-
const logger = container.resolve("logger");
|
|
19
|
-
if (!input.updates || input.updates.length === 0) {
|
|
20
|
-
logger.info("No party style price-only updates to process");
|
|
21
|
-
return new workflows_sdk_1.StepResponse({ success: true, updatedCount: 0 });
|
|
22
|
-
}
|
|
23
|
-
let updatedCount = 0;
|
|
24
|
-
for (const update of input.updates) {
|
|
25
|
-
try {
|
|
26
|
-
// Update extended variant with price fields only
|
|
27
|
-
await extendedVariantService.updateExtendedVariants({
|
|
28
|
-
id: update.extendedVariantId,
|
|
29
|
-
// Price and cost fields
|
|
30
|
-
cost: update.extendedVariantData.cost,
|
|
31
|
-
actual_cost: update.extendedVariantData.actual_cost,
|
|
32
|
-
mrp: update.extendedVariantData.mrp,
|
|
33
|
-
actual_mrp: update.extendedVariantData.actual_mrp,
|
|
34
|
-
// Cost calculations
|
|
35
|
-
metal_total_cost: update.extendedVariantData.metal_total_cost,
|
|
36
|
-
diamond_total_cost: update.extendedVariantData.diamond_total_cost,
|
|
37
|
-
stone_total_cost: update.extendedVariantData.stone_total_cost,
|
|
38
|
-
cpf_total_cost: update.extendedVariantData.cpf_total_cost,
|
|
39
|
-
// Amount calculations
|
|
40
|
-
metal_total_amount: update.extendedVariantData.metal_total_amount,
|
|
41
|
-
diamond_total_amount: update.extendedVariantData.diamond_total_amount,
|
|
42
|
-
stone_total_amount: update.extendedVariantData.stone_total_amount,
|
|
43
|
-
cpf_total_amount: update.extendedVariantData.cpf_total_amount,
|
|
44
|
-
// Actual amounts
|
|
45
|
-
actual_metal_total_amount: update.extendedVariantData.actual_metal_total_amount,
|
|
46
|
-
actual_diamond_total_amount: update.extendedVariantData.actual_diamond_total_amount,
|
|
47
|
-
actual_stone_total_amount: update.extendedVariantData.actual_stone_total_amount,
|
|
48
|
-
actual_cpf_total_amount: update.extendedVariantData.actual_cpf_total_amount,
|
|
49
|
-
actual_total_amount: update.extendedVariantData.actual_total_amount,
|
|
50
|
-
// Rate chart and discount markup
|
|
51
|
-
rate_chart: update.extendedVariantData.rate_chart,
|
|
52
|
-
discount_markup: update.extendedVariantData.discount_markup,
|
|
53
|
-
discount_markup_cost: update.extendedVariantData.discount_markup_cost,
|
|
54
|
-
// Making and metal calculation formulas
|
|
55
|
-
making_cost_on: update.extendedVariantData.making_cost_on,
|
|
56
|
-
metal_calculation_cost_on: update.extendedVariantData.metal_calculation_cost_on,
|
|
57
|
-
gold_loss_cost_formula: update.extendedVariantData.gold_loss_cost_formula,
|
|
58
|
-
labour_cost_formula: update.extendedVariantData.labour_cost_formula,
|
|
59
|
-
// Margin and discount cost fields
|
|
60
|
-
cost_margin_per: update.extendedVariantData.cost_margin_per,
|
|
61
|
-
cost_margin_is_fix: update.extendedVariantData.cost_margin_is_fix,
|
|
62
|
-
actual_cost_margin_amt: update.extendedVariantData.actual_cost_margin_amt,
|
|
63
|
-
cost_margin_amt: update.extendedVariantData.cost_margin_amt,
|
|
64
|
-
cost_discount_per: update.extendedVariantData.cost_discount_per,
|
|
65
|
-
cost_discount_is_fix: update.extendedVariantData.cost_discount_is_fix,
|
|
66
|
-
actual_cost_discount_amt: update.extendedVariantData.actual_cost_discount_amt,
|
|
67
|
-
cost_discount_amt: update.extendedVariantData.cost_discount_amt,
|
|
68
|
-
// Making and metal calculation formulas (sale)
|
|
69
|
-
making_on: update.extendedVariantData.making_on,
|
|
70
|
-
metal_calculation_on: update.extendedVariantData.metal_calculation_on,
|
|
71
|
-
gold_loss_formula: update.extendedVariantData.gold_loss_formula,
|
|
72
|
-
labour_formula: update.extendedVariantData.labour_formula,
|
|
73
|
-
// Margin and discount sale fields
|
|
74
|
-
margin_per: update.extendedVariantData.margin_per,
|
|
75
|
-
margin_is_fix: update.extendedVariantData.margin_is_fix,
|
|
76
|
-
actual_margin_amt: update.extendedVariantData.actual_margin_amt,
|
|
77
|
-
margin_amt: update.extendedVariantData.margin_amt,
|
|
78
|
-
discount_per: update.extendedVariantData.discount_per,
|
|
79
|
-
discount_is_fix: update.extendedVariantData.discount_is_fix,
|
|
80
|
-
actual_discount_amt: update.extendedVariantData.actual_discount_amt,
|
|
81
|
-
discount_amt: update.extendedVariantData.discount_amt,
|
|
82
|
-
});
|
|
83
|
-
// Delete and recreate party style detail lines with updated prices
|
|
84
|
-
if (update.styleDetails && update.styleDetails.length > 0) {
|
|
85
|
-
// Get existing detail line IDs to delete
|
|
86
|
-
const existingDetails = await extendedVariantService.listPartyStyleDetailsLines({
|
|
87
|
-
party_style_id: update.extendedVariantData.party_style_id,
|
|
88
|
-
});
|
|
89
|
-
if (existingDetails.length > 0) {
|
|
90
|
-
await extendedVariantService.deletePartyStyleDetailsLines(existingDetails.map((d) => d.id));
|
|
91
|
-
}
|
|
92
|
-
// Create new party style details with updated prices
|
|
93
|
-
await extendedVariantService.createPartyStyleDetailsLines(update.styleDetails);
|
|
94
|
-
}
|
|
95
|
-
updatedCount++;
|
|
96
|
-
logger.info(`✅ Price-only update completed for variant ${update.extendedVariantId}`);
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
logger.error(`❌ Failed to update price-only for variant ${update.extendedVariantId}:`, error);
|
|
100
|
-
throw error;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return new workflows_sdk_1.StepResponse({
|
|
104
|
-
success: true,
|
|
105
|
-
updatedCount,
|
|
106
|
-
});
|
|
107
|
-
}, async (result, { container }) => {
|
|
108
|
-
const logger = container.resolve("logger");
|
|
109
|
-
logger.error("Compensation: Failed to update party style price-only data");
|
|
110
|
-
});
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBhcnR5LXN0eWxlLXByaWNlLW9ubHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BhcnR5LXN0eWxlLW1hc3Rlci9zdGVwcy91cGRhdGUtcGFydHktc3R5bGUtcHJpY2Utb25seS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFHN0Usd0VBQTRFO0FBUTVFOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsSUFBQSwwQkFBVSxFQUNqRCwrQkFBK0IsRUFDL0IsS0FBSyxFQUNILEtBQStDLEVBQy9DLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sc0JBQXNCLEdBQTJCLFNBQVMsQ0FBQyxPQUFPLENBQ3RFLDBDQUF1QixDQUN4QixDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7SUFFckIsS0FBSyxNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDO1lBQ0gsaURBQWlEO1lBQ2pELE1BQU0sc0JBQXNCLENBQUMsc0JBQXNCLENBQUM7Z0JBQ2xELEVBQUUsRUFBRSxNQUFNLENBQUMsaUJBQWlCO2dCQUM1Qix3QkFBd0I7Z0JBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSTtnQkFDckMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXO2dCQUNuRCxHQUFHLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUc7Z0JBQ25DLFVBQVUsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVTtnQkFFakQsb0JBQW9CO2dCQUNwQixnQkFBZ0IsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCO2dCQUM3RCxrQkFBa0IsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCO2dCQUNqRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCO2dCQUM3RCxjQUFjLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7Z0JBRXpELHNCQUFzQjtnQkFDdEIsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQjtnQkFDakUsb0JBQW9CLEVBQ2xCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0I7Z0JBQ2pELGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0I7Z0JBQ2pFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0I7Z0JBRTdELGlCQUFpQjtnQkFDakIseUJBQXlCLEVBQ3ZCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUI7Z0JBQ3RELDJCQUEyQixFQUN6QixNQUFNLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCO2dCQUN4RCx5QkFBeUIsRUFDdkIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QjtnQkFDdEQsdUJBQXVCLEVBQ3JCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUI7Z0JBQ3BELG1CQUFtQixFQUNqQixNQUFNLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CO2dCQUVoRCxpQ0FBaUM7Z0JBQ2pDLFVBQVUsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVTtnQkFDakQsZUFBZSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlO2dCQUMzRCxvQkFBb0IsRUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQjtnQkFFakQsd0NBQXdDO2dCQUN4QyxjQUFjLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7Z0JBQ3pELHlCQUF5QixFQUN2QixNQUFNLENBQUMsbUJBQW1CLENBQUMseUJBQXlCO2dCQUN0RCxzQkFBc0IsRUFDcEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQjtnQkFDbkQsbUJBQW1CLEVBQ2pCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUI7Z0JBRWhELGtDQUFrQztnQkFDbEMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlO2dCQUMzRCxrQkFBa0IsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCO2dCQUNqRSxzQkFBc0IsRUFDcEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQjtnQkFDbkQsZUFBZSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlO2dCQUMzRCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCO2dCQUMvRCxvQkFBb0IsRUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQjtnQkFDakQsd0JBQXdCLEVBQ3RCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0I7Z0JBQ3JELGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUI7Z0JBRS9ELCtDQUErQztnQkFDL0MsU0FBUyxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTO2dCQUMvQyxvQkFBb0IsRUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQjtnQkFDakQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQjtnQkFDL0QsY0FBYyxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjO2dCQUV6RCxrQ0FBa0M7Z0JBQ2xDLFVBQVUsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVTtnQkFDakQsYUFBYSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2dCQUN2RCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCO2dCQUMvRCxVQUFVLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVU7Z0JBQ2pELFlBQVksRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsWUFBWTtnQkFDckQsZUFBZSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlO2dCQUMzRCxtQkFBbUIsRUFDakIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQjtnQkFDaEQsWUFBWSxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZO2FBQ3RELENBQUMsQ0FBQztZQUVILG1FQUFtRTtZQUNuRSxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELHlDQUF5QztnQkFDekMsTUFBTSxlQUFlLEdBQ25CLE1BQU0sc0JBQXNCLENBQUMsMEJBQTBCLENBQUM7b0JBQ3RELGNBQWMsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsY0FBYztpQkFDMUQsQ0FBQyxDQUFDO2dCQUVMLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsTUFBTSxzQkFBc0IsQ0FBQyw0QkFBNEIsQ0FDdkQsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNqQyxDQUFDO2dCQUNKLENBQUM7Z0JBRUQscURBQXFEO2dCQUNyRCxNQUFNLHNCQUFzQixDQUFDLDRCQUE0QixDQUN2RCxNQUFNLENBQUMsWUFBWSxDQUNwQixDQUFDO1lBQ0osQ0FBQztZQUVELFlBQVksRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FDVCw2Q0FBNkMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQ3hFLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxLQUFLLENBQ1YsNkNBQTZDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxFQUN4RSxLQUFLLENBQ04sQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixPQUFPLEVBQUUsSUFBSTtRQUNiLFlBQVk7S0FDYixDQUFDLENBQUM7QUFDTCxDQUFDLEVBQ0QsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDOUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQUMsS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUNGLENBQUMifQ==
|