@things-factory/operato-hub 5.0.13 → 6.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js +9 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js +5 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +3 -3
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +2 -2
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/menus.js +2 -2
- package/dist-server/controllers/bizplace-initializer/menus.js.map +1 -1
- package/dist-server/controllers/company-initializer/business-register.js +6 -7
- package/dist-server/controllers/company-initializer/business-register.js.map +1 -1
- package/dist-server/controllers/company-initializer/generate-company-roles.js +4 -4
- package/dist-server/controllers/company-initializer/generate-company-roles.js.map +1 -1
- package/dist-server/controllers/invitation.js +9 -9
- package/dist-server/controllers/invitation.js.map +1 -1
- package/dist-server/controllers/utils/save-invitation-token.js +2 -2
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/generate-company.js +4 -3
- package/dist-server/graphql/resolvers/generators/generate-company.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js +1 -1
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +1 -1
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js +6 -6
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +1 -1
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +5 -2
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js +149 -0
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js +58 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +3 -3
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/index.js +6 -2
- package/dist-server/graphql/resolvers/synchronization/index.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js +68 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js +35 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +4 -2
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
- package/dist-server/graphql/types/synchronization/index.js +4 -0
- package/dist-server/graphql/types/synchronization/index.js.map +1 -1
- package/dist-server/index.js +5 -5
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/business-middleware.js +2 -3
- package/dist-server/middlewares/business-middleware.js.map +1 -1
- package/dist-server/middlewares/store-middleware.js +2 -2
- package/dist-server/middlewares/store-middleware.js.map +1 -1
- package/dist-server/middlewares/warehouse-middleware.js +3 -2
- package/dist-server/middlewares/warehouse-middleware.js.map +1 -1
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +2 -3
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +1 -1
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +2 -2
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +1 -1
- package/dist-server/migrations/1608009991065-SeedUser.js +5 -6
- package/dist-server/migrations/1608009991065-SeedUser.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +2 -1
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -4
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +5 -2
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +149 -40
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +6 -5
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +8 -5
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/v1/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js +8 -6
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +6 -5
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +8 -5
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/v2/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js +8 -6
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +1 -1
- package/dist-server/routers/auth-invitation-router.js +2 -2
- package/dist-server/routers/auth-invitation-router.js.map +1 -1
- package/dist-server/routers/business/bizplace-register-router.js +3 -3
- package/dist-server/routers/business/bizplace-register-router.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/get-warehouses.js +15 -11
- package/dist-server/utils/get-warehouses.js.map +1 -1
- package/openapi/unstable/product.yaml +9 -3
- package/openapi/v1/product.yaml +9 -3
- package/openapi/v2/product.yaml +9 -3
- package/package.json +47 -47
- package/server/controllers/bizplace-initializer/dataset/codes.ts +9 -0
- package/server/controllers/bizplace-initializer/dataset/settings.ts +5 -0
- package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +4 -2
- package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +4 -3
- package/server/controllers/bizplace-initializer/menus.ts +4 -2
- package/server/controllers/company-initializer/business-register.ts +5 -3
- package/server/controllers/company-initializer/generate-company-roles.ts +4 -3
- package/server/controllers/invitation.ts +11 -7
- package/server/controllers/utils/save-invitation-token.ts +1 -1
- package/server/graphql/resolvers/generators/generate-bizplace.ts +1 -1
- package/server/graphql/resolvers/generators/generate-company.ts +5 -4
- package/server/graphql/resolvers/generators/update-domain-extType.ts +7 -5
- package/server/graphql/resolvers/invitations/partner-invitation.ts +5 -5
- package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +8 -6
- package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +180 -0
- package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +64 -0
- package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +3 -2
- package/server/graphql/resolvers/synchronization/index.ts +10 -2
- package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +91 -0
- package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +39 -0
- package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +4 -4
- package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +4 -4
- package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +19 -12
- package/server/graphql/types/synchronization/index.ts +4 -0
- package/server/index.ts +7 -7
- package/server/middlewares/business-middleware.ts +1 -2
- package/server/middlewares/store-middleware.ts +1 -1
- package/server/middlewares/warehouse-middleware.ts +3 -2
- package/server/migrations/1597668478399-SeedBusinessDomain.ts +3 -2
- package/server/migrations/1597668478401-SeedBusinessRoles.ts +2 -2
- package/server/migrations/1608009991065-SeedUser.ts +5 -3
- package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +2 -1
- package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +3 -2
- package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +13 -2
- package/server/routers/api/restful-apis/unstable/add-products.ts +40 -16
- package/server/routers/api/restful-apis/unstable/add-release-order.ts +98 -48
- package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/unstable/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/unstable/get-products.ts +1 -0
- package/server/routers/api/restful-apis/unstable/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +1 -1
- package/server/routers/api/restful-apis/v1/add-inbound-order.ts +4 -3
- package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +17 -5
- package/server/routers/api/restful-apis/v1/add-products.ts +40 -16
- package/server/routers/api/restful-apis/v1/add-release-order.ts +10 -6
- package/server/routers/api/restful-apis/v1/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/v1/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/v1/get-products.ts +1 -0
- package/server/routers/api/restful-apis/v1/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/v1/update-release-order-details.ts +1 -1
- package/server/routers/api/restful-apis/v2/add-inbound-order.ts +4 -3
- package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +17 -5
- package/server/routers/api/restful-apis/v2/add-products.ts +40 -16
- package/server/routers/api/restful-apis/v2/add-release-order.ts +10 -6
- package/server/routers/api/restful-apis/v2/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/v2/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/v2/get-products.ts +1 -0
- package/server/routers/api/restful-apis/v2/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/v2/update-release-order-details.ts +1 -1
- package/server/routers/auth-invitation-router.ts +2 -2
- package/server/routers/business/bizplace-register-router.ts +3 -1
- package/server/utils/get-warehouses.ts +46 -36
|
@@ -12,6 +12,7 @@ const marketplace_base_1 = require("@things-factory/marketplace-base");
|
|
|
12
12
|
const product_base_1 = require("@things-factory/product-base");
|
|
13
13
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
14
14
|
const setting_base_1 = require("@things-factory/setting-base");
|
|
15
|
+
const shell_1 = require("@things-factory/shell");
|
|
15
16
|
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
16
17
|
const index_1 = require("../../../../errors/index");
|
|
17
18
|
const business_middleware_1 = require("../../../../middlewares/business-middleware");
|
|
@@ -78,13 +79,14 @@ api_1.restfulApiRouter.post(`/${apiVersion}/warehouse/:warehouseId/add-release-o
|
|
|
78
79
|
trackingNo: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.trackingNo,
|
|
79
80
|
airwayBill: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.airwayBill,
|
|
80
81
|
invoice: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.invoice,
|
|
82
|
+
packageId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.packageId,
|
|
81
83
|
storeName: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.storeName,
|
|
82
84
|
storeId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.storeId,
|
|
83
85
|
routeId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.routeId,
|
|
84
86
|
stopId: bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.stopId
|
|
85
87
|
};
|
|
86
88
|
// check existing order
|
|
87
|
-
await checkExistingOrder(releaseGood, customerBizplace, context, tx);
|
|
89
|
+
await checkExistingOrder(releaseGood, customerBizplace, bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.checkDuplicationValidation, context, tx);
|
|
88
90
|
//massage data
|
|
89
91
|
massagedData = await massageOrderItems(releaseGood, bodyReq.orderInventories, context);
|
|
90
92
|
// validation
|
|
@@ -132,24 +134,13 @@ api_1.restfulApiRouter.post(`/${apiVersion}/warehouse/:warehouseId/add-release-o
|
|
|
132
134
|
});
|
|
133
135
|
}
|
|
134
136
|
// assignment
|
|
135
|
-
console.time('assign')
|
|
137
|
+
// console.time('assign')
|
|
136
138
|
let assignedOrderProducts = await assignToInventory(massagedData.orderProducts, customerBizplace, context, tx);
|
|
137
|
-
console.timeEnd('assign')
|
|
139
|
+
// console.timeEnd('assign')
|
|
138
140
|
// create order
|
|
139
|
-
console.time('save')
|
|
141
|
+
// console.time('save')
|
|
140
142
|
let result = await createReleaseGood(releaseGood, assignedOrderProducts, customerBizplace, context, tx);
|
|
141
|
-
console.timeEnd('save')
|
|
142
|
-
const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOne({ domain: customerBizplace.domain });
|
|
143
|
-
if (sellercraft) {
|
|
144
|
-
try {
|
|
145
|
-
const sellercraftCtrl = new sales_base_1.SellercraftController(tx, domain, user);
|
|
146
|
-
let packageInfo = await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, result), { orderProducts: result.orderProducts }));
|
|
147
|
-
await (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood).update({ id: result.id }, { packageId: packageInfo.packageId });
|
|
148
|
-
}
|
|
149
|
-
catch (error) {
|
|
150
|
-
env_1.logger.error(`add-release-order[packageId][OrderNo: ${result.name}]: ${JSON.stringify(error)}`);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
143
|
+
// console.timeEnd('save')
|
|
153
144
|
let addReleaseGood = {
|
|
154
145
|
id: result.id,
|
|
155
146
|
name: result.name,
|
|
@@ -181,6 +172,7 @@ api_1.restfulApiRouter.post(`/${apiVersion}/warehouse/:warehouseId/add-release-o
|
|
|
181
172
|
airwayBill: result.airwayBill,
|
|
182
173
|
invoice: result.invoice,
|
|
183
174
|
type: result.type,
|
|
175
|
+
packageId: result.packageId,
|
|
184
176
|
storeName: result.storeName,
|
|
185
177
|
storeId: result.storeId,
|
|
186
178
|
routeId: result.routeId,
|
|
@@ -200,11 +192,51 @@ api_1.restfulApiRouter.post(`/${apiVersion}/warehouse/:warehouseId/add-release-o
|
|
|
200
192
|
(0, integration_base_1.createPayloadLog)(customerBizplaceId, `/${apiVersion}/warehouse/:warehouseId/add-release-order`, bodyReq, error, context, integration_base_1.PayloadType.INGESTION);
|
|
201
193
|
if (error.errorCode) {
|
|
202
194
|
if (error.errorCode == 'INSUFFICIENT_STOCK' && requiredDraft) {
|
|
203
|
-
await createDraftOrder(releaseGood, massagedData.orderProducts, context);
|
|
195
|
+
const result = await createDraftOrder(releaseGood, massagedData.orderProducts, context);
|
|
196
|
+
let createdDraftOrder = {
|
|
197
|
+
id: result.id,
|
|
198
|
+
name: result.name,
|
|
199
|
+
refNo: result.refNo,
|
|
200
|
+
refNo2: result.refNo2,
|
|
201
|
+
refNo3: result.refNo3,
|
|
202
|
+
status: result.status,
|
|
203
|
+
truckNo: result.truckNo,
|
|
204
|
+
ownTransport: result.ownTransport,
|
|
205
|
+
marketplaceOrderStatus: result.marketplaceOrderStatus,
|
|
206
|
+
billingAddress: result.billingAddress,
|
|
207
|
+
deliveryAddress1: result.deliveryAddress1,
|
|
208
|
+
deliveryAddress2: result.deliveryAddress2,
|
|
209
|
+
deliveryAddress3: result.deliveryAddress3,
|
|
210
|
+
deliveryAddress4: result.deliveryAddress4,
|
|
211
|
+
deliveryAddress5: result.deliveryAddress5,
|
|
212
|
+
attentionTo: result.attentionTo,
|
|
213
|
+
attentionCompany: result.attentionCompany,
|
|
214
|
+
city: result.city,
|
|
215
|
+
state: result.state,
|
|
216
|
+
postalCode: result.postalCode,
|
|
217
|
+
country: result.country,
|
|
218
|
+
phone1: result.phone1,
|
|
219
|
+
phone2: result.phone2,
|
|
220
|
+
email: result.email,
|
|
221
|
+
type: result.type,
|
|
222
|
+
packageId: result.packageId,
|
|
223
|
+
exportOption: result.exportOption,
|
|
224
|
+
releaseDate: result.releaseDate,
|
|
225
|
+
collectionOrderNo: result.collectionOrderNo,
|
|
226
|
+
bizplace: { name: result.bizplace.name },
|
|
227
|
+
domain: { name: result.domain.name }
|
|
228
|
+
};
|
|
229
|
+
context.body = { result: { createdDraftOrder } };
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
env_1.logger.error(`add-release-order: ${JSON.stringify(error)}`);
|
|
233
|
+
context.throw(400, context.t(error));
|
|
204
234
|
}
|
|
205
235
|
}
|
|
206
|
-
|
|
207
|
-
|
|
236
|
+
else {
|
|
237
|
+
env_1.logger.error(`add-release-order: ${JSON.stringify(error)}`);
|
|
238
|
+
context.throw(400, context.t(error));
|
|
239
|
+
}
|
|
208
240
|
}
|
|
209
241
|
});
|
|
210
242
|
});
|
|
@@ -246,15 +278,15 @@ async function checkMandatoryKey(context, params) {
|
|
|
246
278
|
}
|
|
247
279
|
return params;
|
|
248
280
|
}
|
|
249
|
-
async function checkExistingOrder(releaseGood, bizplace, context, tx) {
|
|
281
|
+
async function checkExistingOrder(releaseGood, bizplace, checkDuplicationValidation = true, context, tx) {
|
|
250
282
|
const { domain, user } = context.state;
|
|
251
283
|
const refNo = releaseGood.refNo;
|
|
252
284
|
const refNo2 = releaseGood.refNo2;
|
|
253
285
|
const refNo3 = releaseGood.refNo3;
|
|
254
|
-
if (
|
|
286
|
+
if (checkDuplicationValidation) {
|
|
255
287
|
const foundDraftReleaseGood = await tx.getRepository(sales_base_1.DraftReleaseGood).findOne({
|
|
256
288
|
where: {
|
|
257
|
-
domain,
|
|
289
|
+
domain: { id: domain.id },
|
|
258
290
|
refNo: refNo || null,
|
|
259
291
|
refNo2: refNo2 || null,
|
|
260
292
|
refNo3: refNo3 || null,
|
|
@@ -268,7 +300,7 @@ async function checkExistingOrder(releaseGood, bizplace, context, tx) {
|
|
|
268
300
|
detail: foundDraftReleaseGood.name
|
|
269
301
|
});
|
|
270
302
|
}
|
|
271
|
-
const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).
|
|
303
|
+
const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOneBy({ domain: bizplace.domain });
|
|
272
304
|
if (sellercraft) {
|
|
273
305
|
const sellercraftCtrl = new sales_base_1.SellercraftController(tx, bizplace.domain, user);
|
|
274
306
|
await sellercraftCtrl.checkExistingReleaseGood(sellercraft, releaseGood);
|
|
@@ -292,7 +324,7 @@ async function checkExistingOrder(releaseGood, bizplace, context, tx) {
|
|
|
292
324
|
const refNo2 = releaseGood.refNo2;
|
|
293
325
|
const foundSplittedReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
|
|
294
326
|
where: {
|
|
295
|
-
domain,
|
|
327
|
+
domain: { id: domain.id },
|
|
296
328
|
refNo2,
|
|
297
329
|
status: (0, typeorm_1.Not)((0, typeorm_1.In)([sales_base_1.ORDER_STATUS.CANCELLED, sales_base_1.ORDER_STATUS.PENDING_CANCEL]))
|
|
298
330
|
},
|
|
@@ -324,7 +356,7 @@ async function createDraftOrder(releaseGood, orderProducts, context) {
|
|
|
324
356
|
async function createReleaseGood(releaseGood, orderProducts, bizplace, context, tx) {
|
|
325
357
|
try {
|
|
326
358
|
const { domain, user } = context.state;
|
|
327
|
-
const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0,
|
|
359
|
+
const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, shell_1.getRepository)(setting_base_1.Setting);
|
|
328
360
|
if (orderProducts.length <= 0) {
|
|
329
361
|
throw new index_1.ValidationError({
|
|
330
362
|
errorCode: 'ITEM_NOT_FOUND',
|
|
@@ -336,13 +368,60 @@ async function createReleaseGood(releaseGood, orderProducts, bizplace, context,
|
|
|
336
368
|
// find RO number rule setting
|
|
337
369
|
const roNoSetting = await settingRepo.findOne({
|
|
338
370
|
where: {
|
|
339
|
-
domain,
|
|
371
|
+
domain: { id: domain.id },
|
|
340
372
|
name: sales_base_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
|
|
341
373
|
}
|
|
342
374
|
});
|
|
343
|
-
newReleaseGood =
|
|
375
|
+
newReleaseGood = {
|
|
376
|
+
name: roNoSetting
|
|
344
377
|
? await (0, id_rule_base_1.generateId)({ domain, type: sales_base_1.ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
|
|
345
|
-
: sales_base_1.OrderNoGenerator.releaseGood(),
|
|
378
|
+
: sales_base_1.OrderNoGenerator.releaseGood(),
|
|
379
|
+
domain: domain,
|
|
380
|
+
bizplace: bizplace,
|
|
381
|
+
collectionOrderNo: releaseGood.collectionOrderNo,
|
|
382
|
+
courierOption: releaseGood.courierOption,
|
|
383
|
+
exportOption: releaseGood.exportOption,
|
|
384
|
+
ownTransport: releaseGood.ownTransport,
|
|
385
|
+
packingOption: releaseGood.packingOption,
|
|
386
|
+
marketplaceOrderStatus: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrderStatus) || null,
|
|
387
|
+
billingAddress: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.billingAddress) || null,
|
|
388
|
+
deliveryAddress1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress1) || null,
|
|
389
|
+
deliveryAddress2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress2) || null,
|
|
390
|
+
deliveryAddress3: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress3) || null,
|
|
391
|
+
deliveryAddress4: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress4) || null,
|
|
392
|
+
deliveryAddress5: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.deliveryAddress5) || null,
|
|
393
|
+
attentionTo: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionTo) || null,
|
|
394
|
+
attentionCompany: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.attentionCompany) || null,
|
|
395
|
+
city: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.city) || null,
|
|
396
|
+
state: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.state) || null,
|
|
397
|
+
postalCode: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.postalCode) || null,
|
|
398
|
+
country: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.country) || null,
|
|
399
|
+
phone1: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone1) || null,
|
|
400
|
+
phone2: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.phone2) || null,
|
|
401
|
+
email: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.email) || null,
|
|
402
|
+
transporter: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.transporter,
|
|
403
|
+
trackingNo: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.trackingNo,
|
|
404
|
+
airwayBill: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.airwayBill,
|
|
405
|
+
invoice: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.invoice,
|
|
406
|
+
refNo: releaseGood.refNo,
|
|
407
|
+
refNo2: releaseGood.refNo2 || null,
|
|
408
|
+
refNo3: releaseGood.refNo3 || null,
|
|
409
|
+
remark: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.remark) || null,
|
|
410
|
+
releaseDate: releaseGood.releaseDate,
|
|
411
|
+
truckNo: releaseGood.truckNo,
|
|
412
|
+
type: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.type) ? releaseGood.type : 'b2b',
|
|
413
|
+
status: sales_base_1.ORDER_STATUS.PENDING_WORKSHEET,
|
|
414
|
+
storeName: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeName,
|
|
415
|
+
storeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.storeId,
|
|
416
|
+
routeId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.routeId,
|
|
417
|
+
stopId: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.stopId,
|
|
418
|
+
packageId: (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId) || null,
|
|
419
|
+
noOfItems: orderProducts.length,
|
|
420
|
+
creator: user,
|
|
421
|
+
updater: user,
|
|
422
|
+
acceptedBy: user,
|
|
423
|
+
acceptedAt: new Date()
|
|
424
|
+
};
|
|
346
425
|
let resultReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).save(newReleaseGood);
|
|
347
426
|
let combinedOrderInventories = [];
|
|
348
427
|
let savedOrderProducts = await Promise.all(orderProducts.map(async (orderProduct) => {
|
|
@@ -350,7 +429,7 @@ async function createReleaseGood(releaseGood, orderProducts, bizplace, context,
|
|
|
350
429
|
orderProduct = Object.assign(new sales_base_1.OrderProduct(), Object.assign(Object.assign({}, orderProduct), { name: (0, uuid_1.v4)(), domain: domain, bizplace: bizplace, releaseGood: resultReleaseGood, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.ORDER_PRODUCT_STATUS.ASSIGNED }));
|
|
351
430
|
let result = await tx.getRepository(sales_base_1.OrderProduct).save(orderProduct);
|
|
352
431
|
for (let oiIdx = 0; oiIdx < orderInventories.length; oiIdx++) {
|
|
353
|
-
let orderInventory = Object.assign(new sales_base_1.OrderInventory(), Object.assign(Object.assign({}, orderInventories[oiIdx]), { name: (0, uuid_1.v4)(), domain: domain, bizplace: bizplace, releaseGood: resultReleaseGood, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.
|
|
432
|
+
let orderInventory = Object.assign(new sales_base_1.OrderInventory(), Object.assign(Object.assign({}, orderInventories[oiIdx]), { name: (0, uuid_1.v4)(), domain: domain, bizplace: bizplace, releaseGood: resultReleaseGood, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET }));
|
|
354
433
|
await tx.getRepository(sales_base_1.OrderInventory).save(orderInventory);
|
|
355
434
|
combinedOrderInventories.push({
|
|
356
435
|
product: { name: orderInventory.product.name, sku: orderInventory.product.sku },
|
|
@@ -433,7 +512,7 @@ async function massageOrderItems(releaseGood, inputOrderProducts, context) {
|
|
|
433
512
|
const refCode = inputOrderItem.refCode;
|
|
434
513
|
const packingType = inputOrderItem.packingType;
|
|
435
514
|
const packingSize = inputOrderItem.packingSize;
|
|
436
|
-
const qb = (0,
|
|
515
|
+
const qb = (0, shell_1.getRepository)(product_base_1.ProductDetail)
|
|
437
516
|
.createQueryBuilder('PD')
|
|
438
517
|
.innerJoinAndSelect('PD.product', 'PROD')
|
|
439
518
|
.where('PROD.bizplace_id = :bizplaceId', { bizplaceId: releaseGood.companyBizplace.id });
|
|
@@ -463,7 +542,7 @@ async function massageOrderItems(releaseGood, inputOrderProducts, context) {
|
|
|
463
542
|
orderProducts.push(newOrderProduct);
|
|
464
543
|
}
|
|
465
544
|
if (!productDetail) {
|
|
466
|
-
const qb = (0,
|
|
545
|
+
const qb = (0, shell_1.getRepository)(product_base_1.ProductBundle)
|
|
467
546
|
.createQueryBuilder('PB')
|
|
468
547
|
.innerJoinAndSelect('PB.productBundleSettings', 'PBS')
|
|
469
548
|
.innerJoinAndSelect('PBS.productDetail', 'PBD')
|
|
@@ -588,37 +667,68 @@ async function assignToInventory(orderProducts, customerBizplace, context, tx) {
|
|
|
588
667
|
for (let opIdx = 0; opIdx < orderProducts.length; opIdx++) {
|
|
589
668
|
let orderProduct = orderProducts[opIdx];
|
|
590
669
|
let assignedOrderInventories = [];
|
|
670
|
+
const pickingProductSetting = await tx.getRepository(setting_base_1.Setting).findOne({
|
|
671
|
+
where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
|
|
672
|
+
});
|
|
591
673
|
for (let oiIdx = 0; oiIdx < orderProducts[opIdx].orderInventories.length; oiIdx++) {
|
|
592
674
|
const orderInventory = orderProduct.orderInventories[oiIdx];
|
|
593
675
|
let sortings = [];
|
|
594
676
|
switch (orderInventory.product.pickingStrategy) {
|
|
595
677
|
case 'LIFO':
|
|
596
678
|
sortings.push({ name: 'iv.created_at', desc: true });
|
|
679
|
+
if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
|
|
680
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
681
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
else {
|
|
685
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
|
|
686
|
+
}
|
|
597
687
|
break;
|
|
598
688
|
case 'FEFO':
|
|
599
|
-
sortings.push({ name: 'iv.expiration_date', desc: false });
|
|
600
|
-
|
|
689
|
+
sortings.push({ name: 'iv.expiration_date', desc: false }, { name: 'iv.created_at', desc: false });
|
|
690
|
+
if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
|
|
691
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
692
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
else {
|
|
696
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
|
|
697
|
+
}
|
|
601
698
|
break;
|
|
602
699
|
case 'FMFO':
|
|
603
|
-
sortings.push({ name: 'iv.manufacture_date', desc: false });
|
|
604
|
-
|
|
700
|
+
sortings.push({ name: 'iv.manufacture_date', desc: false }, { name: 'iv.created_at', desc: false });
|
|
701
|
+
if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
|
|
702
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
703
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
else {
|
|
707
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
|
|
708
|
+
}
|
|
605
709
|
break;
|
|
606
710
|
case 'LOCATION':
|
|
607
|
-
const pickingProductSetting = await tx.getRepository(setting_base_1.Setting).findOne({
|
|
608
|
-
where: { domain, name: 'rule-for-picking-product' }
|
|
609
|
-
});
|
|
610
711
|
if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
|
|
611
712
|
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
612
713
|
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
|
|
613
714
|
}
|
|
614
715
|
}
|
|
615
716
|
else {
|
|
616
|
-
sortings.push({ name: 'loc.name', desc:
|
|
717
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false });
|
|
617
718
|
}
|
|
618
719
|
break;
|
|
619
720
|
//Every other case includes 'FIFO' will be applicable for this case
|
|
620
721
|
default:
|
|
621
722
|
sortings.push({ name: 'iv.created_at', desc: false });
|
|
723
|
+
if (pickingProductSetting === null || pickingProductSetting === void 0 ? void 0 : pickingProductSetting.value) {
|
|
724
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
725
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false });
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
else {
|
|
729
|
+
sortings.push({ name: 'loc.name', desc: false });
|
|
730
|
+
sortings.push({ name: 'iv.pallet_id', desc: false });
|
|
731
|
+
}
|
|
622
732
|
break;
|
|
623
733
|
}
|
|
624
734
|
let queryFilters = [];
|
|
@@ -701,7 +811,6 @@ async function assignToInventory(orderProducts, customerBizplace, context, tx) {
|
|
|
701
811
|
warehouse_base_1.LOCATION_TYPE.RESERVE,
|
|
702
812
|
...queryStrings.values
|
|
703
813
|
]);
|
|
704
|
-
// let data = await qb.getMany()
|
|
705
814
|
let totalAssigned = updatedInventories[0].reduce((acc, inv) => {
|
|
706
815
|
return acc + inv.reserve_qty;
|
|
707
816
|
}, 0);
|