1. 세모 모델 기능 추가 (확인/입력/삭제/반품)

2. 원 모델  rf 검사 추가
3. 버전 2.0.3
This commit is contained in:
hyelinjung 2026-02-12 16:58:28 +09:00
parent eb112331ac
commit 1b587f1cfd
2 changed files with 386 additions and 212 deletions

View File

@ -1,4 +1,4 @@
Imports System.Drawing.Imaging
Imports System.Drawing.Imaging
Imports System.IO
Imports System.IO.Ports
Imports System.Math
@ -217,6 +217,8 @@ Public Class mainForm
Private cartSerial(prodTypeList.cartEtc) As String
Private TDUseCompare As Boolean
Private LDMUseCompare As Boolean
Private RfEpOnlyCompare As Boolean
Private searchType As String
Private colorType As String
Private deviceType As String
@ -303,7 +305,7 @@ Public Class mainForm
Private Sub startSetting()
Const programName As String = "MAXIMUM FUNCTION DATA INFO VER."
Const programVer As String = "2.0.1"
Const programVer As String = "2.0.3"
Me.Text = programName & programVer
Me.Size = New Size(1920, 1060)
Me.Location = New Point(0, 0)
@ -581,7 +583,7 @@ Public Class mainForm
If prodSerialHIFU() Then '' hifu 테스트 결과 검색
Return False
End If
If modelCompare() = "MAXIMUM" Then
If modelCompare() = "MAXIMUM" Or modelCompare() = "OYWON" Or modelCompare() = "WON" Then
If prodSerialRF() Then '' rf 테스트 결과 검색
Return False
End If
@ -612,6 +614,7 @@ Public Class mainForm
txbReCount.Text = DBQueryScalar(DBCmd)
End Sub
Private Function saveCsvData(prodSerial As String) As Boolean '엑셀 파일로 저장'
Try
If ckbExcel.Checked = True Then
@ -814,7 +817,15 @@ Public Class mainForm
Dim regDate As String = Format(Now, "yyyy") & "-" & Format(Now, "MM") & "-" & Format(Now, "dd")
Dim regTime As String = Format(Now, "HH") & ":" & Format(Now, "mm") & ":" & Format(Now, "ss")
DBCmd = "UPDATE " & applyCartDB & " SET LastQC_Date = '" & regDate & "', LastQC_Time = '" & regTime & "' WHERE Product_SN = '" & prodSerial & "'"
If TDUseCompare = True Then
DBCmd = "UPDATE " & applyCartDB & " SET LastQC_Date = '" & regDate & "', LastQC_Time = '" & regTime & "' WHERE Product_SN = '" & prodSerial & "'"
ElseIf LDMUseCompare = True Then
DBCmd = "UPDATE " & ApplyLdmDB & " SET LastQC_Date = '" & regDate & "', LastQC_Time = '" & regTime & "' WHERE Product_SN = '" & prodSerial & "'"
Else
DBCmd = "UPDATE " & applyNonTDDB & " SET LastQC_Date = '" & regDate & "', LastQC_Time = '" & regTime & "' WHERE Product_SN = '" & prodSerial & "'"
End If
If DBCommand(DBCmd) Then
dataOkNg(dbRegList.DBALL) = True
@ -855,105 +866,55 @@ DataFail:
End Function
Private Function prodSerialRF() As Boolean
DBCmd = "SELECT CONVERT(TestDate,CHAR),CONVERT(TestTime,CHAR),RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,MC_R1Wave,MC_R1Vpp,MC_R1Freq,MC_R2Wave,MC_R2Vpp,MC_R2Freq FROM " & applyRFDB & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If DBQueryReader(DBCmd) Then
If RfEpOnlyCompare = True Then
'' RF, MC 제외 EP 검사만 하는 경우
DBCmd = "SELECT CONVERT(TestDate,CHAR),CONVERT(TestTime,CHAR),EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth FROM " & applyRFDB & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If rfDataList.mcR2Freq = sqlDataQuery.Length - 1 Then
For i = 0 To rfDataList.mcR2Freq
rfReadData(i) = sqlDataQuery(i)
Next
If DBQueryReader(DBCmd) Then
If sqlDataQuery.Length - 1 = 13 Then
rfReadData(0) = sqlDataQuery(0)
rfReadData(1) = sqlDataQuery(1)
For i = 2 To 7
rfReadData(i) = "NULL"
Next
For i = 0 To 11
rfReadData(rfDataList.epR1Vpp + i) = sqlDataQuery(2 + i)
Next
For i = 20 To 25
rfReadData(i) = "NULL"
Next
For i = 0 To rfDataList.rfR2Vrms_txb3
Dim oKNG As Boolean = False
If TDUseCompare = True Then
For i = 0 To rfDataList.rfR2Vrms_txb3
Dim oKNG As Boolean = False
Select Case i
Case rfDataList.rfR1Vrms_txb1
If Val(rfReadData(rfDataList.rfR1Vrms_txb1)) >= Val(txboptg1_VrMin.Text) And Val(rfReadData(rfDataList.rfR1Vrms_txb1)) <= Val(txboptg1_VrMax.Text) Then
If Val(rfReadData(rfDataList.rfR1Freq_txb2)) >= Val(txboptg1_FrMin.Text) And Val(rfReadData(rfDataList.rfR1Freq_txb2)) <= Val(txboptg1_FrMax.Text) Then
If Val(rfReadData(rfDataList.rfR2Vrms_txb3)) >= Val(txboptg2_VrMin.Text) And Val(rfReadData(rfDataList.rfR2Vrms_txb3)) <= Val(txboptg2_VrMax.Text) Then
If Val(rfReadData(rfDataList.rfR2Freq)) >= Val(txboptg2_FrMin.Text) And Val(rfReadData(rfDataList.rfR2Freq)) <= Val(txboptg2_FrMax.Text) Then
If Val(rfReadData(rfDataList.rfR3Vrms)) >= Val(txboptg3_VrMin.Text) And Val(rfReadData(rfDataList.rfR3Vrms)) <= Val(txboptg3_VrMax.Text) Then
If Val(rfReadData(rfDataList.rfR3Freq)) >= Val(txboptg3_FrMin.Text) And Val(rfReadData(rfDataList.rfR3Freq)) <= Val(txboptg3_FrMax.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
rfReadData(i) = "N/A"
oKNG = True
Case rfDataList.rfR1Freq_txb2
If Val(rfReadData(rfDataList.mcR1Wave)) >= Val(txbopdy1_DtMin.Text) And Val(rfReadData(rfDataList.mcR1Wave)) <= Val(txbopdy1_DtMax.Text) Then
If Val(rfReadData(rfDataList.mcR1Vpp)) >= Val(txbopdy1_VpMin.Text) And Val(rfReadData(rfDataList.mcR1Vpp)) <= Val(txbopdy1_VpMax.Text) Then
If Val(rfReadData(rfDataList.mcR1Freq)) >= Val(txbopdy1_FrMin.Text) And Val(rfReadData(rfDataList.mcR1Freq)) <= Val(txbopdy1_FrMax.Text) Then
If Val(rfReadData(rfDataList.mcR2Wave)) >= Val(txbopdy2_DtMin.Text) And Val(rfReadData(rfDataList.mcR2Wave)) <= Val(txbopdy2_DtMax.Text) Then
If Val(rfReadData(rfDataList.mcR2Vpp)) >= Val(txbopdy2_VpMin.Text) And Val(rfReadData(rfDataList.mcR2Vpp)) <= Val(txbopdy2_VpMax.Text) Then
If Val(rfReadData(rfDataList.mcR2Freq)) >= Val(txbopdy2_FrMin.Text) And Val(rfReadData(rfDataList.mcR2Freq)) <= Val(txbopdy2_FrMax.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
rfReadData(i) = "N/A"
oKNG = True
Case rfDataList.rfR2Vrms_txb3
If Val(rfReadData(rfDataList.epR1Vpp)) >= Val(txbopcs1_VpMin.Text) And Val(rfReadData(rfDataList.epR1Vpp)) <= Val(txbopcs1_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR1Freq)) >= Val(txbopcs1_FrMin.Text) And Val(rfReadData(rfDataList.epR1Freq)) <= Val(txbopcs1_FrMax.Text) Then
Dim pnWidth As Single = Val(rfReadData(rfDataList.epR1PWidth)) - Val(rfReadData(rfDataList.epR1NWidth))
If Abs(pnWidth) < Val(txbopcs1_DyRg.Text) Then
If Val(rfReadData(rfDataList.epR2Vpp)) >= Val(txbopcs2_VpMin.Text) And Val(rfReadData(rfDataList.epR2Vpp)) <= Val(txbopcs2_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR2Freq)) >= Val(txbopcs2_FrMin.Text) And Val(rfReadData(rfDataList.epR2Freq)) <= Val(txbopcs2_FrMax.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR2PWidth)) - Val(rfReadData(rfDataList.epR2NWidth))
If Abs(pnWidth) < Val(txbopcs2_DyRg.Text) Then
If Val(rfReadData(rfDataList.epR3Vpp)) >= Val(txbopcs3_VpMin.Text) And Val(rfReadData(rfDataList.epR3Vpp)) <= Val(txbopcs3_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR3Freq)) >= Val(txbopcs3_FrMin.Text) And Val(rfReadData(rfDataList.epR3Freq)) <= Val(txbopcs3_FrMax.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR3PWidth)) - Val(rfReadData(rfDataList.epR3NWidth))
If Abs(pnWidth) < Val(txbopcs3_DyRg.Text) Then
rfReadData(i) = "합격"
oKNG = True
If TDUseCompare = True Then
If Val(rfReadData(rfDataList.epR1Vpp)) >= Val(txbopcs1_VpMin.Text) And Val(rfReadData(rfDataList.epR1Vpp)) <= Val(txbopcs1_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR1Freq)) >= Val(txbopcs1_FrMin.Text) And Val(rfReadData(rfDataList.epR1Freq)) <= Val(txbopcs1_FrMax.Text) Then
Dim pnWidth As Single = Val(rfReadData(rfDataList.epR1PWidth)) - Val(rfReadData(rfDataList.epR1NWidth))
If Abs(pnWidth) < Val(txbopcs1_DyRg.Text) Then
If Val(rfReadData(rfDataList.epR2Vpp)) >= Val(txbopcs2_VpMin.Text) And Val(rfReadData(rfDataList.epR2Vpp)) <= Val(txbopcs2_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR2Freq)) >= Val(txbopcs2_FrMin.Text) And Val(rfReadData(rfDataList.epR2Freq)) <= Val(txbopcs2_FrMax.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR2PWidth)) - Val(rfReadData(rfDataList.epR2NWidth))
If Abs(pnWidth) < Val(txbopcs2_DyRg.Text) Then
If Val(rfReadData(rfDataList.epR3Vpp)) >= Val(txbopcs3_VpMin.Text) And Val(rfReadData(rfDataList.epR3Vpp)) <= Val(txbopcs3_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR3Freq)) >= Val(txbopcs3_FrMin.Text) And Val(rfReadData(rfDataList.epR3Freq)) <= Val(txbopcs3_FrMax.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR3PWidth)) - Val(rfReadData(rfDataList.epR3NWidth))
If Abs(pnWidth) < Val(txbopcs3_DyRg.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
@ -986,125 +947,275 @@ DataFail:
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case Else
oKNG = True
End Select
Else
Select Case i
Case rfDataList.rfR1Vrms_txb1
If Val(rfReadData(rfDataList.rfR1Vrms_txb1)) >= Val(txboptg1_VrMinAT.Text) And Val(rfReadData(rfDataList.rfR1Vrms_txb1)) <= Val(txboptg1_VrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR1Freq_txb2)) >= Val(txboptg1_FrMinAT.Text) And Val(rfReadData(rfDataList.rfR1Freq_txb2)) <= Val(txboptg1_FrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR2Vrms_txb3)) >= Val(txboptg2_VrMinAT.Text) And Val(rfReadData(rfDataList.rfR2Vrms_txb3)) <= Val(txboptg2_VrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR2Freq)) >= Val(txboptg2_FrMinAT.Text) And Val(rfReadData(rfDataList.rfR2Freq)) <= Val(txboptg2_FrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR3Vrms)) >= Val(txboptg3_VrMinAT.Text) And Val(rfReadData(rfDataList.rfR3Vrms)) <= Val(txboptg3_VrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR3Freq)) >= Val(txboptg3_FrMinAT.Text) And Val(rfReadData(rfDataList.rfR3Freq)) <= Val(txboptg3_FrMaxAT.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case rfDataList.rfR1Freq_txb2
rfReadData(i) = "NULL"
oKNG = True
Case rfDataList.rfR2Vrms_txb3
If Val(rfReadData(rfDataList.epR1Vpp)) >= Val(txbopcs1_VpMinAT.Text) And Val(rfReadData(rfDataList.epR1Vpp)) <= Val(txbopcs1_VpMaxAT.Text) Then
If Val(rfReadData(rfDataList.epR1Freq)) >= Val(txbopcs1_FrMinAT.Text) And Val(rfReadData(rfDataList.epR1Freq)) <= Val(txbopcs1_FrMaxAT.Text) Then
Dim pnWidth As Single = Val(rfReadData(rfDataList.epR1PWidth)) - Val(rfReadData(rfDataList.epR1NWidth))
If Abs(pnWidth) < Val(txbopcs1_DyRgAT.Text) Then
If Val(rfReadData(rfDataList.epR2Vpp)) >= Val(txbopcs2_VpMinAT.Text) And Val(rfReadData(rfDataList.epR2Vpp)) <= Val(txbopcs2_VpMaxAT.Text) Then
If Val(rfReadData(rfDataList.epR2Freq)) >= Val(txbopcs2_FrMinAT.Text) And Val(rfReadData(rfDataList.epR2Freq)) <= Val(txbopcs2_FrMaxAT.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR2PWidth)) - Val(rfReadData(rfDataList.epR2NWidth))
If Abs(pnWidth) < Val(txbopcs2_DyRgAT.Text) Then
If Val(rfReadData(rfDataList.epR3Vpp)) >= Val(txbopcs3_VpMinAT.Text) And Val(rfReadData(rfDataList.epR3Vpp)) <= Val(txbopcs3_VpMaxAT.Text) Then
If Val(rfReadData(rfDataList.epR3Freq)) >= Val(txbopcs3_FrMinAT.Text) And Val(rfReadData(rfDataList.epR3Freq)) <= Val(txbopcs3_FrMaxAT.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR3PWidth)) - Val(rfReadData(rfDataList.epR3NWidth))
If Abs(pnWidth) < Val(txbopcs3_DyRgAT.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case Else
oKNG = True
End Select
End If
dataResult(rfReadTxb(i), rfReadData(i), oKNG)
Next
dataResult(rfReadTxb(i), rfReadData(i), oKNG)
Next
Return False
Else
GoTo FailData
End If
Else
GoTo FailData
End If
Return False
Else
GoTo FailData
'' RF + MC + EP 전체 검사
DBCmd = "SELECT CONVERT(TestDate,CHAR),CONVERT(TestTime,CHAR),RF_R1Vrms,RF_R1Freq,RF_R2Vrms,RF_R2Freq,RF_R3Vrms,RF_R3Freq,EP_R1Vpp,EP_R1Freq,EP_R1PWidth,EP_R1NWidth,EP_R2Vpp,EP_R2Freq,EP_R2PWidth,EP_R2NWidth,EP_R3Vpp,EP_R3Freq,EP_R3PWidth,EP_R3NWidth,MC_R1Wave,MC_R1Vpp,MC_R1Freq,MC_R2Wave,MC_R2Vpp,MC_R2Freq FROM " & applyRFDB & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If DBQueryReader(DBCmd) Then
If rfDataList.mcR2Freq = sqlDataQuery.Length - 1 Then
For i = 0 To rfDataList.mcR2Freq
rfReadData(i) = sqlDataQuery(i)
Next
For i = 0 To rfDataList.rfR2Vrms_txb3
Dim oKNG As Boolean = False
If TDUseCompare = True Then
Select Case i
Case rfDataList.rfR1Vrms_txb1
If Val(rfReadData(rfDataList.rfR1Vrms_txb1)) >= Val(txboptg1_VrMin.Text) And Val(rfReadData(rfDataList.rfR1Vrms_txb1)) <= Val(txboptg1_VrMax.Text) Then
If Val(rfReadData(rfDataList.rfR1Freq_txb2)) >= Val(txboptg1_FrMin.Text) And Val(rfReadData(rfDataList.rfR1Freq_txb2)) <= Val(txboptg1_FrMax.Text) Then
If Val(rfReadData(rfDataList.rfR2Vrms_txb3)) >= Val(txboptg2_VrMin.Text) And Val(rfReadData(rfDataList.rfR2Vrms_txb3)) <= Val(txboptg2_VrMax.Text) Then
If Val(rfReadData(rfDataList.rfR2Freq)) >= Val(txboptg2_FrMin.Text) And Val(rfReadData(rfDataList.rfR2Freq)) <= Val(txboptg2_FrMax.Text) Then
If Val(rfReadData(rfDataList.rfR3Vrms)) >= Val(txboptg3_VrMin.Text) And Val(rfReadData(rfDataList.rfR3Vrms)) <= Val(txboptg3_VrMax.Text) Then
If Val(rfReadData(rfDataList.rfR3Freq)) >= Val(txboptg3_FrMin.Text) And Val(rfReadData(rfDataList.rfR3Freq)) <= Val(txboptg3_FrMax.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case rfDataList.rfR1Freq_txb2
If Val(rfReadData(rfDataList.mcR1Wave)) >= Val(txbopdy1_DtMin.Text) And Val(rfReadData(rfDataList.mcR1Wave)) <= Val(txbopdy1_DtMax.Text) Then
If Val(rfReadData(rfDataList.mcR1Vpp)) >= Val(txbopdy1_VpMin.Text) And Val(rfReadData(rfDataList.mcR1Vpp)) <= Val(txbopdy1_VpMax.Text) Then
If Val(rfReadData(rfDataList.mcR1Freq)) >= Val(txbopdy1_FrMin.Text) And Val(rfReadData(rfDataList.mcR1Freq)) <= Val(txbopdy1_FrMax.Text) Then
If Val(rfReadData(rfDataList.mcR2Wave)) >= Val(txbopdy2_DtMin.Text) And Val(rfReadData(rfDataList.mcR2Wave)) <= Val(txbopdy2_DtMax.Text) Then
If Val(rfReadData(rfDataList.mcR2Vpp)) >= Val(txbopdy2_VpMin.Text) And Val(rfReadData(rfDataList.mcR2Vpp)) <= Val(txbopdy2_VpMax.Text) Then
If Val(rfReadData(rfDataList.mcR2Freq)) >= Val(txbopdy2_FrMin.Text) And Val(rfReadData(rfDataList.mcR2Freq)) <= Val(txbopdy2_FrMax.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case rfDataList.rfR2Vrms_txb3
If Val(rfReadData(rfDataList.epR1Vpp)) >= Val(txbopcs1_VpMin.Text) And Val(rfReadData(rfDataList.epR1Vpp)) <= Val(txbopcs1_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR1Freq)) >= Val(txbopcs1_FrMin.Text) And Val(rfReadData(rfDataList.epR1Freq)) <= Val(txbopcs1_FrMax.Text) Then
Dim pnWidth As Single = Val(rfReadData(rfDataList.epR1PWidth)) - Val(rfReadData(rfDataList.epR1NWidth))
If Abs(pnWidth) < Val(txbopcs1_DyRg.Text) Then
If Val(rfReadData(rfDataList.epR2Vpp)) >= Val(txbopcs2_VpMin.Text) And Val(rfReadData(rfDataList.epR2Vpp)) <= Val(txbopcs2_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR2Freq)) >= Val(txbopcs2_FrMin.Text) And Val(rfReadData(rfDataList.epR2Freq)) <= Val(txbopcs2_FrMax.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR2PWidth)) - Val(rfReadData(rfDataList.epR2NWidth))
If Abs(pnWidth) < Val(txbopcs2_DyRg.Text) Then
If Val(rfReadData(rfDataList.epR3Vpp)) >= Val(txbopcs3_VpMin.Text) And Val(rfReadData(rfDataList.epR3Vpp)) <= Val(txbopcs3_VpMax.Text) Then
If Val(rfReadData(rfDataList.epR3Freq)) >= Val(txbopcs3_FrMin.Text) And Val(rfReadData(rfDataList.epR3Freq)) <= Val(txbopcs3_FrMax.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR3PWidth)) - Val(rfReadData(rfDataList.epR3NWidth))
If Abs(pnWidth) < Val(txbopcs3_DyRg.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case Else
oKNG = True
End Select
Else
Select Case i
Case rfDataList.rfR1Vrms_txb1
If Val(rfReadData(rfDataList.rfR1Vrms_txb1)) >= Val(txboptg1_VrMinAT.Text) And Val(rfReadData(rfDataList.rfR1Vrms_txb1)) <= Val(txboptg1_VrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR1Freq_txb2)) >= Val(txboptg1_FrMinAT.Text) And Val(rfReadData(rfDataList.rfR1Freq_txb2)) <= Val(txboptg1_FrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR2Vrms_txb3)) >= Val(txboptg2_VrMinAT.Text) And Val(rfReadData(rfDataList.rfR2Vrms_txb3)) <= Val(txboptg2_VrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR2Freq)) >= Val(txboptg2_FrMinAT.Text) And Val(rfReadData(rfDataList.rfR2Freq)) <= Val(txboptg2_FrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR3Vrms)) >= Val(txboptg3_VrMinAT.Text) And Val(rfReadData(rfDataList.rfR3Vrms)) <= Val(txboptg3_VrMaxAT.Text) Then
If Val(rfReadData(rfDataList.rfR3Freq)) >= Val(txboptg3_FrMinAT.Text) And Val(rfReadData(rfDataList.rfR3Freq)) <= Val(txboptg3_FrMaxAT.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case rfDataList.rfR1Freq_txb2
rfReadData(i) = "NULL"
oKNG = True
Case rfDataList.rfR2Vrms_txb3
If Val(rfReadData(rfDataList.epR1Vpp)) >= Val(txbopcs1_VpMinAT.Text) And Val(rfReadData(rfDataList.epR1Vpp)) <= Val(txbopcs1_VpMaxAT.Text) Then
If Val(rfReadData(rfDataList.epR1Freq)) >= Val(txbopcs1_FrMinAT.Text) And Val(rfReadData(rfDataList.epR1Freq)) <= Val(txbopcs1_FrMaxAT.Text) Then
Dim pnWidth As Single = Val(rfReadData(rfDataList.epR1PWidth)) - Val(rfReadData(rfDataList.epR1NWidth))
If Abs(pnWidth) < Val(txbopcs1_DyRgAT.Text) Then
If Val(rfReadData(rfDataList.epR2Vpp)) >= Val(txbopcs2_VpMinAT.Text) And Val(rfReadData(rfDataList.epR2Vpp)) <= Val(txbopcs2_VpMaxAT.Text) Then
If Val(rfReadData(rfDataList.epR2Freq)) >= Val(txbopcs2_FrMinAT.Text) And Val(rfReadData(rfDataList.epR2Freq)) <= Val(txbopcs2_FrMaxAT.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR2PWidth)) - Val(rfReadData(rfDataList.epR2NWidth))
If Abs(pnWidth) < Val(txbopcs2_DyRgAT.Text) Then
If Val(rfReadData(rfDataList.epR3Vpp)) >= Val(txbopcs3_VpMinAT.Text) And Val(rfReadData(rfDataList.epR3Vpp)) <= Val(txbopcs3_VpMaxAT.Text) Then
If Val(rfReadData(rfDataList.epR3Freq)) >= Val(txbopcs3_FrMinAT.Text) And Val(rfReadData(rfDataList.epR3Freq)) <= Val(txbopcs3_FrMaxAT.Text) Then
pnWidth = Val(rfReadData(rfDataList.epR3PWidth)) - Val(rfReadData(rfDataList.epR3NWidth))
If Abs(pnWidth) < Val(txbopcs3_DyRgAT.Text) Then
rfReadData(i) = "합격"
oKNG = True
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Else
rfReadData(i) = "불합격"
dataOkNg(dbRegList.dbWave) = False
End If
Case Else
oKNG = True
End Select
End If
dataResult(rfReadTxb(i), rfReadData(i), oKNG)
Next
Else
GoTo FailData
End If
Return False
Else
GoTo FailData
End If
End If
FailData:
@ -1175,6 +1286,22 @@ DataFail:
Else
GoTo DataFail
End If
ElseIf LDMUseCompare = True Then
DBCmd = "SELECT CONVERT(h.TestDate,CHAR),CONVERT(h.TestTime,CHAR),h.FW_Ver,h.BatteryLv,h.DivTemp,h.CtTemp,c.P1_Frequency,h.LDM_R1Value,h.LDM_R2Value,h.LDM_R3Value FROM " & ApplyLdmDB & " AS c INNER JOIN " & ApplyLdmHfDB & " AS h ON c.PV_SN = h.PV_SN WHERE h.PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If DBQueryReader(DBCmd) Then
ForCnt = hifuDataList.hifuData1_txb
If hifuDataList.hifuData3 = sqlDataQuery.Length - 1 Then
ReDim hifuReadData(sqlDataQuery.Length - 1)
For i = 0 To sqlDataQuery.Length - 1
hifuReadData(i) = sqlDataQuery(i)
Next
Else
GoTo DataFail
End If
Else
GoTo DataFail
End If
Else
DBCmd = "SELECT DATE_FORMAT(P1_DateTime,'%Y-%m-%d'),DATE_FORMAT(P1_DateTime,'%H:%i:%S'),Fw_Ver,BatteryLv,DivTemp,CtTemp FROM " & applyNonTDDB & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If DBQueryReader(DBCmd) Then
@ -1194,7 +1321,7 @@ DataFail:
For i = 0 To ForCnt
Dim OkNg As Boolean = False
If TDUseCompare = True Then
If TDUseCompare = True Or LDMUseCompare = True Then
Select Case i
Case hifuDataList.hifuFW
If hifuReadData(i) = txbopFW.Text Then
@ -1326,6 +1453,8 @@ DataFail:
If TDUseCompare = True Then
DBCmd = "SELECT CONVERT(P3_DateTime,CHAR), IFNULL(Manufacture_Date,'') as Manufacture_Date, Ct_SN,Ct_Manufacture_Name,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Max_ShotCnt,Ct_Remain_ShotCnt FROM " & applyCartDB & " WHERE Product_SN = '" & prodSerial & "'"
ElseIf LDMUseCompare = True Then
DBCmd = "SELECT CONVERT(P3_DateTime,CHAR), IFNULL(Manufacture_Date,'') as Manufacture_Date, Ct_SN,Ct_Manufacture_Name,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Max_ShotCnt,Ct_Remain_ShotCnt FROM " & ApplyLdmDB & " WHERE Product_SN = '" & prodSerial & "'"
Else
DBCmd = "SELECT CONVERT(P3_DateTime,CHAR), IFNULL(Manufacture_Date,'') as Manufacture_Date, Ct_SN,Ct_Manufacture_Name,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency FROM " & applyNonTDDB & " WHERE Product_SN = '" & prodSerial & "'"
End If
@ -1401,7 +1530,7 @@ DataFail:
End Function
Private Function prodSerialDot(prodSerial As String) As Boolean
If TDUseCompare = True Then
If TDUseCompare = True Or LDMUseCompare = True Then
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,Char),Ct_Power,Ct_Motor_Lv FROM " & applyCartDB & " WHERE Product_SN = '" & prodSerial & "'"
If DBQueryReader(DBCmd) Then
@ -1463,6 +1592,29 @@ DataFail:
Return True
End If
ElseIf LDMUseCompare = True Then
DBCmd = "SELECT PV_SN FROM " & ApplyLdmDB & " WHERE Product_SN = '" & prodSerial & "'"
tdReadData(tdDataList.TDSN) = DBQueryScalar(DBCmd)
If tdReadData(tdDataList.TDSN) = "False" Then
MsgBox("Board 번호를 확인할 수 없습니다.", vbCritical)
Return True
End If
For i = 0 To tdDataList.Grade
If i <> tdDataList.TDSN Then
tdReadData(i) = "N/A"
tdReadTxb(i).Text = tdReadData(i)
tdReadTxb(i).BackColor = Color.Green
Else
tdReadTxb(i).Text = tdReadData(i)
tdReadTxb(i).BackColor = Color.Green
End If
Next
Return False
Else
DBCmd = "SELECT PV_SN FROM " & applyNonTDDB & " WHERE Product_SN = '" & prodSerial & "'"
tdReadData(tdDataList.TDSN) = DBQueryScalar(DBCmd)
@ -1497,7 +1649,7 @@ DataFail:
colorType = Mid(prodSerial, 3, 1)
End If
DBCmd = "SELECT DeviceTypeCode, TDUseYn FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelType & "' LIMIT 1"
DBCmd = "SELECT DeviceTypeCode, TDUseYn ,LdmUseYn, LowPriceUseYn FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelType & "' LIMIT 1"
If DBQueryReader(DBCmd) Then
deviceType = sqlDataQuery(0)
@ -1506,6 +1658,16 @@ DataFail:
Else
TDUseCompare = True
End If
If sqlDataQuery(2) <> "Y" Then
LDMUseCompare = False
Else
LDMUseCompare = True
End If
If sqlDataQuery(1) <> "Y" AndAlso sqlDataQuery(3) <> "Y" Then
RfEpOnlyCompare = False
Else
RfEpOnlyCompare = True
End If
End If
If typeCompare() <> "FACE" And typeCompare() <> "EYE" And typeCompare() <> "BODY" Then
@ -1519,6 +1681,8 @@ DataFail:
Private Function prodSerialExist(prodSerial As String) As Boolean
If TDUseCompare = True Then
DBCmd = "SELECT COUNT(PV_SN) FROM " & applyCartDB & " WHERE Product_SN = '" & prodSerial & "'"
ElseIf LDMUseCompare = True Then
DBCmd = "SELECT COUNT(PV_SN) FROM " & ApplyLdmDB & " WHERE Product_SN = '" & prodSerial & "'"
Else
DBCmd = "SELECT COUNT(PV_SN) FROM " & applyNonTDDB & " WHERE Product_SN = '" & prodSerial & "'"
End If
@ -1711,6 +1875,8 @@ finishFunc:
If TDUseCompare = True Then
UseDBName = applyCartDB
ElseIf LDMUseCompare = True Then
UseDBName = ApplyLdmDB
Else
UseDBName = applyNonTDDB
End If
@ -1803,6 +1969,8 @@ FailResult:
If TDUseCompare = True Then
DBCmd = "UPDATE " & applyCartDB & " SET TestStep = '32' ,Product_SN = NULL WHERE Product_SN = '" & txbProdSerial.Text & "'"
ElseIf LDMUseCompare = True Then
DBCmd = "UPDATE " & ApplyLdmDB & " SET TestStep = '32' ,Product_SN = NULL WHERE Product_SN = '" & txbProdSerial.Text & "'"
Else
DBCmd = "UPDATE " & applyNonTDDB & " SET TestStep = '32' ,Product_SN = NULL WHERE Product_SN = '" & txbProdSerial.Text & "'"
End If
@ -1843,10 +2011,10 @@ FailResult:
Dim prodFront As String = Mid(txbProdSerial.Text, 10, 3)
If prodRegData(txbFactory_M1.Text.ToLower, prodDate & prodFront & prodBack, prodCode, Val(txbCountry_M1.Text), Val(txbAgency_M1.Text)) Then
If prodRegFreq(Val(txbHFreq_M1.Text), Val(txbDotPower_M1.Text)) Then
If prodRegFreq(Val(txbHFreq_M1.Text), Val(txbDotPower_M1.Text)) Then ''입력주파수 파워
If prodRegTD(txbTDSN.Text) Then
If prodRegMotor(Val(txbDotDepth_M1.Text)) Then
If prodRegShot(Val(txbFace_M1.Text)) Then
If prodRegMotor(Val(txbDotDepth_M1.Text)) Then ''모터
If prodRegShot(Val(txbFace_M1.Text)) Then ''페이스샷
GoTo successFunc
Else
errorStr = "샷실패"
@ -2945,10 +3113,10 @@ finishFunc:
dataSetting()
configLoad()
DBCmd = "SELECT HifuUseYn FROM " & ApplyModelInfoDB & " WHERE ModelName = '" & ModelName & "' LIMIT 1"
DBCmd = "SELECT HifuUseYn, LdmUseYn FROM " & ApplyModelInfoDB & " WHERE ModelName = '" & ModelName & "' LIMIT 1"
If DBQueryReader(DBCmd) Then
If sqlDataQuery(0) = "Y" Then
If sqlDataQuery(0) = "Y" Or sqlDataQuery(1) = "Y" Then
gbStandard.Visible = True
gbStandard_AT.Visible = False
Else

View File

@ -18,6 +18,10 @@ Module mySqlModule
Private Const mainCartDB As String = "jomtTesterDB.jomtCartridgeTbl"
Private Const testCartDB As String = "jomtTesterServerDB.jomtCartridgeTbl"
Private Const mainLdmDB As String = "jomtTesterDB.jomtLDMTbl"
Private Const LdmHfDB As String = "jomtTesterDB.jomtLDMTestTbl"
Private Const LdmRfDB As String = "jomtTesterDB.jomtLDMRfTestTbl"
Private Const mainHIFUDB As String = "jomtTesterDB.jomtHFTestTbl"
Private Const testHIFUDB As String = "jomtTesterServerDB.jomtHFTestTbl"
@ -32,13 +36,15 @@ Module mySqlModule
Private Const mainModelInfoDB As String = "jomtTesterDB.jomtModelInfoTbl"
Private Const testModelInfoDB As String = "jomtTesterServerDB.jomtModelInfoTbl"
Public applyCartDB As String = mainCartDB
Public applyHIFUDB As String = mainHIFUDB
Public applyRFDB As String = mainRFDB
Public applyNonTDDB As String = mainNonTDDB
Public ApplyReturnDB As String = MainReturnDB
Public ApplyModelInfoDB As String = mainModelInfoDB
Public ApplyLdmDB As String = mainLdmDB
Public ApplyLdmHfDB As String = LdmHfDB
Public ApplyLdmRfDB As String = LdmRfDB
Private Function DBOpen() As Boolean
Try