🎨 style: standardize parameter naming to camelCase

Refactor parameter and property names from PascalCase to camelCase
for consistent naming conventions across VBA modules.

Changes:
- Conditions → conditions (property and parameters)
- Update all references across 7 modules
- Maintain functional behavior while improving code readability

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka_Company
2026-03-26 14:47:17 +08:00
parent 7d59e489b1
commit d4f8e77c66
7 changed files with 55 additions and 55 deletions

View File

@@ -39,7 +39,7 @@ End Function
' conditions - 条件字典 ' conditions - 条件字典
' 返回: Boolean ' 返回: Boolean
'===================================================================== '=====================================================================
Private Function EvaluateExpression(expr As String, Conditions As Object) As Boolean Private Function EvaluateExpression(expr As String, conditions As Object) As Boolean
expr = Trim(expr) expr = Trim(expr)
' '
@@ -52,7 +52,7 @@ Private Function EvaluateExpression(expr As String, Conditions As Object) As Boo
' OR() ' OR()
Dim orResult As Variant Dim orResult As Variant
orResult = SplitByOperator(expr, " OR ", Conditions) orResult = SplitByOperator(expr, " OR ", conditions)
If Not IsEmpty(orResult) Then If Not IsEmpty(orResult) Then
EvaluateExpression = orResult EvaluateExpression = orResult
Exit Function Exit Function
@@ -60,14 +60,14 @@ Private Function EvaluateExpression(expr As String, Conditions As Object) As Boo
' AND ' AND
Dim andResult As Variant Dim andResult As Variant
andResult = SplitByOperator(expr, " AND ", Conditions) andResult = SplitByOperator(expr, " AND ", conditions)
If Not IsEmpty(andResult) Then If Not IsEmpty(andResult) Then
EvaluateExpression = andResult EvaluateExpression = andResult
Exit Function Exit Function
End If End If
' 处理单个条件 ' 处理单个条件
EvaluateExpression = EvaluateSingleCondition(expr, Conditions) EvaluateExpression = EvaluateSingleCondition(expr, conditions)
End Function End Function
'===================================================================== '=====================================================================
@@ -78,7 +78,7 @@ End Function
' conditions - 条件字典 ' conditions - 条件字典
' 返回: Variant - 评估结果或Empty ' 返回: Variant - 评估结果或Empty
'===================================================================== '=====================================================================
Private Function SplitByOperator(expr As String, operator As String, Conditions As Object) As Variant Private Function SplitByOperator(expr As String, operator As String, conditions As Object) As Variant
Dim pos As Long Dim pos As Long
Dim leftPart As String Dim leftPart As String
Dim rightPart As String Dim rightPart As String
@@ -103,11 +103,11 @@ Private Function SplitByOperator(expr As String, operator As String, Conditions
' '
If operator = " OR " Then If operator = " OR " Then
SplitByOperator = EvaluateExpression(leftPart, Conditions) Or _ SplitByOperator = EvaluateExpression(leftPart, conditions) Or _
EvaluateExpression(rightPart, Conditions) EvaluateExpression(rightPart, conditions)
ElseIf operator = " AND " Then ElseIf operator = " AND " Then
SplitByOperator = EvaluateExpression(leftPart, Conditions) And _ SplitByOperator = EvaluateExpression(leftPart, conditions) And _
EvaluateExpression(rightPart, Conditions) EvaluateExpression(rightPart, conditions)
End If End If
Exit Function Exit Function
End If End If
@@ -125,7 +125,7 @@ End Function
' conditions - 条件字典 ' conditions - 条件字典
' 返回: Boolean ' 返回: Boolean
'===================================================================== '=====================================================================
Private Function EvaluateSingleCondition(condition As String, Conditions As Object) As Boolean Private Function EvaluateSingleCondition(condition As String, conditions As Object) As Boolean
Dim varName As String Dim varName As String
Dim operator As String Dim operator As String
Dim value As String Dim value As String
@@ -142,10 +142,10 @@ Private Function EvaluateSingleCondition(condition As String, Conditions As Obje
value = Trim(parts(1)) value = Trim(parts(1))
' 特殊规则:如果产品条件中不存在该变量,视为满足!=条件 ' 特殊规则:如果产品条件中不存在该变量,视为满足!=条件
If Not Conditions.Exists(varName) Then If Not conditions.Exists(varName) Then
EvaluateSingleCondition = True EvaluateSingleCondition = True
Else Else
actualValue = Conditions(varName) actualValue = conditions(varName)
' fjgn ' fjgn
If varName = "fjgn" Then If varName = "fjgn" Then
@@ -168,10 +168,10 @@ Private Function EvaluateSingleCondition(condition As String, Conditions As Obje
varName = Trim(eqParts(0)) varName = Trim(eqParts(0))
value = Trim(eqParts(1)) value = Trim(eqParts(1))
If Not Conditions.Exists(varName) Then If Not conditions.Exists(varName) Then
EvaluateSingleCondition = False EvaluateSingleCondition = False
Else Else
actualValue = Conditions(varName) actualValue = conditions(varName)
' fjgn ' fjgn
If varName = "fjgn" Then If varName = "fjgn" Then

View File

@@ -31,8 +31,8 @@ End Property
'===================================================================== '=====================================================================
' 属性: Conditions - 提取的条件字典 ' 属性: Conditions - 提取的条件字典
'===================================================================== '=====================================================================
Public Property Get Conditions() As Object Public Property Get conditions() As Object
Set Conditions = pConditions Set conditions = pConditions
End Property End Property
'===================================================================== '=====================================================================

View File

@@ -198,8 +198,8 @@ End Sub
' 过程: ProcessSingleOrder ' 过程: ProcessSingleOrder
' 功能: 处理单个订单提取BOM并将数据添加到输出集合 ' 功能: 处理单个订单提取BOM并将数据添加到输出集合
' 参数: orderNumber - 生产订单号 ' 参数: orderNumber - 生产订单号
' productModel - 产品型号 ' ProductModel - 产品型号
' quantity - 生产数量 ' Quantity - 生产数量
' productCode - 产品编码 ' productCode - 产品编码
' componentPriority - 部件优先标志("是"或"否" ' componentPriority - 部件优先标志("是"或"否"
' BomExtractor - BOM提取器对象 ' BomExtractor - BOM提取器对象
@@ -234,7 +234,7 @@ Private Sub ProcessSingleOrder(orderNumber As String, _
' 提取BOM ' 提取BOM
Dim matchedItems As Collection Dim matchedItems As Collection
Set matchedItems = BomExtractor.ExtractBom(parser.Conditions) Set matchedItems = BomExtractor.ExtractBom(parser.conditions)
' 输出结果 ' 输出结果
If matchedItems.count = 0 Then If matchedItems.count = 0 Then
@@ -280,10 +280,10 @@ End Sub
' 功能:创建 BIP 上传模板一行数据的数组 ' 功能:创建 BIP 上传模板一行数据的数组
' 参数orderNumber - 生产订单号 ' 参数orderNumber - 生产订单号
' productCode - 产品编码 ' productCode - 产品编码
' quantity - 生产数量 ' Quantity - 生产数量
' actualRowNumber - 实际行号BIP 行号基数 + 组内序号) ' actualRowNumber - 实际行号BIP 行号基数 + 组内序号)
' materialCode - 材料编码66 编码) ' materialCode - 材料编码66 编码)
' 返回Variant() - 包含 10 个元素的数组 ' 返回Variant() - 包含 9 个元素的数组
'===================================================================== '=====================================================================
Private Function CreateBIPRowArray(orderNumber As String, _ Private Function CreateBIPRowArray(orderNumber As String, _
productCode As String, _ productCode As String, _

View File

@@ -299,7 +299,7 @@ Private Sub ParseOrderBOM(ByRef orderInfo As Object, BomExtractor As BomExtracto
' 提取BOM ' 提取BOM
Dim matchedItems As Collection Dim matchedItems As Collection
Set matchedItems = BomExtractor.ExtractBom(parser.Conditions) Set matchedItems = BomExtractor.ExtractBom(parser.conditions)
' 查找"部件"类别物料 ' 查找"部件"类别物料
Dim item As BomItem Dim item As BomItem

View File

@@ -184,13 +184,13 @@ Private Sub ProcessSingleModel(totalQueueNum As String, _
If Not parser.Parse(modelString) Then If Not parser.Parse(modelString) Then
' 解析失败 ' 解析失败
extractNote = "解析失败: " & parser.ErrorMessage extractNote = "解析失败: " & parser.ErrorMessage
outputData.Add CreateOutputRowArray(totalQueueNum, orderNumber, modelString, parser.Conditions, extractNote, Nothing) outputData.Add CreateOutputRowArray(totalQueueNum, orderNumber, modelString, parser.conditions, extractNote, Nothing)
Exit Sub Exit Sub
End If End If
' 提取BOM ' 提取BOM
Dim matchedItems As Collection Dim matchedItems As Collection
Set matchedItems = BomExtractor.ExtractBom(parser.Conditions) Set matchedItems = BomExtractor.ExtractBom(parser.conditions)
' 获取错误信息 ' 获取错误信息
Dim bomErrors As String Dim bomErrors As String
@@ -205,7 +205,7 @@ Private Sub ProcessSingleModel(totalQueueNum As String, _
If extractNote = "" Then If extractNote = "" Then
extractNote = "未匹配到任何物料" extractNote = "未匹配到任何物料"
End If End If
outputData.Add CreateOutputRowArray(totalQueueNum, orderNumber, modelString, parser.Conditions, extractNote, Nothing) outputData.Add CreateOutputRowArray(totalQueueNum, orderNumber, modelString, parser.conditions, extractNote, Nothing)
Else Else
' 输出每个匹配的物料 ' 输出每个匹配的物料
Dim item As BomItem Dim item As BomItem
@@ -224,11 +224,11 @@ Private Sub ProcessSingleModel(totalQueueNum As String, _
If isFirst Then If isFirst Then
' 首行保留总排号和订单号 ' 首行保留总排号和订单号
outputData.Add CreateOutputRowArray(totalQueueNum, orderNumber, modelString, parser.Conditions, itemNote, item) outputData.Add CreateOutputRowArray(totalQueueNum, orderNumber, modelString, parser.conditions, itemNote, item)
isFirst = False isFirst = False
Else Else
' 同一个型号的后续BOM项总排号和订单号留空以保持报表整洁 ' 同一个型号的后续BOM项总排号和订单号留空以保持报表整洁
outputData.Add CreateOutputRowArray("", "", modelString, parser.Conditions, itemNote, item) outputData.Add CreateOutputRowArray("", "", modelString, parser.conditions, itemNote, item)
End If End If
Next item Next item
End If End If
@@ -249,12 +249,12 @@ Private Sub WriteOutputHeader(ws As Worksheet)
ws.Cells(1, col).value = "产品型号": col = col + 1 ws.Cells(1, col).value = "产品型号": col = col + 1
' 写入条件字段表头 ' 写入条件字段表头
Dim Conditions() As String Dim conditions() As String
Dim labels() As String Dim labels() As String
GetConditionConfig Conditions, labels GetConditionConfig conditions, labels
Dim i As Long Dim i As Long
For i = LBound(Conditions) To UBound(Conditions) For i = LBound(conditions) To UBound(conditions)
ws.Cells(1, col).value = labels(i) ws.Cells(1, col).value = labels(i)
col = col + 1 col = col + 1
Next i Next i
@@ -283,7 +283,7 @@ End Sub
Private Function CreateOutputRowArray(totalQueueNum As String, _ Private Function CreateOutputRowArray(totalQueueNum As String, _
orderNumber As String, _ orderNumber As String, _
FullModel As String, _ FullModel As String, _
Conditions As Object, _ conditions As Object, _
note As String, _ note As String, _
item As BomItem) As Variant() item As BomItem) As Variant()
' 获取条件配置 ' 获取条件配置
@@ -309,8 +309,8 @@ Private Function CreateOutputRowArray(totalQueueNum As String, _
' 写入条件值 ' 写入条件值
Dim i As Long Dim i As Long
For i = LBound(condNames) To UBound(condNames) For i = LBound(condNames) To UBound(condNames)
If Conditions.Exists(condNames(i)) Then If conditions.Exists(condNames(i)) Then
rowData(col) = Conditions(condNames(i)) rowData(col) = conditions(condNames(i))
Else Else
rowData(col) = "" rowData(col) = ""
End If End If

View File

@@ -166,7 +166,7 @@ Private Function IsInvalidOrderBOM(modelString As String, _
' 3. 提取BOM ' 3. 提取BOM
Dim matchedItems As Collection Dim matchedItems As Collection
Set matchedItems = BomExtractor.ExtractBom(parser.Conditions) Set matchedItems = BomExtractor.ExtractBom(parser.conditions)
' 4. 检查 BOM 提取器全局错误日志 ' 4. 检查 BOM 提取器全局错误日志
If BomExtractor.GetErrorSummary <> "" Then If BomExtractor.GetErrorSummary <> "" Then

View File

@@ -116,21 +116,21 @@ Public Sub TestConditionEvaluator()
Set evaluator = New ConditionEvaluator Set evaluator = New ConditionEvaluator
' 创建测试条件字典 ' 创建测试条件字典
Dim Conditions As Object Dim conditions As Object
Set Conditions = CreateObject("Scripting.Dictionary") Set conditions = CreateObject("Scripting.Dictionary")
Conditions.Add "azxs", "A0" conditions.Add "azxs", "A0"
Conditions.Add "bkxs", "531" conditions.Add "bkxs", "531"
Conditions.Add "gclj", "M20" conditions.Add "gclj", "M20"
Conditions.Add "jycz", "3" conditions.Add "jycz", "3"
Conditions.Add "lcfw", "M06" conditions.Add "lcfw", "M06"
' 测试用例1: 简单等式 ' 测试用例1: 简单等式
Debug.Print "测试用例1: 简单等式" Debug.Print "测试用例1: 简单等式"
Dim expr1 As String Dim expr1 As String
expr1 = "azxs=A0" expr1 = "azxs=A0"
Debug.Print " 表达式: " & expr1 Debug.Print " 表达式: " & expr1
Debug.Print " 结果: " & evaluator.Evaluate(expr1, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr1, conditions)
AssertTrue "简单等式", evaluator.Evaluate(expr1, Conditions) AssertTrue "简单等式", evaluator.Evaluate(expr1, conditions)
Debug.Print "" Debug.Print ""
' 测试用例2: AND运算 ' 测试用例2: AND运算
@@ -138,8 +138,8 @@ Public Sub TestConditionEvaluator()
Dim expr2 As String Dim expr2 As String
expr2 = "azxs=A0 AND bkxs=531" expr2 = "azxs=A0 AND bkxs=531"
Debug.Print " 表达式: " & expr2 Debug.Print " 表达式: " & expr2
Debug.Print " 结果: " & evaluator.Evaluate(expr2, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr2, conditions)
AssertTrue "AND运算", evaluator.Evaluate(expr2, Conditions) AssertTrue "AND运算", evaluator.Evaluate(expr2, conditions)
Debug.Print "" Debug.Print ""
' 测试用例3: OR运算 ' 测试用例3: OR运算
@@ -147,8 +147,8 @@ Public Sub TestConditionEvaluator()
Dim expr3 As String Dim expr3 As String
expr3 = "azxs=AT OR azxs=A0" expr3 = "azxs=AT OR azxs=A0"
Debug.Print " 表达式: " & expr3 Debug.Print " 表达式: " & expr3
Debug.Print " 结果: " & evaluator.Evaluate(expr3, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr3, conditions)
AssertTrue "OR运算", evaluator.Evaluate(expr3, Conditions) AssertTrue "OR运算", evaluator.Evaluate(expr3, conditions)
Debug.Print "" Debug.Print ""
' 测试用例4: !=运算 ' 测试用例4: !=运算
@@ -156,8 +156,8 @@ Public Sub TestConditionEvaluator()
Dim expr4 As String Dim expr4 As String
expr4 = "azxs!=AH" expr4 = "azxs!=AH"
Debug.Print " 表达式: " & expr4 Debug.Print " 表达式: " & expr4
Debug.Print " 结果: " & evaluator.Evaluate(expr4, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr4, conditions)
AssertTrue "!=运算", evaluator.Evaluate(expr4, Conditions) AssertTrue "!=运算", evaluator.Evaluate(expr4, conditions)
Debug.Print "" Debug.Print ""
' 测试用例5: 复杂嵌套 ' 测试用例5: 复杂嵌套
@@ -165,8 +165,8 @@ Public Sub TestConditionEvaluator()
Dim expr5 As String Dim expr5 As String
expr5 = "(azxs=A0 OR azxs=AT) AND (bkxs=531 OR bkxs=541)" expr5 = "(azxs=A0 OR azxs=AT) AND (bkxs=531 OR bkxs=541)"
Debug.Print " 表达式: " & expr5 Debug.Print " 表达式: " & expr5
Debug.Print " 结果: " & evaluator.Evaluate(expr5, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr5, conditions)
AssertTrue "复杂嵌套", evaluator.Evaluate(expr5, Conditions) AssertTrue "复杂嵌套", evaluator.Evaluate(expr5, conditions)
Debug.Print "" Debug.Print ""
' 测试用例6: 不存在的变量(!=情况) ' 测试用例6: 不存在的变量(!=情况)
@@ -174,8 +174,8 @@ Public Sub TestConditionEvaluator()
Dim expr6 As String Dim expr6 As String
expr6 = "tsyq!=SCRJ" expr6 = "tsyq!=SCRJ"
Debug.Print " 表达式: " & expr6 Debug.Print " 表达式: " & expr6
Debug.Print " 结果: " & evaluator.Evaluate(expr6, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr6, conditions)
AssertTrue "不存在的变量!=", evaluator.Evaluate(expr6, Conditions) AssertTrue "不存在的变量!=", evaluator.Evaluate(expr6, conditions)
Debug.Print "" Debug.Print ""
' 测试用例7: 实际BOM条件 ' 测试用例7: 实际BOM条件
@@ -183,9 +183,9 @@ Public Sub TestConditionEvaluator()
Dim expr7 As String Dim expr7 As String
expr7 = "gclj=M20 AND jycz=1 AND lcfw=M01 AND (azxs=A0 OR azxs=AT OR azxs=AH)" expr7 = "gclj=M20 AND jycz=1 AND lcfw=M01 AND (azxs=A0 OR azxs=AT OR azxs=AH)"
Debug.Print " 表达式: " & expr7 Debug.Print " 表达式: " & expr7
Debug.Print " 结果: " & evaluator.Evaluate(expr7, Conditions) Debug.Print " 结果: " & evaluator.Evaluate(expr7, conditions)
' 这个应该是False,因为jycz=3,不是1 ' 这个应该是False,因为jycz=3,不是1
AssertFalse "实际BOM条件(应该False)", evaluator.Evaluate(expr7, Conditions) AssertFalse "实际BOM条件(应该False)", evaluator.Evaluate(expr7, conditions)
Debug.Print "" Debug.Print ""
Debug.Print "<<< ConditionEvaluator 测试完成" Debug.Print "<<< ConditionEvaluator 测试完成"