feat: 불합격시에도 수량 카운트 할수 있게 NgEnd 레이블 추가

This commit is contained in:
kje97 2025-07-04 17:45:12 +09:00
parent c941e1b29e
commit 6ca3c7826c

View File

@ -1,10 +1,11 @@
Imports System.IO Imports System.Drawing.Drawing2D
Imports System.IO
Imports System.IO.Ports Imports System.IO.Ports
Imports System.Math Imports System.Math
Imports OpenCvSharp
Imports AForge.Video.DirectShow
Imports uPLibrary.Networking.M2Mqtt
Imports System.Text Imports System.Text
Imports AForge.Video.DirectShow
Imports OpenCvSharp
Imports uPLibrary.Networking.M2Mqtt
Public Class Main_Form Public Class Main_Form
Public Program_Name As String = "DUALSONIC_Multi_Function_Tester Ver." Public Program_Name As String = "DUALSONIC_Multi_Function_Tester Ver."
@ -2352,7 +2353,7 @@ SettingFail:
End Try End Try
forSettingFail: forSettingFail:
rfTestFail(forcnt) rfTestFail(ForCnt)
SettingFail: SettingFail:
txbWindow.AppendText("Run RF FAIL" & vbCrLf) txbWindow.AppendText("Run RF FAIL" & vbCrLf)
TestRunningState(testRunningList.Fail, Color.Red) TestRunningState(testRunningList.Fail, Color.Red)
@ -4254,38 +4255,38 @@ startFail:
If BuzzerTestFunc(0) Then If BuzzerTestFunc(0) Then
TestError = False TestError = False
GoTo ProcessEnd GoTo NgEnd
End If End If
delay_run(100) delay_run(100)
If TempTest() Then If TempTest() Then
GoTo ProcessEnd GoTo NgEnd
End If End If
If RFTestRun() Then If RFTestRun() Then
GoTo ProcessEnd GoTo NgEnd
End If End If
If BuzzerTestFunc(1) Then If BuzzerTestFunc(1) Then
TestError = False TestError = False
GoTo ProcessEnd GoTo NgEnd
End If End If
delay_run(100) delay_run(100)
If EPTestRun() Then If EPTestRun() Then
GoTo ProcessEnd GoTo NgEnd
End If End If
If BuzzerTestFunc(2) Then If BuzzerTestFunc(2) Then
TestError = False TestError = False
GoTo ProcessEnd GoTo NgEnd
End If End If
todayCount += 1 todayCount += 1
If saveLocalFile() Then If saveLocalFile() Then
GoTo ProcessEnd GoTo NgEnd
End If End If
GoTo SuccessEnd GoTo SuccessEnd
@ -4341,7 +4342,49 @@ SuccessEnd:
ProcessEnd: ProcessEnd:
Jig_End() Jig_End()
GoTo NormalEnd
NgEnd:
txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf)
If ALIQC_PostReg() Then
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
Dim csvData As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_Battery & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
If Save_Csv(csvData) Then
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
FailMain()
Else
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
If CountChanage() Then
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
If TestError = False Then
FailMain()
Else
SuccessMain()
End If
Else
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
FailMain()
End If
End If
Else
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
FailMain()
End If
txbWindow.AppendText("=== 불합격 데이터 저장 완료 ===" & vbCrLf)
Jig_End()
NormalEnd: NormalEnd:
myscope.IO.Clear() myscope.IO.Clear()
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf) txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
@ -4405,56 +4448,56 @@ NormalEnd:
If BuzzerTestFunc(0) Then If BuzzerTestFunc(0) Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
If TempTest() Then If TempTest() Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
If HFTestRun() Then If HFTestRun() Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
If BuzzerTestFunc(1) Then If BuzzerTestFunc(1) Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
If RFTestRun() Then If RFTestRun() Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
If BuzzerTestFunc(2) Then If BuzzerTestFunc(2) Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
If EPTestRun() Then If EPTestRun() Then
TestError = False TestError = False
GoTo processEnd GoTo NgEnd
End If End If
delay_run(StepDelay) delay_run(StepDelay)
todayCount += 1 todayCount += 1
If saveLocalFile() Then If saveLocalFile() Then
GoTo processEnd GoTo NgEnd
End If End If
GoTo SuccessEnd GoTo SuccessEnd
@ -4513,7 +4556,44 @@ SuccessEnd:
processEnd: processEnd:
Jig_End() Jig_End()
GoTo ErrorEnd
NgEnd:
Dim csvData2 As String = "" & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestData.Test_RFVRMS(0) & "," & TestData.Test_RFFreq(0) & "," & TestData.Test_RFVRMS(1) & "," & TestData.Test_RFFreq(1) & "," & TestData.Test_RFVRMS(2) & "," & TestData.Test_RFFreq(2) & "," & TestData.Test_EPVpp(0) & "," & TestData.Test_EPFreq(0) & "," & TestData.Test_EPPWidth(0) & "," & TestData.Test_EPNWidth(0) & "," & TestData.Test_EPVpp(1) & "," & TestData.Test_EPFreq(1) & "," & TestData.Test_EPPWidth(1) & "," & TestData.Test_EPNWidth(1) & "," & TestData.Test_EPVpp(2) & "," & TestData.Test_EPFreq(2) & "," & TestData.Test_EPPWidth(2) & "," & TestData.Test_EPNWidth(2) & "," & TestError & ""
If Save_Csv(csvData2) Then
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
FailMain()
Else
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
If IQC_PostReg() Then
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
If CountChanage() Then
txbWindow.AppendText("Run Count Change Save : OK" & vbCrLf)
If TestError = False Then
FailMain()
Else
SuccessMain()
End If
Else
txbWindow.AppendText("Run Count Change Save : FAIL" & vbCrLf)
FailMain()
End If
Else
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
FailMain()
End If
End If
Jig_End()
ErrorEnd: ErrorEnd:
myscope.IO.Clear() myscope.IO.Clear()
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf) txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
@ -4714,6 +4794,7 @@ RunSuccess:
txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf) txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf)
ProcessEnd: ProcessEnd:
Jig_End() Jig_End()
GoTo NormalEnd
NgEnd: NgEnd:
txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf) txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf)
' 불합격 시에도 전체 데이터 저장 로직 실행 ' 불합격 시에도 전체 데이터 저장 로직 실행
@ -4887,29 +4968,29 @@ NormalEnd:
If BatteryTest() Then If BatteryTest() Then
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
If TempTest() Then If TempTest() Then
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
If HFTestRun() Then If HFTestRun() Then
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
If rdbHF.Checked = True Then If rdbHF.Checked = True Then
If DataWrite(formProdCode(formTypeList.prod_HF)) Then If DataWrite(formProdCode(formTypeList.prod_HF)) Then
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
ElseIf rdbEFPD.Checked = True Then ElseIf rdbEFPD.Checked = True Then
If DataWrite(formProdCode(formTypeList.EF_PD)) Then If DataWrite(formProdCode(formTypeList.EF_PD)) Then
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
End If End If
@ -4928,6 +5009,7 @@ NormalEnd:
End If End If
RunSuccess: RunSuccess:
txbWindow.AppendText("=== 합격 데이터 저장 시작 ===" & vbCrLf)
If HIFU_PostReg() Then If HIFU_PostReg() Then
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf) txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
@ -4975,10 +5057,61 @@ RunSuccess:
FailMain() FailMain()
End If End If
txbWindow.AppendText("=== 합격 데이터 저장 완료 ===" & vbCrLf)
ProcessEnd: ProcessEnd:
Jig_End() Jig_End()
GoTo NormalEnd
NgEnd:
txbWindow.AppendText("=== 불합격 데이터 저장 시작 ===" & vbCrLf)
If HIFU_PostReg() Then
txbWindow.AppendText("PostgreSQL Data Save : OK" & vbCrLf)
If dbHFSave() Then
txbWindow.AppendText("DB Data Save : OK" & vbCrLf)
If CountChanage() Then
txbWindow.AppendText("Run Count Change : OK" & vbCrLf)
Dim csvData As String = "" & TestData.Test_Serial & "," & NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & "," & TestError & ""
If Save_Csv(csvData) Then
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
FailMain()
Else
txbWindow.AppendText("CSV Data Save : OK" & vbCrLf)
If TestError = False Then
FailMain()
Else
SuccessMain()
End If
End If
Else
txbWindow.AppendText("Run Count Change : FAIL" & vbCrLf)
FailMain()
End If
Else
txbWindow.AppendText("DB Data Save : FAIL" & vbCrLf)
FailMain()
End If
Else
txbWindow.AppendText("PostgreSQL Data Save : FAIL" & vbCrLf)
FailMain()
End If
txbWindow.AppendText("=== 불합격 데이터 저장 완료 ===" & vbCrLf)
Jig_End()
NormalEnd: NormalEnd:
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf) txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
End Sub End Sub
@ -5045,7 +5178,7 @@ NormalEnd:
txbDSBasic.BackColor = Color.Red txbDSBasic.BackColor = Color.Red
txbDSBasic.Refresh() txbDSBasic.Refresh()
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
If BatteryTest() Then If BatteryTest() Then
@ -5053,7 +5186,7 @@ NormalEnd:
txbDSBasic.BackColor = Color.Red txbDSBasic.BackColor = Color.Red
txbDSBasic.Refresh() txbDSBasic.Refresh()
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
txbDSBasic.Text = "SUCCESS" txbDSBasic.Text = "SUCCESS"
@ -5062,7 +5195,7 @@ NormalEnd:
If HFTestRun() Then If HFTestRun() Then
FailMain() FailMain()
GoTo ProcessEnd GoTo NgEnd
End If End If
TestStep = TestList.DataWrite TestStep = TestList.DataWrite
@ -5126,6 +5259,30 @@ RunSuccess:
ProcessEnd: ProcessEnd:
Jig_End() Jig_End()
GoTo NormalEnd
NgEnd:
If CountChanage() Then
Dim csvData As String = NowDate & "," & NowTime & "," & TestData.Test_Firmware & "," & TestData.Test_Battery & "," & TestData.Test_Temperature(TempData.DivTemp) & "," & TestData.Test_Temperature(TempData.CartTemp) & "," & TestData.Test_HFData(HifuTest_Step.Step1) & "," & TestData.Test_HFData(HifuTest_Step.Step2) & "," & TestData.Test_HFData(HifuTest_Step.step3) & ""
If Save_Csv(csvData) Then
txbWindow.AppendText("CSV Data Save : FAIL" & vbCrLf)
FailMain()
Else
If txbDSWrite.BackColor = Color.Green And txbDSWrite_2.BackColor = Color.Green And txbDSWrite_3.BackColor = Color.Green Then
txbDSSave.BackColor = Color.Green
Else
txbDSSave.BackColor = Color.Red
End If
If TestError = False Then
FailMain()
Else
SuccessMain()
End If
End If
Else
FailMain()
End If
Jig_End()
NormalEnd: NormalEnd:
txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf) txbWindow.AppendText("[" & MeasureTimeAll(MeasEnd) & "ms] Test Play" & vbCrLf)
End Sub End Sub
@ -5802,7 +5959,7 @@ dbFail:
Dim sucSwitch As Boolean = False Dim sucSwitch As Boolean = False
If dupDATA = 2 Then If dupDATA = 2 Or dupDATA = 3 Then
DBCmd = "UPDATE " & rfTableNow & " SET TestDate='" & NowDate & "',TestTime='" & NowTime & "',RF_R1Vrms='" & TestData.Test_RFVRMS(0) & "',RF_R1Freq='" & TestData.Test_RFFreq(0) & "',RF_R2Vrms='" & TestData.Test_RFVRMS(1) & "',RF_R2Freq='" & TestData.Test_RFFreq(1) & "',RF_R3Vrms='" & TestData.Test_RFVRMS(2) & "',RF_R3Freq='" & TestData.Test_RFFreq(2) & "',MC_R1Wave='" & TestData.Test_MCWidth(0) & "',MC_R1Vpp='" & TestData.Test_MCVpp(0) & "',MC_R1Freq='" & TestData.Test_MCFreq(0) & "',MC_R2Wave='" & TestData.Test_MCWidth(1) & "',MC_R2Vpp='" & TestData.Test_MCVpp(0) & "',MC_R2Freq='" & TestData.Test_MCFreq(0) & "',EP_R1Vpp='" & TestData.Test_EPVpp(0) & "',EP_R1Freq='" & TestData.Test_EPFreq(0) & "',EP_R1PWidth='" & TestData.Test_EPPWidth(0) & "',EP_R1NWidth='" & TestData.Test_EPNWidth(0) & "',EP_R2Vpp='" & TestData.Test_EPVpp(1) & "',EP_R2Freq='" & TestData.Test_EPFreq(1) & "',EP_R2PWidth='" & TestData.Test_EPPWidth(1) & "',EP_R2NWidth='" & TestData.Test_EPNWidth(1) & "',EP_R3Vpp='" & TestData.Test_EPVpp(2) & "',EP_R3Freq='" & TestData.Test_EPFreq(2) & "',EP_R3PWidth='" & TestData.Test_EPPWidth(2) & "',EP_R3NWidth='" & TestData.Test_EPNWidth(2) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'" DBCmd = "UPDATE " & rfTableNow & " SET TestDate='" & NowDate & "',TestTime='" & NowTime & "',RF_R1Vrms='" & TestData.Test_RFVRMS(0) & "',RF_R1Freq='" & TestData.Test_RFFreq(0) & "',RF_R2Vrms='" & TestData.Test_RFVRMS(1) & "',RF_R2Freq='" & TestData.Test_RFFreq(1) & "',RF_R3Vrms='" & TestData.Test_RFVRMS(2) & "',RF_R3Freq='" & TestData.Test_RFFreq(2) & "',MC_R1Wave='" & TestData.Test_MCWidth(0) & "',MC_R1Vpp='" & TestData.Test_MCVpp(0) & "',MC_R1Freq='" & TestData.Test_MCFreq(0) & "',MC_R2Wave='" & TestData.Test_MCWidth(1) & "',MC_R2Vpp='" & TestData.Test_MCVpp(0) & "',MC_R2Freq='" & TestData.Test_MCFreq(0) & "',EP_R1Vpp='" & TestData.Test_EPVpp(0) & "',EP_R1Freq='" & TestData.Test_EPFreq(0) & "',EP_R1PWidth='" & TestData.Test_EPPWidth(0) & "',EP_R1NWidth='" & TestData.Test_EPNWidth(0) & "',EP_R2Vpp='" & TestData.Test_EPVpp(1) & "',EP_R2Freq='" & TestData.Test_EPFreq(1) & "',EP_R2PWidth='" & TestData.Test_EPPWidth(1) & "',EP_R2NWidth='" & TestData.Test_EPNWidth(1) & "',EP_R3Vpp='" & TestData.Test_EPVpp(2) & "',EP_R3Freq='" & TestData.Test_EPFreq(2) & "',EP_R3PWidth='" & TestData.Test_EPPWidth(2) & "',EP_R3NWidth='" & TestData.Test_EPNWidth(2) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
If TestError = False Then If TestError = False Then
@ -5868,8 +6025,29 @@ dbFail:
processNum = 0 processNum = 0
If dupDATA = 1 Then 'If dupDATA = 1 Or dupDATA = 3 Then
' DBCmd = "UPDATE " & hfTableNow & " SET TestDate = '" & NowDate & "', TestTime = '" & NowTime & "', FW_Ver = '" & TestData.Test_Firmware & "', BatteryLv = '" & TestData.Test_Battery & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', HF_R1Value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', HF_R2Value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', HF_R3Value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
' If TestError = False Then
' processNum = TestStepList.HF_ReFail
' Else
' processNum = TestStepList.HF_ReSuc
' End If
'Else
' DBCmd = "INSERT INTO " & hfTableNow & "(PV_SN,TestDate,TestTime,FW_Ver,BatteryLv,DivTemp,CtTemp,HF_R1Value,HF_R2Value,HF_R3Value) VALUE('" & TestData.Test_Serial & "','" & NowDate & "','" & NowTime & "','" & TestData.Test_Firmware & "','" & TestData.Test_Battery & "','" & TestData.Test_Temperature(TempData.DivTemp) & "','" & TestData.Test_Temperature(TempData.CartTemp) & "','" & TestData.Test_HFData(HifuTest_Step.Step1) & "','" & TestData.Test_HFData(HifuTest_Step.Step2) & "','" & TestData.Test_HFData(HifuTest_Step.step3) & "')"
' If TestError = False Then
' processNum = TestStepList.HF_NEWFail
' Else
' processNum = TestStepList.HF_NewSuc
' End If
'End If
Dim checkQuery As String = "SELECT COUNT(*) FROM " & hfTableNow & " WHERE PV_SN = '" & TestData.Test_Serial & "'"
Dim exists As Integer = DBQueryScalar(checkQuery)
If exists > 0 Then
DBCmd = "UPDATE " & hfTableNow & " SET TestDate = '" & NowDate & "', TestTime = '" & NowTime & "', FW_Ver = '" & TestData.Test_Firmware & "', BatteryLv = '" & TestData.Test_Battery & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', HF_R1Value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', HF_R2Value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', HF_R3Value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'" DBCmd = "UPDATE " & hfTableNow & " SET TestDate = '" & NowDate & "', TestTime = '" & NowTime & "', FW_Ver = '" & TestData.Test_Firmware & "', BatteryLv = '" & TestData.Test_Battery & "', DivTemp = '" & TestData.Test_Temperature(TempData.DivTemp) & "', CtTemp = '" & TestData.Test_Temperature(TempData.CartTemp) & "', HF_R1Value = '" & TestData.Test_HFData(HifuTest_Step.Step1) & "', HF_R2Value = '" & TestData.Test_HFData(HifuTest_Step.Step2) & "', HF_R3Value = '" & TestData.Test_HFData(HifuTest_Step.step3) & "' WHERE PV_SN = '" & TestData.Test_Serial & "'"
If TestError = False Then If TestError = False Then
processNum = TestStepList.HF_ReFail processNum = TestStepList.HF_ReFail
Else Else