Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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(
|
||||||
FROM dbo.prItemBarcode
|
CASE
|
||||||
) seed
|
WHEN ISNUMERIC(Barcode)=1
|
||||||
|
THEN CAST(Barcode AS BIGINT)
|
||||||
|
ELSE NULL
|
||||||
|
END
|
||||||
|
),0) MaxBarcode
|
||||||
|
FROM dbo.prItemBarcode
|
||||||
`, strings.Join(values, ","), orderHeaderParam, usernameParam, usernameParam)
|
`, strings.Join(values, ","), orderHeaderParam, usernameParam, usernameParam)
|
||||||
|
|
||||||
chunkStart := time.Now()
|
chunkStart := time.Now()
|
||||||
|
|||||||
Reference in New Issue
Block a user