Compare commits

..

3 Commits

Author SHA1 Message Date
hyelinjung
b507d11e36 1. 보급형 td 계엘(세모,원) ckbopV1인 경우 적용
2. ckbopV1 검사에서 네모, 마름모 적용되지 않게 수정
2026-02-13 11:07:55 +09:00
hyelinjung
0e3c8585f9 도트 검사 함수에서 ldm 모델 db 테이블 따로 작성 2026-02-12 17:04:01 +09:00
hyelinjung
1b587f1cfd 1. 세모 모델 기능 추가 (확인/입력/삭제/반품)
2. 원 모델  rf 검사 추가
3. 버전 2.0.3
2026-02-12 16:58:28 +09:00
2 changed files with 416 additions and 218 deletions

View File

@ -1,8 +1,9 @@
Imports System.Drawing.Imaging
Imports System.Drawing.Imaging
Imports System.IO
Imports System.IO.Ports
Imports System.Math
Imports System.Threading
Imports Mysqlx.XDevAPI.Relational
Public Class mainForm
Private Enum formModList
@ -217,6 +218,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 +306,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)
@ -569,7 +572,7 @@ Public Class mainForm
Return False
End If
If ckbopV1.Checked = True And modelCompare() <> "ALTO" Then
If ckbopV1.Checked = True And modelCompare() <> "ALTO" And modelCompare() <> "NEMO" And modelCompare() <> "MAREUMMO" Then
If v1BeforeHifu() Then
Return False
End If
@ -581,7 +584,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 +615,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 +818,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
@ -826,7 +838,13 @@ Public Class mainForm
End Function
Private Function v1BeforeRF() As Boolean
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,CHAR) FROM " & applyCartDB & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
Dim table As String
If LDMUseCompare Then
table = ApplyLdmDB
Else
table = applyCartDB
End If
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,CHAR) FROM " & table & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If DBQueryReader(DBCmd) Then
txbRDate_M1.Text = sqlDataQuery(0)
txbRTime_M1.Text = sqlDataQuery(1)
@ -855,105 +873,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 +954,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:
@ -1118,7 +1236,14 @@ FailData:
End Function
Private Function v1BeforeHifu()
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,CHAR),P1_Frequency FROM " & applyCartDB & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
Dim table As String
If LDMUseCompare Then
table = ApplyLdmDB
Else
table = applyCartDB
End If
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,CHAR),P1_Frequency FROM " & table & " WHERE PV_SN = '" & tdReadData(tdDataList.TDSN) & "'"
If DBQueryReader(DBCmd) Then
txbHDate_M1.Text = sqlDataQuery(0)
txbHTime_M1.Text = sqlDataQuery(1)
@ -1175,6 +1300,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 +1335,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 +1467,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,8 +1544,17 @@ DataFail:
End Function
Private Function prodSerialDot(prodSerial As String) As Boolean
If TDUseCompare = True Then
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,Char),Ct_Power,Ct_Motor_Lv FROM " & applyCartDB & " WHERE Product_SN = '" & prodSerial & "'"
Dim table As String
If LDMUseCompare Then
table = ApplyLdmDB
Else
table = applyCartDB
End If
If TDUseCompare = True Or LDMUseCompare = True Then
DBCmd = "SELECT CONVERT(P1_Date,CHAR),CONVERT(P1_Time,Char),Ct_Power,Ct_Motor_Lv FROM " & table & " WHERE Product_SN = '" & prodSerial & "'"
If DBQueryReader(DBCmd) Then
@ -1463,6 +1615,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 +1672,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 +1681,17 @@ 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 +1705,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 +1899,8 @@ finishFunc:
If TDUseCompare = True Then
UseDBName = applyCartDB
ElseIf LDMUseCompare = True Then
UseDBName = ApplyLdmDB
Else
UseDBName = applyNonTDDB
End If
@ -1803,6 +1993,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 +2035,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 = "샷실패"
@ -2257,7 +2449,7 @@ finishFunc:
psData = Mid(readData, 1, InStr(readData, "^") - 1)
readData = Mid(readData, InStr(readData, "^") + 1, readData.Length)
Else
MsgBox("불량 데이터가 존재합니다.", vbCritical)
MsgBox("불량 데이터가 존재합니다." & vbCrLf & "합격기준 데이터 개수가 맞지 않습니다. 초기화 후 저장을 진행하여 주십시오.", vbCritical)
optionAllReset()
Exit For
End If
@ -2268,7 +2460,7 @@ finishFunc:
dbCheckSetting(readData)
Else
MsgBox("불량 데이터가 존재합니다.", vbCritical)
MsgBox("불량 데이터가 존재합니다." & vbCrLf & "합격기준 데이터 개수가 맞지 않습니다. 초기화 후 저장을 진행하여 주십시오.", vbCritical)
optionAllReset()
End If
End If
@ -2945,10 +3137,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