Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-04-14 17:52:38 +03:00
parent 8694511e79
commit 9ee70eb05a

View File

@@ -665,8 +665,19 @@ WHERE Barcode = @p1
return true, nil return true, nil
} }
func existingVariantBarcode(q sqlQueryRower, barcodeTypeCode string, itemTypeCode int16, itemCode string, colorCode string, dim1 string, dim2 string, dim3 string) (string, bool, error) { func existingVariantBarcode(
q sqlQueryRower,
barcodeTypeCode string,
itemTypeCode int16,
itemCode string,
colorCode string,
dim1 string,
dim2 string,
dim3 string,
) (string, bool, error) {
var barcode string var barcode string
err := q.QueryRow(` err := q.QueryRow(`
SELECT TOP 1 LTRIM(RTRIM(ISNULL(Barcode, ''))) SELECT TOP 1 LTRIM(RTRIM(ISNULL(Barcode, '')))
FROM dbo.prItemBarcode WITH (UPDLOCK, HOLDLOCK) FROM dbo.prItemBarcode WITH (UPDLOCK, HOLDLOCK)
@@ -678,23 +689,48 @@ WHERE BarcodeTypeCode = @p1
AND ISNULL(LTRIM(RTRIM(ItemDim2Code)), '') = @p6 AND ISNULL(LTRIM(RTRIM(ItemDim2Code)), '') = @p6
AND ISNULL(LTRIM(RTRIM(ItemDim3Code)), '') = @p7 AND ISNULL(LTRIM(RTRIM(ItemDim3Code)), '') = @p7
AND ISNULL(LTRIM(RTRIM(UnitOfMeasureCode)), '') = 'AD' AND ISNULL(LTRIM(RTRIM(UnitOfMeasureCode)), '') = 'AD'
ORDER BY TRY_CONVERT(BIGINT, NULLIF(LTRIM(RTRIM(Barcode)), '')) DESC, Barcode DESC ORDER BY
`, strings.TrimSpace(barcodeTypeCode), itemTypeCode, strings.TrimSpace(itemCode), strings.TrimSpace(colorCode), strings.TrimSpace(dim1), strings.TrimSpace(dim2), strings.TrimSpace(dim3)).Scan(&barcode) CASE
WHEN ISNUMERIC(Barcode) = 1
THEN CAST(Barcode AS BIGINT)
ELSE 0
END DESC,
Barcode DESC
`,
strings.TrimSpace(barcodeTypeCode),
itemTypeCode,
strings.TrimSpace(itemCode),
strings.TrimSpace(colorCode),
strings.TrimSpace(dim1),
strings.TrimSpace(dim2),
strings.TrimSpace(dim3),
).Scan(&barcode)
if err == sql.ErrNoRows { if err == sql.ErrNoRows {
return "", false, nil return "", false, nil
} }
if err != nil { if err != nil {
return "", false, err return "", false, err
} }
return strings.TrimSpace(barcode), true, nil return strings.TrimSpace(barcode), true, nil
} }
func maxNumericBarcode(q sqlQueryRower) (int64, error) { func maxNumericBarcode(q sqlQueryRower) (int64, error) {
var maxBarcode int64 var maxBarcode int64
err := q.QueryRow(` err := q.QueryRow(`
SELECT ISNULL(MAX(TRY_CONVERT(BIGINT, NULLIF(LTRIM(RTRIM(Barcode)), ''))), 0) SELECT ISNULL(MAX(
CASE
WHEN ISNUMERIC(Barcode) = 1
THEN CAST(Barcode AS BIGINT)
ELSE NULL
END
), 0)
FROM dbo.prItemBarcode WITH (UPDLOCK, HOLDLOCK) FROM dbo.prItemBarcode WITH (UPDLOCK, HOLDLOCK)
`).Scan(&maxBarcode) `).Scan(&maxBarcode)
return maxBarcode, err return maxBarcode, err
} }
@@ -930,9 +966,14 @@ SELECT
FROM missing m FROM missing m
CROSS JOIN ( CROSS JOIN (
SELECT ISNULL(MAX(TRY_CONVERT(BIGINT, Barcode)),0) MaxBarcode SELECT ISNULL(MAX(
CASE
WHEN ISNUMERIC(Barcode)=1
THEN CAST(Barcode AS BIGINT)
ELSE NULL
END
),0) MaxBarcode
FROM dbo.prItemBarcode FROM dbo.prItemBarcode
) seed
`, strings.Join(values, ","), orderHeaderParam, usernameParam, usernameParam) `, strings.Join(values, ","), orderHeaderParam, usernameParam, usernameParam)
chunkStart := time.Now() chunkStart := time.Now()