Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -912,22 +912,25 @@ func GetProductionHasCostDetailRowsByOnMLNo(
|
||||
nOnMLNo int,
|
||||
) (*sql.Rows, error) {
|
||||
sqlText := `
|
||||
SELECT
|
||||
ISNULL(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), N'TANIMSIZ') AS sAciklama3,
|
||||
SUM(ISNULL(D.lTutar, 0)) OVER (
|
||||
PARTITION BY ISNULL(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), N'TANIMSIZ')
|
||||
) AS GroupTotalTutar,
|
||||
SUM(ISNULL(D.lMiktar, 0) * ISNULL(D.lDovizFiyati, 0)) OVER (
|
||||
PARTITION BY ISNULL(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), N'TANIMSIZ')
|
||||
) AS GroupTotalUSDTutar,
|
||||
SELECT
|
||||
-- Prefer the group label stored on the OnML detail row (D.sAciklama3),
|
||||
-- because some hammadde type master rows may have empty/legacy group labels.
|
||||
ISNULL(NULLIF(LTRIM(RTRIM(D.sAciklama3)), ''), ISNULL(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), N'TANIMSIZ')) AS sAciklama3,
|
||||
SUM(ISNULL(D.lTutar, 0)) OVER (
|
||||
PARTITION BY ISNULL(NULLIF(LTRIM(RTRIM(D.sAciklama3)), ''), ISNULL(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), N'TANIMSIZ'))
|
||||
) AS GroupTotalTutar,
|
||||
SUM(ISNULL(D.lMiktar, 0) * ISNULL(D.lDovizFiyati, 0)) OVER (
|
||||
PARTITION BY ISNULL(NULLIF(LTRIM(RTRIM(D.sAciklama3)), ''), ISNULL(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), N'TANIMSIZ'))
|
||||
) AS GroupTotalUSDTutar,
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(D.nOnMLNo, 0))) AS nOnMLNo,
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(D.nOnMLDetNo, 0))) AS nOnMLDetNo,
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(D.nHammaddeTuruNo, 0))) AS nHammaddeTuruNo,
|
||||
ISNULL(D.sKodu, '') AS sKodu,
|
||||
ISNULL(D.sAciklama, '') AS sAciklama,
|
||||
ISNULL(D.sRenk, '') AS sRenk,
|
||||
ISNULL(D.sBeden, '') AS sBeden,
|
||||
ISNULL(D.sAciklama2, '') AS sAciklama2,
|
||||
-- Normalize code to variantless (tbStok.sModel) when D.sKodu is a variant-coded stock record.
|
||||
ISNULL(NULLIF(LTRIM(RTRIM(SX.sModel)), ''), ISNULL(D.sKodu, '')) AS sKodu,
|
||||
ISNULL(NULLIF(LTRIM(RTRIM(SX.sAciklama)), ''), ISNULL(D.sAciklama, '')) AS sAciklama,
|
||||
ISNULL(D.sRenk, '') AS sRenk,
|
||||
ISNULL(D.sBeden, '') AS sBeden,
|
||||
ISNULL(D.sAciklama2, '') AS sAciklama2,
|
||||
ISNULL(D.lMiktar, 0) AS lMiktar,
|
||||
ISNULL(D.lFiyat, 0) AS lFiyat,
|
||||
ISNULL(D.lTutar, 0) AS lTutar,
|
||||
@@ -945,15 +948,22 @@ SELECT
|
||||
ISNULL(D.sBirim, '') AS sBirim,
|
||||
ISNULL(T.sAciklama, '') AS sHammaddeTuruAdi,
|
||||
ISNULL(B.sAdi, '') AS sParcaAdi
|
||||
FROM dbo.spUrtOnMLMasDet D
|
||||
LEFT JOIN dbo.spUrtOnMLHammaddeTuru T
|
||||
ON T.nHammaddeTuruNo = D.nHammaddeTuruNo
|
||||
LEFT JOIN dbo.spUrtMTBolum B
|
||||
ON B.nUrtMTBolumID = D.nUrtMTBolumID
|
||||
WHERE D.nOnMLNo = @p1
|
||||
ORDER BY
|
||||
GroupTotalTutar DESC,
|
||||
sAciklama3 ASC,
|
||||
FROM dbo.spUrtOnMLMasDet D
|
||||
LEFT JOIN dbo.spUrtOnMLHammaddeTuru T
|
||||
ON T.nHammaddeTuruNo = D.nHammaddeTuruNo
|
||||
LEFT JOIN dbo.spUrtMTBolum B
|
||||
ON B.nUrtMTBolumID = D.nUrtMTBolumID
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) AS sModel,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sAciklama, '')))) AS sAciklama
|
||||
FROM dbo.tbStok S WITH (NOLOCK)
|
||||
WHERE LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) = LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(D.sKodu, ''))))
|
||||
) SX
|
||||
WHERE D.nOnMLNo = @p1
|
||||
ORDER BY
|
||||
GroupTotalTutar DESC,
|
||||
sAciklama3 ASC,
|
||||
ISNULL(D.lTutar, 0) DESC,
|
||||
D.nOnMLDetNo ASC
|
||||
`
|
||||
@@ -1219,31 +1229,45 @@ func GetProductionHasCostDetailHammaddeTypeOptions(
|
||||
uretimDB *sql.DB,
|
||||
search string,
|
||||
limit int,
|
||||
group string,
|
||||
onlyActive *bool,
|
||||
) (*sql.Rows, error) {
|
||||
search = strings.TrimSpace(search)
|
||||
group = strings.TrimSpace(group)
|
||||
if limit <= 0 {
|
||||
limit = 50
|
||||
}
|
||||
searchLike := "%" + search + "%"
|
||||
|
||||
sqlText := `
|
||||
SELECT TOP (@p2)
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(T.nHammaddeTuruNo, 0))) AS nHammaddeTuruNo,
|
||||
ISNULL(T.sAciklama, '') AS sHammaddeTuruAdi,
|
||||
COALESCE(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), NULLIF(LTRIM(RTRIM(T.sAciklama2)), ''), N'TANIMSIZ') AS sAciklama3,
|
||||
ISNULL(T.MTnUrtMTBolumID, 0) AS mtUrtMTBolumID,
|
||||
ISNULL(B.sAdi, '') AS sParcaAdi
|
||||
FROM dbo.spUrtOnMLHammaddeTuru T WITH (NOLOCK)
|
||||
LEFT JOIN dbo.spUrtMTBolum B WITH (NOLOCK)
|
||||
ON B.nUrtMTBolumID = T.MTnUrtMTBolumID
|
||||
AND ISNULL(B.nUrtTipiID, 0) = 1
|
||||
WHERE
|
||||
ISNULL(T.bAktif, 0) = 1
|
||||
AND (
|
||||
@p1 = ''
|
||||
OR RTRIM(CONVERT(VARCHAR(32), ISNULL(T.nHammaddeTuruNo, 0))) LIKE @p3
|
||||
OR ISNULL(T.sAciklama, '') LIKE @p3
|
||||
OR ISNULL(T.sAciklama2, '') LIKE @p3
|
||||
SELECT TOP (@p2)
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(T.nHammaddeTuruNo, 0))) AS nHammaddeTuruNo,
|
||||
ISNULL(T.sAciklama, '') AS sHammaddeTuruAdi,
|
||||
COALESCE(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), NULLIF(LTRIM(RTRIM(T.sAciklama2)), ''), N'TANIMSIZ') AS sAciklama3,
|
||||
ISNULL(T.MTnUrtMTBolumID, 0) AS mtUrtMTBolumID,
|
||||
ISNULL(B.sAdi, '') AS sParcaAdi
|
||||
FROM dbo.spUrtOnMLHammaddeTuru T WITH (NOLOCK)
|
||||
LEFT JOIN dbo.spUrtMTBolum B WITH (NOLOCK)
|
||||
ON B.nUrtMTBolumID = T.MTnUrtMTBolumID
|
||||
AND ISNULL(B.nUrtTipiID, 0) = 1
|
||||
WHERE
|
||||
-- Active filtering:
|
||||
-- - By default, list active rows.
|
||||
-- - If searching by exact number, allow inactive too (legacy CM2 etc.).
|
||||
-- - If onlyActive flag is provided, honor it explicitly.
|
||||
(
|
||||
(@p5 IS NULL AND (ISNULL(T.bAktif, 0) = 1 OR (@p1 <> '' AND RTRIM(CONVERT(VARCHAR(32), ISNULL(T.nHammaddeTuruNo, 0))) = @p1)))
|
||||
OR (@p5 IS NOT NULL AND ISNULL(T.bAktif, 0) = @p5)
|
||||
)
|
||||
AND (
|
||||
@p4 = ''
|
||||
OR COALESCE(NULLIF(LTRIM(RTRIM(T.sAciklama3)), ''), NULLIF(LTRIM(RTRIM(T.sAciklama2)), ''), N'TANIMSIZ') = @p4
|
||||
)
|
||||
AND (
|
||||
@p1 = ''
|
||||
OR RTRIM(CONVERT(VARCHAR(32), ISNULL(T.nHammaddeTuruNo, 0))) LIKE @p3
|
||||
OR ISNULL(T.sAciklama, '') LIKE @p3
|
||||
OR ISNULL(T.sAciklama2, '') LIKE @p3
|
||||
OR ISNULL(T.sAciklama3, '') LIKE @p3
|
||||
OR ISNULL(B.sAdi, '') LIKE @p3
|
||||
)
|
||||
@@ -1256,7 +1280,7 @@ ORDER BY
|
||||
T.nHammaddeTuruNo
|
||||
`
|
||||
|
||||
return uretimDB.QueryContext(ctx, sqlText, search, limit, searchLike)
|
||||
return uretimDB.QueryContext(ctx, sqlText, search, limit, searchLike, group, onlyActive)
|
||||
}
|
||||
|
||||
func GetProductionHammaddeByNos(ctx context.Context, uretimDB *sql.DB, nos []int) ([]models.ProductionProductCostingHammaddeByNosItem, error) {
|
||||
@@ -1745,30 +1769,56 @@ FROM dbo.tbStok S`)
|
||||
useFullText := searchLen >= 3 && fullTextSearch != "" && hasProductionHasCostDetailItemFullTextIndex(ctx, uretimDB)
|
||||
|
||||
baseSelect := `
|
||||
WITH c AS (
|
||||
SELECT
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(S.nStokID, 0))) AS nStokID,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) AS sKodu,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sAciklama, '')))) AS sAciklama,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) AS sModel,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(64), ISNULL(S.sBirimCinsi1, '')))) AS sBirim,
|
||||
CASE
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) = @p1 THEN 0
|
||||
WHEN (@p5 = 1 AND S.nStokID = @p6) THEN 1
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) = @p1 THEN 2
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) LIKE @p3 THEN 3
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) LIKE @p3 THEN 4
|
||||
ELSE 5
|
||||
END AS match_rank,
|
||||
ROW_NUMBER() OVER (
|
||||
PARTITION BY LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, ''))))
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) = @p1 THEN 0
|
||||
WHEN (@p5 = 1 AND S.nStokID = @p6) THEN 1
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) = @p1 THEN 2
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) LIKE @p3 THEN 3
|
||||
WHEN LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) LIKE @p3 THEN 4
|
||||
ELSE 5
|
||||
END,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, ''))))
|
||||
) AS rn
|
||||
FROM dbo.tbStok S
|
||||
WHERE
|
||||
(ISNULL(S.IsBlocked, 0) = 0)
|
||||
AND S.sModel LIKE '_.%%'
|
||||
AND (
|
||||
(@p5 = 1 AND S.nStokID = @p6)
|
||||
OR S.sModel = @p1
|
||||
OR S.sModel LIKE @p3
|
||||
OR S.sKodu = @p1
|
||||
OR S.sKodu LIKE @p3
|
||||
OR %s
|
||||
)
|
||||
)
|
||||
SELECT TOP (@p2)
|
||||
RTRIM(CONVERT(VARCHAR(32), ISNULL(S.nStokID, 0))) AS nStokID,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sKodu, '')))) AS sKodu,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sAciklama, '')))) AS sAciklama,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(255), ISNULL(S.sModel, '')))) AS sModel,
|
||||
LTRIM(RTRIM(CONVERT(NVARCHAR(64), ISNULL(S.sBirimCinsi1, '')))) AS sBirim
|
||||
FROM dbo.tbStok S
|
||||
WHERE
|
||||
(ISNULL(S.IsBlocked, 0) = 0)
|
||||
AND S.sModel LIKE '_.%%'
|
||||
AND (
|
||||
(@p5 = 1 AND S.nStokID = @p6)
|
||||
OR S.sKodu = @p1
|
||||
OR S.sKodu LIKE @p3
|
||||
OR %s
|
||||
)
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN S.sKodu = @p1 THEN 0
|
||||
WHEN (@p5 = 1 AND S.nStokID = @p6) THEN 1
|
||||
WHEN S.sKodu LIKE @p3 THEN 2
|
||||
ELSE 3
|
||||
END,
|
||||
S.sKodu
|
||||
nStokID,
|
||||
sKodu,
|
||||
sAciklama,
|
||||
sModel,
|
||||
sBirim
|
||||
FROM c
|
||||
WHERE rn = 1
|
||||
ORDER BY match_rank, sModel, sKodu
|
||||
OPTION (RECOMPILE)
|
||||
`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user