@devx-commerce/plugin-gati 0.0.2-beta.125 → 0.0.2-beta.127
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/subscribers/create-customer.js +38 -45
- package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +67 -15
- package/.medusa/server/src/workflows/promocode-master/steps/create-promocode.js +16 -5
- package/package.json +1 -1
- package/.medusa/server/development/erp-order-payload-example.js +0 -76
|
@@ -6,62 +6,55 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
6
6
|
const party_master_1 = require("../modules/party-master");
|
|
7
7
|
const create_party_workflow_1 = require("../workflows/party-master/workflows/create-party-workflow");
|
|
8
8
|
async function createCustomerHandler({ event: { data }, container, }) {
|
|
9
|
-
console.log("create
|
|
9
|
+
console.log("create party master handler>>>>", data);
|
|
10
10
|
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
fields: ["*", "extended_customer.*"],
|
|
14
|
-
filters: { id: data.id },
|
|
15
|
-
});
|
|
16
|
-
console.log("customer", customer);
|
|
17
|
-
const { data: [party], } = await query.graph({
|
|
11
|
+
// Check which party masters already exist in the database
|
|
12
|
+
const { data: existingPartyMasters } = await query.graph({
|
|
18
13
|
entity: "party_master",
|
|
19
14
|
fields: ["*"],
|
|
20
|
-
filters: { party_no: data.
|
|
15
|
+
filters: { party_no: data.ids },
|
|
21
16
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
console.log("creating self branch customer in party_master");
|
|
30
|
-
//create self branch customer in party_master
|
|
31
|
-
const { result } = await (0, create_party_workflow_1.createPartyWorkflow)(container).run({
|
|
17
|
+
// Find party masters that don't exist yet
|
|
18
|
+
const existingPartyNos = existingPartyMasters.map((p) => p.party_no);
|
|
19
|
+
const partyMastersToCreate = data.ids.filter((partyNo) => !existingPartyNos.includes(partyNo));
|
|
20
|
+
// Only create party masters that don't exist
|
|
21
|
+
let result = [];
|
|
22
|
+
if (partyMastersToCreate.length > 0) {
|
|
23
|
+
const { result: createdPartyMasters } = await (0, create_party_workflow_1.createPartyWorkflow)(container).run({
|
|
32
24
|
input: {
|
|
33
25
|
datafor: "PartyMst",
|
|
34
26
|
operation: "add",
|
|
35
|
-
data:
|
|
27
|
+
data: partyMastersToCreate,
|
|
36
28
|
},
|
|
37
29
|
});
|
|
38
|
-
|
|
39
|
-
await partyMasterService.updatePartyMasters([
|
|
40
|
-
{
|
|
41
|
-
id: result[0].id,
|
|
42
|
-
mapping_id: customer.id,
|
|
43
|
-
},
|
|
44
|
-
]);
|
|
30
|
+
result = createdPartyMasters;
|
|
45
31
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
32
|
+
else {
|
|
33
|
+
console.log("All party masters already exist, skipping creation");
|
|
34
|
+
}
|
|
35
|
+
// Get all party masters (existing + newly created) for mapping
|
|
36
|
+
const allPartyMasters = [...existingPartyMasters, ...result];
|
|
37
|
+
// Create extended customers for all party masters
|
|
38
|
+
const { data: extended_customers } = await query.graph({
|
|
39
|
+
entity: "extended_customer",
|
|
40
|
+
fields: ["*"],
|
|
41
|
+
filters: { external_id: allPartyMasters.map((party) => party.party_no) },
|
|
42
|
+
});
|
|
43
|
+
// Update party masters with mapping IDs
|
|
44
|
+
const partyMasterService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
|
|
45
|
+
const updateData = allPartyMasters
|
|
46
|
+
.map((party) => {
|
|
47
|
+
return {
|
|
48
|
+
id: party.id,
|
|
49
|
+
mapping_id: data.customerId,
|
|
50
|
+
};
|
|
51
|
+
})
|
|
52
|
+
.filter((update) => update.mapping_id);
|
|
53
|
+
if (updateData.length > 0) {
|
|
54
|
+
await partyMasterService.updatePartyMasters(updateData);
|
|
62
55
|
}
|
|
63
56
|
}
|
|
64
57
|
exports.config = {
|
|
65
|
-
event: "
|
|
58
|
+
event: "party_master_create_customer",
|
|
66
59
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWN1c3RvbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NyZWF0ZS1jdXN0b21lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSx3Q0FnRUM7QUF0RUQscURBQXNFO0FBRXRFLDBEQUE4RDtBQUU5RCxxR0FBZ0c7QUFFakYsS0FBSyxVQUFVLHFCQUFxQixDQUFDLEVBQ2xELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFNBQVMsR0FJVDtJQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSwwREFBMEQ7SUFDMUQsTUFBTSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RCxNQUFNLEVBQUUsY0FBYztRQUN0QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtLQUNoQyxDQUFDLENBQUM7SUFFSCwwQ0FBMEM7SUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUMxQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQ2pELENBQUM7SUFDRiw2Q0FBNkM7SUFDN0MsSUFBSSxNQUFNLEdBQVUsRUFBRSxDQUFDO0lBQ3ZCLElBQUksb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxNQUFNLElBQUEsMkNBQW1CLEVBQy9ELFNBQVMsQ0FDVixDQUFDLEdBQUcsQ0FBQztZQUNKLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxvQkFBb0I7YUFDM0I7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUU3RCxrREFBa0Q7SUFDbEQsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNyRCxNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7S0FDekUsQ0FBQyxDQUFDO0lBRUgsd0NBQXdDO0lBQ3hDLE1BQU0sa0JBQWtCLEdBQ3RCLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0NBQW1CLENBQUMsQ0FBQztJQUV6QyxNQUFNLFVBQVUsR0FBRyxlQUFlO1NBQy9CLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2IsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNaLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO0lBQ0osQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLDhCQUE4QjtDQUN0QyxDQUFDIn0=
|
|
@@ -2,32 +2,84 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createCustomerErpStep = void 0;
|
|
4
4
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
6
|
const party_master_1 = require("../../../modules/party-master");
|
|
6
7
|
exports.createCustomerErpStep = (0, workflows_sdk_1.createStep)("create-customer-erp-step", async (input, { container }) => {
|
|
7
8
|
const erpModuleService = container.resolve("erp");
|
|
9
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
const eventBus = container.resolve("event_bus");
|
|
8
11
|
const partyMasterModuleService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
owner_mobile: input.OwnerMobile,
|
|
12
|
+
const branches = await partyMasterModuleService.listPartyMasters({
|
|
13
|
+
is_inline_branch: true,
|
|
12
14
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
// Get all existing party masters for this party number
|
|
16
|
+
const existingPartyMasters = await partyMasterModuleService.listPartyMasters({
|
|
17
|
+
party_no: input.PartyNo,
|
|
18
|
+
});
|
|
19
|
+
const existingBranchNos = existingPartyMasters.map((p) => p.branch_no);
|
|
20
|
+
const branchesUserShouldCreate = branches.filter((p) => p.party_no !== input.BranchNo && !existingBranchNos.includes(p.party_no));
|
|
21
|
+
const customersToCreate = [];
|
|
22
|
+
// Add derived branch first if it doesn't exist
|
|
23
|
+
if (!existingBranchNos.includes(input.BranchNo)) {
|
|
24
|
+
customersToCreate.push({
|
|
25
|
+
...input,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
// Add self branch if it doesn't exist
|
|
29
|
+
if (!existingBranchNos.includes("")) {
|
|
30
|
+
customersToCreate.push({
|
|
20
31
|
...input,
|
|
21
32
|
BranchNo: "",
|
|
22
33
|
BranchName: "Self",
|
|
23
34
|
LocationId: "",
|
|
24
35
|
LocationName: "All",
|
|
25
|
-
};
|
|
26
|
-
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
// Add other branches
|
|
39
|
+
const otherBranches = branchesUserShouldCreate?.map((branch) => ({
|
|
40
|
+
...input,
|
|
41
|
+
BranchNo: branch.party_no,
|
|
42
|
+
BranchName: branch.firm_name,
|
|
43
|
+
})) || [];
|
|
44
|
+
customersToCreate.push(...otherBranches);
|
|
45
|
+
const customers = [];
|
|
46
|
+
// Only create customers that don't already exist
|
|
47
|
+
for (const toCreate of customersToCreate) {
|
|
48
|
+
const customer = await erpModuleService.createCustomer(toCreate);
|
|
49
|
+
customers.push({
|
|
50
|
+
...customer,
|
|
51
|
+
BranchNo: toCreate.BranchNo,
|
|
52
|
+
BranchName: toCreate.BranchName,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const derivedBranchCustomer = customers.find((customer) => customer.BranchNo === input.BranchNo);
|
|
56
|
+
const phone = !derivedBranchCustomer.Mobile.startsWith("+91")
|
|
57
|
+
? "+91" + derivedBranchCustomer.Mobile
|
|
58
|
+
: derivedBranchCustomer.Mobile || "";
|
|
59
|
+
const { data: [existingCustomer], } = await query.graph({
|
|
60
|
+
entity: "customer",
|
|
61
|
+
fields: ["*", "extended_customer.*"],
|
|
62
|
+
filters: {
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
phone,
|
|
65
|
+
},
|
|
66
|
+
pagination: {
|
|
67
|
+
skip: 0,
|
|
68
|
+
take: 1,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
// Only emit event for newly created customers
|
|
72
|
+
if (customers.length > 0) {
|
|
73
|
+
await eventBus.emit({
|
|
74
|
+
name: "party_master_create_customer",
|
|
75
|
+
data: {
|
|
76
|
+
ids: customers.map((customer) => customer.PartyNo),
|
|
77
|
+
customerId: existingCustomer?.id,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
27
80
|
}
|
|
28
81
|
return new workflows_sdk_1.StepResponse({
|
|
29
|
-
customer,
|
|
30
|
-
selfBranchCustomer,
|
|
82
|
+
customer: derivedBranchCustomer,
|
|
31
83
|
});
|
|
32
84
|
});
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWN1c3RvbWVyLWVycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGFydHktbWFzdGVyL3N0ZXBzL2NyZWF0ZS1jdXN0b21lci1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRTdFLHFEQUFzRTtBQUd0RSxnRUFBb0U7QUFHdkQsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBc0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDOUMsTUFBTSxnQkFBZ0IsR0FBcUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsTUFBTSx3QkFBd0IsR0FDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQ0FBbUIsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sUUFBUSxHQUFHLE1BQU0sd0JBQXdCLENBQUMsZ0JBQWdCLENBQUM7UUFDL0QsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QixDQUFDLENBQUM7SUFFSCx1REFBdUQ7SUFDdkQsTUFBTSxvQkFBb0IsR0FDeEIsTUFBTSx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDeEIsQ0FBQyxDQUFDO0lBRUwsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2RSxNQUFNLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQzlDLENBQUMs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
|
|
@@ -6,7 +6,14 @@ const promocode_master_1 = require("../../../modules/promocode-master");
|
|
|
6
6
|
const framework_1 = require("@medusajs/framework");
|
|
7
7
|
exports.createPromocodeStep = (0, workflows_sdk_1.createStep)("create-promocode-step", async (input, { container }) => {
|
|
8
8
|
const promocodeService = container.resolve(promocode_master_1.PROMOCODE_MASTER_MODULE);
|
|
9
|
-
const
|
|
9
|
+
const newPromocodes = await Promise.all(input.map(async (data) => {
|
|
10
|
+
const existing = await promocodeService.listPromocodeMasters({
|
|
11
|
+
promocode_id: data.PromocodeId
|
|
12
|
+
});
|
|
13
|
+
if (existing && existing.length > 0) {
|
|
14
|
+
framework_1.logger.info(`Skipped PromocodeId ${data.PromocodeId} - already exists.`);
|
|
15
|
+
return null; // ⬅️ return nothing for existing records
|
|
16
|
+
}
|
|
10
17
|
const master = await promocodeService.createPromocodeMasters({
|
|
11
18
|
promocode_id: data.PromocodeId,
|
|
12
19
|
promocode_type_id: data.PromocodeTypeId,
|
|
@@ -32,9 +39,10 @@ exports.createPromocodeStep = (0, workflows_sdk_1.createStep)("create-promocode-
|
|
|
32
39
|
is_stock_type: data.IsStockType,
|
|
33
40
|
is_style: data.IsStyle,
|
|
34
41
|
});
|
|
42
|
+
// ✅ Insert PromocodeOn if exists
|
|
35
43
|
if (data.PromocodeOn?.length) {
|
|
36
44
|
await promocodeService.createPromocodeOns(data.PromocodeOn.map((on) => ({
|
|
37
|
-
promocode_master_id: master.id,
|
|
45
|
+
promocode_master_id: master.id,
|
|
38
46
|
grp_no: on.GrpNo,
|
|
39
47
|
promocode_id: on.PromocodeId,
|
|
40
48
|
category: on.Category,
|
|
@@ -49,6 +57,7 @@ exports.createPromocodeStep = (0, workflows_sdk_1.createStep)("create-promocode-
|
|
|
49
57
|
style_code: on.StyleCode ?? null,
|
|
50
58
|
})));
|
|
51
59
|
}
|
|
60
|
+
// ✅ Insert PromocodeSeries if exists
|
|
52
61
|
if (data.PromocodeSeries?.length) {
|
|
53
62
|
await promocodeService.createPromocodeSeriesMasters(data.PromocodeSeries.map((series) => ({
|
|
54
63
|
promocode_master_id: master.id,
|
|
@@ -60,8 +69,10 @@ exports.createPromocodeStep = (0, workflows_sdk_1.createStep)("create-promocode-
|
|
|
60
69
|
}
|
|
61
70
|
return master;
|
|
62
71
|
}));
|
|
63
|
-
|
|
64
|
-
|
|
72
|
+
// ⬅️ Filter out nulls (existing ones), keep only new records
|
|
73
|
+
const createdPromocodes = newPromocodes.filter(Boolean);
|
|
74
|
+
framework_1.logger.info(`New Promocodes created: ${JSON.stringify(createdPromocodes, null, 2)}`);
|
|
75
|
+
return new workflows_sdk_1.StepResponse(createdPromocodes, createdPromocodes.map((p) => p.id) // rollback ids
|
|
65
76
|
);
|
|
66
77
|
}, async (ids, { container }) => {
|
|
67
78
|
if (!ids?.length)
|
|
@@ -69,4 +80,4 @@ exports.createPromocodeStep = (0, workflows_sdk_1.createStep)("create-promocode-
|
|
|
69
80
|
const promocodeService = container.resolve(promocode_master_1.PROMOCODE_MASTER_MODULE);
|
|
70
81
|
await promocodeService.deletePromocodeMasters(ids);
|
|
71
82
|
});
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb21vY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvbW9jb2RlLW1hc3Rlci9zdGVwcy9jcmVhdGUtcHJvbW9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSx3RUFBMkU7QUFFM0UsbURBQTRDO0FBcUQvQixRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsdUJBQXVCLEVBQ3ZCLEtBQUssRUFBRSxLQUE2QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNyRCxNQUFNLGdCQUFnQixHQUFxQixTQUFTLENBQUMsT0FBTyxDQUMxRCwwQ0FBdUIsQ0FDeEIsQ0FBQTtJQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDckMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztZQUM3RCxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDN0IsQ0FBQyxDQUFBO1FBRUYsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxrQkFBTSxDQUFDLElBQUksQ0FDVCx1QkFBdUIsSUFBSSxDQUFDLFdBQVcsb0JBQW9CLENBQzVELENBQUE7WUFDRCxPQUFPLElBQUksQ0FBQSxDQUFDLHlDQUF5QztRQUN2RCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDOUIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDdkMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUNoRCxjQUFjLEVBQUUsSUFBSSxDQUFD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
|
package/package.json
CHANGED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const orderPayload = {
|
|
4
|
-
OrderId: 0,
|
|
5
|
-
BranchNo: "0004000711",
|
|
6
|
-
BranchName: "Timeless Jewels",
|
|
7
|
-
OrderPrefix: "",
|
|
8
|
-
OrderNo: "",
|
|
9
|
-
OrderDate: "2025-06-21T00:00:00",
|
|
10
|
-
CustomerId: "0001000056",
|
|
11
|
-
Customer: "",
|
|
12
|
-
PoNo: "ID1111",
|
|
13
|
-
PoDate: "2025-06-21T00:00:00",
|
|
14
|
-
SalesPerson: "",
|
|
15
|
-
WorkOrderNo: "",
|
|
16
|
-
Remarks: "",
|
|
17
|
-
PromocodeSeriesId: 0,
|
|
18
|
-
Promocode: "",
|
|
19
|
-
PromocodePercentage: 0,
|
|
20
|
-
PromocodeAmount: 0,
|
|
21
|
-
OrderDetail: [
|
|
22
|
-
{
|
|
23
|
-
OrderId: 0,
|
|
24
|
-
OrderItemId: 0,
|
|
25
|
-
SrNo: 1,
|
|
26
|
-
StyleId: 33067,
|
|
27
|
-
StyleCode: "DR00962",
|
|
28
|
-
PartyStyleId: 5445,
|
|
29
|
-
PartyStyleCode: "DR00260",
|
|
30
|
-
JewelId: 0,
|
|
31
|
-
JewelCode: "",
|
|
32
|
-
ItemSize: "5",
|
|
33
|
-
OrderQty: 1.0,
|
|
34
|
-
OrderItemPcs: 1,
|
|
35
|
-
Metal: "",
|
|
36
|
-
Tone: "",
|
|
37
|
-
ItemPoNo: "",
|
|
38
|
-
ItemRefNo: "",
|
|
39
|
-
Priority: "N",
|
|
40
|
-
StockType: "LG DIAMOND",
|
|
41
|
-
MakeType: "A",
|
|
42
|
-
CustomerProductionInstruction: "",
|
|
43
|
-
SpecialRemarks: "",
|
|
44
|
-
DesignProductionInstruction: "",
|
|
45
|
-
StampInstruction: "",
|
|
46
|
-
Expecteddeliverydate: "2025-06-25T00:00:00",
|
|
47
|
-
MRP: 36063.0,
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
PaymentOption: [
|
|
51
|
-
{
|
|
52
|
-
OrderId: 0,
|
|
53
|
-
BookName: "UPI TimeLess - P",
|
|
54
|
-
Amount: 37144.89,
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
};
|
|
58
|
-
console.log(JSON.stringify(orderPayload, null, 2));
|
|
59
|
-
// You can use this payload with the ErpService.createOrder method.
|
|
60
|
-
// Example:
|
|
61
|
-
// import ErpService from './src/modules/erp/service';
|
|
62
|
-
// const erpService = new ErpService(
|
|
63
|
-
// {},
|
|
64
|
-
// {
|
|
65
|
-
// authToken: "D7F0A5C3-E229-4BBF-AA62-5D8B858EB887",
|
|
66
|
-
// baseUrl: "http://103.98.6.30:90/api/Svaraa",
|
|
67
|
-
// }
|
|
68
|
-
// );
|
|
69
|
-
// erpService.createOrder(orderPayload)
|
|
70
|
-
// .then(result => {
|
|
71
|
-
// console.log('Order created successfully:', result);
|
|
72
|
-
// })
|
|
73
|
-
// .catch(error => {
|
|
74
|
-
// console.error('Error creating order:', error);
|
|
75
|
-
// });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLW9yZGVyLXBheWxvYWQtZXhhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldmVsb3BtZW50L2VycC1vcmRlci1wYXlsb2FkLWV4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxNQUFNLFlBQVksR0FBaUI7SUFDakMsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsWUFBWTtJQUN0QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsT0FBTyxFQUFFLEVBQUU7SUFDWCxTQUFTLEVBQUUscUJBQXFCO0lBQ2hDLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFFBQVEsRUFBRSxFQUFFO0lBQ1osSUFBSSxFQUFFLFFBQVE7SUFDZCxNQUFNLEVBQUUscUJBQXFCO0lBQzdCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsRUFBRTtJQUNYLGlCQUFpQixFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLEVBQUU7SUFDYixtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLFdBQVcsRUFBRTtRQUNYO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixXQUFXLEVBQUUsQ0FBQztZQUNkLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxFQUFFLEtBQUs7WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixZQUFZLEVBQUUsSUFBSTtZQUNsQixjQUFjLEVBQUUsU0FBUztZQUN6QixPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUc7WUFDYixRQUFRLEVBQUUsR0FBRztZQUNiLFlBQVksRUFBRSxDQUFDO1lBQ2YsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsR0FBRztZQUNiLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsNkJBQTZCLEVBQUUsRUFBRTtZQUNqQyxjQUFjLEVBQUUsRUFBRTtZQUNsQiwyQkFBMkIsRUFBRSxFQUFFO1lBQy9CLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsb0JBQW9CLEVBQUUscUJBQXFCO1lBQzNDLEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRjtJQUNELGFBQWEsRUFBRTtRQUNiO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLE1BQU0sRUFBRSxRQUFRO1NBQ2pCO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVuRCxtRUFBbUU7QUFDbkUsV0FBVztBQUVYLHNEQUFzRDtBQUV0RCxxQ0FBcUM7QUFDckMsUUFBUTtBQUNSLE1BQU07QUFDTix5REFBeUQ7QUFDekQsbURBQW1EO0FBQ25ELE1BQU07QUFDTixLQUFLO0FBRUwsdUNBQXVDO0FBQ3ZDLHNCQUFzQjtBQUN0QiwwREFBMEQ7QUFDMUQsT0FBTztBQUNQLHNCQUFzQjtBQUN0QixxREFBcUQ7QUFDckQsUUFBUSJ9
|