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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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