Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-03-16 00:53:16 +03:00
parent e46363a758
commit 720ba8354f
4 changed files with 70 additions and 183 deletions

View File

@@ -13,56 +13,6 @@ DECLARE @FitList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p7)), '');
DECLARE @DropList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p8)), ''); DECLARE @DropList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p8)), '');
DECLARE @BedenList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p9)), ''); DECLARE @BedenList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p9)), '');
DECLARE @SelUrunAltGrubu TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelRenk TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelRenk2 TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelUrunIcerigi TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelFit TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelDrop TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelBeden TABLE (Value NVARCHAR(100) PRIMARY KEY);
IF @UrunAltGrubuList IS NOT NULL
INSERT INTO @SelUrunAltGrubu(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@UrunAltGrubuList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @RenkList IS NOT NULL
INSERT INTO @SelRenk(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@RenkList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @Renk2List IS NOT NULL
INSERT INTO @SelRenk2(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@Renk2List, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @UrunIcerigiList IS NOT NULL
INSERT INTO @SelUrunIcerigi(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@UrunIcerigiList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @FitList IS NOT NULL
INSERT INTO @SelFit(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@FitList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @DropList IS NOT NULL
INSERT INTO @SelDrop(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@DropList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @BedenList IS NOT NULL
INSERT INTO @SelBeden(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@BedenList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
CREATE TABLE #AttrBase CREATE TABLE #AttrBase
( (
ProductCode NVARCHAR(50) NOT NULL, ProductCode NVARCHAR(50) NOT NULL,
@@ -89,10 +39,10 @@ BEGIN
WHERE LEN(ProductCode) = 13 WHERE LEN(ProductCode) = 13
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori) AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = ProductAtt02Desc)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = ProductAtt41Desc)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = ProductAtt38Desc)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = ProductAtt11Desc)); AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
END END
ELSE ELSE
BEGIN BEGIN
@@ -109,10 +59,10 @@ BEGIN
WHERE LEN(ProductCode) = 13 WHERE LEN(ProductCode) = 13
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori) AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = ProductAtt02Desc)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = ProductAtt41Desc)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = ProductAtt38Desc)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = ProductAtt11Desc)); AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
END; END;
IF @Kategori IS NULL OR @UrunAnaGrubu IS NULL IF @Kategori IS NULL OR @UrunAnaGrubu IS NULL
@@ -234,12 +184,12 @@ FROM (
WHERE (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END) <> '' WHERE (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END) <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori) AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = AB.DropVal)) AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.DropVal,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelRenk2) OR EXISTS (SELECT 1 FROM @SelRenk2 S WHERE S.Value = A.Renk2)) AND (@Renk2List IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Renk2,'') + NCHAR(31), NCHAR(31) + @Renk2List + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelBeden) OR EXISTS (SELECT 1 FROM @SelBeden S WHERE S.Value = A.Beden)) AND (@BedenList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Beden,'') + NCHAR(31), NCHAR(31) + @BedenList + NCHAR(31)) > 0)
) X ) X
UNION ALL UNION ALL
SELECT 'renk2', X.FieldValue SELECT 'renk2', X.FieldValue
@@ -250,12 +200,12 @@ FROM (
WHERE A.Renk2 <> '' WHERE A.Renk2 <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori) AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = AB.DropVal)) AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.DropVal,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelRenk) OR EXISTS (SELECT 1 FROM @SelRenk S WHERE S.Value = (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END))) AND (@RenkList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL((CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END),'') + NCHAR(31), NCHAR(31) + @RenkList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelBeden) OR EXISTS (SELECT 1 FROM @SelBeden S WHERE S.Value = A.Beden)) AND (@BedenList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Beden,'') + NCHAR(31), NCHAR(31) + @BedenList + NCHAR(31)) > 0)
) X ) X
UNION ALL UNION ALL
SELECT 'urun_icerigi', X.FieldValue SELECT 'urun_icerigi', X.FieldValue
@@ -265,7 +215,7 @@ FROM (
WHERE AB.UrunIcerigi <> '' WHERE AB.UrunIcerigi <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori) AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
) X ) X
UNION ALL UNION ALL
SELECT 'fit', X.FieldValue SELECT 'fit', X.FieldValue
@@ -275,8 +225,8 @@ FROM (
WHERE AB.Fit <> '' WHERE AB.Fit <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori) AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
) X ) X
UNION ALL UNION ALL
SELECT 'drop', X.FieldValue SELECT 'drop', X.FieldValue
@@ -286,9 +236,9 @@ FROM (
WHERE AB.DropVal <> '' WHERE AB.DropVal <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori) AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
) X ) X
UNION ALL UNION ALL
SELECT 'beden', X.FieldValue SELECT 'beden', X.FieldValue
@@ -299,12 +249,12 @@ FROM (
WHERE A.Beden <> '' WHERE A.Beden <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori) AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = AB.DropVal)) AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.DropVal,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelRenk) OR EXISTS (SELECT 1 FROM @SelRenk S WHERE S.Value = (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END))) AND (@RenkList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL((CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END),'') + NCHAR(31), NCHAR(31) + @RenkList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelRenk2) OR EXISTS (SELECT 1 FROM @SelRenk2 S WHERE S.Value = A.Renk2)) AND (@Renk2List IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Renk2,'') + NCHAR(31), NCHAR(31) + @Renk2List + NCHAR(31)) > 0)
) X ) X
OPTION (RECOMPILE); OPTION (RECOMPILE);
` `
@@ -322,56 +272,6 @@ DECLARE @FitList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p7)), '');
DECLARE @DropList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p8)), ''); DECLARE @DropList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p8)), '');
DECLARE @BedenList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p9)), ''); DECLARE @BedenList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p9)), '');
DECLARE @SelUrunAltGrubu TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelRenk TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelRenk2 TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelUrunIcerigi TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelFit TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelDrop TABLE (Value NVARCHAR(100) PRIMARY KEY);
DECLARE @SelBeden TABLE (Value NVARCHAR(100) PRIMARY KEY);
IF @UrunAltGrubuList IS NOT NULL
INSERT INTO @SelUrunAltGrubu(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@UrunAltGrubuList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @RenkList IS NOT NULL
INSERT INTO @SelRenk(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@RenkList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @Renk2List IS NOT NULL
INSERT INTO @SelRenk2(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@Renk2List, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @UrunIcerigiList IS NOT NULL
INSERT INTO @SelUrunIcerigi(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@UrunIcerigiList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @FitList IS NOT NULL
INSERT INTO @SelFit(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@FitList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @DropList IS NOT NULL
INSERT INTO @SelDrop(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@DropList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
IF @BedenList IS NOT NULL
INSERT INTO @SelBeden(Value)
SELECT DISTINCT LTRIM(RTRIM(value))
FROM STRING_SPLIT(@BedenList, NCHAR(31))
WHERE LTRIM(RTRIM(value)) <> '';
CREATE TABLE #AttrFiltered CREATE TABLE #AttrFiltered
( (
ProductCode NVARCHAR(50) NOT NULL, ProductCode NVARCHAR(50) NOT NULL,
@@ -482,10 +382,10 @@ BEGIN
WHERE LEN(C.ProductCode) = 13 WHERE LEN(C.ProductCode) = 13
AND (@Kategori IS NULL OR C.ProductAtt44Desc = @Kategori) AND (@Kategori IS NULL OR C.ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR C.ProductAtt01Desc = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR C.ProductAtt01Desc = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = C.ProductAtt02Desc)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = C.ProductAtt41Desc)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = C.ProductAtt38Desc)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = C.ProductAtt11Desc)); AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
END END
ELSE ELSE
BEGIN BEGIN
@@ -561,10 +461,10 @@ BEGIN
WHERE LEN(ProductCode) = 13 WHERE LEN(ProductCode) = 13
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori) AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu) AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = ProductAtt02Desc)) AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = ProductAtt41Desc)) AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = ProductAtt38Desc)) AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = ProductAtt11Desc)); AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
END; END;
CREATE CLUSTERED INDEX IX_AttrFiltered_ProductCode ON #AttrFiltered(ProductCode); CREATE CLUSTERED INDEX IX_AttrFiltered_ProductCode ON #AttrFiltered(ProductCode);
@@ -704,17 +604,17 @@ Grouped AS
A.ItemDim2Code A.ItemDim2Code
FROM Avail A FROM Avail A
INNER JOIN #AttrFiltered AF ON AF.ProductCode = A.ItemCode INNER JOIN #AttrFiltered AF ON AF.ProductCode = A.ItemCode
WHERE (NOT EXISTS (SELECT 1 FROM @SelRenk) OR EXISTS (SELECT 1 FROM @SelRenk S WHERE S.Value = (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.ColorCode END))) WHERE (@RenkList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL((CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.ColorCode END),'') + NCHAR(31), NCHAR(31) + @RenkList + NCHAR(31)) > 0)
AND (NOT EXISTS (SELECT 1 FROM @SelRenk2) OR EXISTS (SELECT 1 FROM @SelRenk2 S WHERE S.Value = A.ItemDim2Code)) AND (@Renk2List IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.ItemDim2Code,'') + NCHAR(31), NCHAR(31) + @Renk2List + NCHAR(31)) > 0)
AND ( AND (
NOT EXISTS (SELECT 1 FROM @SelBeden) @BedenList IS NULL
OR EXISTS ( OR EXISTS (
SELECT 1 SELECT 1
FROM Avail AB FROM Avail AB
WHERE AB.ItemCode = A.ItemCode WHERE AB.ItemCode = A.ItemCode
AND AB.ColorCode = A.ColorCode AND AB.ColorCode = A.ColorCode
AND ISNULL(AB.ItemDim2Code, '') = ISNULL(A.ItemDim2Code, '') AND ISNULL(AB.ItemDim2Code, '') = ISNULL(A.ItemDim2Code, '')
AND EXISTS (SELECT 1 FROM @SelBeden SB WHERE SB.Value = AB.ItemDim1Code) AND CHARINDEX(NCHAR(31) + ISNULL(AB.ItemDim1Code,'') + NCHAR(31), NCHAR(31) + @BedenList + NCHAR(31)) > 0
) )
) )
GROUP BY A.ItemCode, A.ColorCode, A.ItemDim2Code GROUP BY A.ItemCode, A.ColorCode, A.ItemDim2Code

View File

@@ -209,11 +209,6 @@ WHERE typ='img'
} }
query += ` query += `
ORDER BY ORDER BY
CASE
WHEN COALESCE(file_name,'') ~* 'gallery[-_ ]*1' THEN 0
WHEN COALESCE(file_name,'') ~* '\(1\)(\.[A-Za-z0-9]+)?$' THEN 0
ELSE 1
END,
COALESCE(sort_order,999999), COALESCE(sort_order,999999),
zlins_dttm DESC, zlins_dttm DESC,
id DESC` id DESC`

View File

@@ -660,25 +660,19 @@ function resolveProductImageUrl(item) {
return { contentUrl, publicUrl, thumbUrl, fullUrl } return { contentUrl, publicUrl, thumbUrl, fullUrl }
} }
function extractImageOrder(fileName, fallbackIndex) { function sortImagesForDisplay(list) {
const name = String(fileName || '').trim() // #gallery-1 mantigi icin frontend render sirasini (API'den gelen sira) koruyoruz.
const mg = name.match(/gallery[-_\s]?(\d+)/i) return Array.isArray(list) ? [...list] : []
if (mg) return Number(mg[1] || 999999)
const m = name.match(/\((\d+)\)(?=\.[a-z0-9]+$)/i)
if (m) return Number(m[1] || 999999)
const m2 = name.match(/[-_ ](\d+)(?=\.[a-z0-9]+$)/i)
if (m2) return Number(m2[1] || 999999)
return 1000000 + Number(fallbackIndex || 0)
} }
function sortImagesForDisplay(list) { function parseGalleryHashIndex() {
return (Array.isArray(list) ? list : []) if (typeof window === 'undefined') return 0
.map((item, idx) => ({ item, idx, order: extractImageOrder(item?.file_name || item?.FileName || '', idx) })) const hash = String(window.location?.hash || '').trim()
.sort((a, b) => { const m = hash.match(/^#gallery-(\d+)$/i)
if (a.order !== b.order) return a.order - b.order if (!m) return 0
return a.idx - b.idx const n = Number(m[1] || 1)
}) if (!Number.isFinite(n) || n < 1) return 0
.map((x) => x.item) return n - 1
} }
async function resolveProductImageUrlForCarousel(item) { async function resolveProductImageUrlForCarousel(item) {
@@ -1336,7 +1330,8 @@ async function openProductCard(grp1, grp2) {
} }
productCardImages.value = uniqueImages productCardImages.value = uniqueImages
productCardSlide.value = 0 const hashIndex = parseGalleryHashIndex()
productCardSlide.value = Math.min(Math.max(hashIndex, 0), Math.max(uniqueImages.length - 1, 0))
productCardData.value = { productCardData.value = {
productCode, productCode,
colorCode, colorCode,

View File

@@ -639,23 +639,19 @@ function resolveProductImageUrl(item) {
return { contentUrl, publicUrl, thumbUrl, fullUrl } return { contentUrl, publicUrl, thumbUrl, fullUrl }
} }
function extractImageOrder(fileName, fallbackIndex) { function sortImagesForDisplay(list) {
const name = String(fileName || '').trim() // #gallery-1 mantigi icin frontend render sirasini (API'den gelen sira) koruyoruz.
const m = name.match(/\((\d+)\)(?=\.[a-z0-9]+$)/i) return Array.isArray(list) ? [...list] : []
if (m) return Number(m[1] || 999999)
const m2 = name.match(/[-_ ](\d+)(?=\.[a-z0-9]+$)/i)
if (m2) return Number(m2[1] || 999999)
return 1000000 + Number(fallbackIndex || 0)
} }
function sortImagesForDisplay(list) { function parseGalleryHashIndex() {
return (Array.isArray(list) ? list : []) if (typeof window === 'undefined') return 0
.map((item, idx) => ({ item, idx, order: extractImageOrder(item?.file_name || item?.FileName || '', idx) })) const hash = String(window.location?.hash || '').trim()
.sort((a, b) => { const m = hash.match(/^#gallery-(\d+)$/i)
if (a.order !== b.order) return a.order - b.order if (!m) return 0
return a.idx - b.idx const n = Number(m[1] || 1)
}) if (!Number.isFinite(n) || n < 1) return 0
.map((x) => x.item) return n - 1
} }
async function resolveProductImageUrlForCarousel(item) { async function resolveProductImageUrlForCarousel(item) {
@@ -1144,7 +1140,8 @@ async function openProductCard(grp1, grp2) {
} }
productCardImages.value = uniqueImages productCardImages.value = uniqueImages
productCardSlide.value = 0 const hashIndex = parseGalleryHashIndex()
productCardSlide.value = Math.min(Math.max(hashIndex, 0), Math.max(uniqueImages.length - 1, 0))
productCardData.value = { productCardData.value = {
productCode, productCode,
colorCode, colorCode,