Selaa lähdekoodia

update

master
CANCERYS\kw093 2 päivää sitten
vanhempi
commit
4d41e54e10
1 muutettua tiedostoa jossa 33 lisäystä ja 2 poistoa
  1. +33
    -2
      src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt

+ 33
- 2
src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt Näytä tiedosto

@@ -848,8 +848,39 @@ fun searchMaterialStockOutTraceabilityReport(
sl.itemId,
COALESCE(il_in.id, il_out.id) AS lotId,
SUM(CASE WHEN DATE(sl.date) < :fromDate THEN COALESCE(sl.inQty, 0) - COALESCE(sl.outQty, 0) ELSE 0 END) AS openingBalance,
SUM(CASE WHEN DATE(sl.date) BETWEEN :fromDate AND :toDate THEN COALESCE(sl.inQty, 0) ELSE 0 END) AS cumStockIn,
SUM(CASE WHEN DATE(sl.date) BETWEEN :fromDate AND :toDate THEN COALESCE(sl.outQty, 0) ELSE 0 END) AS cumStockOut,
SUM(
CASE
WHEN DATE(sl.date) BETWEEN :fromDate AND :toDate
AND sil.stockTakeLineId IS NULL -- 不是「由盤點」產生的入庫
THEN COALESCE(sl.inQty, 0)
ELSE 0
END
) AS cumStockIn,

-- 累計付出量:排除 type = 'stocktake' 的出庫 (專門的盤點出庫)
SUM(
CASE
WHEN DATE(sl.date) BETWEEN :fromDate AND :toDate
AND COALESCE(sl.outQty, 0) > 0
AND NOT (
-- 1) 盤點正式出庫
LOWER(TRIM(COALESCE(sl.type, ''))) = 'stocktake'
-- 2) 盤點差異調整出庫(你已經算在 cumStockOutAdjStockTake)
OR (
LOWER(TRIM(COALESCE(sl.type, ''))) = 'adj'
AND (sol.stockTransferId IS NULL OR sol.id IS NULL)
)
-- 3) 錯誤輸入或遺失出庫
OR LOWER(TRIM(COALESCE(sl.type, ''))) = 'miss'
OR LOWER(TRIM(COALESCE(sol.type, ''))) = 'miss'
-- 4) 不良品棄置出庫
OR LOWER(TRIM(COALESCE(sl.type, ''))) = 'bad'
OR LOWER(TRIM(COALESCE(sol.type, ''))) = 'bad'
)
THEN COALESCE(sl.outQty, 0)
ELSE 0
END
) AS cumStockOut,
SUM(CASE WHEN DATE(sl.date) <= :toDate THEN COALESCE(sl.inQty, 0) - COALESCE(sl.outQty, 0) ELSE 0 END) AS currentBalance,
MAX(CASE WHEN COALESCE(sl.inQty, 0) > 0 THEN sl.date END) AS lastInDate,
MAX(CASE WHEN COALESCE(sl.outQty, 0) > 0 THEN sl.date END) AS lastOutDate,


Ladataan…
Peruuta
Tallenna