@things-factory/warehouse-base 4.3.74 → 4.3.78

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.
@@ -1 +1 @@
1
- {"version":3,"file":"location-query.js","sourceRoot":"","sources":["../../../server/service/location/location-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"location-query.js","sourceRoot":"","sources":["../../../server/service/location/location-query.ts"],"names":[],"mappings":"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"}
@@ -19,16 +19,16 @@ const warehouse_1 = require("../warehouse/warehouse");
19
19
  let Location = class Location {
20
20
  constructor(obj) {
21
21
  if (obj) {
22
- this.id = obj.Location_id;
23
- this.name = obj.Location_name;
24
- this.description = obj.Location_description;
25
- this.type = obj.Location_type;
26
- this.zone = obj.Location_zone;
27
- this.row = obj.Location_row;
28
- this.column = obj.Location_column;
29
- this.shelf = obj.Location_shelf;
30
- this.status = obj.Location_status;
31
- this.updatedAt = obj.Location_updated_at;
22
+ this.id = obj.location_id;
23
+ this.name = obj.location_name;
24
+ this.description = obj.location_description;
25
+ this.type = obj.location_type;
26
+ this.zone = obj.location_zone;
27
+ this.row = obj.location_row;
28
+ this.column = obj.location_column;
29
+ this.shelf = obj.location_shelf;
30
+ this.status = obj.location_status;
31
+ this.updatedAt = obj.location_updated_at;
32
32
  }
33
33
  }
34
34
  };
@@ -20,13 +20,13 @@ const location_1 = require("../location/location");
20
20
  let Warehouse = class Warehouse {
21
21
  constructor(obj) {
22
22
  if (obj) {
23
- this.id = obj.Warehouse_id;
24
- this.name = obj.Warehouse_name;
25
- this.locations = obj.Warehouse_locations;
26
- this.type = obj.Warehouse_type;
27
- this.description = obj.Warehouse_description;
28
- this.createdAt = obj.Warehouse_created_at;
29
- this.updatedAt = obj.Warehouse_updated_at;
23
+ this.id = obj.warehouse_id;
24
+ this.name = obj.warehouse_name;
25
+ this.locations = obj.warehouse_locations;
26
+ this.type = obj.warehouse_type;
27
+ this.description = obj.warehouse_description;
28
+ this.createdAt = obj.warehouse_created_at;
29
+ this.updatedAt = obj.warehouse_updated_at;
30
30
  }
31
31
  }
32
32
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/warehouse-base",
3
- "version": "4.3.74",
3
+ "version": "4.3.78",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,12 +24,12 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/biz-base": "^4.3.74",
28
- "@things-factory/id-rule-base": "^4.3.74",
29
- "@things-factory/integration-sellercraft": "^4.3.74",
30
- "@things-factory/marketplace-base": "^4.3.74",
31
- "@things-factory/product-base": "^4.3.74",
32
- "@things-factory/setting-base": "^4.3.74"
27
+ "@things-factory/biz-base": "^4.3.78",
28
+ "@things-factory/id-rule-base": "^4.3.78",
29
+ "@things-factory/integration-sellercraft": "^4.3.78",
30
+ "@things-factory/marketplace-base": "^4.3.78",
31
+ "@things-factory/product-base": "^4.3.78",
32
+ "@things-factory/setting-base": "^4.3.78"
33
33
  },
34
- "gitHead": "f9aee457ecca352c1b3ef6be1656ed73b98af038"
34
+ "gitHead": "90e997e892d476732961326f4731ca47b22a45bc"
35
35
  }
@@ -11,9 +11,20 @@ import { INVENTORY_STATUS, LOCATION_TYPE } from '../../constants'
11
11
  import { InventoryChange } from '../inventory-change/inventory-change'
12
12
  import { Inventory } from './inventory'
13
13
  import { InventoryBundleGroupDetail, InventoryList } from './inventory-types'
14
+ import { logger } from '@things-factory/env'
14
15
 
15
16
  @Resolver(Inventory)
16
17
  export class InventoryQuery {
18
+ /**
19
+ * Combined single query resolver to perform extraction of data with or without pagination
20
+ * @param context
21
+ * @param filters
22
+ * @param pagination
23
+ * @param sortings
24
+ * @param locationSortingRules
25
+ * @param exportItem
26
+ * @returns
27
+ */
17
28
  @Directive('@privilege(category: "inventory", privilege: "query")')
18
29
  @Directive('@transaction')
19
30
  @Query(returns => InventoryList)
@@ -22,16 +33,23 @@ export class InventoryQuery {
22
33
  @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
23
34
  @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
24
35
  @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[],
25
- @Arg('locationSortingRules', type => [Sorting], { nullable: true }) locationSortingRules?: Sorting[]
36
+ @Arg('locationSortingRules', type => [Sorting], { nullable: true }) locationSortingRules?: Sorting[],
37
+ @Arg('exportItem', type => Boolean, { nullable: true }) exportItem?: Boolean
26
38
  ): Promise<InventoryList> {
27
39
  const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
40
+ const { page, limit }: { page: number; limit: number } = pagination || {}
28
41
 
29
42
  try {
30
- const productFilters = filters.find(x => x.name == 'product_info')
31
- filters = filters.filter(x => x.name != 'product_info')
43
+ //Define special filters
44
+ const productFilters = filters.find((filter: any) => filter.name == 'productInfo')
45
+ const remainOnlyParam = filters.find((filter: any) => filter.name == 'remainOnly')
46
+ const bizplace = filters.find((filter: any) => filter.name === 'bizplace')
47
+
48
+ filters = filters.filter(x => (['productInfo', 'remainOnly']).indexOf(x.name) < 0)
49
+
32
50
  const params = { filters, pagination }
33
51
 
34
- if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {
52
+ if (!bizplace) {
35
53
  params.filters.push({
36
54
  name: 'bizplace',
37
55
  operator: 'in',
@@ -40,54 +58,44 @@ export class InventoryQuery {
40
58
  })
41
59
  }
42
60
 
43
- const remainOnlyParam: { name: string; operator: string; value: boolean } = params?.filters?.find(
44
- (f: { name: string; operator: string; value: any }) => f.name === 'remainOnly'
45
- )
46
-
47
- let remainOnly: boolean = false
48
- if (typeof remainOnlyParam?.value !== 'undefined') {
49
- remainOnly = remainOnlyParam.value
50
- params.filters = params.filters.filter(
51
- (f: { name: string; operator: string; value: any }) => f.name !== 'remainOnly'
52
- )
53
- }
61
+ const remainOnly: boolean = remainOnlyParam?.value || false
54
62
 
55
- const unlockOnlyParam: { name: string; operator: string; value: boolean } = params?.filters?.find(
56
- (f: { name: string; operator: string; value: any }) => f.name === 'unlockOnly'
57
- )
58
-
59
- let unlockOnly: boolean = false
60
- if (typeof unlockOnlyParam?.value !== 'undefined') {
61
- unlockOnly = unlockOnlyParam.value
62
- params.filters = params.filters.filter(
63
- (f: { name: string; operator: string; value: any }) => f.name !== 'unlockOnly'
64
- )
65
- }
66
-
67
- const qb: SelectQueryBuilder<Inventory> = getRepository(Inventory).createQueryBuilder('iv')
63
+ // Define Query data
64
+ const qb: SelectQueryBuilder<Inventory> = tx.getRepository(Inventory).createQueryBuilder('inventory')
68
65
  buildQuery(qb, params, context)
69
66
 
70
- qb.leftJoinAndSelect('iv.bizplace', 'bizplace')
71
- .leftJoinAndSelect('iv.product', 'product')
72
- .leftJoinAndSelect('iv.warehouse', 'warehouse')
73
- .leftJoinAndSelect('iv.location', 'location')
74
- .leftJoin('iv.inventoryItems', 'ivi')
75
- .loadRelationCountAndMap('iv.inventoryItemCount', 'iv.inventoryItems', 'ivic', qb =>
76
- qb.andWhere('ivic.status = :ivicStatus', {
77
- ivicStatus: INVENTORY_STATUS.STORED
78
- })
67
+ qb.leftJoinAndSelect('inventory.bizplace', 'bizplace')
68
+ .leftJoinAndSelect('inventory.product', 'product')
69
+ .leftJoinAndSelect('product.productDetails', 'productDetail', 'productDetail.id = inventory.product_detail_id')
70
+ .leftJoinAndSelect('inventory.warehouse', 'warehouse')
71
+ .leftJoinAndSelect('inventory.location', 'location')
72
+ .leftJoinAndSelect('inventory.creator', 'creator')
73
+ .leftJoinAndSelect('inventory.updater', 'updater')
74
+
75
+ // To get aggregated serial number in csv and total number of stored serial number
76
+ .leftJoinAndSelect(
77
+ subQuery => {
78
+ return subQuery
79
+ .select('inventoryItems.inventory_id', 'inventory_item_inventory_id')
80
+ .addSelect(`SUM(case when "inventoryItems"."status" = 'STORED' then 1 else 0 end)`, 'inventory_item_count')
81
+ .addSelect(`string_agg(inventoryItems.serial_number, ', ')`, 'serial_numbers')
82
+ .from('inventory_items', 'inventoryItems')
83
+ .where(`inventoryItems.domain_id = :domainId`, { domainId: domain.id })
84
+ .andWhere(`inventoryItems.status = :ivicStatus`, { ivicStatus: INVENTORY_STATUS.STORED })
85
+ .groupBy('inventoryItems.inventory_id')
86
+ },
87
+ 'inventoryItems',
88
+ '"inventoryItems"."inventory_item_inventory_id" = "inventory"."id"'
79
89
  )
80
90
 
91
+ // To get inventory with remaining qty
81
92
  if (remainOnly) {
82
- qb.andWhere('iv.qty > 0')
83
- .andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0')
84
- .andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')
85
- }
86
-
87
- if (unlockOnly) {
88
- qb.andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END = 0')
93
+ qb.andWhere('inventory.qty > 0')
94
+ .andWhere('CASE WHEN inventory.lockedQty IS NULL THEN 0 ELSE inventory.lockedQty END >= 0')
95
+ .andWhere('inventory.qty - CASE WHEN inventory.lockedQty IS NULL THEN 0 ELSE inventory.lockedQty END > 0')
89
96
  }
90
97
 
98
+ // Filter based on multiple product parameters and allow to search in csv format
91
99
  if (productFilters) {
92
100
  let productFilterValue = `%${productFilters.value.toLowerCase()}%`
93
101
  qb.andWhere(qb => {
@@ -95,7 +103,7 @@ export class InventoryQuery {
95
103
  .subQuery()
96
104
  .select()
97
105
  .from(Product, `products`)
98
- .where(`products.id = iv.product_id`)
106
+ .where(`products.id = Inventory.product_id`) // @chrislim Does the uppercase I in Inventory affect? I can see the rest are in lowercase i
99
107
  .andWhere(
100
108
  new Brackets(qb => {
101
109
  qb.where('Lower(products.sku) LIKE :productInfo', { productInfo: productFilterValue })
@@ -109,12 +117,13 @@ export class InventoryQuery {
109
117
  })
110
118
  }
111
119
 
120
+ // Apply sorting based on child data
112
121
  if (sortings?.length !== 0) {
113
122
  const arrChildSortData = ['bizplace', 'product', 'location', 'warehouse', 'zone']
114
123
  const sort = (sortings || []).reduce(
115
124
  (acc, sort) => ({
116
125
  ...acc,
117
- [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'iv.' + sort.name]: sort.desc
126
+ [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'inventory.' + sort.name]: sort.desc
118
127
  ? 'DESC'
119
128
  : 'ASC'
120
129
  }),
@@ -124,45 +133,28 @@ export class InventoryQuery {
124
133
  }
125
134
 
126
135
  if (locationSortingRules?.length > 0) {
127
- locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {
128
- qb.addOrderBy(`location.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
129
- })
136
+ locationSortingRules.forEach((rule) => { qb.addOrderBy(`location.${rule.name}`, rule.desc ? 'DESC' : 'ASC') })
130
137
  }
131
138
 
132
- let [items, total] = await qb.getManyAndCount()
133
- items = await Promise.all(
134
- items.map(async (item: Inventory) => {
135
- let [productDetails, inventoryItems] = await Promise.all([
136
- getRepository(ProductDetail).find({
137
- where: {
138
- product: item.product.id,
139
- packingType: item.packingType,
140
- packingSize: item.packingSize
141
- }
142
- }),
143
- tx.query(
144
- `
145
- SELECT string_agg(ii.serial_number, ', ') AS "serialNumbers"
146
- FROM inventory_items ii
147
- WHERE ii.inventory_id = $1
148
- GROUP BY ii.inventory_id
149
- `,
150
- [item.id]
151
- )
152
- ])
139
+ // Fetch all row for exporting
140
+ if (exportItem != true && page && limit) {
141
+ qb.offset((page - 1) * limit).limit(limit)
142
+ }
153
143
 
154
- item.product['productDetails'] = productDetails
155
- return {
156
- ...item,
157
- remainQty: item.qty - (item.lockedQty ? item.lockedQty : 0),
158
- remainUomValue: item.uomValue - (item.lockedUomValue ? item.lockedUomValue : 0),
159
- serialNumbers: inventoryItems[0]?.serialNumbers
160
- }
161
- })
162
- )
144
+ let items = (await qb.getRawMany()).map(item => {
145
+ return {
146
+ ...new Inventory(item),
147
+ serialNumbers: item.serial_numbers
148
+ }
149
+ })
150
+ let total = await qb.getCount()
163
151
 
164
- return { items, total }
152
+ return {
153
+ items,
154
+ total
155
+ }
165
156
  } catch (error) {
157
+ logger.error(`inventory-query[inventories]: ${error}`)
166
158
  throw error
167
159
  }
168
160
  }
@@ -763,145 +755,6 @@ export class InventoryQuery {
763
755
  return { bundleGroup, bundleSetting }
764
756
  }
765
757
 
766
- @Directive('@privilege(category: "inventory", privilege: "query")')
767
- @Query(returns => InventoryList)
768
- async inventoriesForExport(
769
- @Ctx() context: any,
770
- @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
771
- @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
772
- @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[],
773
- @Arg('locationSortingRules', type => [Sorting], { nullable: true }) locationSortingRules?: Sorting[]
774
- ): Promise<InventoryList> {
775
- const { domain, user }: { domain: Domain; user: User } = context.state
776
- const { page, limit }: { page: number; limit: number } = pagination
777
-
778
- try {
779
- const productFilters = filters.find(x => x.name == 'product_info')
780
- filters = filters.filter(x => x.name != 'product_info')
781
- const params = { filters, pagination }
782
-
783
- if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {
784
- throw new Error('Please select a customer for export.')
785
- }
786
-
787
- const remainOnlyParam: { name: string; operator: string; value: boolean } = params?.filters?.find(
788
- (f: { name: string; operator: string; value: any }) => f.name === 'remainOnly'
789
- )
790
-
791
- let remainOnly: boolean = false
792
- if (typeof remainOnlyParam?.value !== 'undefined') {
793
- remainOnly = remainOnlyParam.value
794
- params.filters = params.filters.filter(
795
- (f: { name: string; operator: string; value: any }) => f.name !== 'remainOnly'
796
- )
797
- }
798
-
799
- const unlockOnlyParam: { name: string; operator: string; value: boolean } = params?.filters?.find(
800
- (f: { name: string; operator: string; value: any }) => f.name === 'unlockOnly'
801
- )
802
-
803
- let unlockOnly: boolean = false
804
- if (typeof unlockOnlyParam?.value !== 'undefined') {
805
- unlockOnly = unlockOnlyParam.value
806
- params.filters = params.filters.filter(
807
- (f: { name: string; operator: string; value: any }) => f.name !== 'unlockOnly'
808
- )
809
- }
810
-
811
- const qb: SelectQueryBuilder<Inventory> = getRepository(Inventory).createQueryBuilder('Inventory')
812
- buildQuery(qb, params, context)
813
-
814
- qb.leftJoinAndSelect('Inventory.bizplace', 'Bizplace')
815
- .leftJoinAndSelect('Inventory.product', 'Product')
816
- .leftJoinAndSelect('Inventory.warehouse', 'Warehouse')
817
- .leftJoinAndSelect('Inventory.location', 'Location')
818
- .leftJoinAndSelect('Inventory.creator', 'Creator')
819
- .leftJoinAndSelect('Inventory.updater', 'Updater')
820
- .leftJoinAndSelect(
821
- subQuery => {
822
- return subQuery
823
- .select('ii.inventory_id', 'inventory_id')
824
- .addSelect(`string_agg(ii.serial_number, ', ')`, 'serial_numbers')
825
- .from('inventory_items', 'ii')
826
- .where(`ii.domain_id = :domainId`, { domainId: domain.id })
827
- .groupBy('ii.inventory_id')
828
- },
829
- 'ii2',
830
- 'ii2.inventory_id = Inventory.id'
831
- )
832
-
833
- if (remainOnly) {
834
- qb.andWhere('Inventory.qty > 0')
835
- .andWhere('CASE WHEN Inventory.locked_qty IS NULL THEN 0 ELSE Inventory.locked_qty END >= 0')
836
- .andWhere('Inventory.qty - CASE WHEN Inventory.locked_qty IS NULL THEN 0 ELSE Inventory.locked_qty END > 0')
837
- }
838
-
839
- if (unlockOnly) {
840
- qb.andWhere('CASE WHEN Inventory.locked_qty IS NULL THEN 0 ELSE Inventory.locked_qty END = 0')
841
- }
842
-
843
- if (productFilters) {
844
- let productFilterValue = `%${productFilters.value.toLowerCase()}%`
845
- qb.andWhere(qb => {
846
- const subQuery = qb
847
- .subQuery()
848
- .select()
849
- .from(Product, `products`)
850
- .where(`products.id = Inventory.product_id`)
851
- .andWhere(
852
- new Brackets(qb => {
853
- qb.where('Lower(products.sku) LIKE :productInfo', { productInfo: productFilterValue })
854
- .orWhere('Lower(products.name) LIKE :productInfo', { productInfo: productFilterValue })
855
- .orWhere('Lower(products.description) LIKE :productInfo', { productInfo: productFilterValue })
856
- .orWhere('Lower(products.brand) LIKE :productInfo', { productInfo: productFilterValue })
857
- })
858
- )
859
- .getQuery()
860
- return `EXISTS ${subQuery}`
861
- })
862
- }
863
-
864
- if (sortings?.length !== 0) {
865
- const arrChildSortData = ['bizplace', 'product', 'location', 'warehouse', 'zone']
866
- const sort = (sortings || []).reduce(
867
- (acc, sort) => ({
868
- ...acc,
869
- [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'Inventory.' + sort.name]: sort.desc
870
- ? 'DESC'
871
- : 'ASC'
872
- }),
873
- {}
874
- )
875
- qb.orderBy(sort)
876
- }
877
-
878
- if (locationSortingRules?.length > 0) {
879
- locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {
880
- qb.addOrderBy(`location.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
881
- })
882
- }
883
-
884
- let items = await qb
885
- .offset((page - 1) * limit)
886
- .limit(limit)
887
- .getRawMany()
888
-
889
- let total = await qb.getCount()
890
-
891
- return {
892
- items: items.map(item => {
893
- return {
894
- ...new Inventory(item),
895
- serialNumbers: item.serial_numbers
896
- }
897
- }),
898
- total
899
- }
900
- } catch (error) {
901
- throw error
902
- }
903
- }
904
-
905
758
  @FieldResolver(type => Domain)
906
759
  async domain(@Root() inventory: Inventory): Promise<Domain> {
907
760
  return await getRepository(Domain).findOne(inventory.domainId)
@@ -295,46 +295,46 @@ export class Inventory {
295
295
 
296
296
  constructor(obj?) {
297
297
  if (obj) {
298
- this.id = obj.Inventory_id
298
+ this.id = obj.inventory_id
299
299
  this.bizplace = {
300
- id: obj.Bizplace_id,
301
- name: obj.Bizplace_name,
302
- description: obj.Bizplace_description
300
+ id: obj.bizplace_id,
301
+ name: obj.bizplace_name,
302
+ description: obj.bizplace_description
303
303
  }
304
304
  this.product = new Product(obj)
305
305
  this.location = new Location(obj)
306
306
  this.warehouse = new Warehouse(obj)
307
- this.name = obj.Inventory_name
308
- this.palletId = obj.Inventory_pallet_id
309
- this.batchId = obj.Inventory_batch_id
310
- this.refOrderId = obj.Inventory_ref_order_id
311
- this.orderProductId = obj.Inventory_order_product_id
312
- this.zone = obj.Inventory_zone
313
- this.costPrice = obj.Inventory_cost_price
314
- this.sellPrice = obj.Inventory_sell_price
315
- this.packingType = obj.Inventory_packing_type
316
- this.unit = obj.Inventory_unit
317
- this.uom = obj.Inventory_uom
318
- this.uomValue = obj.Inventory_uom_value
319
- this.lockedUomValue = obj.Inventory_locked_uom_value
320
- this.qty = obj.Inventory_qty
321
- this.lockedQty = obj.Inventory_locked_qty
322
- this.lastSeq = obj.Inventory_last_seq
323
- this.description = obj.Inventory_description
324
- this.status = obj.Inventory_status
325
- this.otherRef = obj.Inventory_other_ref
326
- this.remark = obj.Inventory_remark
327
- this.createdAt = obj.Inventory_created_at
328
- this.updatedAt = obj.Inventory_updated_at
329
- this.expirationDate = obj.Inventory_expiration_date
330
- this.unitCost = obj.Inventory_unit_cost
331
- this.manufactureYear = obj.Inventory_manufacture_year
332
- this.manufactureDate = obj.Inventory_manufacture_date
333
- this.batchIdRef = obj.Inventory_batch_id_ref
334
- this.cartonId = obj.Inventory_carton_id
335
- this.packingSize = obj.Inventory_packing_size
336
- this.creatorId = obj.Inventory_creator_id
337
- this.updaterId = obj.Inventory_updater_id
307
+ this.name = obj.inventory_name
308
+ this.palletId = obj.inventory_pallet_id
309
+ this.batchId = obj.inventory_batch_id
310
+ this.refOrderId = obj.inventory_ref_order_id
311
+ this.orderProductId = obj.inventory_order_product_id
312
+ this.zone = obj.inventory_zone
313
+ this.costPrice = obj.inventory_cost_price
314
+ this.sellPrice = obj.inventory_sell_price
315
+ this.packingType = obj.inventory_packing_type
316
+ this.unit = obj.inventory_unit
317
+ this.uom = obj.inventory_uom
318
+ this.uomValue = obj.inventory_uom_value
319
+ this.lockedUomValue = obj.inventory_locked_uom_value
320
+ this.qty = obj.inventory_qty
321
+ this.lockedQty = obj.inventory_locked_qty
322
+ this.lastSeq = obj.inventory_last_seq
323
+ this.description = obj.inventory_description
324
+ this.status = obj.inventory_status
325
+ this.otherRef = obj.inventory_other_ref
326
+ this.remark = obj.inventory_remark
327
+ this.createdAt = obj.inventory_created_at
328
+ this.updatedAt = obj.inventory_updated_at
329
+ this.expirationDate = obj.inventory_expiration_date
330
+ this.unitCost = obj.inventory_unit_cost
331
+ this.manufactureYear = obj.inventory_manufacture_year
332
+ this.manufactureDate = obj.inventory_manufacture_date
333
+ this.batchIdRef = obj.inventory_batch_id_ref
334
+ this.cartonId = obj.inventory_carton_id
335
+ this.packingSize = obj.inventory_packing_size
336
+ this.creatorId = obj.inventory_creator_id
337
+ this.updaterId = obj.inventory_updater_id
338
338
  }
339
339
  }
340
340
  }