feat(BIP): dynamic row number from platform config column L
This commit is contained in:
@@ -9,9 +9,7 @@ Option Explicit
|
|||||||
' 常量定义
|
' 常量定义
|
||||||
'=====================================================================
|
'=====================================================================
|
||||||
' 提取条件配置
|
' 提取条件配置
|
||||||
Private Const CONDITION_CONFIG = "azxs,安装形式|bkxs,表壳形式|gclj,过程连接|jycz,接液材质|lcfw,量程范围|fjgn,附加功能"
|
Private Const CONDITION_CONFIG = "azxs,安装形式 |bkxs,表壳形式 |gclj,过程连接 |jycz,接液材质 |lcfw,量程范围 |fjgn,附加功能"
|
||||||
' 行号基数
|
|
||||||
Private Const ROW_NUMBER_BASE = 7000
|
|
||||||
|
|
||||||
'=====================================================================
|
'=====================================================================
|
||||||
' 过程: ProcessOrdersToBIP
|
' 过程: ProcessOrdersToBIP
|
||||||
@@ -222,6 +220,10 @@ Private Sub ProcessSingleOrder(orderNumber As String, _
|
|||||||
Dim lineIndex As Long
|
Dim lineIndex As Long
|
||||||
lineIndex = 1
|
lineIndex = 1
|
||||||
|
|
||||||
|
' 创建字典跟踪每个 BIP 行号基数的当前序号
|
||||||
|
Dim bipRowBaseDict As Object
|
||||||
|
Set bipRowBaseDict = CreateObject("Scripting.Dictionary")
|
||||||
|
|
||||||
For Each item In matchedItems
|
For Each item In matchedItems
|
||||||
Dim itemNote As String
|
Dim itemNote As String
|
||||||
itemNote = extractNote
|
itemNote = extractNote
|
||||||
@@ -232,9 +234,24 @@ Private Sub ProcessSingleOrder(orderNumber As String, _
|
|||||||
itemNote = itemNote & item.MatchError
|
itemNote = itemNote & item.MatchError
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' 创建BIP行数据并添加到集合
|
' 计算实际行号:行号 = BIP 行号基数 + 组内序号 (从 1 开始)
|
||||||
|
Dim baseValue As Long
|
||||||
|
baseValue = item.BipRowNumberBase
|
||||||
|
|
||||||
|
Dim currentIndex As Long
|
||||||
|
If bipRowBaseDict.Exists(baseValue) Then
|
||||||
|
currentIndex = bipRowBaseDict(baseValue) + 1
|
||||||
|
Else
|
||||||
|
currentIndex = 1
|
||||||
|
End If
|
||||||
|
bipRowBaseDict(baseValue) = currentIndex
|
||||||
|
|
||||||
|
Dim actualRowNumber As Long
|
||||||
|
actualRowNumber = baseValue + currentIndex
|
||||||
|
|
||||||
|
' 创建 BIP 行数据并添加到集合
|
||||||
outputData.Add CreateBIPRowArray(orderNumber, productCode, Quantity, _
|
outputData.Add CreateBIPRowArray(orderNumber, productCode, Quantity, _
|
||||||
lineIndex, item.Code66, itemNote)
|
actualRowNumber, item.Code66, itemNote)
|
||||||
|
|
||||||
lineIndex = lineIndex + 1
|
lineIndex = lineIndex + 1
|
||||||
Next item
|
Next item
|
||||||
@@ -242,20 +259,20 @@ Private Sub ProcessSingleOrder(orderNumber As String, _
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'=====================================================================
|
'=====================================================================
|
||||||
' 函数: CreateBIPRowArray
|
' 函数:CreateBIPRowArray
|
||||||
' 功能: 创建BIP上传模板一行数据的数组
|
' 功能:创建 BIP 上传模板一行数据的数组
|
||||||
' 参数: orderNumber - 生产订单号
|
' 参数:orderNumber - 生产订单号
|
||||||
' productCode - 产品编码
|
' productCode - 产品编码
|
||||||
' quantity - 生产数量
|
' quantity - 生产数量
|
||||||
' lineIndex - 行号索引(从1开始)
|
' actualRowNumber - 实际行号(BIP 行号基数 + 组内序号)
|
||||||
' materialCode - 材料编码(66编码)
|
' materialCode - 材料编码(66 编码)
|
||||||
' note - 备注
|
' note - 备注
|
||||||
' 返回: Variant() - 包含10个元素的数组
|
' 返回:Variant() - 包含 10 个元素的数组
|
||||||
'=====================================================================
|
'=====================================================================
|
||||||
Private Function CreateBIPRowArray(orderNumber As String, _
|
Private Function CreateBIPRowArray(orderNumber As String, _
|
||||||
productCode As String, _
|
productCode As String, _
|
||||||
Quantity As String, _
|
Quantity As String, _
|
||||||
lineIndex As Long, _
|
actualRowNumber As Long, _
|
||||||
materialCode As String, _
|
materialCode As String, _
|
||||||
note As String) As Variant()
|
note As String) As Variant()
|
||||||
Dim rowData(1 To 10) As Variant
|
Dim rowData(1 To 10) As Variant
|
||||||
@@ -263,8 +280,8 @@ Private Function CreateBIPRowArray(orderNumber As String, _
|
|||||||
rowData(1) = orderNumber ' 来源单据号(生产订单号)
|
rowData(1) = orderNumber ' 来源单据号(生产订单号)
|
||||||
rowData(2) = productCode ' 产品编码
|
rowData(2) = productCode ' 产品编码
|
||||||
rowData(3) = Quantity ' 生产数量
|
rowData(3) = Quantity ' 生产数量
|
||||||
rowData(4) = ROW_NUMBER_BASE + lineIndex ' 行号 = 基数 + 索引
|
rowData(4) = actualRowNumber ' 行号
|
||||||
rowData(5) = materialCode ' 材料编码(66编码)
|
rowData(5) = materialCode ' 材料编码(66 编码)
|
||||||
rowData(6) = "一般发料" ' 供应方式(固定值)
|
rowData(6) = "一般发料" ' 供应方式(固定值)
|
||||||
rowData(7) = Date ' 需用日期(当天日期)
|
rowData(7) = Date ' 需用日期(当天日期)
|
||||||
rowData(8) = "重庆布莱迪仪器仪表有限公司" ' 发料组织(固定值)
|
rowData(8) = "重庆布莱迪仪器仪表有限公司" ' 发料组织(固定值)
|
||||||
|
|||||||
Reference in New Issue
Block a user