@things-factory/sales-base 4.3.80-alpha.4 → 4.3.81

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.
Files changed (171) hide show
  1. package/dist-server/service/arrival-notice/arrival-notice-mutation.js +5 -6
  2. package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -1
  3. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
  4. package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -1
  5. package/dist-server/service/arrival-notice/arrival-notice.js +0 -5
  6. package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -1
  7. package/dist-server/service/claim/claim-mutation.js.map +1 -1
  8. package/dist-server/service/claim/claim-query.js.map +1 -1
  9. package/dist-server/service/claim/claim-types.js.map +1 -1
  10. package/dist-server/service/claim/claim.js.map +1 -1
  11. package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -1
  12. package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -1
  13. package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -1
  14. package/dist-server/service/claim-detail/claim-detail.js.map +1 -1
  15. package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -1
  16. package/dist-server/service/claim-order/claim-order-query.js.map +1 -1
  17. package/dist-server/service/claim-order/claim-order-types.js.map +1 -1
  18. package/dist-server/service/claim-order/claim-order.js.map +1 -1
  19. package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -1
  20. package/dist-server/service/collection-order/collection-order-query.js.map +1 -1
  21. package/dist-server/service/collection-order/collection-order-types.js.map +1 -1
  22. package/dist-server/service/collection-order/collection-order.js.map +1 -1
  23. package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -1
  24. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
  25. package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -1
  26. package/dist-server/service/delivery-order/delivery-order.js.map +1 -1
  27. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +8 -3
  28. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -1
  29. package/dist-server/service/draft-release-good/draft-release-good-query.js +7 -4
  30. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -1
  31. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -1
  32. package/dist-server/service/draft-release-good/draft-release-good.js +0 -5
  33. package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -1
  34. package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -1
  35. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -1
  36. package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -1
  37. package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -1
  38. package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -1
  39. package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -1
  40. package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -1
  41. package/dist-server/service/inventory-check/inventory-check.js.map +1 -1
  42. package/dist-server/service/invoice/invoice-mutation.js.map +1 -1
  43. package/dist-server/service/invoice/invoice-query.js.map +1 -1
  44. package/dist-server/service/invoice/invoice-types.js.map +1 -1
  45. package/dist-server/service/invoice/invoice.js.map +1 -1
  46. package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -1
  47. package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -1
  48. package/dist-server/service/invoice-product/invoice-product-types.js.map +1 -1
  49. package/dist-server/service/invoice-product/invoice-product.js +3 -8
  50. package/dist-server/service/invoice-product/invoice-product.js.map +1 -1
  51. package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -1
  52. package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -1
  53. package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -1
  54. package/dist-server/service/job-sheet/job-sheet.js.map +1 -1
  55. package/dist-server/service/manifest/manifest-mutation.js.map +1 -1
  56. package/dist-server/service/manifest/manifest-query.js.map +1 -1
  57. package/dist-server/service/manifest/manifest-type.js.map +1 -1
  58. package/dist-server/service/manifest/manifest.js.map +1 -1
  59. package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -1
  60. package/dist-server/service/order-inventory/order-inventory-query.js +1 -2
  61. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
  62. package/dist-server/service/order-inventory/order-inventory-types.js +10 -18
  63. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
  64. package/dist-server/service/order-inventory/order-inventory.js +3 -12
  65. package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
  66. package/dist-server/service/order-product/order-product-mutation.js.map +1 -1
  67. package/dist-server/service/order-product/order-product-query.js +0 -1
  68. package/dist-server/service/order-product/order-product-query.js.map +1 -1
  69. package/dist-server/service/order-product/order-product-types.js +10 -18
  70. package/dist-server/service/order-product/order-product-types.js.map +1 -1
  71. package/dist-server/service/order-product/order-product.js.map +1 -1
  72. package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -1
  73. package/dist-server/service/order-tote/order-tote-query.js.map +1 -1
  74. package/dist-server/service/order-tote/order-tote-types.js.map +1 -1
  75. package/dist-server/service/order-tote/order-tote.js.map +1 -1
  76. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -1
  77. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -1
  78. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -1
  79. package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -1
  80. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -1
  81. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -1
  82. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -1
  83. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -1
  84. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
  85. package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
  86. package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
  87. package/dist-server/service/order-vas/order-vas.js +3 -9
  88. package/dist-server/service/order-vas/order-vas.js.map +1 -1
  89. package/dist-server/service/others/other-query.js +21 -17
  90. package/dist-server/service/others/other-query.js.map +1 -1
  91. package/dist-server/service/others/other-types.js +0 -4
  92. package/dist-server/service/others/other-types.js.map +1 -1
  93. package/dist-server/service/purchase-order/purchase-order-mutation.js +2 -10
  94. package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -1
  95. package/dist-server/service/purchase-order/purchase-order-query.js +0 -1
  96. package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -1
  97. package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -1
  98. package/dist-server/service/purchase-order/purchase-order.js.map +1 -1
  99. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -1
  100. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -1
  101. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -1
  102. package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -1
  103. package/dist-server/service/release-good/release-good-mutation.js +49 -187
  104. package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
  105. package/dist-server/service/release-good/release-good-query.js +6 -4
  106. package/dist-server/service/release-good/release-good-query.js.map +1 -1
  107. package/dist-server/service/release-good/release-good-types.js +4 -8
  108. package/dist-server/service/release-good/release-good-types.js.map +1 -1
  109. package/dist-server/service/release-good/release-good.js +0 -5
  110. package/dist-server/service/release-good/release-good.js.map +1 -1
  111. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -1
  112. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -1
  113. package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -1
  114. package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -1
  115. package/dist-server/service/return-order/return-order-mutation.js +0 -2
  116. package/dist-server/service/return-order/return-order-mutation.js.map +1 -1
  117. package/dist-server/service/return-order/return-order-query.js.map +1 -1
  118. package/dist-server/service/return-order/return-order-types.js.map +1 -1
  119. package/dist-server/service/return-order/return-order.js.map +1 -1
  120. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -1
  121. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -1
  122. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -1
  123. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -1
  124. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -1
  125. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -1
  126. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -1
  127. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +3 -8
  128. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -1
  129. package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -1
  130. package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -1
  131. package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -1
  132. package/dist-server/service/shipping-order/shipping-order.js.map +1 -1
  133. package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -1
  134. package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -1
  135. package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -1
  136. package/dist-server/service/transfer-order/transfer-order.js.map +1 -1
  137. package/dist-server/service/vas/vas-mutation.js.map +1 -1
  138. package/dist-server/service/vas/vas-query.js.map +1 -1
  139. package/dist-server/service/vas/vas-types.js.map +1 -1
  140. package/dist-server/service/vas/vas.js.map +1 -1
  141. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
  142. package/dist-server/service/vas-order/vas-order-query.js.map +1 -1
  143. package/dist-server/service/vas-order/vas-order-types.js.map +1 -1
  144. package/dist-server/service/vas-order/vas-order.js.map +1 -1
  145. package/dist-server/utils/inventory-util.js +102 -33
  146. package/dist-server/utils/inventory-util.js.map +1 -1
  147. package/package.json +13 -13
  148. package/server/service/arrival-notice/arrival-notice-mutation.ts +3 -6
  149. package/server/service/arrival-notice/arrival-notice.ts +0 -4
  150. package/server/service/draft-release-good/draft-release-good-mutation.ts +12 -10
  151. package/server/service/draft-release-good/draft-release-good-query.ts +5 -5
  152. package/server/service/draft-release-good/draft-release-good.ts +0 -4
  153. package/server/service/invoice-product/invoice-product.ts +1 -5
  154. package/server/service/order-inventory/order-inventory-query.ts +0 -2
  155. package/server/service/order-inventory/order-inventory-types.ts +0 -6
  156. package/server/service/order-inventory/order-inventory.ts +1 -8
  157. package/server/service/order-product/order-product-query.ts +0 -1
  158. package/server/service/order-product/order-product-types.ts +0 -6
  159. package/server/service/order-vas/order-vas.ts +1 -6
  160. package/server/service/others/other-query.ts +31 -30
  161. package/server/service/others/other-types.ts +0 -3
  162. package/server/service/purchase-order/purchase-order-mutation.ts +1 -10
  163. package/server/service/purchase-order/purchase-order-query.ts +0 -1
  164. package/server/service/release-good/release-good-mutation.ts +50 -221
  165. package/server/service/release-good/release-good-query.ts +7 -4
  166. package/server/service/release-good/release-good-types.ts +3 -4
  167. package/server/service/release-good/release-good.ts +6 -8
  168. package/server/service/return-order/return-order-mutation.ts +1 -3
  169. package/server/service/return-order/return-order-types.ts +0 -1
  170. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +1 -5
  171. package/server/utils/inventory-util.ts +147 -67
@@ -13,7 +13,7 @@ import {
13
13
  } from '@things-factory/biz-base'
14
14
  import { generateId } from '@things-factory/id-rule-base'
15
15
  import { sendNotification } from '@things-factory/notification'
16
- import { Product, ProductDetail } from '@things-factory/product-base'
16
+ import { Product } from '@things-factory/product-base'
17
17
  import { PartnerSetting, Setting } from '@things-factory/setting-base'
18
18
  import { Domain } from '@things-factory/shell'
19
19
 
@@ -339,6 +339,7 @@ export class ArrivalNoticeMutation {
339
339
  domain,
340
340
  bizplace: foundBizplace,
341
341
  name: OrderNoGenerator.orderProduct(),
342
+ // product: await childTx.getRepository(Product).findOne(op.product.id),
342
343
  status: ORDER_PRODUCT_STATUS.PENDING,
343
344
  arrivalNotice: createdArrivalNotice,
344
345
  creator: user
@@ -973,7 +974,6 @@ export async function addArrivalNoticeProducts(
973
974
  tx?: EntityManager
974
975
  ): Promise<void> {
975
976
  const productRepo: Repository<Product> = tx?.getRepository(Product) || getRepository(Product)
976
- const productDetailRepo: Repository<ProductDetail> = tx?.getRepository(ProductDetail) || getRepository(ProductDetail)
977
977
  const orderProductRepo: Repository<OrderProduct> = tx?.getRepository(OrderProduct) || getRepository(OrderProduct)
978
978
 
979
979
  if (!arrivalNotice?.bizplace || !arrivalNotice?.orderProducts?.length) {
@@ -991,7 +991,6 @@ export async function addArrivalNoticeProducts(
991
991
  bizplace: arrivalNotice.bizplace,
992
992
  name: OrderNoGenerator.orderProduct(),
993
993
  product: await productRepo.findOne(op.product.id),
994
- productDetail: await productDetailRepo.findOne(op.productDetail.id),
995
994
  arrivalNotice,
996
995
  creator: user
997
996
  }
@@ -1059,10 +1058,8 @@ function extractArrivalNotices(rawArrivalNotices): Partial<ArrivalNotice[]> {
1059
1058
  })
1060
1059
 
1061
1060
  const product: Product = Object.assign(new Product(), { id: raw.productId, sku: raw.sku })
1062
- const productDetail: ProductDetail = Object.assign(new ProductDetail(), { id: raw.productDetailId })
1063
1061
  const orderProduct: Partial<OrderProduct> = {
1064
1062
  product,
1065
- productDetail,
1066
1063
  batchId: raw.batchId,
1067
1064
  batchIdRef: raw.batchIdRef,
1068
1065
  packingType: raw.packingType,
@@ -1073,7 +1070,7 @@ function extractArrivalNotices(rawArrivalNotices): Partial<ArrivalNotice[]> {
1073
1070
  totalUomValue: raw.totalUomValue,
1074
1071
  palletQty: raw.palletQty,
1075
1072
  unitPrice: raw.unitPrice,
1076
- manufactureDate: raw.manufactureDate,
1073
+ manufactureDate: raw.manufactureDate
1077
1074
  }
1078
1075
 
1079
1076
  if (idx >= 0) {
@@ -148,10 +148,6 @@ export class ArrivalNotice {
148
148
  @Field({ nullable: true })
149
149
  description: string
150
150
 
151
- @Column({ nullable: true })
152
- @Field({ nullable: true })
153
- source: string
154
-
155
151
  @OneToOne(type => PurchaseOrder, { nullable: true })
156
152
  @JoinColumn()
157
153
  @Field(type => PurchaseOrder, { nullable: true })
@@ -195,7 +195,6 @@ export class DraftReleaseGoodMutation {
195
195
  relations: [
196
196
  'orderProducts',
197
197
  'orderProducts.product',
198
- 'orderProducts.productDetail',
199
198
  'orderProducts.productBundle',
200
199
  'shippingOrder',
201
200
  'bizplace',
@@ -263,14 +262,13 @@ export class DraftReleaseGoodMutation {
263
262
  draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {
264
263
  let foundProductInv = productInventory.items.find(
265
264
  i =>
266
- (i.productDetailId == itm?.productDetail?.id || i.productId == itm?.productBundle?.id) &&
265
+ (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&
266
+ i.packingType == itm.packingType &&
267
+ i.packingSize == itm.packingSize &&
268
+ i.uom == itm.uom &&
267
269
  itm.releaseQty <= i.remainQty
268
270
  )
269
- return {
270
- ...itm,
271
- releaseUomValue: (foundProductInv.remainUomValue / foundProductInv.remainQty) * itm.releaseQty,
272
- status: foundProductInv ? 'suffice' : 'insufficient'
273
- }
271
+ return { ...itm, releaseUomValue: (foundProductInv.remainUomValue / foundProductInv.remainQty) * itm.releaseQty, status: foundProductInv ? 'suffice' : 'insufficient' }
274
272
  })
275
273
 
276
274
  let insufficient = draftOrder.orderProducts.find(op => op.status == 'insufficient')
@@ -279,6 +277,10 @@ export class DraftReleaseGoodMutation {
279
277
  let releaseGood = { ...draftOrder }
280
278
  delete releaseGood.id
281
279
  delete releaseGood.name
280
+ delete releaseGood.createdAt
281
+ delete releaseGood.createdBy
282
+ delete releaseGood.updatedAt
283
+ delete releaseGood.updatedBy
282
284
 
283
285
  let orderInventories = []
284
286
 
@@ -495,6 +497,7 @@ export async function createDraftReleaseGoodFunction(
495
497
  updater: user
496
498
  })
497
499
 
500
+
498
501
  // // 3. Create draft release good product
499
502
  await upsertDraftReleaseGoodProducts(
500
503
  domain,
@@ -629,7 +632,6 @@ export async function upsertDraftReleaseGoodProducts(
629
632
  relations: [
630
633
  'orderProducts',
631
634
  'orderProducts.product',
632
- 'orderProducts.productDetail',
633
635
  'orderProducts.productBundle',
634
636
  'orderProducts.creator',
635
637
  'orderProducts.updater'
@@ -731,8 +733,8 @@ export async function upsertDraftReleaseGoodProducts(
731
733
  updatePatch['packingType'] = op?.packingType
732
734
  ? op.packingType
733
735
  : product?.packingType
734
- ? product.packingType
735
- : productBundle.packingType
736
+ ? product.packingType
737
+ : productBundle.packingType
736
738
  updatePatch['uom'] = op?.uom ? op.uom : product?.primaryUnit ? product.primaryUnit : 'UNIT'
737
739
  updatePatch['uomValue'] = op?.uomValue ? op.uomValue : product?.primaryValue ? product.primaryValue : 0
738
740
 
@@ -255,7 +255,6 @@ export async function getDraftReleaseGoodFunction(_: any, name: any, context: an
255
255
  'releaseGood',
256
256
  'orderProducts',
257
257
  'orderProducts.product',
258
- 'orderProducts.productDetail',
259
258
  'orderProducts.productBundle',
260
259
  'shippingOrder',
261
260
  'bizplace',
@@ -317,7 +316,11 @@ export async function getDraftReleaseGoodFunction(_: any, name: any, context: an
317
316
 
318
317
  result.orderProducts = result.orderProducts.map(itm => {
319
318
  let foundProductInv = productInventory?.items.find(
320
- i => i.productDetailId == itm?.productDetail?.id || i.productId == itm?.productBundle?.id
319
+ i =>
320
+ (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&
321
+ i.packingType == itm.packingType &&
322
+ i.packingSize == itm.packingSize &&
323
+ i.uom == itm.uom
321
324
  )
322
325
  return {
323
326
  ...itm,
@@ -327,9 +330,6 @@ export async function getDraftReleaseGoodFunction(_: any, name: any, context: an
327
330
  brand: foundProductInv.productBrand,
328
331
  sku: foundProductInv.productSKU
329
332
  },
330
- productDetail: itm.productDetail || {
331
- id: foundProductInv.productDetailId
332
- },
333
333
  groupType: foundProductInv ? foundProductInv.groupType : 'SINGLE',
334
334
  remainQty: foundProductInv ? foundProductInv.remainQty : 0,
335
335
  remainUomValue: foundProductInv ? foundProductInv.remainUomValue : 0,
@@ -237,10 +237,6 @@ export class DraftReleaseGood {
237
237
  @Field({ nullable: true })
238
238
  packageId: string
239
239
 
240
- @Column({ nullable: true })
241
- @Field({ nullable: true })
242
- source: string
243
-
244
240
  @ManyToOne(type => ContactPoint)
245
241
  @Field(type => ContactPoint, { nullable: true })
246
242
  deliverTo: ContactPoint
@@ -11,7 +11,7 @@ import {
11
11
  } from 'typeorm'
12
12
 
13
13
  import { User } from '@things-factory/auth-base'
14
- import { Product, ProductDetail } from '@things-factory/product-base'
14
+ import { Product } from '@things-factory/product-base'
15
15
  import { Domain } from '@things-factory/shell'
16
16
 
17
17
  import { Invoice } from '../invoice/invoice'
@@ -77,10 +77,6 @@ export class InvoiceProduct {
77
77
  @Field({ nullable: true })
78
78
  shippingFeePaidByCustomer: number
79
79
 
80
- @ManyToOne(type => ProductDetail, { nullable: true })
81
- @Field({ nullable: true })
82
- productDetail: ProductDetail
83
-
84
80
  @CreateDateColumn()
85
81
  @Field()
86
82
  createdAt: Date
@@ -286,7 +286,6 @@ export class OrderInventoryQuery {
286
286
  .leftJoinAndSelect('oi.bizplace', 'bizplace')
287
287
  .leftJoinAndSelect('oi.inventory', 'inventory')
288
288
  .leftJoinAndSelect('inventory.product', 'product')
289
- .leftJoinAndSelect('inventory.productDetail', 'productDetail')
290
289
  .leftJoinAndSelect('oi.creator', 'creator')
291
290
  .leftJoinAndSelect('oi.updater', 'updater')
292
291
 
@@ -300,7 +299,6 @@ export class OrderInventoryQuery {
300
299
  releaseGoodName: item.releaseGood.name,
301
300
  palletId: item.inventory.palletId,
302
301
  productId: item.inventory.product.id,
303
- productDetailId: item.inventory.productDetail.id,
304
302
  productName: item.inventory.product.name,
305
303
  productSKU: item.inventory.product.sku,
306
304
  productBrand: item.inventory.product.brand,
@@ -41,9 +41,6 @@ export class NewOrderInventory {
41
41
  @Field(type => NewProduct, { nullable: true })
42
42
  product: NewProduct
43
43
 
44
- @Field(type => ObjectRef, { nullable: true })
45
- productDetail: ObjectRef
46
-
47
44
  @Field({ nullable: true })
48
45
  productSKU: string
49
46
 
@@ -203,9 +200,6 @@ export class OrderInventoryPatch {
203
200
  @Field({ nullable: true })
204
201
  productId: string
205
202
 
206
- @Field({ nullable: true })
207
- productDetailId: string
208
-
209
203
  @Field({ nullable: true })
210
204
  orderProductId: string
211
205
 
@@ -13,7 +13,7 @@ import {
13
13
 
14
14
  import { User } from '@things-factory/auth-base'
15
15
  import { Bizplace } from '@things-factory/biz-base'
16
- import { Product, ProductDetail} from '@things-factory/product-base'
16
+ import { Product } from '@things-factory/product-base'
17
17
  import { Domain } from '@things-factory/shell'
18
18
  import { Inventory, Location } from '@things-factory/warehouse-base'
19
19
 
@@ -341,13 +341,6 @@ export class OrderInventory {
341
341
  @Field({ nullable: true })
342
342
  loadedAt: Date
343
343
 
344
- @ManyToOne(type => ProductDetail, { nullable: true })
345
- @Field({ nullable: true })
346
- productDetail: ProductDetail
347
-
348
- @Field({ nullable: true })
349
- productDetailId: String
350
-
351
344
  @Field({ nullable: true })
352
345
  dispatchedAt: Date
353
346
 
@@ -26,7 +26,6 @@ export class OrderProductQuery {
26
26
 
27
27
  let qb: SelectQueryBuilder<OrderProduct> = await getRepository(OrderProduct).createQueryBuilder('op')
28
28
  qb.leftJoinAndSelect('op.product', 'product')
29
- .leftJoinAndSelect('op.productDetail', 'productDetail')
30
29
  .leftJoinAndSelect('op.domain', 'domain')
31
30
  .leftJoinAndSelect('op.bizplace', 'bizplace')
32
31
  .leftJoinAndSelect('bizplace.company', 'company')
@@ -84,9 +84,6 @@ export class OrderProductPatch {
84
84
  @Field(type => ObjectRef, { nullable: true })
85
85
  toInventory: ObjectRef
86
86
 
87
- @Field(type => ObjectRef, { nullable: true })
88
- productDetail: ObjectRef
89
-
90
87
  @Field(type => InboundProduct, { nullable: true })
91
88
  product: InboundProduct
92
89
 
@@ -228,9 +225,6 @@ export class NewOrderProduct {
228
225
  @Field(type => ObjectRef, { nullable: true })
229
226
  toInventory: ObjectRef
230
227
 
231
- @Field(type => ObjectRef, { nullable: true })
232
- productDetail: ObjectRef
233
-
234
228
  @Field(type => InboundProduct, { nullable: true })
235
229
  product: InboundProduct
236
230
 
@@ -12,7 +12,7 @@ import {
12
12
 
13
13
  import { User } from '@things-factory/auth-base'
14
14
  import { Bizplace } from '@things-factory/biz-base'
15
- import { Product, ProductDetail } from '@things-factory/product-base'
15
+ import { Product } from '@things-factory/product-base'
16
16
  import { Domain } from '@things-factory/shell'
17
17
  import { Inventory } from '@things-factory/warehouse-base'
18
18
 
@@ -200,10 +200,6 @@ export class OrderVas {
200
200
  @Field()
201
201
  updatedAt: Date
202
202
 
203
- @ManyToOne(type => ProductDetail, { nullable: true })
204
- @Field({ nullable: true })
205
- productDetail: ProductDetail
206
-
207
203
  @ManyToOne(type => User)
208
204
  @Field(type => User, { nullable: true })
209
205
  creator: User
@@ -217,5 +213,4 @@ export class OrderVas {
217
213
 
218
214
  @RelationId((orderVas: OrderVas) => orderVas.updater)
219
215
  updaterId: string
220
-
221
216
  }
@@ -205,30 +205,32 @@ export class OtherQuery {
205
205
 
206
206
  let packageUomValue = availableItem ? availableItem.remainUomValue / availableItem.remainQty : null
207
207
  const newOrderInventory: any = {
208
- product:
209
- total > 0 ? { id: items[0].productId, sku: items[0].productSKU, name: items[0].productName } : { id: null },
210
- productDetail: total > 0 ? { id: items[0].productDetailId } : { id: null },
211
- inventory:
212
- total > 0
213
- ? {
214
- ...items[0],
215
- remainQty: total > 0 ? items[0].remainQty : null,
216
- remainUomValue: total > 0 ? items[0].remainUomValue : null,
217
- remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : ''
208
+ product: availableItem
209
+ ? {
210
+ id: availableItem.productId,
211
+ sku: availableItem.productSKU,
212
+ name: availableItem.productName
218
213
  }
219
- : null,
220
- productId: total > 0 ? items[0].productId : null,
221
- productDetailID: total > 0 ? items[0].productDetailId : null,
222
- productSKU: total > 0 ? items[0].productSKU : orderInventory.productSKU,
223
- productName: total > 0 ? items[0].productName : null,
224
- uom: total > 0 ? items[0].uom : null,
225
- remainQty: total > 0 ? items[0].remainQty : null,
226
- remainUomValue: total > 0 ? items[0].remainUomValue : null,
227
- remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : '',
228
- batchId: total > 0 ? items[0].batchId : null,
229
- batchIdRef: total > 0 ? items[0].batchIdRef : null,
230
- packingType: total > 0 ? items[0].packingType : orderInventory.packingType,
231
- packingSize: total > 0 ? items[0].packingSize : 1,
214
+ : { id: null },
215
+ inventory: availableItem
216
+ ? {
217
+ ...availableItem,
218
+ remainQty: availableItem ? availableItem.remainQty : null,
219
+ remainUomValue: availableItem ? availableItem.remainUomValue : null,
220
+ remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : ''
221
+ }
222
+ : null,
223
+ productId: availableItem ? availableItem.productId : null,
224
+ productSKU: availableItem ? availableItem.productSKU : orderInventory.productSKU,
225
+ productName: availableItem ? availableItem.productName : null,
226
+ uom: availableItem ? availableItem.uom : null,
227
+ remainQty: availableItem ? availableItem.remainQty : null,
228
+ remainUomValue: availableItem ? availableItem.remainUomValue : null,
229
+ remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : '',
230
+ batchId: availableItem ? availableItem.batchId : null,
231
+ batchIdRef: availableItem ? availableItem.batchIdRef : null,
232
+ packingType: availableItem ? availableItem.packingType : orderInventory.packingType,
233
+ packingSize: availableItem ? availableItem.packingSize : 1,
232
234
  releaseQty: orderInventory.releaseQty
233
235
  ? Number.isInteger(orderInventory.releaseQty)
234
236
  ? orderInventory.releaseQty
@@ -352,7 +354,7 @@ export class OtherQuery {
352
354
  let productDetail: ProductDetail
353
355
  const hasConditions: boolean = Boolean(
354
356
  (orderProduct?.packingType && orderProduct?.packingType.trim() != '') ||
355
- (orderProduct?.uom && orderProduct?.uom.trim() != '')
357
+ (orderProduct?.uom && orderProduct?.uom.trim() != '')
356
358
  )
357
359
  let productDetailCondition: any = { product: foundProduct }
358
360
 
@@ -375,8 +377,8 @@ export class OtherQuery {
375
377
  ? productDetail.uomValue
376
378
  : null
377
379
  : orderProduct?.uomValue
378
- ? orderProduct.uomValue
379
- : productDetail.uomValue
380
+ ? orderProduct.uomValue
381
+ : productDetail.uomValue
380
382
 
381
383
  newOrderProduct = {
382
384
  ...orderProduct,
@@ -482,7 +484,7 @@ export class OtherQuery {
482
484
  let productDetail: ProductDetail
483
485
  const hasConditions: boolean = Boolean(
484
486
  (orderProduct?.packingType && orderProduct?.packingType.trim() != '') ||
485
- (orderProduct?.uom && orderProduct?.uom.trim() != '')
487
+ (orderProduct?.uom && orderProduct?.uom.trim() != '')
486
488
  )
487
489
  let productDetailCondition: any = { product: foundProduct }
488
490
 
@@ -505,8 +507,8 @@ export class OtherQuery {
505
507
  ? productDetail.uomValue
506
508
  : null
507
509
  : orderProduct?.uomValue
508
- ? orderProduct.uomValue
509
- : productDetail.uomValue
510
+ ? orderProduct.uomValue
511
+ : productDetail.uomValue
510
512
 
511
513
  newOrderProduct = {
512
514
  ...orderProduct,
@@ -526,7 +528,6 @@ export class OtherQuery {
526
528
  primaryUnit: productDetail?.uom ? productDetail.uom : null,
527
529
  primaryValue: productDetail?.uomValue ? productDetail.uomValue : null
528
530
  },
529
- productDetail,
530
531
  totalUomValue:
531
532
  orderProduct.packQty > 0
532
533
  ? uomValue
@@ -19,9 +19,6 @@ export class InventoryProductGroup {
19
19
  @Field({ nullable: true })
20
20
  productId: string
21
21
 
22
- @Field({ nullable: true })
23
- productDetailId: string
24
-
25
22
  @Field({ nullable: true })
26
23
  batchId: string
27
24
 
@@ -69,14 +69,7 @@ export class PurchaseOrderMutation {
69
69
 
70
70
  const findPurchaseOrder: PurchaseOrder = await getRepository(PurchaseOrder).findOne({
71
71
  where: { domain, id },
72
- relations: [
73
- 'orderProducts',
74
- 'orderProducts.product',
75
- 'orderProducts.productDetail',
76
- 'bufferLocation',
77
- 'bizplace',
78
- 'domain'
79
- ]
72
+ relations: ['orderProducts', 'orderProducts.product', 'bufferLocation', 'bizplace', 'domain']
80
73
  })
81
74
 
82
75
  // const findPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).findOne({id}, { relations:['bizplace']})
@@ -425,7 +418,6 @@ export async function upsertPurchaseOrderProducts(
425
418
  const bizplaceRepo: Repository<Product> = tx?.getRepository(Bizplace) || getRepository(Bizplace)
426
419
  const orderProductRepo: Repository<OrderProduct> = tx?.getRepository(OrderProduct) || getRepository(OrderProduct)
427
420
  const productRepo: Repository<Product> = tx?.getRepository(Product) || getRepository(Product)
428
- const productDetailRepo: Repository<Product> = tx?.getRepository(ProductDetail) || getRepository(ProductDetail)
429
421
 
430
422
  // // Remove all existing order products that do not exist in current input
431
423
  let removeOP = purchaseOrder.orderProducts.filter(
@@ -451,7 +443,6 @@ export async function upsertPurchaseOrderProducts(
451
443
  bizplace: bizplace,
452
444
  name: op?.id ? op.name : OrderNoGenerator.orderProduct(),
453
445
  product: await productRepo.findOne(op.product.id),
454
- productDetail: await productDetailRepo.findOne(op.productDetail.id),
455
446
  packingSize: foundProductDetail?.packingSize || 1,
456
447
  purchaseOrder: purchaseOrder,
457
448
  status: purchaseOrder.status,
@@ -62,7 +62,6 @@ export async function getPurchaseOrderFunction(_: any, name: any, context: any,
62
62
  'supplier',
63
63
  'orderProducts',
64
64
  'orderProducts.product',
65
- 'orderProducts.productDetail',
66
65
  'otherCharges',
67
66
  'bufferLocation',
68
67
  'bizplace',