@devx-commerce/plugin-gati 0.0.34-beta.31 → 0.0.34-beta.32
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/jobs/sync-order-erp.js +2 -2
- package/.medusa/server/src/modules/order-master/migrations/Migration20260303000001.js +30 -0
- package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +189 -183
- package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +36 -1
- package/package.json +1 -1
|
@@ -30,6 +30,6 @@ async function syncOrderErp(container) {
|
|
|
30
30
|
}
|
|
31
31
|
exports.config = {
|
|
32
32
|
name: "sync-order-erp",
|
|
33
|
-
schedule: "*/
|
|
33
|
+
schedule: "*/30 * * * *", // Every 5 minutes
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1vcmRlci1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvam9icy9zeW5jLW9yZGVyLWVycC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSwrQkE2QkM7QUFoQ0QscURBQXNFO0FBQ3RFLGdEQUE2RDtBQUU5QyxLQUFLLFVBQVUsWUFBWSxDQUFDLFNBQTBCO0lBQ25FLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osWUFBWTtZQUNaLHVCQUF1QjtZQUN2QixnQ0FBZ0M7U0FDakM7UUFDRCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO1FBQzlCLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwRCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNsQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxXQUFXLENBQzlELENBQUM7SUFFRixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRTlDLEtBQUssTUFBTSxLQUFLLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFBLCtCQUFzQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMxQyxLQUFLLEVBQUU7Z0JBQ0wsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLFFBQVEsRUFBRSxjQUFjLEVBQUUsa0JBQWtCO0NBQzdDLENBQUMifQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260303000001 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260303000001 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
// Ensure tables exist in case the previous migration was recorded but not applied
|
|
8
|
+
this.addSql(`create table if not exists "order_master" ("id" text not null, "erp_order_id" integer not null, "branch_no" text null, "branch_name" text null, "order_prefix" text not null, "order_no" text not null, "order_date" timestamptz not null, "customer_id" text null, "customer_name" text null, "po_no" text null, "po_date" timestamptz null, "sales_person" text null, "work_order_no" text null, "remarks" text null, "shipping_id" integer null, "promocode_series_id" integer null, "promocode" text null, "promocode_percentage" integer null, "promocode_amount" integer null, "metadata" jsonb not null default '{}', "giftcode_details" jsonb null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "order_master_pkey" primary key ("id"));`);
|
|
9
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_master_deleted_at" ON "order_master" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
10
|
+
this.addSql(`create table if not exists "order_detail_master" ("id" text not null, "order_item_id" integer not null, "erp_order_id" integer not null, "sr_no" integer not null, "style_id" integer not null, "style_code" text not null, "party_style_id" integer not null, "party_style_code" text null, "jewel_id" integer null, "jewel_code" text null, "item_size_id" integer not null, "item_size" text not null, "item_size_name" text not null, "order_qty" integer not null, "order_item_pcs" integer not null, "metal_item_id" integer not null, "metal" text not null, "metal_name" text not null, "metal_tone_no" integer not null, "tone" text not null, "tone_name" text not null, "item_po_no" text null, "item_ref_no" text null, "priority_id" integer not null, "priority" text not null, "priority_name" text not null, "stock_type_no" integer not null, "stock_type" text not null, "stock_type_code" text not null, "make_type_no" integer not null, "make_type" text not null, "make_type_code" text not null, "customer_production_instruction" text null, "special_remarks" text null, "design_production_instruction" text null, "stamp_instruction" text null, "expected_delivery_date" timestamptz not null, "mrp" integer not null, "metadata" jsonb not null default '{}', "order_master_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "order_detail_master_pkey" primary key ("id"));`);
|
|
11
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_detail_master_order_master_id" ON "order_detail_master" ("order_master_id") WHERE deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_detail_master_deleted_at" ON "order_detail_master" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
13
|
+
this.addSql(`create table if not exists "order_payment_option_master" ("id" text not null, "book_name" text not null, "erp_order_id" integer not null, "voucher_entry_id" integer not null, "trans_prefix" text not null, "trans_no" text not null, "transaction_date" timestamptz not null, "doc_no" text null, "remarks" text null, "amount" integer not null, "metadata" jsonb not null default '{}', "order_master_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "order_payment_option_master_pkey" primary key ("id"));`);
|
|
14
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_payment_option_master_order_master_id" ON "order_payment_option_master" ("order_master_id") WHERE deleted_at IS NULL;`);
|
|
15
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_order_payment_option_master_deleted_at" ON "order_payment_option_master" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
16
|
+
this.addSql(`alter table if exists "order_detail_master" drop constraint if exists "order_detail_master_order_master_id_foreign";`);
|
|
17
|
+
this.addSql(`alter table if exists "order_detail_master" add constraint "order_detail_master_order_master_id_foreign" foreign key ("order_master_id") references "order_master" ("id") on update cascade on delete cascade;`);
|
|
18
|
+
this.addSql(`alter table if exists "order_payment_option_master" drop constraint if exists "order_payment_option_master_order_master_id_foreign";`);
|
|
19
|
+
this.addSql(`alter table if exists "order_payment_option_master" add constraint "order_payment_option_master_order_master_id_foreign" foreign key ("order_master_id") references "order_master" ("id") on update cascade on delete cascade;`);
|
|
20
|
+
}
|
|
21
|
+
async down() {
|
|
22
|
+
this.addSql(`alter table if exists "order_detail_master" drop constraint if exists "order_detail_master_order_master_id_foreign";`);
|
|
23
|
+
this.addSql(`alter table if exists "order_payment_option_master" drop constraint if exists "order_payment_option_master_order_master_id_foreign";`);
|
|
24
|
+
this.addSql(`drop table if exists "order_master" cascade;`);
|
|
25
|
+
this.addSql(`drop table if exists "order_detail_master" cascade;`);
|
|
26
|
+
this.addSql(`drop table if exists "order_payment_option_master" cascade;`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.Migration20260303000001 = Migration20260303000001;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjAzMDMwMDAwMDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9vcmRlci1tYXN0ZXIvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI2MDMwMzAwMDAwMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLGt6QkFBa3pCLENBQUMsQ0FBQztRQUNoMEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxSEFBcUgsQ0FBQyxDQUFDO1FBRW5JLElBQUksQ0FBQyxNQUFNLENBQUMseTdDQUF5N0MsQ0FBQyxDQUFDO1FBQ3Y4QyxJQUFJLENBQUMsTUFBTSxDQUFDLDZJQUE2SSxDQUFDLENBQUM7UUFDM0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSUFBbUksQ0FBQyxDQUFDO1FBRWpKLElBQUksQ0FBQyxNQUFNLENBQUMsa21CQUFrbUIsQ0FBQyxDQUFDO1FBQ2huQixJQUFJLENBQUMsTUFBTSxDQUFDLDZKQUE2SixDQUFDLENBQUM7UUFDM0ssSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSkFBbUosQ0FBQyxDQUFDO1FBRWpLLElBQUksQ0FBQyxNQUFNLENBQUMsc0hBQXNILENBQUMsQ0FBQztRQUNwSSxJQUFJLENBQUMsTUFBTSxDQUFDLGdOQUFnTixDQUFDLENBQUM7UUFFOU4sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzSUFBc0ksQ0FBQyxDQUFDO1FBQ3BKLElBQUksQ0FBQyxNQUFNLENBQUMsZ09BQWdPLENBQUMsQ0FBQztJQUNoUCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzSEFBc0gsQ0FBQyxDQUFDO1FBQ3BJLElBQUksQ0FBQyxNQUFNLENBQUMsc0lBQXNJLENBQUMsQ0FBQztRQUNwSixJQUFJLENBQUMsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsNkRBQTZELENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBRUY7QUE5QkQsMERBOEJDIn0=
|
|
@@ -6,52 +6,124 @@ const order_master_1 = require("../../../modules/order-master");
|
|
|
6
6
|
const utils_1 = require("@medusajs/framework/utils");
|
|
7
7
|
const framework_1 = require("@medusajs/framework");
|
|
8
8
|
exports.createOrderMaster = (0, workflows_sdk_1.createStep)("create-order-master-step", async (input, { container }) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let master;
|
|
21
|
-
if (existing?.length > 0) {
|
|
22
|
-
// Update existing order master
|
|
23
|
-
framework_1.logger.info(`Updating Order ${input.order_id} - already exists.`);
|
|
24
|
-
master = existing[0];
|
|
25
|
-
await orderMasterService.updateOrderMasters({
|
|
26
|
-
id: master.id,
|
|
27
|
-
erp_order_id: data.OrderId,
|
|
28
|
-
branch_no: data.BranchNo,
|
|
29
|
-
branch_name: data.BranchName,
|
|
30
|
-
order_prefix: data.OrderPrefix,
|
|
31
|
-
order_no: data.OrderNo,
|
|
32
|
-
order_date: data.OrderDate,
|
|
33
|
-
customer_id: data.CustomerId,
|
|
34
|
-
customer_name: data.Customer,
|
|
35
|
-
po_no: data.PoNo,
|
|
36
|
-
po_date: data.PoDate,
|
|
37
|
-
sales_person: data.SalesPerson,
|
|
38
|
-
work_order_no: data.WorkOrderNo,
|
|
39
|
-
remarks: data.Remarks,
|
|
40
|
-
shipping_id: data.ShippingId,
|
|
41
|
-
promocode_series_id: data.PromocodeSeriesId,
|
|
42
|
-
promocode: data.Promocode,
|
|
43
|
-
promocode_percentage: data.PromocodePercentage,
|
|
44
|
-
promocode_amount: data.PromocodeAmount,
|
|
9
|
+
try {
|
|
10
|
+
const orderMasterService = container.resolve(order_master_1.ORDER_MASTER_MODULE);
|
|
11
|
+
const erpService = container.resolve("erp");
|
|
12
|
+
const orderData = await erpService.getMasterData("order", input.order_id);
|
|
13
|
+
if (!orderData) {
|
|
14
|
+
framework_1.logger.info(`No order data received for OrderID ${input.order_id}`);
|
|
15
|
+
return new workflows_sdk_1.StepResponse();
|
|
16
|
+
}
|
|
17
|
+
const masters = await Promise.all([orderData].map(async (data) => {
|
|
18
|
+
const existing = await orderMasterService.listOrderMasters({
|
|
19
|
+
erp_order_id: String(input.order_id),
|
|
45
20
|
});
|
|
46
|
-
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
21
|
+
let master;
|
|
22
|
+
if (existing?.length > 0) {
|
|
23
|
+
// Update existing order master
|
|
24
|
+
framework_1.logger.info(`Updating Order ${input.order_id} - already exists.`);
|
|
25
|
+
master = existing[0];
|
|
26
|
+
await orderMasterService.updateOrderMasters({
|
|
27
|
+
id: master.id,
|
|
28
|
+
erp_order_id: data.OrderId,
|
|
29
|
+
branch_no: data.BranchNo,
|
|
30
|
+
branch_name: data.BranchName,
|
|
31
|
+
order_prefix: data.OrderPrefix,
|
|
32
|
+
order_no: data.OrderNo,
|
|
33
|
+
order_date: data.OrderDate,
|
|
34
|
+
customer_id: data.CustomerId,
|
|
35
|
+
customer_name: data.Customer,
|
|
36
|
+
po_no: data.PoNo,
|
|
37
|
+
po_date: data.PoDate,
|
|
38
|
+
sales_person: data.SalesPerson,
|
|
39
|
+
work_order_no: data.WorkOrderNo,
|
|
40
|
+
remarks: data.Remarks,
|
|
41
|
+
shipping_id: data.ShippingId,
|
|
42
|
+
promocode_series_id: data.PromocodeSeriesId,
|
|
43
|
+
promocode: data.Promocode,
|
|
44
|
+
promocode_percentage: data.PromocodePercentage,
|
|
45
|
+
promocode_amount: data.PromocodeAmount,
|
|
46
|
+
});
|
|
47
|
+
// Handle order details - update existing or create new
|
|
48
|
+
if (data?.OrderDetail?.length) {
|
|
49
|
+
for (const d of data.OrderDetail) {
|
|
50
|
+
const existingDetail = await orderMasterService.listOrderDetailMasters({
|
|
51
|
+
erp_order_id: d.OrderId,
|
|
52
|
+
order_item_id: d.OrderItemId,
|
|
53
|
+
order_master: master.id,
|
|
54
|
+
});
|
|
55
|
+
const detailData = {
|
|
56
|
+
erp_order_id: d.OrderId,
|
|
57
|
+
order_item_id: d.OrderItemId,
|
|
58
|
+
order_master: master.id,
|
|
59
|
+
sr_no: d.SrNo,
|
|
60
|
+
style_id: d.StyleId,
|
|
61
|
+
style_code: d.StyleCode,
|
|
62
|
+
party_style_id: d.PartyStyleId,
|
|
63
|
+
party_style_code: d.PartyStyleCode ?? null,
|
|
64
|
+
jewel_id: d.JewelId,
|
|
65
|
+
jewel_code: d.JewelCode,
|
|
66
|
+
item_size_id: d.ItemSizeId,
|
|
67
|
+
item_size: d.ItemSize,
|
|
68
|
+
item_size_name: d.ItemSizeName,
|
|
69
|
+
order_qty: d.OrderQty,
|
|
70
|
+
order_item_pcs: d.OrderItemPcs,
|
|
71
|
+
metal_item_id: d.MetalItemId,
|
|
72
|
+
metal: d.Metal,
|
|
73
|
+
metal_name: d.MetalName,
|
|
74
|
+
metal_tone_no: d.MetalToneNo,
|
|
75
|
+
tone: d.Tone,
|
|
76
|
+
tone_name: d.ToneName,
|
|
77
|
+
priority_id: d.PriorityId,
|
|
78
|
+
priority: d.Priority,
|
|
79
|
+
priority_name: d.PriorityName,
|
|
80
|
+
stock_type_no: d.StockTypeNo,
|
|
81
|
+
stock_type: d.StockType,
|
|
82
|
+
stock_type_code: d.StockTypeCode,
|
|
83
|
+
make_type_no: d.MakeTypeNo,
|
|
84
|
+
make_type: d.MakeType,
|
|
85
|
+
make_type_code: d.MakeTypeCode,
|
|
86
|
+
expected_delivery_date: d.Expecteddeliverydate,
|
|
87
|
+
mrp: d.MRP,
|
|
88
|
+
};
|
|
89
|
+
if (existingDetail?.length > 0) {
|
|
90
|
+
await orderMasterService.updateOrderDetailMasters({
|
|
91
|
+
id: existingDetail[0].id,
|
|
92
|
+
...detailData,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
await orderMasterService.createOrderDetailMasters(detailData);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// Create new order master
|
|
103
|
+
framework_1.logger.info(`Creating new Order ${input.order_id}.`);
|
|
104
|
+
master = await orderMasterService.createOrderMasters({
|
|
105
|
+
erp_order_id: data.OrderId,
|
|
106
|
+
branch_no: data.BranchNo,
|
|
107
|
+
branch_name: data.BranchName,
|
|
108
|
+
order_prefix: data.OrderPrefix,
|
|
109
|
+
order_no: data.OrderNo,
|
|
110
|
+
order_date: data.OrderDate,
|
|
111
|
+
customer_id: data.CustomerId,
|
|
112
|
+
customer_name: data.Customer,
|
|
113
|
+
po_no: data.PoNo,
|
|
114
|
+
po_date: data.PoDate,
|
|
115
|
+
sales_person: data.SalesPerson,
|
|
116
|
+
work_order_no: data.WorkOrderNo,
|
|
117
|
+
remarks: data.Remarks,
|
|
118
|
+
shipping_id: data.ShippingId,
|
|
119
|
+
promocode_series_id: data.PromocodeSeriesId,
|
|
120
|
+
promocode: data.Promocode,
|
|
121
|
+
promocode_percentage: data.PromocodePercentage,
|
|
122
|
+
promocode_amount: data.PromocodeAmount,
|
|
123
|
+
});
|
|
124
|
+
// Create order details
|
|
125
|
+
if (data?.OrderDetail?.length) {
|
|
126
|
+
await orderMasterService.createOrderDetailMasters(data.OrderDetail.map((d) => ({
|
|
55
127
|
erp_order_id: d.OrderId,
|
|
56
128
|
order_item_id: d.OrderItemId,
|
|
57
129
|
order_master: master.id,
|
|
@@ -84,156 +156,90 @@ exports.createOrderMaster = (0, workflows_sdk_1.createStep)("create-order-master
|
|
|
84
156
|
make_type_code: d.MakeTypeCode,
|
|
85
157
|
expected_delivery_date: d.Expecteddeliverydate,
|
|
86
158
|
mrp: d.MRP,
|
|
159
|
+
})));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Handle order payments - check if exists, update or create
|
|
163
|
+
if (data?.PaymentOption?.length) {
|
|
164
|
+
framework_1.logger.info(`Processing ${data.PaymentOption.length} payment(s) for Order ${input.order_id}`);
|
|
165
|
+
for (const p of data.PaymentOption) {
|
|
166
|
+
// Check if payment exists - try multiple matching strategies
|
|
167
|
+
let existingPayment = await orderMasterService.listOrderPaymentOptionMasters({
|
|
168
|
+
erp_order_id: p.OrderId,
|
|
169
|
+
voucher_entry_id: p.VoucherEntryId,
|
|
170
|
+
trans_no: p.TransNo,
|
|
171
|
+
order_master: master.id,
|
|
172
|
+
});
|
|
173
|
+
// If not found and trans_no exists, try without trans_no as fallback
|
|
174
|
+
if (existingPayment?.length === 0 && p.TransNo) {
|
|
175
|
+
existingPayment = await orderMasterService.listOrderPaymentOptionMasters({
|
|
176
|
+
erp_order_id: p.OrderId,
|
|
177
|
+
voucher_entry_id: p.VoucherEntryId,
|
|
178
|
+
order_master: master.id,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
const paymentData = {
|
|
182
|
+
erp_order_id: p.OrderId,
|
|
183
|
+
book_name: p.BookName,
|
|
184
|
+
order_master: master.id,
|
|
185
|
+
voucher_entry_id: p.VoucherEntryId,
|
|
186
|
+
trans_prefix: p.TransPrefix,
|
|
187
|
+
trans_no: p.TransNo,
|
|
188
|
+
transaction_date: p.TransactionDate,
|
|
189
|
+
doc_no: p.DocNo,
|
|
190
|
+
remarks: p.Remarks,
|
|
191
|
+
amount: p.Amount,
|
|
87
192
|
};
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
193
|
+
if (existingPayment?.length > 0) {
|
|
194
|
+
// Payment exists, update it
|
|
195
|
+
framework_1.logger.info(`Updating payment for Order ${input.order_id} - VoucherEntryId: ${p.VoucherEntryId}, TransNo: ${p.TransNo || 'N/A'}`);
|
|
196
|
+
await orderMasterService.updateOrderPaymentOptionMasters({
|
|
197
|
+
id: existingPayment[0].id,
|
|
198
|
+
...paymentData,
|
|
92
199
|
});
|
|
93
200
|
}
|
|
94
201
|
else {
|
|
95
|
-
|
|
202
|
+
// Payment doesn't exist, create it
|
|
203
|
+
framework_1.logger.info(`Creating new payment for Order ${input.order_id} - VoucherEntryId: ${p.VoucherEntryId}, TransNo: ${p.TransNo || 'N/A'}`);
|
|
204
|
+
await orderMasterService.createOrderPaymentOptionMasters(paymentData);
|
|
96
205
|
}
|
|
97
206
|
}
|
|
98
207
|
}
|
|
208
|
+
return master;
|
|
209
|
+
}));
|
|
210
|
+
const createdMasters = masters.filter(Boolean);
|
|
211
|
+
if (createdMasters.length === 0) {
|
|
212
|
+
framework_1.logger.info(`No order master was processed`);
|
|
213
|
+
return new workflows_sdk_1.StepResponse();
|
|
99
214
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
order_prefix: data.OrderPrefix,
|
|
108
|
-
order_no: data.OrderNo,
|
|
109
|
-
order_date: data.OrderDate,
|
|
110
|
-
customer_id: data.CustomerId,
|
|
111
|
-
customer_name: data.Customer,
|
|
112
|
-
po_no: data.PoNo,
|
|
113
|
-
po_date: data.PoDate,
|
|
114
|
-
sales_person: data.SalesPerson,
|
|
115
|
-
work_order_no: data.WorkOrderNo,
|
|
116
|
-
remarks: data.Remarks,
|
|
117
|
-
shipping_id: data.ShippingId,
|
|
118
|
-
promocode_series_id: data.PromocodeSeriesId,
|
|
119
|
-
promocode: data.Promocode,
|
|
120
|
-
promocode_percentage: data.PromocodePercentage,
|
|
121
|
-
promocode_amount: data.PromocodeAmount,
|
|
215
|
+
const master = createdMasters[0];
|
|
216
|
+
// Create or update link between order_master and order
|
|
217
|
+
const link = container.resolve("link");
|
|
218
|
+
try {
|
|
219
|
+
await link.create({
|
|
220
|
+
[order_master_1.ORDER_MASTER_MODULE]: { order_master_id: master?.id },
|
|
221
|
+
[utils_1.Modules.ORDER]: { order_id: input.id },
|
|
122
222
|
});
|
|
123
|
-
|
|
124
|
-
if (data?.OrderDetail?.length) {
|
|
125
|
-
await orderMasterService.createOrderDetailMasters(data.OrderDetail.map((d) => ({
|
|
126
|
-
erp_order_id: d.OrderId,
|
|
127
|
-
order_item_id: d.OrderItemId,
|
|
128
|
-
order_master: master.id,
|
|
129
|
-
sr_no: d.SrNo,
|
|
130
|
-
style_id: d.StyleId,
|
|
131
|
-
style_code: d.StyleCode,
|
|
132
|
-
party_style_id: d.PartyStyleId,
|
|
133
|
-
party_style_code: d.PartyStyleCode ?? null,
|
|
134
|
-
jewel_id: d.JewelId,
|
|
135
|
-
jewel_code: d.JewelCode,
|
|
136
|
-
item_size_id: d.ItemSizeId,
|
|
137
|
-
item_size: d.ItemSize,
|
|
138
|
-
item_size_name: d.ItemSizeName,
|
|
139
|
-
order_qty: d.OrderQty,
|
|
140
|
-
order_item_pcs: d.OrderItemPcs,
|
|
141
|
-
metal_item_id: d.MetalItemId,
|
|
142
|
-
metal: d.Metal,
|
|
143
|
-
metal_name: d.MetalName,
|
|
144
|
-
metal_tone_no: d.MetalToneNo,
|
|
145
|
-
tone: d.Tone,
|
|
146
|
-
tone_name: d.ToneName,
|
|
147
|
-
priority_id: d.PriorityId,
|
|
148
|
-
priority: d.Priority,
|
|
149
|
-
priority_name: d.PriorityName,
|
|
150
|
-
stock_type_no: d.StockTypeNo,
|
|
151
|
-
stock_type: d.StockType,
|
|
152
|
-
stock_type_code: d.StockTypeCode,
|
|
153
|
-
make_type_no: d.MakeTypeNo,
|
|
154
|
-
make_type: d.MakeType,
|
|
155
|
-
make_type_code: d.MakeTypeCode,
|
|
156
|
-
expected_delivery_date: d.Expecteddeliverydate,
|
|
157
|
-
mrp: d.MRP,
|
|
158
|
-
})));
|
|
159
|
-
}
|
|
223
|
+
framework_1.logger.info(`Link created between order_master ${master.id} and order ${input.id}`);
|
|
160
224
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// If not found and trans_no exists, try without trans_no as fallback
|
|
173
|
-
if (existingPayment?.length === 0 && p.TransNo) {
|
|
174
|
-
existingPayment = await orderMasterService.listOrderPaymentOptionMasters({
|
|
175
|
-
erp_order_id: p.OrderId,
|
|
176
|
-
voucher_entry_id: p.VoucherEntryId,
|
|
177
|
-
order_master: master.id,
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
const paymentData = {
|
|
181
|
-
erp_order_id: p.OrderId,
|
|
182
|
-
book_name: p.BookName,
|
|
183
|
-
order_master: master.id,
|
|
184
|
-
voucher_entry_id: p.VoucherEntryId,
|
|
185
|
-
trans_prefix: p.TransPrefix,
|
|
186
|
-
trans_no: p.TransNo,
|
|
187
|
-
transaction_date: p.TransactionDate,
|
|
188
|
-
doc_no: p.DocNo,
|
|
189
|
-
remarks: p.Remarks,
|
|
190
|
-
amount: p.Amount,
|
|
191
|
-
};
|
|
192
|
-
if (existingPayment?.length > 0) {
|
|
193
|
-
// Payment exists, update it
|
|
194
|
-
framework_1.logger.info(`Updating payment for Order ${input.order_id} - VoucherEntryId: ${p.VoucherEntryId}, TransNo: ${p.TransNo || 'N/A'}`);
|
|
195
|
-
await orderMasterService.updateOrderPaymentOptionMasters({
|
|
196
|
-
id: existingPayment[0].id,
|
|
197
|
-
...paymentData,
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
// Payment doesn't exist, create it
|
|
202
|
-
framework_1.logger.info(`Creating new payment for Order ${input.order_id} - VoucherEntryId: ${p.VoucherEntryId}, TransNo: ${p.TransNo || 'N/A'}`);
|
|
203
|
-
await orderMasterService.createOrderPaymentOptionMasters(paymentData);
|
|
204
|
-
}
|
|
225
|
+
catch (linkError) {
|
|
226
|
+
// If link already exists, that's okay - continue
|
|
227
|
+
if (linkError?.message?.includes("Cannot create multiple links") ||
|
|
228
|
+
linkError?.message?.includes("already exists") ||
|
|
229
|
+
linkError?.code === "23505" ||
|
|
230
|
+
linkError?.name === "UniqueConstraintViolationError") {
|
|
231
|
+
framework_1.logger.info(`Link already exists between order_master ${master.id} and order ${input.id}`);
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
// Re-throw if it's a different error
|
|
235
|
+
throw linkError;
|
|
205
236
|
}
|
|
206
237
|
}
|
|
207
|
-
return master;
|
|
208
|
-
}));
|
|
209
|
-
const createdMasters = masters.filter(Boolean);
|
|
210
|
-
if (createdMasters.length === 0) {
|
|
211
|
-
framework_1.logger.info(`No order master was processed`);
|
|
212
|
-
return new workflows_sdk_1.StepResponse();
|
|
238
|
+
return new workflows_sdk_1.StepResponse(master);
|
|
213
239
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
try {
|
|
218
|
-
await link.create({
|
|
219
|
-
[order_master_1.ORDER_MASTER_MODULE]: { order_master_id: master?.id },
|
|
220
|
-
[utils_1.Modules.ORDER]: { order_id: input.id },
|
|
221
|
-
});
|
|
222
|
-
framework_1.logger.info(`Link created between order_master ${master.id} and order ${input.id}`);
|
|
223
|
-
}
|
|
224
|
-
catch (linkError) {
|
|
225
|
-
// If link already exists, that's okay - continue
|
|
226
|
-
if (linkError?.message?.includes("Cannot create multiple links") ||
|
|
227
|
-
linkError?.message?.includes("already exists") ||
|
|
228
|
-
linkError?.code === "23505" ||
|
|
229
|
-
linkError?.name === "UniqueConstraintViolationError") {
|
|
230
|
-
framework_1.logger.info(`Link already exists between order_master ${master.id} and order ${input.id}`);
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
// Re-throw if it's a different error
|
|
234
|
-
throw linkError;
|
|
235
|
-
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
framework_1.logger.error(`[create-order-master-step] Failed to create/update order master for ERP order ${input.order_id}: ${error?.message}`);
|
|
242
|
+
return new workflows_sdk_1.StepResponse(null);
|
|
236
243
|
}
|
|
237
|
-
return new workflows_sdk_1.StepResponse(master);
|
|
238
244
|
});
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1vcmRlci1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyLW1hc3Rlci9zdGVwcy9jcmVhdGUtb3ItdXBkYXRlLW9yZGVyLW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFFN0UsZ0VBQW9FO0FBQ3BFLHFEQUFvRDtBQUVwRCxtREFBNkM7QUFRaEMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFFekQsTUFBTSxrQkFBa0IsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FDOUQsa0NBQW1CLENBQ3BCLENBQUM7SUFDRixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBcUIsQ0FBQztJQUNoRSxNQUFNLFNBQVMsR0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUc5RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixrQkFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLDRCQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6RCxZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBRUgs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
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1vcmRlci1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyLW1hc3Rlci9zdGVwcy9jcmVhdGUtb3ItdXBkYXRlLW9yZGVyLW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFFN0UsZ0VBQW9FO0FBQ3BFLHFEQUFvRDtBQUNwRCxtREFBNkM7QUFRaEMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsSUFBSSxDQUFDO1FBRUwsTUFBTSxrQkFBa0IsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FDOUQsa0NBQW1CLENBQ3BCLENBQUM7UUFDRixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBcUIsQ0FBQztRQUNoRSxNQUFNLFNBQVMsR0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUc5RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixrQkFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDcEUsT0FBTyxJQUFJLDRCQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDekQsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ3JD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
|
|
@@ -457,6 +457,41 @@ exports.syncOrderToErpStep = (0, workflows_sdk_1.createStep)("sync-order-to-erp"
|
|
|
457
457
|
}
|
|
458
458
|
}
|
|
459
459
|
}
|
|
460
|
+
// Update extended_order with ERP sync results
|
|
461
|
+
try {
|
|
462
|
+
const { data: extOrderData } = await query.graph({
|
|
463
|
+
entity: "extended_order",
|
|
464
|
+
fields: ["id"],
|
|
465
|
+
filters: { order_id: order.id },
|
|
466
|
+
});
|
|
467
|
+
console.log(`[SYNC ORDER TO ERP] extended_order lookup for order ${order.id}:`, extOrderData?.[0]?.id || "NOT FOUND");
|
|
468
|
+
console.log(`[SYNC ORDER TO ERP] erpResponse status=${erpResponse?.status}, OrderId=${erpResponse?.data?.OrderId}`);
|
|
469
|
+
console.log(`[SYNC ORDER TO ERP] saleResponse status=${saleResponse?.status}, JewelTransId=${saleResponse?.data?.JewelTransId}`);
|
|
470
|
+
if (extOrderData?.[0]?.id) {
|
|
471
|
+
const extOrderService = container.resolve("extended_order");
|
|
472
|
+
const updatePayload = { id: extOrderData[0].id };
|
|
473
|
+
const erpOrderId = erpResponse?.data?.OrderId;
|
|
474
|
+
if (erpOrderId && erpResponse?.status !== false) {
|
|
475
|
+
updatePayload.external_id = String(erpOrderId);
|
|
476
|
+
updatePayload.sync_erp = true;
|
|
477
|
+
}
|
|
478
|
+
if (saleResponse?.status === true && saleResponse?.data?.JewelTransId) {
|
|
479
|
+
updatePayload.sale_external_id = String(saleResponse.data.JewelTransId);
|
|
480
|
+
}
|
|
481
|
+
// Only call update if there's something beyond just the id
|
|
482
|
+
if (Object.keys(updatePayload).length > 1) {
|
|
483
|
+
console.log(`[SYNC ORDER TO ERP] Updating extended_order ${extOrderData[0].id} with:`, JSON.stringify(updatePayload));
|
|
484
|
+
await extOrderService.updateExtendedOrders(updatePayload);
|
|
485
|
+
console.log(`[SYNC ORDER TO ERP] extended_order updated successfully`);
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
console.log(`[SYNC ORDER TO ERP] No fields to update in extended_order (erpResponse.data.OrderId missing or ERP failed)`);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
catch (extOrderError) {
|
|
493
|
+
console.error("[SYNC ORDER TO ERP] Failed to update extended_order:", extOrderError);
|
|
494
|
+
}
|
|
460
495
|
return new workflows_sdk_1.StepResponse({
|
|
461
496
|
order: erpResponse?.data || null,
|
|
462
497
|
sale: saleResponse?.status === true && saleResponse?.data?.JewelTransId
|
|
@@ -464,4 +499,4 @@ exports.syncOrderToErpStep = (0, workflows_sdk_1.createStep)("sync-order-to-erp"
|
|
|
464
499
|
: null,
|
|
465
500
|
});
|
|
466
501
|
});
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1vcmRlci10by1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy9zdGVwcy9zeW5jLW9yZGVyLXRvLWVycC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkU7QUFDN0UscUVBQTJFO0FBRTNFLHdEQUFvRTtBQUt2RCxRQUFBLGtCQUFrQixHQUFHLElBQUEsMEJBQVUsRUFDMUMsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FDakIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDO1FBQ3BDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFO0tBQ25DLENBQUMsQ0FBQztJQUVILHNCQUFzQjtJQUN0QixnREFBZ0Q7SUFDaEQsK0RBQStEO0lBQy9ELFdBQVc7SUFDWCwrQkFBK0I7SUFDL0IsSUFBSTtJQUVKLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hELGNBQWMsRUFBRSxJQUFJO1NBQ3JCO0tBQ0YsQ0FBQyxDQUFDO0lB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
|
|
502
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1vcmRlci10by1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy9zdGVwcy9zeW5jLW9yZGVyLXRvLWVycC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkU7QUFDN0UscUVBQTJFO0FBRTNFLHdEQUFvRTtBQUt2RCxRQUFBLGtCQUFrQixHQUFHLElBQUEsMEJBQVUsRUFDMUMsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FDakIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDO1FBQ3BDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFO0tBQ25DLENBQUMsQ0FBQztJQUVILHNCQUFzQjtJQUN0QixnREFBZ0Q7SUFDaEQsK0RBQStEO0lBQy9ELFdBQVc7SUFDWCwrQkFBK0I7SUFDL0IsSUFBSTtJQUVKLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hELGNBQWMsRUFBRSxJQUFJO1NBQ3JCO0tBQ0YsQ0FBQyxDQUFDO0lB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
|