@things-factory/sales-base 6.0.0-alpha.6 → 6.0.0-alpha.8
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/ecommerce/ecommerce-controller.js +2 -2
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/sellercraft-controller.js +3 -3
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-mutation.js +26 -13
- package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-query.js +2 -2
- package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-types.js +4 -0
- package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice.js +5 -0
- package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -1
- package/dist-server/service/claim/claim-mutation.js +9 -9
- package/dist-server/service/claim/claim-mutation.js.map +1 -1
- package/dist-server/service/claim/claim-query.js +4 -4
- package/dist-server/service/claim/claim-query.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-mutation.js +1 -1
- package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js +7 -5
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-query.js +4 -4
- package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good.js +5 -0
- package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-query.js +3 -3
- package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-mutation.js +1 -1
- package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-query.js +1 -1
- package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +2 -2
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-query.js +2 -2
- package/dist-server/service/order-tote/order-tote-query.js.map +1 -1
- package/dist-server/service/others/other-query.js +19 -11
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-mutation.js +2 -2
- package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-query.js +1 -1
- package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -1
- package/dist-server/service/release-good/release-good-mutation.js +90 -55
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +3 -3
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good.js +5 -0
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +3 -3
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +3 -3
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +3 -3
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-mutation.js +1 -1
- package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-query.js +1 -1
- package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-mutation.js +3 -3
- package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-query.js +1 -1
- package/dist-server/service/vas-order/vas-order-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -13
- package/server/controllers/ecommerce/ecommerce-controller.ts +2 -2
- package/server/controllers/ecommerce/sellercraft-controller.ts +3 -3
- package/server/service/arrival-notice/arrival-notice-mutation.ts +21 -8
- package/server/service/arrival-notice/arrival-notice-query.ts +2 -2
- package/server/service/arrival-notice/arrival-notice-types.ts +3 -0
- package/server/service/arrival-notice/arrival-notice.ts +4 -0
- package/server/service/claim/claim-mutation.ts +9 -9
- package/server/service/claim/claim-query.ts +4 -4
- package/server/service/delivery-order/delivery-order-mutation.ts +17 -17
- package/server/service/delivery-order/delivery-order-query.ts +1 -1
- package/server/service/draft-release-good/draft-release-good-mutation.ts +7 -5
- package/server/service/draft-release-good/draft-release-good-query.ts +4 -4
- package/server/service/draft-release-good/draft-release-good.ts +4 -0
- package/server/service/goods-receival-note/goods-receival-note-query.ts +3 -3
- package/server/service/job-sheet/job-sheet-mutation.ts +1 -1
- package/server/service/job-sheet/job-sheet-query.ts +1 -1
- package/server/service/order-inventory/order-inventory-query.ts +2 -2
- package/server/service/order-tote/order-tote-query.ts +2 -2
- package/server/service/others/other-query.ts +17 -9
- package/server/service/purchase-order/purchase-order-mutation.ts +2 -2
- package/server/service/purchase-order/purchase-order-query.ts +1 -1
- package/server/service/release-good/release-good-mutation.ts +110 -59
- package/server/service/release-good/release-good-query.ts +3 -3
- package/server/service/release-good/release-good.ts +4 -0
- package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +3 -3
- package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +3 -3
- package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +3 -3
- package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +1 -1
- package/server/service/shipping-order/shipping-order-mutation.ts +1 -1
- package/server/service/shipping-order/shipping-order-query.ts +1 -1
- package/server/service/transfer-order/transfer-order-mutation.ts +3 -3
- package/server/service/vas-order/vas-order-query.ts +1 -1
|
@@ -39,14 +39,14 @@ class EcommerceController extends order_controller_1.OrderController {
|
|
|
39
39
|
const marketplaceStore = marketplaceStores[i];
|
|
40
40
|
// get marketplace setting based on marketplace connection
|
|
41
41
|
const marketplaceSetting = await this.trxMgr.getRepository(integration_marketplace_1.MarketplaceSetting).findOne({
|
|
42
|
-
where: { marketplaceStore, category: 'stock_allocation' }
|
|
42
|
+
where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }
|
|
43
43
|
});
|
|
44
44
|
for (var j = 0; j < inventoryProducts.length; j++) {
|
|
45
45
|
const inventoryProduct = inventoryProducts[j];
|
|
46
46
|
const marketplaceProductVariations = await this.trxMgr
|
|
47
47
|
.getRepository(marketplace_base_1.MarketplaceProductVariation)
|
|
48
48
|
.find({
|
|
49
|
-
where: { domain: companyDomain, sku: inventoryProduct.sku },
|
|
49
|
+
where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },
|
|
50
50
|
relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']
|
|
51
51
|
});
|
|
52
52
|
let storeProductVariations = marketplaceProductVariations.filter(productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecommerce-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/ecommerce-controller.ts"],"names":[],"mappings":";;;AAAA,qFAAwG;AACxG,uEAA8E;AAC9E,+DAAsD;AAEtD,mEAA2F;AAE3F,0DAAqD;AAErD,MAAa,mBAAoB,SAAQ,kCAAe;IACtD,KAAK,CAAC,2BAA2B,CAC/B,iBAAqC,EACrC,UAAoB,EACpB,aAAqB;;QAErB,MAAM,iBAAiB,GAAU,MAAM,OAAO,CAAC,GAAG,CAChD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;YAC/B,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9F,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7E,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;iBACxC,QAAQ,CAAC,+BAA+B,CAAC;iBACzC,QAAQ,CAAC,iCAAiC,CAAC;iBAC3C,QAAQ,CAAC,2BAA2B,CAAC;iBACrC,QAAQ,CAAC,yCAAyC,CAAC;iBACnD,aAAa,CAAC;gBACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gBACxB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,iCAAgB,CAAC,UAAU;gBACnC,aAAa,EAAE,CAAC,8BAAa,CAAC,UAAU,EAAE,8BAAa,CAAC,OAAO,CAAC;aACjE,CAAC,CAAA;YAEJ,IAAI,WAAW,GAAgB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;YAEjD,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,SAAS,CAAC,EAAE,CACV,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,IAAI,MAAK,8BAAa,CAAC,UAAU,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,IAAI,MAAK,8BAAa,CAAC,OAAO,CAC9G,CAAA;YAED,MAAM,YAAY,GAAW,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACtE,KAAK,IAAI,YAAY,CAAC,GAAG,CAAA;gBACzB,OAAO,KAAK,CAAA;YACd,CAAC,EAAE,CAAC,CAAC,CAAA;YAEL,MAAM,kBAAkB,GAAW,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC5E,KAAK,IAAI,YAAY,CAAC,SAAS,CAAA;gBAC/B,OAAO,KAAK,CAAA;YACd,CAAC,EAAE,CAAC,CAAC,CAAA;YAEL,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,GAAG,kBAAkB,EAAE,CAAA;QACzF,CAAC,CAAC,CACH,CAAA;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAE7C,0DAA0D;YAC1D,MAAM,kBAAkB,GAAuB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,4CAAkB,CAAC,CAAC,OAAO,CAAC;gBACzG,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"ecommerce-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/ecommerce-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { MarketplaceSetting, MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport { MarketplaceProductVariation } from '@things-factory/marketplace-base'\nimport { Product } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { OrderController } from '../order-controller'\n\nexport class EcommerceController extends OrderController {\n async updateProductVariationStock(\n marketplaceStores: MarketplaceStore[],\n productIds: string[],\n companyDomain: Domain\n ): Promise<void> {\n const inventoryProducts: any[] = await Promise.all(\n productIds.map(async productId => {\n const product: Product = await this.trxMgr.getRepository(Product).findOneBy({ id: productId })\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"status\" != :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n productId: product.id,\n status: INVENTORY_STATUS.TERMINATED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n\n inventories = inventories.filter(\n inventory =>\n inventory?.location.type !== LOCATION_TYPE.QUARANTINE || inventory?.location.type !== LOCATION_TYPE.RESERVE\n )\n\n const inventoryQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.qty\n return total\n }, 0)\n\n const inventoryLockedQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.lockedQty\n return total\n }, 0)\n\n return { sku: product.sku, name: product.name, qty: inventoryQty - inventoryLockedQty }\n })\n )\n\n for (var i = 0; i < marketplaceStores.length; i++) {\n const marketplaceStore = marketplaceStores[i]\n\n // get marketplace setting based on marketplace connection\n const marketplaceSetting: MarketplaceSetting = await this.trxMgr.getRepository(MarketplaceSetting).findOne({\n where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }\n })\n\n for (var j = 0; j < inventoryProducts.length; j++) {\n const inventoryProduct = inventoryProducts[j]\n const marketplaceProductVariations: MarketplaceProductVariation[] = await this.trxMgr\n .getRepository(MarketplaceProductVariation)\n .find({\n where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },\n relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']\n })\n\n let storeProductVariations: MarketplaceProductVariation[] = marketplaceProductVariations.filter(\n productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id\n )\n\n let percentageValue: number = 100\n if (storeProductVariations) {\n for (let k = 0; k < storeProductVariations.length; k++) {\n let storeProductVariation: MarketplaceProductVariation = storeProductVariations[k]\n if (marketplaceSetting) {\n percentageValue = parseInt(marketplaceSetting.value)\n }\n\n let remainQty: number = Math.floor(\n (inventoryProduct.qty - storeProductVariation.reserveQty) * (percentageValue / 100)\n )\n if (remainQty < 0) remainQty = 0\n\n let productVariationLocationId = storeProductVariation?.locationId\n let adjustQty: number = remainQty\n\n if (marketplaceStore.platform === 'shopify') {\n let locationIds: any[] = JSON.parse(productVariationLocationId)\n adjustQty = adjustQty - storeProductVariation.qty\n if (locationIds[0]?.location_id) productVariationLocationId = locationIds[0].location_id\n }\n\n let validMarketplaceDistributors: any[] = []\n if (marketplaceStore.marketplaceDistributors) {\n validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(\n distributor => distributor.status === 'ACTIVE'\n )\n }\n\n await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [\n {\n itemId: storeProductVariation.marketplaceProduct.itemId,\n variationId: storeProductVariation.variationId,\n variationSku: storeProductVariation.variationSku,\n qty: adjustQty,\n locationId: productVariationLocationId,\n inventoryItemId: storeProductVariation.inventoryItemId,\n distributors: validMarketplaceDistributors\n }\n ])\n\n storeProductVariation.qty = remainQty\n storeProductVariation.updater = this.user\n await this.trxMgr.getRepository(MarketplaceProductVariation).save(storeProductVariation)\n }\n }\n }\n }\n }\n}\n"]}
|
|
@@ -44,7 +44,7 @@ class SellercraftController extends order_controller_1.OrderController {
|
|
|
44
44
|
const product = orderProduct.product;
|
|
45
45
|
const pendingAssignOPs = await this.trxMgr.getRepository(order_product_1.OrderProduct).find({
|
|
46
46
|
where: {
|
|
47
|
-
domain: this.domain,
|
|
47
|
+
domain: { id: this.domain.id },
|
|
48
48
|
bizplace: orderProduct.bizplace,
|
|
49
49
|
product,
|
|
50
50
|
status: constants_1.ORDER_PRODUCT_STATUS.PENDING_ASSIGN
|
|
@@ -130,10 +130,10 @@ class SellercraftController extends order_controller_1.OrderController {
|
|
|
130
130
|
where: { id: sellercraft.domainId }
|
|
131
131
|
});
|
|
132
132
|
const customerBizplace = await this.trxMgr.getRepository(biz_base_1.Bizplace).findOne({
|
|
133
|
-
where: { domain: sellercraftDomain }
|
|
133
|
+
where: { domain: { id: sellercraftDomain.id } }
|
|
134
134
|
});
|
|
135
135
|
const foundReleaseGood = await this.trxMgr.getRepository(release_good_1.ReleaseGood).findOne({
|
|
136
|
-
where: { bizplace: customerBizplace, refNo, refNo2 }
|
|
136
|
+
where: { bizplace: { id: customerBizplace.id }, refNo, refNo2 }
|
|
137
137
|
});
|
|
138
138
|
if (foundReleaseGood)
|
|
139
139
|
throw new Error('Existing release order found, kindly use update release order API if you tend to update the order information');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'\nimport { Product, ProductDetail } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { ORDER_PRODUCT_STATUS } from '../../constants'\nimport { OrderProduct } from '../../service/order-product/order-product'\nimport { ReleaseGood } from '../../service/release-good/release-good'\nimport { OrderController } from '../order-controller'\n\nexport class SellercraftController extends OrderController {\n async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disablePackOrder: boolean =\n sellercraftSetting?.disablePackOrder && sellercraftSetting?.disablePackOrder == 1 ? true : false\n\n if (!disablePackOrder) {\n const orderProducts: OrderProduct[] = releaseGood.orderProducts\n let sellercraftOPs: any[] = []\n\n sellercraftOPs = orderProducts.map(orderProduct => {\n const product: Product = orderProduct.product\n\n return {\n sku: product.sku,\n releaseQty: orderProduct.releaseQty,\n uom: 'EA'\n }\n })\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n sellercraftOPs\n }\n const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n\n releaseGood.packageId = packageId\n releaseGood.updater = this.user\n }\n\n return releaseGood\n }\n\n async updateSellercraftStock(sellercraft: Sellercraft, orderProducts: OrderProduct[], type: string): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableUpdateStock: boolean =\n sellercraftSetting?.disableUpdateStock && sellercraftSetting?.disableUpdateStock == 1 ? true : false\n\n if (!disableUpdateStock) {\n for (var i = 0; i < orderProducts.length; i++) {\n const orderProduct: OrderProduct = orderProducts[i]\n\n const product: Product = orderProduct.product\n const pendingAssignOPs: OrderProduct[] = await this.trxMgr.getRepository(OrderProduct).find({\n where: {\n domain: this.domain,\n bizplace: orderProduct.bizplace,\n product,\n status: ORDER_PRODUCT_STATUS.PENDING_ASSIGN\n }\n })\n\n const productDetails: ProductDetail[] = product.productDetails\n\n let totalUnassignReleaseQty: number = 0\n if (pendingAssignOPs?.length) {\n totalUnassignReleaseQty = pendingAssignOPs.reduce((total, currentValue) => {\n total += currentValue.releaseQty\n return total\n }, 0)\n }\n\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"bizplace_id\" = :bizplaceId')\n .andWhere('\"inv\".\"status\" = :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n productId: product.id,\n bizplaceId: orderProduct.bizplace.id,\n status: INVENTORY_STATUS.STORED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n\n let defaultProductDetail: ProductDetail\n const sellercraftInvs: any[] = await Promise.all(\n inventories.map(async (inventory: Inventory) => {\n const inventoryPackingType: string = inventory.packingType\n defaultProductDetail = product.productDetails.find(productDetail => productDetail.isDefault)\n\n let packingSize: number = 1\n if (inventoryPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === inventoryPackingType\n )\n\n packingSize = await this.getChildPackingSize(\n productDetails,\n defaultProductDetail,\n unmatchingProductDetail\n )\n if (packingSize == 0) packingSize = 1\n }\n\n return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize }\n })\n )\n\n let inventoryTotalQty: number = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalQty\n return total\n }, 0)\n\n let inventoryTotalLockedQty: number = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalLockedQty\n return total\n }, 0)\n\n switch (type) {\n case 'CONFIRM_ORDER':\n inventoryTotalQty -= totalUnassignReleaseQty\n break\n }\n\n const sellercraftInv: any[] = [\n {\n sku: product.sku,\n gtin: defaultProductDetail.gtin,\n stock: {\n quantity_total: inventoryTotalQty,\n quantity_reserved: inventoryTotalLockedQty,\n unit_of_measure: 'EA'\n },\n package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n package_dimensions: {\n length_mm: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width_mm: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height_mm: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n ]\n\n await SellercraftAPI.updateProduct(sellercraft, {\n context: { state: { domain: this?.domain, user: this?.user } },\n accountId: sellercraft.accountId,\n sellercraftInv\n })\n }\n }\n }\n\n async checkExistingReleaseGood(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {\n const { refNo, refNo2 } = releaseGood\n\n const sellercraftDomain: Domain = await this.trxMgr.getRepository(Domain).findOne({\n where: { id: sellercraft.domainId }\n })\n\n const customerBizplace: Bizplace = await this.trxMgr.getRepository(Bizplace).findOne({\n where: { domain: sellercraftDomain }\n })\n\n const foundReleaseGood: ReleaseGood = await this.trxMgr.getRepository(ReleaseGood).findOne({\n where: { bizplace: customerBizplace, refNo, refNo2 }\n })\n\n if (foundReleaseGood)\n throw new Error(\n 'Existing release order found, kindly use update release order API if you tend to update the order information'\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'\nimport { Product, ProductDetail } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { ORDER_PRODUCT_STATUS } from '../../constants'\nimport { OrderProduct } from '../../service/order-product/order-product'\nimport { ReleaseGood } from '../../service/release-good/release-good'\nimport { OrderController } from '../order-controller'\n\nexport class SellercraftController extends OrderController {\n async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disablePackOrder: boolean =\n sellercraftSetting?.disablePackOrder && sellercraftSetting?.disablePackOrder == 1 ? true : false\n\n if (!disablePackOrder) {\n const orderProducts: OrderProduct[] = releaseGood.orderProducts\n let sellercraftOPs: any[] = []\n\n sellercraftOPs = orderProducts.map(orderProduct => {\n const product: Product = orderProduct.product\n\n return {\n sku: product.sku,\n releaseQty: orderProduct.releaseQty,\n uom: 'EA'\n }\n })\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n sellercraftOPs\n }\n const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n\n releaseGood.packageId = packageId\n releaseGood.updater = this.user\n }\n\n return releaseGood\n }\n\n async updateSellercraftStock(sellercraft: Sellercraft, orderProducts: OrderProduct[], type: string): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableUpdateStock: boolean =\n sellercraftSetting?.disableUpdateStock && sellercraftSetting?.disableUpdateStock == 1 ? true : false\n\n if (!disableUpdateStock) {\n for (var i = 0; i < orderProducts.length; i++) {\n const orderProduct: OrderProduct = orderProducts[i]\n\n const product: Product = orderProduct.product\n const pendingAssignOPs: OrderProduct[] = await this.trxMgr.getRepository(OrderProduct).find({\n where: {\n domain: { id: this.domain.id },\n bizplace: orderProduct.bizplace,\n product,\n status: ORDER_PRODUCT_STATUS.PENDING_ASSIGN\n }\n })\n\n const productDetails: ProductDetail[] = product.productDetails\n\n let totalUnassignReleaseQty: number = 0\n if (pendingAssignOPs?.length) {\n totalUnassignReleaseQty = pendingAssignOPs.reduce((total, currentValue) => {\n total += currentValue.releaseQty\n return total\n }, 0)\n }\n\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"bizplace_id\" = :bizplaceId')\n .andWhere('\"inv\".\"status\" = :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n productId: product.id,\n bizplaceId: orderProduct.bizplace.id,\n status: INVENTORY_STATUS.STORED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n\n let defaultProductDetail: ProductDetail\n const sellercraftInvs: any[] = await Promise.all(\n inventories.map(async (inventory: Inventory) => {\n const inventoryPackingType: string = inventory.packingType\n defaultProductDetail = product.productDetails.find(productDetail => productDetail.isDefault)\n\n let packingSize: number = 1\n if (inventoryPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === inventoryPackingType\n )\n\n packingSize = await this.getChildPackingSize(\n productDetails,\n defaultProductDetail,\n unmatchingProductDetail\n )\n if (packingSize == 0) packingSize = 1\n }\n\n return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize }\n })\n )\n\n let inventoryTotalQty: number = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalQty\n return total\n }, 0)\n\n let inventoryTotalLockedQty: number = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalLockedQty\n return total\n }, 0)\n\n switch (type) {\n case 'CONFIRM_ORDER':\n inventoryTotalQty -= totalUnassignReleaseQty\n break\n }\n\n const sellercraftInv: any[] = [\n {\n sku: product.sku,\n gtin: defaultProductDetail.gtin,\n stock: {\n quantity_total: inventoryTotalQty,\n quantity_reserved: inventoryTotalLockedQty,\n unit_of_measure: 'EA'\n },\n package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n package_dimensions: {\n length_mm: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width_mm: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height_mm: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n ]\n\n await SellercraftAPI.updateProduct(sellercraft, {\n context: { state: { domain: this?.domain, user: this?.user } },\n accountId: sellercraft.accountId,\n sellercraftInv\n })\n }\n }\n }\n\n async checkExistingReleaseGood(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {\n const { refNo, refNo2 } = releaseGood\n\n const sellercraftDomain: Domain = await this.trxMgr.getRepository(Domain).findOne({\n where: { id: sellercraft.domainId }\n })\n\n const customerBizplace: Bizplace = await this.trxMgr.getRepository(Bizplace).findOne({\n where: { domain: { id: sellercraftDomain.id } }\n })\n\n const foundReleaseGood: ReleaseGood = await this.trxMgr.getRepository(ReleaseGood).findOne({\n where: { bizplace: { id: customerBizplace.id }, refNo, refNo2 }\n })\n\n if (foundReleaseGood)\n throw new Error(\n 'Existing release order found, kindly use update release order API if you tend to update the order information'\n )\n }\n}\n"]}
|
|
@@ -126,7 +126,7 @@ let ArrivalNoticeMutation = class ArrivalNoticeMutation {
|
|
|
126
126
|
const { domain, tx } = context.state;
|
|
127
127
|
let existingArrivalNotice = await tx
|
|
128
128
|
.getRepository(arrival_notice_1.ArrivalNotice)
|
|
129
|
-
.findOne({ where: { name: arrivalNotice.name, domain } });
|
|
129
|
+
.findOne({ where: { name: arrivalNotice.name, domain: { id: domain.id } } });
|
|
130
130
|
if (!existingArrivalNotice) {
|
|
131
131
|
throw new Error('Existing Arrival Notice not found.');
|
|
132
132
|
}
|
|
@@ -156,7 +156,11 @@ let ArrivalNoticeMutation = class ArrivalNoticeMutation {
|
|
|
156
156
|
where: { domain: { id: domain.id }, category: 'id-rule', name: 'gan-order-processing' }
|
|
157
157
|
});
|
|
158
158
|
const partnerGanProcessingSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
|
|
159
|
-
where: {
|
|
159
|
+
where: {
|
|
160
|
+
setting: { id: ganProcessingSetting.id },
|
|
161
|
+
domain: { id: domain.id },
|
|
162
|
+
partnerDomain: { id: foundBizplace.domain.id }
|
|
163
|
+
}
|
|
160
164
|
});
|
|
161
165
|
// If status of GAN is PENDING_RECEIVE then directly to assign warehouse
|
|
162
166
|
if (ganProcessingSetting) {
|
|
@@ -360,7 +364,7 @@ async function deleteArrivalNotice(tx, name, user, domain) {
|
|
|
360
364
|
throw new Error(`Arrival notice doesn't exists.`);
|
|
361
365
|
const foundJS = await tx.getRepository(job_sheet_1.JobSheet).findOne({
|
|
362
366
|
where: {
|
|
363
|
-
bizplace: foundArrivalNotice.bizplace,
|
|
367
|
+
bizplace: { id: foundArrivalNotice.bizplace.id },
|
|
364
368
|
arrivalNoticeRefNo: foundArrivalNotice.name
|
|
365
369
|
}
|
|
366
370
|
});
|
|
@@ -422,9 +426,10 @@ async function generateArrivalNoticeFunction(_, arrivalNotice, fromPo, files, co
|
|
|
422
426
|
else
|
|
423
427
|
myBizplace = await (0, biz_base_1.getMyBizplace)(domain, user);
|
|
424
428
|
if (arrivalNotice.supplier) {
|
|
425
|
-
const supplier = await tx
|
|
426
|
-
.
|
|
427
|
-
|
|
429
|
+
const supplier = await tx.getRepository(biz_base_1.ContactPoint).findOne({
|
|
430
|
+
where: { bizplace: { id: arrivalNotice.supplier.id }, domain: { id: domain.id } },
|
|
431
|
+
relations: ['bizplace']
|
|
432
|
+
});
|
|
428
433
|
if (!supplier)
|
|
429
434
|
throw new Error('contact point does not exist');
|
|
430
435
|
arrivalNotice.supplier = supplier;
|
|
@@ -474,7 +479,7 @@ async function generateArrivalNoticeFunction(_, arrivalNotice, fromPo, files, co
|
|
|
474
479
|
}
|
|
475
480
|
exports.generateArrivalNoticeFunction = generateArrivalNoticeFunction;
|
|
476
481
|
async function confirmArrivalNoticeFunction(name, context, tx) {
|
|
477
|
-
var _a, _b;
|
|
482
|
+
var _a, _b, _c;
|
|
478
483
|
const { user, domain } = context.state;
|
|
479
484
|
const foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
|
|
480
485
|
where: { domain: { id: domain.id }, name, status: constants_1.ORDER_STATUS.PENDING },
|
|
@@ -502,7 +507,11 @@ async function confirmArrivalNoticeFunction(name, context, tx) {
|
|
|
502
507
|
where: { domain: { id: domain.id }, category: 'id-rule', name: 'gan-order-processing' }
|
|
503
508
|
});
|
|
504
509
|
const partnerGanProcessingSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
|
|
505
|
-
where: {
|
|
510
|
+
where: {
|
|
511
|
+
setting: { id: ganProcessingSetting.id },
|
|
512
|
+
domain: { id: domain.id },
|
|
513
|
+
partnerDomain: { id: (_a = customerBizplace === null || customerBizplace === void 0 ? void 0 : customerBizplace.domain) === null || _a === void 0 ? void 0 : _a.id }
|
|
514
|
+
}
|
|
506
515
|
});
|
|
507
516
|
// If status of GAN is PENDING_RECEIVE then directly to assign warehouse
|
|
508
517
|
if (ganProcessingSetting) {
|
|
@@ -535,7 +544,7 @@ async function confirmArrivalNoticeFunction(name, context, tx) {
|
|
|
535
544
|
}
|
|
536
545
|
// notification logics
|
|
537
546
|
// get Office Admin Users
|
|
538
|
-
if (((
|
|
547
|
+
if (((_b = context === null || context === void 0 ? void 0 : context.state) === null || _b === void 0 ? void 0 : _b.type) != 'api') {
|
|
539
548
|
const users = await tx
|
|
540
549
|
.getRepository('users_roles')
|
|
541
550
|
.createQueryBuilder('ur')
|
|
@@ -552,7 +561,7 @@ async function confirmArrivalNoticeFunction(name, context, tx) {
|
|
|
552
561
|
})
|
|
553
562
|
.getRawMany();
|
|
554
563
|
// send notification to Office Admin Users
|
|
555
|
-
if ((users === null || users === void 0 ? void 0 : users.length) && ((
|
|
564
|
+
if ((users === null || users === void 0 ? void 0 : users.length) && ((_c = context.header) === null || _c === void 0 ? void 0 : _c.referer)) {
|
|
556
565
|
const receivers = users.map(user => user.id);
|
|
557
566
|
const msg = {
|
|
558
567
|
title: `New Arrival Notice from ${customerBizplace.name}`,
|
|
@@ -573,7 +582,7 @@ async function confirmArrivalNoticeFunction(name, context, tx) {
|
|
|
573
582
|
}
|
|
574
583
|
exports.confirmArrivalNoticeFunction = confirmArrivalNoticeFunction;
|
|
575
584
|
async function receiveArrivalNoticeFunction(_, name, context) {
|
|
576
|
-
var _a;
|
|
585
|
+
var _a, _b;
|
|
577
586
|
const { user, domain, tx } = context.state;
|
|
578
587
|
try {
|
|
579
588
|
const foundArrivalNotice = await tx.getRepository(arrival_notice_1.ArrivalNotice).findOne({
|
|
@@ -594,7 +603,11 @@ async function receiveArrivalNoticeFunction(_, name, context) {
|
|
|
594
603
|
where: { domain: { id: domain.id }, category: 'id-rule', name: 'gan-order-processing' }
|
|
595
604
|
});
|
|
596
605
|
const partnerGanProcessingSetting = await tx.getRepository(setting_base_1.PartnerSetting).findOne({
|
|
597
|
-
where: {
|
|
606
|
+
where: {
|
|
607
|
+
setting: { id: ganProcessingSetting.id },
|
|
608
|
+
domain: { id: domain.id },
|
|
609
|
+
partnerDomain: { id: (_a = customerBizplace === null || customerBizplace === void 0 ? void 0 : customerBizplace.domain) === null || _a === void 0 ? void 0 : _a.id }
|
|
610
|
+
}
|
|
598
611
|
});
|
|
599
612
|
// If status of GAN is INTRANSIT then directly to assign warehouse
|
|
600
613
|
if (ganProcessingSetting) {
|
|
@@ -632,7 +645,7 @@ async function receiveArrivalNoticeFunction(_, name, context) {
|
|
|
632
645
|
// notification logics
|
|
633
646
|
const users = await (0, biz_base_1.getDomainUsers)(foundArrivalNotice === null || foundArrivalNotice === void 0 ? void 0 : foundArrivalNotice.bizplace, tx);
|
|
634
647
|
// send notification to Customer Users
|
|
635
|
-
if ((users === null || users === void 0 ? void 0 : users.length) && ((
|
|
648
|
+
if ((users === null || users === void 0 ? void 0 : users.length) && ((_b = context.header) === null || _b === void 0 ? void 0 : _b.referer)) {
|
|
636
649
|
const receivers = users.map(user => user.id);
|
|
637
650
|
const msg = {
|
|
638
651
|
title: `Latest status for ${foundArrivalNotice.name}`,
|