@things-factory/sales-base 4.3.2 → 4.3.3

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.
@@ -17,7 +17,6 @@ const graphql_upload_1 = require("graphql-upload");
17
17
  const type_graphql_1 = require("type-graphql");
18
18
  const typeorm_1 = require("typeorm");
19
19
  const attachment_base_1 = require("@things-factory/attachment-base");
20
- const utils_1 = require("../../utils");
21
20
  const biz_base_1 = require("@things-factory/biz-base");
22
21
  const id_rule_base_1 = require("@things-factory/id-rule-base");
23
22
  const product_base_1 = require("@things-factory/product-base");
@@ -25,8 +24,11 @@ const setting_base_1 = require("@things-factory/setting-base");
25
24
  // import { Location } from '@things-factory/warehouse-base'
26
25
  const __1 = require("../");
27
26
  const constants_1 = require("../../constants");
28
- const utils_2 = require("../../utils");
27
+ const errors_1 = require("../../errors");
28
+ const utils_1 = require("../../utils");
29
29
  const order_product_types_1 = require("../order-product/order-product-types");
30
+ const release_good_mutation_1 = require("../release-good/release-good-mutation");
31
+ const release_good_query_1 = require("../release-good/release-good-query");
30
32
  const shipping_order_1 = require("../shipping-order/shipping-order");
31
33
  const shipping_order_types_1 = require("../shipping-order/shipping-order-types");
32
34
  // import {
@@ -36,9 +38,6 @@ const shipping_order_types_1 = require("../shipping-order/shipping-order-types")
36
38
  // receiveArrivalNoticeFunction
37
39
  // } from '../arrival-notice/arrival-notice-mutation'
38
40
  const draft_release_good_query_1 = require("./draft-release-good-query");
39
- const release_good_query_1 = require("../release-good/release-good-query");
40
- const release_good_mutation_1 = require("../release-good/release-good-mutation");
41
- const errors_1 = require("../../errors");
42
41
  let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
43
42
  async upsertDraftReleaseGood(context, draftReleaseGood, orderProducts, files, shippingOrder) {
44
43
  try {
@@ -100,7 +99,10 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
100
99
  });
101
100
  return true;
102
101
  }
103
- async generateReleaseGoodsFromDraft(context, ids) {
102
+ async generateReleaseGoodsFromDraft(context, ids
103
+ // @Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],
104
+ // @Arg('bizplaceId', type => String) bizplaceId: string
105
+ ) {
104
106
  var _a;
105
107
  const { domain, user, tx } = context.state;
106
108
  const updatableDraftOrders = await tx.getRepository(__1.DraftReleaseGood).find({
@@ -145,17 +147,34 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
145
147
  }
146
148
  const bizplaces = [foundPermittedBizplace, companyBizplace];
147
149
  let productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, {
148
- filters: [{
150
+ filters: [
151
+ {
149
152
  name: 'productId',
150
153
  operator: 'in',
151
154
  value: [
152
- ...draftOrder.orderProducts.filter(itm => itm === null || itm === void 0 ? void 0 : itm.product).map(itm => { return itm.product.id; }),
153
- ...draftOrder.orderProducts.filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle).map(itm => { return itm.productBundle.id; })
155
+ ...draftOrder.orderProducts
156
+ .filter(itm => itm === null || itm === void 0 ? void 0 : itm.product)
157
+ .map(itm => {
158
+ return itm.product.id;
159
+ }),
160
+ ...draftOrder.orderProducts
161
+ .filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle)
162
+ .map(itm => {
163
+ return itm.productBundle.id;
164
+ })
154
165
  ]
155
- }]
166
+ }
167
+ ]
156
168
  }, context, tx);
157
169
  draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {
158
- let foundProductInv = productInventory.items.find(i => { var _a, _b; return (i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.product) === null || _a === void 0 ? void 0 : _a.id) || i.productId == ((_b = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _b === void 0 ? void 0 : _b.id)) && i.packingType == itm.packingType && i.packingSize == itm.packingSize && i.uom == itm.uom && itm.releaseQty <= i.remainQty; });
170
+ let foundProductInv = productInventory.items.find(i => {
171
+ var _a, _b;
172
+ return (i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.product) === null || _a === void 0 ? void 0 : _a.id) || i.productId == ((_b = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _b === void 0 ? void 0 : _b.id)) &&
173
+ i.packingType == itm.packingType &&
174
+ i.packingSize == itm.packingSize &&
175
+ i.uom == itm.uom &&
176
+ itm.releaseQty <= i.remainQty;
177
+ });
159
178
  return Object.assign(Object.assign({}, itm), { status: foundProductInv ? 'suffice' : 'insufficient' });
160
179
  });
161
180
  let insufficient = draftOrder.orderProducts.find(op => op.status == 'insufficient');
@@ -173,7 +192,14 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
173
192
  const itm = draftOrder.orderProducts[index];
174
193
  let data = [];
175
194
  if (itm.productBundle) {
176
- let bundle = await tx.getRepository(product_base_1.ProductBundle).findOne({ where: { id: itm.productBundle.id }, relations: ['productBundleSettings', 'productBundleSettings.productDetail', 'productBundleSettings.product',] });
195
+ let bundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
196
+ where: { id: itm.productBundle.id },
197
+ relations: [
198
+ 'productBundleSettings',
199
+ 'productBundleSettings.productDetail',
200
+ 'productBundleSettings.product'
201
+ ]
202
+ });
177
203
  for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {
178
204
  const objProductBundleSetting = bundle.productBundleSettings[index2];
179
205
  data.push({
@@ -189,7 +215,8 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
189
215
  }
190
216
  }
191
217
  else {
192
- data = [{
218
+ data = [
219
+ {
193
220
  sku: itm.product.sku,
194
221
  packing_type: itm.packingType,
195
222
  packing_size: itm.packingSize,
@@ -198,7 +225,8 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
198
225
  assignedQty: undefined,
199
226
  assignedUomValue: undefined,
200
227
  releaseUomValue: undefined
201
- }];
228
+ }
229
+ ];
202
230
  }
203
231
  data.forEach(data => {
204
232
  let existingOI = orderInventories.find(itm => itm.sku == data.sku &&
@@ -352,7 +380,7 @@ async function createDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts
352
380
  orderNo = await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.DRO_NUMBER, seed: {} });
353
381
  }
354
382
  else {
355
- orderNo = utils_2.OrderNoGenerator.draftReleaseGood();
383
+ orderNo = utils_1.OrderNoGenerator.draftReleaseGood();
356
384
  }
357
385
  // // 1. Create draft release good
358
386
  const createdDraftReleaseGood = await tx.getRepository(__1.DraftReleaseGood).save(Object.assign(Object.assign({}, draftReleaseGood), { name: orderNo, status: constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT, domain, creator: user, updater: user }));
@@ -389,7 +417,7 @@ async function updateDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts
389
417
  await tx.getRepository(shipping_order_1.ShippingOrder).update(existingDraftReleaseGood.shippingOrder.id, shippingOrder);
390
418
  }
391
419
  else {
392
- let newShippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, shippingOrder), { name: utils_2.OrderNoGenerator.shippingOrder(), domain, bizplace: draftReleaseGood.bizplace, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
420
+ let newShippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, shippingOrder), { name: utils_1.OrderNoGenerator.shippingOrder(), domain, bizplace: draftReleaseGood.bizplace, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
393
421
  draftReleaseGood.shippingOrder = newShippingOrder;
394
422
  }
395
423
  }
@@ -439,7 +467,13 @@ async function upsertDraftReleaseGoodProducts(domain, bizplace, draftReleaseGood
439
467
  const productBundleRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(product_base_1.ProductBundle)) || (0, typeorm_1.getRepository)(product_base_1.ProductBundle);
440
468
  draftReleaseGood = await draftReleaseGoodRepo.findOne({
441
469
  where: { id: draftReleaseGood.id },
442
- relations: ['orderProducts', 'orderProducts.product', 'orderProducts.productBundle', 'orderProducts.creator', 'orderProducts.updater']
470
+ relations: [
471
+ 'orderProducts',
472
+ 'orderProducts.product',
473
+ 'orderProducts.productBundle',
474
+ 'orderProducts.creator',
475
+ 'orderProducts.updater'
476
+ ]
443
477
  });
444
478
  // Remove all existing order products that do not exist in current input
445
479
  let removeOP = draftReleaseGood.orderProducts.filter(existingOP => orderProductsPatch.filter(inOP => inOP.id == existingOP.id).length == 0);
@@ -452,14 +486,14 @@ async function upsertDraftReleaseGoodProducts(domain, bizplace, draftReleaseGood
452
486
  relations: ['domain', 'company', 'company.domain']
453
487
  });
454
488
  orderProducts = await Promise.all(orderProductsPatch.map(async (op) => {
455
- var _a;
489
+ var _a, _b;
456
490
  if (!(op === null || op === void 0 ? void 0 : op.id))
457
491
  delete op.id;
458
492
  const customerCompanyDomain = bizplace.company.domain;
459
493
  let product = null;
460
494
  let productBundle = null;
461
495
  let existingOP = draftReleaseGood.orderProducts.find(existOP => existOP.id == op.id);
462
- let updatePatch = Object.assign(Object.assign(Object.assign({}, existingOP), op), { domain, batchId: '', packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, bizplace: bizplace, name: (op === null || op === void 0 ? void 0 : op.id) ? op.name : utils_2.OrderNoGenerator.orderProduct(), draftReleaseGood: draftReleaseGood, status: draftReleaseGood.status, creator: (op === null || op === void 0 ? void 0 : op.id) ? op.creator : user, updater: user });
496
+ let updatePatch = Object.assign(Object.assign(Object.assign({}, existingOP), op), { domain, batchId: '', packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, bizplace: bizplace, name: (op === null || op === void 0 ? void 0 : op.id) ? op.name : utils_1.OrderNoGenerator.orderProduct(), draftReleaseGood: draftReleaseGood, status: draftReleaseGood.status, creator: (op === null || op === void 0 ? void 0 : op.id) ? op.creator : user, updater: user });
463
497
  if ((_a = op === null || op === void 0 ? void 0 : op.product) === null || _a === void 0 ? void 0 : _a.id) {
464
498
  product = await productRepo.findOne({
465
499
  where: { domain: customerCompanyDomain, id: op.product.id }
@@ -481,6 +515,34 @@ async function upsertDraftReleaseGoodProducts(domain, bizplace, draftReleaseGood
481
515
  updatePatch['product'] = existingOP.product || undefined;
482
516
  updatePatch['productBundle'] = existingOP.productBundle || undefined;
483
517
  }
518
+ else {
519
+ product = await productRepo.findOne({
520
+ where: { domain: customerCompanyDomain, sku: op.product.sku, deletedAt: (0, typeorm_1.IsNull)() },
521
+ relations: ['productDetails']
522
+ });
523
+ if (product) {
524
+ const productDetails = product.productDetails;
525
+ let selectedProductDetail;
526
+ if ((_b = op === null || op === void 0 ? void 0 : op.product) === null || _b === void 0 ? void 0 : _b.packingType) {
527
+ selectedProductDetail = productDetails.filter(pd => pd.packingType == op.product.packingType);
528
+ }
529
+ else {
530
+ selectedProductDetail = productDetails.filter(pd => pd.isDefault);
531
+ }
532
+ product.packingType = selectedProductDetail[0].packingType;
533
+ product.primaryUnit = selectedProductDetail[0].uom;
534
+ product.primaryValue = selectedProductDetail[0].uomValue;
535
+ }
536
+ updatePatch['product'] = product || undefined;
537
+ if (!product) {
538
+ productBundle = await productBundleRepo.findOne({
539
+ where: { domain: customerCompanyDomain, sku: op.product.sku }
540
+ });
541
+ updatePatch['productBundle'] = productBundle || undefined;
542
+ }
543
+ if (!product && !productBundle)
544
+ throw new Error(`product not found`);
545
+ }
484
546
  }
485
547
  updatePatch['packingType'] = (op === null || op === void 0 ? void 0 : op.packingType)
486
548
  ? op.packingType
@@ -1 +1 @@
1
- {"version":3,"file":"draft-release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-mutation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/sales-base",
3
- "version": "4.3.2",
3
+ "version": "4.3.3",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -36,5 +36,5 @@
36
36
  "@things-factory/transport-base": "^4.3.2",
37
37
  "@things-factory/warehouse-base": "^4.3.2"
38
38
  },
39
- "gitHead": "d73cbd8a8f1e3cff5d9bbbddec1ce520d0392def"
39
+ "gitHead": "c25fcc3b8d075c2f585772a32a1c2440ea6e76de"
40
40
  }
@@ -1,13 +1,12 @@
1
1
  import { FileUpload, GraphQLUpload } from 'graphql-upload'
2
2
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
3
- import { EntityManager, getConnection, getRepository, In, Repository } from 'typeorm'
3
+ import { EntityManager, getConnection, getRepository, In, IsNull, Repository } from 'typeorm'
4
4
 
5
5
  import { Attachment, createAttachments, deleteAttachmentsByRef } from '@things-factory/attachment-base'
6
6
  import { User } from '@things-factory/auth-base'
7
- import { InventoryUtil } from '../../utils'
8
- import { Bizplace, ContactPoint, getPermittedBizplaces, getPermittedBizplaceIds } from '@things-factory/biz-base'
7
+ import { Bizplace, getPermittedBizplaces } from '@things-factory/biz-base'
9
8
  import { generateId } from '@things-factory/id-rule-base'
10
- import { Product, ProductBundle } from '@things-factory/product-base'
9
+ import { Product, ProductBundle, ProductDetail } from '@things-factory/product-base'
11
10
  import { Setting } from '@things-factory/setting-base'
12
11
  import { Domain } from '@things-factory/shell'
13
12
 
@@ -20,8 +19,12 @@ import {
20
19
  ORDER_NUMBER_SETTING_KEY,
21
20
  ORDER_STATUS
22
21
  } from '../../constants'
23
- import { OrderNoGenerator } from '../../utils'
22
+ import { ValidationError } from '../../errors'
23
+ import { InventoryUtil, OrderNoGenerator } from '../../utils'
24
24
  import { OrderProductPatch } from '../order-product/order-product-types'
25
+ import { ReleaseGood } from '../release-good/release-good'
26
+ import { bulkGenerateReleaseGood, confirmReleaseGood } from '../release-good/release-good-mutation'
27
+ import { bulkReleaseGoodsAvailableItemsFunction } from '../release-good/release-good-query'
25
28
  import { ShippingOrder } from '../shipping-order/shipping-order'
26
29
  import { ShippingOrderPatch } from '../shipping-order/shipping-order-types'
27
30
  // import {
@@ -31,10 +34,6 @@ import { ShippingOrderPatch } from '../shipping-order/shipping-order-types'
31
34
  // receiveArrivalNoticeFunction
32
35
  // } from '../arrival-notice/arrival-notice-mutation'
33
36
  import { getDraftReleaseGoodFunction } from './draft-release-good-query'
34
- import { ReleaseGood } from '../release-good/release-good'
35
- import { bulkReleaseGoodsAvailableItemsFunction } from '../release-good/release-good-query'
36
- import { confirmReleaseGood, bulkGenerateReleaseGood } from '../release-good/release-good-mutation'
37
- import { ValidationError } from '../../errors'
38
37
 
39
38
  @Resolver(DraftReleaseGood)
40
39
  export class DraftReleaseGoodMutation {
@@ -181,7 +180,7 @@ export class DraftReleaseGoodMutation {
181
180
  @Mutation(returns => Boolean, { description: 'To generate Release Goods from Draft' })
182
181
  async generateReleaseGoodsFromDraft(
183
182
  @Ctx() context: any,
184
- @Arg('ids', type => [String]) ids: string[],
183
+ @Arg('ids', type => [String]) ids: string[]
185
184
  // @Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],
186
185
  // @Arg('bizplaceId', type => String) bizplaceId: string
187
186
  ): Promise<boolean> {
@@ -205,7 +204,6 @@ export class DraftReleaseGoodMutation {
205
204
  ]
206
205
  })
207
206
  if (updatableDraftOrders.length > 0) {
208
-
209
207
  let createdReleaseGoods: ReleaseGood[] = []
210
208
  const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)
211
209
 
@@ -217,7 +215,7 @@ export class DraftReleaseGoodMutation {
217
215
  })
218
216
 
219
217
  for (let index = 0; index < updatableDraftOrders.length; index++) {
220
- const draftOrder = updatableDraftOrders[index];
218
+ const draftOrder = updatableDraftOrders[index]
221
219
 
222
220
  let foundPermittedBizplace: Bizplace
223
221
  let companyBizplace: Bizplace
@@ -234,20 +232,41 @@ export class DraftReleaseGoodMutation {
234
232
 
235
233
  const bizplaces: Bizplace[] = [foundPermittedBizplace, companyBizplace]
236
234
 
237
- let productInventory = await InventoryUtil.bizplaceProductInventory(bizplaces, {
238
- filters: [{
239
- name: 'productId',
240
- operator: 'in',
241
- value: [
242
- ...draftOrder.orderProducts.filter(itm => itm?.product).map(itm => { return itm.product.id }),
243
- ...draftOrder.orderProducts.filter(itm => itm?.productBundle).map(itm => { return itm.productBundle.id })
235
+ let productInventory = await InventoryUtil.bizplaceProductInventory(
236
+ bizplaces,
237
+ {
238
+ filters: [
239
+ {
240
+ name: 'productId',
241
+ operator: 'in',
242
+ value: [
243
+ ...draftOrder.orderProducts
244
+ .filter(itm => itm?.product)
245
+ .map(itm => {
246
+ return itm.product.id
247
+ }),
248
+ ...draftOrder.orderProducts
249
+ .filter(itm => itm?.productBundle)
250
+ .map(itm => {
251
+ return itm.productBundle.id
252
+ })
253
+ ]
254
+ }
244
255
  ]
245
- }]
246
- }, context, tx)
247
-
256
+ },
257
+ context,
258
+ tx
259
+ )
248
260
 
249
261
  draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {
250
- let foundProductInv = productInventory.items.find(i => (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) && i.packingType == itm.packingType && i.packingSize == itm.packingSize && i.uom == itm.uom && itm.releaseQty <= i.remainQty)
262
+ let foundProductInv = productInventory.items.find(
263
+ i =>
264
+ (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&
265
+ i.packingType == itm.packingType &&
266
+ i.packingSize == itm.packingSize &&
267
+ i.uom == itm.uom &&
268
+ itm.releaseQty <= i.remainQty
269
+ )
251
270
  return { ...itm, status: foundProductInv ? 'suffice' : 'insufficient' }
252
271
  })
253
272
 
@@ -266,13 +285,20 @@ export class DraftReleaseGoodMutation {
266
285
  let orderInventories = []
267
286
 
268
287
  for (let index = 0; index < draftOrder.orderProducts.length; index++) {
269
- const itm = draftOrder.orderProducts[index];
288
+ const itm = draftOrder.orderProducts[index]
270
289
  let data = []
271
290
  if (itm.productBundle) {
272
- let bundle = await tx.getRepository(ProductBundle).findOne({ where: { id: itm.productBundle.id }, relations: ['productBundleSettings', 'productBundleSettings.productDetail', 'productBundleSettings.product',] })
291
+ let bundle = await tx.getRepository(ProductBundle).findOne({
292
+ where: { id: itm.productBundle.id },
293
+ relations: [
294
+ 'productBundleSettings',
295
+ 'productBundleSettings.productDetail',
296
+ 'productBundleSettings.product'
297
+ ]
298
+ })
273
299
 
274
300
  for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {
275
- const objProductBundleSetting = bundle.productBundleSettings[index2];
301
+ const objProductBundleSetting = bundle.productBundleSettings[index2]
276
302
  data.push({
277
303
  sku: objProductBundleSetting.product.sku,
278
304
  packing_type: objProductBundleSetting.productDetail.packingType,
@@ -285,24 +311,27 @@ export class DraftReleaseGoodMutation {
285
311
  })
286
312
  }
287
313
  } else {
288
- data = [{
289
- sku: itm.product.sku,
290
- packing_type: itm.packingType,
291
- packing_size: itm.packingSize,
292
- uom: itm.uom,
293
- release_qty: itm.releaseQty,
294
- assignedQty: undefined,
295
- assignedUomValue: undefined,
296
- releaseUomValue: undefined
297
- }]
314
+ data = [
315
+ {
316
+ sku: itm.product.sku,
317
+ packing_type: itm.packingType,
318
+ packing_size: itm.packingSize,
319
+ uom: itm.uom,
320
+ release_qty: itm.releaseQty,
321
+ assignedQty: undefined,
322
+ assignedUomValue: undefined,
323
+ releaseUomValue: undefined
324
+ }
325
+ ]
298
326
  }
299
327
 
300
328
  data.forEach(data => {
301
- let existingOI = orderInventories.find(itm =>
302
- itm.sku == data.sku &&
303
- itm.packing_type == data.packing_type &&
304
- itm.packing_size == data.packing_size &&
305
- itm.uom == data.uom
329
+ let existingOI = orderInventories.find(
330
+ itm =>
331
+ itm.sku == data.sku &&
332
+ itm.packing_type == data.packing_type &&
333
+ itm.packing_size == data.packing_size &&
334
+ itm.uom == data.uom
306
335
  )
307
336
 
308
337
  if (existingOI) {
@@ -310,11 +339,10 @@ export class DraftReleaseGoodMutation {
310
339
  } else {
311
340
  orderInventories.push(data)
312
341
  }
313
- });
342
+ })
314
343
  }
315
344
  try {
316
345
  await getConnection().transaction(async (childTx: EntityManager) => {
317
-
318
346
  let availableItems: any[] = await bulkReleaseGoodsAvailableItemsFunction(
319
347
  orderInventories,
320
348
  draftOrder.bizplace.id,
@@ -347,16 +375,17 @@ export class DraftReleaseGoodMutation {
347
375
 
348
376
  await childTx
349
377
  .getRepository(DraftReleaseGood)
350
- .update({ id: draftOrder.id }, { releaseGood: createdReleaseGood, status: DRAFT_RELEASE_ORDER_STATUS.SUBMITTED })
378
+ .update(
379
+ { id: draftOrder.id },
380
+ { releaseGood: createdReleaseGood, status: DRAFT_RELEASE_ORDER_STATUS.SUBMITTED }
381
+ )
351
382
 
352
383
  createdReleaseGood = await confirmReleaseGood(createdReleaseGood.name, context, childTx)
353
-
354
384
  })
355
385
  } catch (error) {
356
386
  console.error(error)
357
387
  }
358
388
  }
359
-
360
389
  }
361
390
  }
362
391
 
@@ -585,7 +614,13 @@ export async function upsertDraftReleaseGoodProducts(
585
614
 
586
615
  draftReleaseGood = await draftReleaseGoodRepo.findOne({
587
616
  where: { id: draftReleaseGood.id },
588
- relations: ['orderProducts', 'orderProducts.product', 'orderProducts.productBundle', 'orderProducts.creator', 'orderProducts.updater']
617
+ relations: [
618
+ 'orderProducts',
619
+ 'orderProducts.product',
620
+ 'orderProducts.productBundle',
621
+ 'orderProducts.creator',
622
+ 'orderProducts.updater'
623
+ ]
589
624
  })
590
625
 
591
626
  // Remove all existing order products that do not exist in current input
@@ -648,15 +683,43 @@ export async function upsertDraftReleaseGoodProducts(
648
683
  productBundle = existingOP.productBundle
649
684
  updatePatch['product'] = existingOP.product || undefined
650
685
  updatePatch['productBundle'] = existingOP.productBundle || undefined
686
+ } else {
687
+ product = await productRepo.findOne({
688
+ where: { domain: customerCompanyDomain, sku: op.product.sku, deletedAt: IsNull() },
689
+ relations: ['productDetails']
690
+ })
691
+ if (product) {
692
+ const productDetails: ProductDetail[] = product.productDetails
693
+ let selectedProductDetail: ProductDetail[]
694
+ if (op?.product?.packingType) {
695
+ selectedProductDetail = productDetails.filter(pd => pd.packingType == op.product.packingType)
696
+ } else {
697
+ selectedProductDetail = productDetails.filter(pd => pd.isDefault)
698
+ }
699
+
700
+ product.packingType = selectedProductDetail[0].packingType
701
+ product.primaryUnit = selectedProductDetail[0].uom
702
+ product.primaryValue = selectedProductDetail[0].uomValue
703
+ }
704
+
705
+ updatePatch['product'] = product || undefined
706
+
707
+ if (!product) {
708
+ productBundle = await productBundleRepo.findOne({
709
+ where: { domain: customerCompanyDomain, sku: op.product.sku }
710
+ })
711
+ updatePatch['productBundle'] = productBundle || undefined
712
+ }
713
+
714
+ if (!product && !productBundle) throw new Error(`product not found`)
651
715
  }
652
716
  }
653
717
 
654
-
655
718
  updatePatch['packingType'] = op?.packingType
656
719
  ? op.packingType
657
720
  : product?.packingType
658
- ? product.packingType
659
- : productBundle.packingType
721
+ ? product.packingType
722
+ : productBundle.packingType
660
723
  updatePatch['uom'] = op?.uom ? op.uom : product?.primaryUnit ? product.primaryUnit : 'UNIT'
661
724
  updatePatch['uomValue'] = op?.uomValue ? op.uomValue : product?.primaryValue ? product.primaryValue : 0
662
725