Fix product performance grouped JSON build

This commit is contained in:
M_Kececi
2026-08-29 18:13:17 +03:00
parent b7131ac6ce
commit 68b024cd5d
5 changed files with 302 additions and 0 deletions
+56
View File
@@ -1049,6 +1049,62 @@ ORDER BY
return uretimDB.QueryContext(ctx, sqlText, productCode)
}
func GetProductionFirmCostHistory(
ctx context.Context,
uretimDB *sql.DB,
nFirmaID int,
excludeOnMLNo int,
limit int,
) ([]models.ProductionFirmCostHistoryRow, error) {
if nFirmaID <= 0 {
return []models.ProductionFirmCostHistoryRow{}, nil
}
if limit <= 0 {
limit = 100
}
if limit > 300 {
limit = 300
}
rows, err := uretimDB.QueryContext(ctx, `
SELECT TOP (@p3)
M.nOnMLNo,
LTRIM(RTRIM(ISNULL(M.UrunKodu, ''))) AS UrunKodu,
ISNULL(M.UrunAdi, '') AS UrunAdi,
CONVERT(VARCHAR(10), COALESCE(M.Tarihi, M.dteKayitTarihi), 23) AS Tarihi,
SUM(CASE WHEN G.Grup = 'TP' THEN 1 ELSE 0 END) AS TPCount,
SUM(CASE WHEN G.Grup = 'DT' THEN 1 ELSE 0 END) AS DTCount,
COUNT(*) AS TotalRows
FROM dbo.spUrtOnMLMas M
INNER JOIN dbo.spUrtOnMLMasDet D
ON D.nOnMLNo = M.nOnMLNo
LEFT JOIN dbo.spUrtOnMLHammaddeTuru H
ON H.nHammaddeTuruNo = D.nHammaddeTuruNo
CROSS APPLY (
SELECT UPPER(ISNULL(NULLIF(LTRIM(RTRIM(D.sAciklama3)), ''), LTRIM(RTRIM(ISNULL(H.sAciklama3, ''))))) AS Grup
) G
WHERE ISNULL(M.nFirmaID, 0) = @p1
AND (ISNULL(@p2, 0) <= 0 OR M.nOnMLNo <> @p2)
AND G.Grup IN ('TP', 'DT')
GROUP BY M.nOnMLNo, M.UrunKodu, M.UrunAdi, M.Tarihi, M.dteKayitTarihi
ORDER BY COALESCE(M.Tarihi, M.dteKayitTarihi) DESC, M.nOnMLNo DESC
`, nFirmaID, excludeOnMLNo, limit)
if err != nil {
return nil, err
}
defer rows.Close()
out := make([]models.ProductionFirmCostHistoryRow, 0, limit)
for rows.Next() {
var item models.ProductionFirmCostHistoryRow
if err := rows.Scan(&item.NOnMLNo, &item.UrunKodu, &item.UrunAdi, &item.Tarihi, &item.TPCount, &item.DTCount, &item.TotalRows); err != nil {
return nil, err
}
out = append(out, item)
}
return out, rows.Err()
}
func GetProductionHasCostDetailRowsByOnMLNo(
ctx context.Context,
uretimDB *sql.DB,