@things-factory/warehouse-base 4.3.678 → 4.3.679

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.
@@ -177,7 +177,8 @@ let InventoryHistoryQuery = class InventoryHistoryQuery {
177
177
  OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
178
178
  OR Lower(prd.brand) LIKE ANY(ARRAY[${productValue}])
179
179
  OR Lower(prd.brand_sku) LIKE ANY(ARRAY[${productValue}])
180
- )`;
180
+ )
181
+ `;
181
182
  }
182
183
  let productDescQuery = '';
183
184
  if (productDesc) {
@@ -190,7 +191,7 @@ let InventoryHistoryQuery = class InventoryHistoryQuery {
190
191
  await tx.query(`
191
192
  create temp table temp_products AS
192
193
  (
193
- select prd.*, prd.id::varchar as product_id from products prd
194
+ select prd.id, prd.sku, prd.name, prd.description, prd.type, prd.aux_value_1 from products prd
194
195
  inner join bizplaces b on b.id = prd.bizplace_id
195
196
  inner join companies c on c.domain_id = b.domain_id
196
197
  inner join bizplaces b2 on b2.company_id = c.id
@@ -201,124 +202,114 @@ let InventoryHistoryQuery = class InventoryHistoryQuery {
201
202
  create temp table temp_data_src AS
202
203
  (
203
204
  SELECT prd.sku as sku, prd.name AS product_name, prd.description AS product_description, prd.type as product_type, prd.aux_value_1 AS product_aux_value_1, trim(invh.batch_id) as batch_id, invh.product_id,
204
- invh.packing_type, invh.bizplace_id, invh.domain_id,
205
- invh.ref_order_id, invh.order_no, invh.order_ref_no, invh.transaction_type, invh.status, invh.created_at,
205
+ invh.packing_type, invh.bizplace_id,
206
+ invh.order_no, invh.order_ref_no, invh.transaction_type, invh.status, invh.created_at,
206
207
  TRUNC(CAST(invh.qty AS NUMERIC), 3) as qty, TRUNC(CAST(invh.opening_qty AS NUMERIC), 3) as opening_qty,
207
208
  invh.uom, TRUNC(CAST(COALESCE(invh.uom_value, 0) AS NUMERIC), 3) as uom_value, TRUNC(CAST(COALESCE(invh.opening_uom_value, 0) AS NUMERIC), 3) as opening_uom_value
208
- FROM reduced_inventory_histories invh
209
+ FROM inventory_histories invh
209
210
  INNER JOIN temp_products prd ON prd.id = invh.product_id::uuid
210
211
  WHERE
211
- invh.domain_id = $1
212
+ (invh.qty <> 0 OR invh.uom_value <> 0)
213
+ AND invh.domain_id = $1
212
214
  AND invh.bizplace_id = $2
213
215
  AND invh.created_at <= $3::timestamp
214
216
  ${batchNoQuery}
215
217
  )
216
218
  `, [domain.id, bizplace.id, toDate.value]);
217
219
  await tx.query(`
218
- create temp table temp_inv_history as (
219
- SELECT src.sku, src.product_name, src.product_description, src.product_type, src.product_aux_value_1, src.batch_id, src.product_id, src.packing_type, src.uom,
220
- src.bizplace_id, src.domain_id,
221
- TRUNC(CAST(SUM(COALESCE(src.qty,0)) AS NUMERIC), 3) AS qty,
222
- TRUNC(CAST(SUM(COALESCE(src.opening_qty,0)) AS NUMERIC), 3) AS opening_qty,
223
- TRUNC(CAST(SUM(COALESCE(src.uom_value,0)) AS NUMERIC), 3) AS uom_value,
224
- TRUNC(CAST(SUM(COALESCE(src.opening_uom_value,0)) AS NUMERIC), 3) AS opening_uom_value,
220
+ CREATE TEMP TABLE temp_inv_history AS (
221
+ SELECT
222
+ src.sku,
223
+ src.product_name,
224
+ src.product_description,
225
+ src.product_type,
226
+ src.product_aux_value_1,
227
+ src.batch_id,
228
+ src.product_id,
229
+ src.packing_type,
230
+ src.uom,
231
+ src.bizplace_id,
232
+ TRUNC(CAST(SUM(COALESCE(src.qty, 0)) AS NUMERIC), 3) AS qty,
233
+ TRUNC(CAST(SUM(COALESCE(src.opening_qty, 0)) AS NUMERIC), 3) AS opening_qty,
234
+ TRUNC(CAST(SUM(COALESCE(src.uom_value, 0)) AS NUMERIC), 3) AS uom_value,
235
+ TRUNC(CAST(SUM(COALESCE(src.opening_uom_value, 0)) AS NUMERIC), 3) AS opening_uom_value,
225
236
  'Opening Balance' AS order_name,
226
237
  '-' AS ref_no,
227
- '-' as transaction_type,
238
+ '-' AS transaction_type,
228
239
  0 AS rn,
229
- $1::timestamp AS created_at,
230
- $1::date AS created_date
231
- FROM temp_data_src src
232
- WHERE src.created_at < $1::timestamp
233
- GROUP BY src.sku, src.product_name, src.product_description, src.product_type, src.product_aux_value_1, src.batch_id, src.product_id, src.packing_type, src.uom,
234
- src.bizplace_id, src.domain_id
235
- UNION ALL
236
- SELECT sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
237
- domain_id, TRUNC(CAST(sum(qty) AS NUMERIC), 3) as qty, TRUNC(CAST(sum(opening_qty) AS NUMERIC), 3) as opening_qty, TRUNC(CAST(sum(uom_value) AS NUMERIC), 3) as uom_value, TRUNC(CAST(sum(opening_uom_value) AS NUMERIC), 3) as opening_uom_value,
238
- order_name, ref_no, '-' as transaction_type ,1 AS rn, MIN(created_at) - $2::interval as created_at, (MIN(created_at) - $2::interval)::DATE as created_date
239
- FROM (
240
- SELECT invh.sku, invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id, invh.packing_type, invh.bizplace_id,
241
- invh.domain_id,
242
- invh.qty, invh.opening_qty, invh.uom_value, invh.uom, invh.opening_uom_value,
243
- COALESCE(order_no, '-') AS order_name,
244
- COALESCE(order_ref_no, '-') AS ref_no,
245
- COALESCE(invh.transaction_type, '-') AS transaction_type,
246
- invh.created_at,
247
- invh.created_at::date as created_date
248
- FROM temp_data_src invh
249
- WHERE (invh.qty <> 0 OR invh.uom_value <> 0) AND
250
- invh.transaction_type <> 'ADJUSTMENT' AND
251
- invh.transaction_type <> 'PICKING' AND
252
- invh.transaction_type <> 'CANCEL_ORDER' AND
253
- invh.transaction_type <>'NEW'
254
- AND invh.created_at >= $1::timestamp
255
- ) AS inv_movement
256
- GROUP BY sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
257
- domain_id, order_name, ref_no, rn
258
- UNION ALL
259
- SELECT sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
260
- domain_id, TRUNC(CAST(sum(qty) AS NUMERIC), 3) as qty, TRUNC(CAST(sum(opening_qty) AS NUMERIC), 3) as opening_qty, TRUNC(CAST(sum(uom_value) AS NUMERIC), 3) as uom_value, TRUNC(CAST(sum(opening_uom_value) AS NUMERIC), 3) as opening_uom_value,
261
- CASE
262
- WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN order_no
263
- ELSE order_name
264
- END AS order_name,
240
+ $1::timestamp AS created_at
241
+ FROM temp_data_src src
242
+ WHERE src.created_at < $1::timestamp
243
+ GROUP BY
244
+ src.sku,
245
+ src.product_name,
246
+ src.product_description,
247
+ src.product_type,
248
+ src.product_aux_value_1,
249
+ src.batch_id,
250
+ src.product_id,
251
+ src.packing_type,
252
+ src.uom,
253
+ src.bizplace_id
254
+
255
+ UNION ALL
256
+
257
+ -- Part 2: All Inventory Movements (combined into a single scan)
258
+ -- This SELECT statement replaces the three separate UNION ALLs for
259
+ -- transaction movements, using CASE statements to handle different
260
+ -- transaction types and statuses in a single pass.
261
+ SELECT
262
+ sku,
263
+ product_name,
264
+ product_description,
265
+ product_type,
266
+ product_aux_value_1,
267
+ batch_id,
268
+ product_id,
269
+ packing_type,
270
+ uom,
271
+ bizplace_id,
272
+ TRUNC(CAST(SUM(
273
+ -- qty and uom_value logic for all cases combined
274
+ CASE
275
+ WHEN transaction_type = 'ADJUSTMENT' AND status = 'MISSING' THEN -opening_qty
276
+ ELSE qty
277
+ END
278
+ ) AS NUMERIC), 3) AS qty,
279
+ TRUNC(CAST(SUM(opening_qty) AS NUMERIC), 3) AS opening_qty,
280
+ TRUNC(CAST(SUM(
281
+ CASE
282
+ WHEN transaction_type = 'ADJUSTMENT' AND status = 'MISSING' THEN -opening_uom_value
283
+ ELSE uom_value
284
+ END
285
+ ) AS NUMERIC), 3) AS uom_value,
286
+ TRUNC(CAST(SUM(opening_uom_value) AS NUMERIC), 3) AS opening_uom_value,
265
287
  CASE
266
- WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN ref_no
267
- ELSE order_name
268
- END AS ref_no,
269
- transaction_type,
270
- 1 AS rn,
271
- created_at - $2::interval as created_at,
272
- created_at::date as created_date
273
- FROM (
274
- SELECT
275
- invh.sku, invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id,
276
- invh.packing_type, invh.uom, invh.bizplace_id, invh.domain_id,
277
- invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value,
278
- invh.transaction_type,
279
- invh.transaction_type AS order_name,
280
- order_no,
281
- order_ref_no AS ref_no,
282
- invh.created_at,
283
- invh.created_at::date as created_date
284
- FROM temp_data_src invh
285
- WHERE (invh.qty <> 0 OR invh.uom_value <> 0) AND
286
- (invh.transaction_type = 'ADJUSTMENT'
287
- OR invh.transaction_type = 'PICKING'
288
- OR invh.transaction_type = 'CANCEL_ORDER'
289
- OR invh.transaction_type = 'NEW')
290
- AND invh.created_at >= $1::timestamp
291
- ) AS inv_movement
292
- GROUP BY
293
- sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
294
- domain_id, inv_movement.transaction_type,inv_movement.order_no,order_name, ref_no, rn, created_at
295
- UNION ALL
296
- SELECT sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
297
- domain_id, TRUNC(CAST(sum(-opening_qty) AS NUMERIC), 3) as qty, TRUNC(CAST(sum(opening_qty) AS NUMERIC), 3) as opening_qty, TRUNC(CAST(sum(-opening_uom_value) AS NUMERIC), 3) as uom_value, TRUNC(CAST(sum(opening_uom_value) AS NUMERIC), 3) as opening_uom_value,
298
- order_name, ref_no, transaction_type,1 AS rn, created_at - $2::interval as created_at, created_at::date as created_date
299
- FROM (
300
- SELECT invh.sku, invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id, invh.packing_type, invh.uom, invh.bizplace_id,
301
- invh.domain_id,
302
- invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value,
303
- invh.transaction_type as transaction_type,
304
- invh.transaction_type AS order_name,
305
- invh.transaction_type AS ref_no,
306
- invh.created_at,
307
- invh.created_at:: date as created_date
308
- FROM temp_data_src invh
309
- WHERE
310
- invh.transaction_type = 'ADJUSTMENT'
311
- AND invh.status = 'MISSING'
312
- AND invh.created_at >= $1::timestamp
313
- ) AS inv_movement
314
- GROUP BY sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
315
- domain_id, order_name, ref_no, inv_movement.transaction_type,rn, created_at
316
- )`, [fromDate.value, tzoffset]);
288
+ WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN order_no
289
+ WHEN transaction_type IN ('ADJUSTMENT', 'NEW') THEN transaction_type
290
+ ELSE COALESCE(order_no, '-')
291
+ END AS order_name,
292
+ CASE
293
+ WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN order_ref_no
294
+ WHEN transaction_type IN ('ADJUSTMENT', 'NEW') THEN transaction_type
295
+ ELSE COALESCE(order_ref_no, '-')
296
+ END AS ref_no,
297
+ transaction_type,
298
+ 1 AS rn,
299
+ MIN(created_at) - $2::interval AS created_at
300
+ FROM temp_data_src
301
+ WHERE
302
+ created_at >= $1::timestamp
303
+ GROUP BY
304
+ sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id,
305
+ packing_type, uom, bizplace_id,
306
+ order_name, ref_no, transaction_type
307
+ )`, [fromDate.value, tzoffset]);
317
308
  let result;
318
309
  if ((byPallet === null || byPallet === void 0 ? void 0 : byPallet.value) === true) {
319
310
  result = await tx.query(`
320
311
  select sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
321
- domain_id, qty, opening_qty, round(uom_value::decimal,2) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at::date
312
+ qty, opening_qty, round(uom_value::decimal,2) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at::date
322
313
  from temp_inv_history invh where
323
314
  exists (
324
315
  select 1 from (
@@ -334,10 +325,10 @@ let InventoryHistoryQuery = class InventoryHistoryQuery {
334
325
  else {
335
326
  result = await tx.query(`
336
327
  select sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
337
- domain_id, sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value, order_name, ref_no, transaction_type, created_at::date
328
+ sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value, order_name, ref_no, transaction_type, created_at::date
338
329
  from(
339
330
  select sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
340
- domain_id, qty, opening_qty, TRUNC(CAST(uom_value AS NUMERIC), 3) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at::date
331
+ qty, opening_qty, TRUNC(CAST(uom_value AS NUMERIC), 3) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at
341
332
  from temp_inv_history invh where
342
333
  exists (
343
334
  select 1 from (
@@ -349,7 +340,7 @@ let InventoryHistoryQuery = class InventoryHistoryQuery {
349
340
  )
350
341
  ) foo
351
342
  GROUP BY sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
352
- domain_id, order_name, ref_no, transaction_type, created_at
343
+ order_name, ref_no, transaction_type, created_at
353
344
  ORDER BY sku asc, product_name asc, product_description asc, packing_type asc, batch_id asc, uom asc, created_at asc,
354
345
  CASE
355
346
  WHEN transaction_type = 'CANCEL_ORDER' THEN 2
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-history-query.js","sourceRoot":"","sources":["../../../server/service/inventory-history/inventory-history-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory-history-query.js","sourceRoot":"","sources":["../../../server/service/inventory-history/inventory-history-query.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/warehouse-base",
3
- "version": "4.3.678",
3
+ "version": "4.3.679",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -32,5 +32,5 @@
32
32
  "@things-factory/product-base": "^4.3.677",
33
33
  "@things-factory/setting-base": "^4.3.677"
34
34
  },
35
- "gitHead": "b3d9928b406cee3e23e096cb00cf89ece8231870"
35
+ "gitHead": "dbd3c422ea6f5239def218b70aac8302eac238f5"
36
36
  }
@@ -235,7 +235,8 @@ export class InventoryHistoryQuery {
235
235
  OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
236
236
  OR Lower(prd.brand) LIKE ANY(ARRAY[${productValue}])
237
237
  OR Lower(prd.brand_sku) LIKE ANY(ARRAY[${productValue}])
238
- )`
238
+ )
239
+ `
239
240
  }
240
241
 
241
242
  let productDescQuery = ''
@@ -247,12 +248,11 @@ export class InventoryHistoryQuery {
247
248
  if (hasTransactionOrBalanceFilter && hasTransactionOrBalanceFilter.value) {
248
249
  hasTransactionOrBalanceQuery = 'and (src.totalRow > 1 or src.totalQty <> 0)'
249
250
  }
250
-
251
251
  await tx.query(
252
252
  `
253
253
  create temp table temp_products AS
254
254
  (
255
- select prd.*, prd.id::varchar as product_id from products prd
255
+ select prd.id, prd.sku, prd.name, prd.description, prd.type, prd.aux_value_1 from products prd
256
256
  inner join bizplaces b on b.id = prd.bizplace_id
257
257
  inner join companies c on c.domain_id = b.domain_id
258
258
  inner join bizplaces b2 on b2.company_id = c.id
@@ -261,20 +261,20 @@ export class InventoryHistoryQuery {
261
261
  )`,
262
262
  [bizplace.id]
263
263
  )
264
-
265
264
  await tx.query(
266
265
  `
267
266
  create temp table temp_data_src AS
268
267
  (
269
268
  SELECT prd.sku as sku, prd.name AS product_name, prd.description AS product_description, prd.type as product_type, prd.aux_value_1 AS product_aux_value_1, trim(invh.batch_id) as batch_id, invh.product_id,
270
- invh.packing_type, invh.bizplace_id, invh.domain_id,
271
- invh.ref_order_id, invh.order_no, invh.order_ref_no, invh.transaction_type, invh.status, invh.created_at,
269
+ invh.packing_type, invh.bizplace_id,
270
+ invh.order_no, invh.order_ref_no, invh.transaction_type, invh.status, invh.created_at,
272
271
  TRUNC(CAST(invh.qty AS NUMERIC), 3) as qty, TRUNC(CAST(invh.opening_qty AS NUMERIC), 3) as opening_qty,
273
272
  invh.uom, TRUNC(CAST(COALESCE(invh.uom_value, 0) AS NUMERIC), 3) as uom_value, TRUNC(CAST(COALESCE(invh.opening_uom_value, 0) AS NUMERIC), 3) as opening_uom_value
274
- FROM reduced_inventory_histories invh
273
+ FROM inventory_histories invh
275
274
  INNER JOIN temp_products prd ON prd.id = invh.product_id::uuid
276
275
  WHERE
277
- invh.domain_id = $1
276
+ (invh.qty <> 0 OR invh.uom_value <> 0)
277
+ AND invh.domain_id = $1
278
278
  AND invh.bizplace_id = $2
279
279
  AND invh.created_at <= $3::timestamp
280
280
  ${batchNoQuery}
@@ -285,105 +285,94 @@ export class InventoryHistoryQuery {
285
285
 
286
286
  await tx.query(
287
287
  `
288
- create temp table temp_inv_history as (
289
- SELECT src.sku, src.product_name, src.product_description, src.product_type, src.product_aux_value_1, src.batch_id, src.product_id, src.packing_type, src.uom,
290
- src.bizplace_id, src.domain_id,
291
- TRUNC(CAST(SUM(COALESCE(src.qty,0)) AS NUMERIC), 3) AS qty,
292
- TRUNC(CAST(SUM(COALESCE(src.opening_qty,0)) AS NUMERIC), 3) AS opening_qty,
293
- TRUNC(CAST(SUM(COALESCE(src.uom_value,0)) AS NUMERIC), 3) AS uom_value,
294
- TRUNC(CAST(SUM(COALESCE(src.opening_uom_value,0)) AS NUMERIC), 3) AS opening_uom_value,
288
+ CREATE TEMP TABLE temp_inv_history AS (
289
+ SELECT
290
+ src.sku,
291
+ src.product_name,
292
+ src.product_description,
293
+ src.product_type,
294
+ src.product_aux_value_1,
295
+ src.batch_id,
296
+ src.product_id,
297
+ src.packing_type,
298
+ src.uom,
299
+ src.bizplace_id,
300
+ TRUNC(CAST(SUM(COALESCE(src.qty, 0)) AS NUMERIC), 3) AS qty,
301
+ TRUNC(CAST(SUM(COALESCE(src.opening_qty, 0)) AS NUMERIC), 3) AS opening_qty,
302
+ TRUNC(CAST(SUM(COALESCE(src.uom_value, 0)) AS NUMERIC), 3) AS uom_value,
303
+ TRUNC(CAST(SUM(COALESCE(src.opening_uom_value, 0)) AS NUMERIC), 3) AS opening_uom_value,
295
304
  'Opening Balance' AS order_name,
296
305
  '-' AS ref_no,
297
- '-' as transaction_type,
306
+ '-' AS transaction_type,
298
307
  0 AS rn,
299
- $1::timestamp AS created_at,
300
- $1::date AS created_date
301
- FROM temp_data_src src
302
- WHERE src.created_at < $1::timestamp
303
- GROUP BY src.sku, src.product_name, src.product_description, src.product_type, src.product_aux_value_1, src.batch_id, src.product_id, src.packing_type, src.uom,
304
- src.bizplace_id, src.domain_id
305
- UNION ALL
306
- SELECT sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
307
- domain_id, TRUNC(CAST(sum(qty) AS NUMERIC), 3) as qty, TRUNC(CAST(sum(opening_qty) AS NUMERIC), 3) as opening_qty, TRUNC(CAST(sum(uom_value) AS NUMERIC), 3) as uom_value, TRUNC(CAST(sum(opening_uom_value) AS NUMERIC), 3) as opening_uom_value,
308
- order_name, ref_no, '-' as transaction_type ,1 AS rn, MIN(created_at) - $2::interval as created_at, (MIN(created_at) - $2::interval)::DATE as created_date
309
- FROM (
310
- SELECT invh.sku, invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id, invh.packing_type, invh.bizplace_id,
311
- invh.domain_id,
312
- invh.qty, invh.opening_qty, invh.uom_value, invh.uom, invh.opening_uom_value,
313
- COALESCE(order_no, '-') AS order_name,
314
- COALESCE(order_ref_no, '-') AS ref_no,
315
- COALESCE(invh.transaction_type, '-') AS transaction_type,
316
- invh.created_at,
317
- invh.created_at::date as created_date
318
- FROM temp_data_src invh
319
- WHERE (invh.qty <> 0 OR invh.uom_value <> 0) AND
320
- invh.transaction_type <> 'ADJUSTMENT' AND
321
- invh.transaction_type <> 'PICKING' AND
322
- invh.transaction_type <> 'CANCEL_ORDER' AND
323
- invh.transaction_type <>'NEW'
324
- AND invh.created_at >= $1::timestamp
325
- ) AS inv_movement
326
- GROUP BY sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
327
- domain_id, order_name, ref_no, rn
328
- UNION ALL
329
- SELECT sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
330
- domain_id, TRUNC(CAST(sum(qty) AS NUMERIC), 3) as qty, TRUNC(CAST(sum(opening_qty) AS NUMERIC), 3) as opening_qty, TRUNC(CAST(sum(uom_value) AS NUMERIC), 3) as uom_value, TRUNC(CAST(sum(opening_uom_value) AS NUMERIC), 3) as opening_uom_value,
331
- CASE
332
- WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN order_no
333
- ELSE order_name
334
- END AS order_name,
308
+ $1::timestamp AS created_at
309
+ FROM temp_data_src src
310
+ WHERE src.created_at < $1::timestamp
311
+ GROUP BY
312
+ src.sku,
313
+ src.product_name,
314
+ src.product_description,
315
+ src.product_type,
316
+ src.product_aux_value_1,
317
+ src.batch_id,
318
+ src.product_id,
319
+ src.packing_type,
320
+ src.uom,
321
+ src.bizplace_id
322
+
323
+ UNION ALL
324
+
325
+ -- Part 2: All Inventory Movements (combined into a single scan)
326
+ -- This SELECT statement replaces the three separate UNION ALLs for
327
+ -- transaction movements, using CASE statements to handle different
328
+ -- transaction types and statuses in a single pass.
329
+ SELECT
330
+ sku,
331
+ product_name,
332
+ product_description,
333
+ product_type,
334
+ product_aux_value_1,
335
+ batch_id,
336
+ product_id,
337
+ packing_type,
338
+ uom,
339
+ bizplace_id,
340
+ TRUNC(CAST(SUM(
341
+ -- qty and uom_value logic for all cases combined
342
+ CASE
343
+ WHEN transaction_type = 'ADJUSTMENT' AND status = 'MISSING' THEN -opening_qty
344
+ ELSE qty
345
+ END
346
+ ) AS NUMERIC), 3) AS qty,
347
+ TRUNC(CAST(SUM(opening_qty) AS NUMERIC), 3) AS opening_qty,
348
+ TRUNC(CAST(SUM(
349
+ CASE
350
+ WHEN transaction_type = 'ADJUSTMENT' AND status = 'MISSING' THEN -opening_uom_value
351
+ ELSE uom_value
352
+ END
353
+ ) AS NUMERIC), 3) AS uom_value,
354
+ TRUNC(CAST(SUM(opening_uom_value) AS NUMERIC), 3) AS opening_uom_value,
335
355
  CASE
336
- WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN ref_no
337
- ELSE order_name
338
- END AS ref_no,
339
- transaction_type,
340
- 1 AS rn,
341
- created_at - $2::interval as created_at,
342
- created_at::date as created_date
343
- FROM (
344
- SELECT
345
- invh.sku, invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id,
346
- invh.packing_type, invh.uom, invh.bizplace_id, invh.domain_id,
347
- invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value,
348
- invh.transaction_type,
349
- invh.transaction_type AS order_name,
350
- order_no,
351
- order_ref_no AS ref_no,
352
- invh.created_at,
353
- invh.created_at::date as created_date
354
- FROM temp_data_src invh
355
- WHERE (invh.qty <> 0 OR invh.uom_value <> 0) AND
356
- (invh.transaction_type = 'ADJUSTMENT'
357
- OR invh.transaction_type = 'PICKING'
358
- OR invh.transaction_type = 'CANCEL_ORDER'
359
- OR invh.transaction_type = 'NEW')
360
- AND invh.created_at >= $1::timestamp
361
- ) AS inv_movement
362
- GROUP BY
363
- sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
364
- domain_id, inv_movement.transaction_type,inv_movement.order_no,order_name, ref_no, rn, created_at
365
- UNION ALL
366
- SELECT sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
367
- domain_id, TRUNC(CAST(sum(-opening_qty) AS NUMERIC), 3) as qty, TRUNC(CAST(sum(opening_qty) AS NUMERIC), 3) as opening_qty, TRUNC(CAST(sum(-opening_uom_value) AS NUMERIC), 3) as uom_value, TRUNC(CAST(sum(opening_uom_value) AS NUMERIC), 3) as opening_uom_value,
368
- order_name, ref_no, transaction_type,1 AS rn, created_at - $2::interval as created_at, created_at::date as created_date
369
- FROM (
370
- SELECT invh.sku, invh.product_name, invh.product_description, invh.product_type, invh.product_aux_value_1, invh.batch_id, invh.product_id, invh.packing_type, invh.uom, invh.bizplace_id,
371
- invh.domain_id,
372
- invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value,
373
- invh.transaction_type as transaction_type,
374
- invh.transaction_type AS order_name,
375
- invh.transaction_type AS ref_no,
376
- invh.created_at,
377
- invh.created_at:: date as created_date
378
- FROM temp_data_src invh
379
- WHERE
380
- invh.transaction_type = 'ADJUSTMENT'
381
- AND invh.status = 'MISSING'
382
- AND invh.created_at >= $1::timestamp
383
- ) AS inv_movement
384
- GROUP BY sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
385
- domain_id, order_name, ref_no, inv_movement.transaction_type,rn, created_at
386
- )`,
356
+ WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN order_no
357
+ WHEN transaction_type IN ('ADJUSTMENT', 'NEW') THEN transaction_type
358
+ ELSE COALESCE(order_no, '-')
359
+ END AS order_name,
360
+ CASE
361
+ WHEN transaction_type IN ('PICKING', 'CANCEL_ORDER') THEN order_ref_no
362
+ WHEN transaction_type IN ('ADJUSTMENT', 'NEW') THEN transaction_type
363
+ ELSE COALESCE(order_ref_no, '-')
364
+ END AS ref_no,
365
+ transaction_type,
366
+ 1 AS rn,
367
+ MIN(created_at) - $2::interval AS created_at
368
+ FROM temp_data_src
369
+ WHERE
370
+ created_at >= $1::timestamp
371
+ GROUP BY
372
+ sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id,
373
+ packing_type, uom, bizplace_id,
374
+ order_name, ref_no, transaction_type
375
+ )`,
387
376
  [fromDate.value, tzoffset]
388
377
  )
389
378
 
@@ -393,7 +382,7 @@ export class InventoryHistoryQuery {
393
382
  result = await tx.query(
394
383
  `
395
384
  select sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
396
- domain_id, qty, opening_qty, round(uom_value::decimal,2) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at::date
385
+ qty, opening_qty, round(uom_value::decimal,2) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at::date
397
386
  from temp_inv_history invh where
398
387
  exists (
399
388
  select 1 from (
@@ -410,10 +399,10 @@ export class InventoryHistoryQuery {
410
399
  result = await tx.query(
411
400
  `
412
401
  select sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
413
- domain_id, sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value, order_name, ref_no, transaction_type, created_at::date
402
+ sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value, order_name, ref_no, transaction_type, created_at::date
414
403
  from(
415
404
  select sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
416
- domain_id, qty, opening_qty, TRUNC(CAST(uom_value AS NUMERIC), 3) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at::date
405
+ qty, opening_qty, TRUNC(CAST(uom_value AS NUMERIC), 3) as uom_value, opening_uom_value, order_name, ref_no, transaction_type,created_at
417
406
  from temp_inv_history invh where
418
407
  exists (
419
408
  select 1 from (
@@ -425,7 +414,7 @@ export class InventoryHistoryQuery {
425
414
  )
426
415
  ) foo
427
416
  GROUP BY sku, product_name, product_description, product_type, product_aux_value_1, batch_id, product_id, packing_type, uom, bizplace_id,
428
- domain_id, order_name, ref_no, transaction_type, created_at
417
+ order_name, ref_no, transaction_type, created_at
429
418
  ORDER BY sku asc, product_name asc, product_description asc, packing_type asc, batch_id asc, uom asc, created_at asc,
430
419
  CASE
431
420
  WHEN transaction_type = 'CANCEL_ORDER' THEN 2