diff --git a/MAXIMUM_FUNCTION_PROGRAM/mainForm.vb b/MAXIMUM_FUNCTION_PROGRAM/mainForm.vb index f245939..e265109 100644 --- a/MAXIMUM_FUNCTION_PROGRAM/mainForm.vb +++ b/MAXIMUM_FUNCTION_PROGRAM/mainForm.vb @@ -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 diff --git a/MAXIMUM_FUNCTION_PROGRAM/mySqlModule.vb b/MAXIMUM_FUNCTION_PROGRAM/mySqlModule.vb index b456ed6..11d5c7f 100644 --- a/MAXIMUM_FUNCTION_PROGRAM/mySqlModule.vb +++ b/MAXIMUM_FUNCTION_PROGRAM/mySqlModule.vb @@ -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