store-TDTestExecutor/MySqlModule.vb

887 lines
34 KiB
VB.net
Raw Normal View History

Imports MySql.Data ' 데이터베이스 연동을 위한 네임스페이스 추가
Imports MySql.Data.MySqlClient ' MYSQL Server용 네임스페이스 추가
Module MySqlModule
Private Const LocalHostIP As String = "192.168.0.250"
Private Const DataBaseName As String = "jomtTesterDB"
'Private Const DataBaseName As String = "jomtTestServerDB"
Private Const UserDataBaseName As String = "jomtAccountDB"
Private Const UserName As String = "root"
Private Const Password As String = "JOMT1646db!!"
Private Conn As String = "Server=" + LocalHostIP + ";DataBase=" + DataBaseName + ";user=" + UserName + ";password=" + Password + ";"
Private sqlCon As New MySqlConnection(Conn)
Private sqlCmd As New MySqlCommand()
Private sqlData As MySqlDataReader
Public sqlDataQueryScalar As Object
Public sqlDataQuery() As Object
Public StrCmd As String
Public UseTestServer As Boolean = False
Public IQC_GrCapStr(,) As String = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{"0", "IQC_ProR1Cnt", "IQC_ProR2Cnt", "IQC_ProR3Cnt", "IQC_ProR4Cnt", "IQC_ProR5Cnt", "IQC_ProR6Cnt", "IQC_ProR7Cnt", "IQC_ProR8Cnt", "IQC_ProR9Cnt", "IQC_ProR10Cnt"},
{"0", "IQC_LuxR1Cnt", "IQC_LuxR2Cnt", "IQC_LuxR3Cnt", "IQC_LuxR4Cnt", "IQC_LuxR5Cnt", "IQC_LuxR6Cnt", "IQC_LuxR7Cnt", "IQC_LuxR8Cnt", "IQC_LuxR9Cnt", "IQC_LuxR10Cnt"},
{"0", "IQC_EyeR1Cnt", "IQC_EyeR2Cnt", "IQC_EyeR3Cnt", "IQC_EyeR4Cnt", "IQC_EyeR5Cnt", "IQC_EyeR6Cnt", "IQC_EyeR7Cnt", "IQC_EyeR8Cnt", "IQC_EyeR9Cnt", "IQC_EyeR10Cnt"}}
Public Enum MODEL_NAME
PRO = 1
LUX
EYE
MAX
MAX_MODEL_NUM
End Enum
Public Enum RELAY_NUM
RL1 = 1
RL2
RL3
RL4
RL5
RL6
RL7
RL8
RL9
RL10
MAX_RELAY_NUM
End Enum
Public Enum PD1_ENUM
STANDBY = 0
WAIT
WRITE
SAVE
COMPLETE
MAX_NUM
End Enum
Public PD1_STATUS As PD1_ENUM
Public Structure MEASURE
Public MeasurePV_SN As String
Public MeasureTestStep As Integer
Public MeasureValue() As Double
Public MeasureOkNg As String
Public MeasureGrade As String
Public MeasureCapacitor As String
Public PreTestStep As Integer
Public QC_LastDate As String
End Structure
Public RegMeasure As MEASURE
Public Const LenPVSN As Integer = 10
Public Const NamePVSN As String = "DIT"
Public Const NamePVSN2 As String = "J"
Public Structure TD_VALUE
Public PV_SN As String
Public PV_Date As String
Public PV_Frequency As String
Public PV_Impedance As String
Public PV_Capacitance As String
Public PV_Resistance As String
Public PV_Reverved As String
End Structure
Public RegTD_VALUE As TD_VALUE
Public Structure MES_IQC_CNT
Public IQC_Date As String
Public IQC_TotalCnt As Long
Public IQC_OKCnt As Long
Public IQC_NGCnt As Long
Public IQC_GradeCnt() As Long
Public IQC_GdCapCnt(,) As Long
Public IQC_CapCnt() As Long
Public IQC_ReTotalCnt As Long
Public IQC_ReOkCnt As Long
Public IQC_ReNgCnt As Long
Public IQC_ReGradeCnt() As Long
Public IQC_ReGdCapCnt(,) As Long
End Structure
Public RegMesIQC As MES_IQC_CNT
Public CntRegMesIQC As MES_IQC_CNT
Public Structure MES_PD1_CNT
Public PD1_Date As String
Public PD1_TotalCnt As Long
Public PD1_OKCnt As Long
Public PD1_NGCnt As Long
Public PD1_GradeCnt() As Long
Public PD1_CapCnt() As Long
End Structure
Public RegMesPD1 As MES_PD1_CNT
Public CntRegMesPD1 As MES_PD1_CNT
Public RegLocalPD1 As MES_PD1_CNT
Public Structure MES_Tester
Dim MesDate As String
Dim Stock_GradeCnt() As Long
Dim Release_GradeCnt() As Long
Dim PV_TDCnt As Long
Dim IQC_TotalCnt As Long
Dim IQC_OkCnt As Long
Dim IQC_NgCnt As Long
Dim IQC_GradeCnt() As Long
Dim IQC_GdCapCnt(,) As Long
Dim P1_TotalCnt As Long
Dim P1_OkCnt As Long
Dim P1_NgCnt As Long
Dim P1_GradeCnt() As Long
Dim P2_TotalCnt As Long
Dim P2_GradeCnt() As Long
Dim P2_OkCnt As Long
Dim P2_NgCnt As Long
End Structure
Public RegMesProduct As MES_Tester
Private Function DBOpen() As Boolean
Try
If sqlCon.State <> ConnectionState.Open Then
sqlCon.Open()
End If
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
Return False
End Try
End Function
Private Function DBClose() As Boolean
Try
If sqlCon.State = ConnectionState.Open Then
sqlCon.Close()
End If
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
Return False
End Try
End Function
Public Function DBCommand(cmdStr As String) As Boolean
Try
sqlCon.Open()
sqlCmd.CommandText = "USE " & DataBaseName & ";"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCon.Close()
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
sqlCon.Close()
Return False
End Try
End
End Function
Public Function DBQueryScalar(cmdStr As String) As String
Try
sqlCon.Open()
sqlCmd.CommandText = "USE " & DataBaseName & ";"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlDataQueryScalar = sqlCmd.ExecuteScalar()
sqlCon.Close()
Return sqlDataQueryScalar
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
sqlCon.Close()
Return False
End Try
End
End Function
Public Function DBQueryReader(cmdStr As String) As Integer
Dim FieldCount As Integer
Dim QueryCount As ULong
Dim initRun As Boolean = True
Dim TmpData As Object
Dim DataTypeName As String
Try
DBOpen()
sqlCmd.CommandText = "USE " & DataBaseName & ";"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlData = sqlCmd.ExecuteReader
FieldCount = sqlData.FieldCount
While (sqlData.Read())
If initRun Then
ReDim sqlDataQuery(FieldCount - 1)
initRun = False
Else
ReDim Preserve sqlDataQuery(UBound(sqlDataQuery) + FieldCount)
End If
For cnt = 0 To FieldCount - 1
DataTypeName = sqlData.GetDataTypeName(cnt)
If DataTypeName = "DATE" Then
TmpData = sqlData.GetDateTime(cnt)
Else
TmpData = sqlData.GetValue(cnt)
End If
If DBNull.Value.Equals(TmpData) Or TmpData.Equals(String.Empty) Then
sqlDataQuery(QueryCount) = "0"
Else
sqlDataQuery(QueryCount) = TmpData
End If
QueryCount += 1
Next
End While
DBClose()
Return QueryCount
Catch ex As Exception
frmTD_JIG.cmdDisplay(Err.Description)
If sqlCon.State = ConnectionState.Open Then sqlCon.Close()
Return 0
End Try
End
End Function
Public Function UserDBCommand(cmdStr As String) As Boolean
Try
sqlCon.Open()
sqlCmd.CommandText = "USE " & UserDataBaseName & ";"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCon.Close()
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
sqlCon.Close()
Return False
End Try
End
End Function
Public Function UserDBQueryReader(cmdStr As String) As Integer
Dim FieldCount As Integer
Dim QueryCount As ULong
Dim initRun As Boolean = True
Dim TmpData As Object
Dim DataTypeName As String
Try
DBOpen()
sqlCmd.CommandText = "USE " & UserDataBaseName & ";"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlData = sqlCmd.ExecuteReader
FieldCount = sqlData.FieldCount
While (sqlData.Read())
If initRun Then
ReDim sqlDataQuery(FieldCount - 1)
initRun = False
Else
ReDim Preserve sqlDataQuery(UBound(sqlDataQuery) + FieldCount)
End If
For cnt = 0 To FieldCount - 1
DataTypeName = sqlData.GetDataTypeName(cnt)
If DataTypeName = "DATE" Then
TmpData = sqlData.GetDateTime(cnt)
Else
TmpData = sqlData.GetValue(cnt)
End If
If DBNull.Value.Equals(TmpData) Or TmpData.Equals(String.Empty) Then
sqlDataQuery(QueryCount) = "0"
Else
sqlDataQuery(QueryCount) = TmpData
End If
QueryCount += 1
Next
End While
DBClose()
Return QueryCount
Catch ex As Exception
frmTD_JIG.cmdDisplay(Err.Description)
If sqlCon.State = ConnectionState.Open Then sqlCon.Close()
Return 0
End Try
End
End Function
Public Function getNowDateTime() As String
Dim DateTimeStr As String
DateTimeStr = Format(DateAndTime.Year(Now), "0000") & "-" & Format(DateAndTime.Month(Now), "00") & "-" & Format(DateAndTime.Day(Now), "00") & " " & Format(DateAndTime.Hour(Now), "00") & ":" & Format(DateAndTime.Minute(Now), "00") & ":" & Format(DateAndTime.Second(Now), "00")
Return DateTimeStr
End Function
Public Function getNowDate() As String
Dim DateTimeStr As String = Format(DateAndTime.Year(Now), "0000") & "-" & Format(DateAndTime.Month(Now), "00") & "-" & Format(DateAndTime.Day(Now), "00")
Return DateTimeStr
End Function
Public Function getNowTime() As String
Dim DateTimeStr As String
DateTimeStr = Format(DateAndTime.Hour(Now), "00") & ":" & Format(DateAndTime.Minute(Now), "00") & ":" & Format(DateAndTime.Second(Now), "00")
Return DateTimeStr
End Function
Public Sub ResetRegTD()
With RegTD_VALUE
.PV_SN = "N/A"
.PV_Date = "N/A"
.PV_Frequency = "N/A"
.PV_Impedance = "N/A"
.PV_Capacitance = "N/A"
.PV_Resistance = "N/A"
.PV_Reverved = "N/A"
End With
End Sub
Public Function LoadRegTD(StrTD_SN As String) As Boolean
Try
If (Len(StrTD_SN) = LenPVSN Or Len(StrTD_SN) = (LenPVSN - 1) And (Mid(StrTD_SN, 1, 3) = NamePVSN Or Mid(StrTD_SN, 1, 1) = NamePVSN2)) Then
ResetRegTD()
RegTD_VALUE.PV_SN = StrTD_SN
StrCmd = "select PV_Date,PV_Frequency,PV_Impedance,PV_Capacitance,PV_Resistance,TestStep from jomtCartridgeTbl where PV_SN = '" & StrTD_SN & "';"
If DBQueryReader(StrCmd) Then
RegTD_VALUE.PV_Date = sqlDataQuery(0)
RegTD_VALUE.PV_Frequency = sqlDataQuery(1)
RegTD_VALUE.PV_Impedance = sqlDataQuery(2)
RegTD_VALUE.PV_Capacitance = sqlDataQuery(3)
RegTD_VALUE.PV_Resistance = sqlDataQuery(4)
RegMeasure.PreTestStep = sqlDataQuery(5)
Return False
Else
RegTD_VALUE.PV_Date = "N/A"
RegTD_VALUE.PV_Frequency = "N/A"
RegTD_VALUE.PV_Impedance = "N/A"
RegTD_VALUE.PV_Capacitance = "N/A"
RegTD_VALUE.PV_Resistance = "N/A"
Return True
End If
Else
Return True
End If
Return False
Catch ex As Exception
Return True
End Try
End Function
Public Sub ResetRegMeasure()
With RegMeasure
.MeasurePV_SN = "N/A"
''.MeasureValue = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
.MeasureOkNg = "N/A"
.MeasureGrade = "N/A"
.MeasureCapacitor = "N/A"
.MeasureTestStep = 1
End With
End Sub
Public Sub ResetRegMeasureValue()
With RegMeasure
.MeasureValue = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
End With
End Sub
Public Sub ResetRegMesIQC()
With RegMesIQC
.IQC_Date = "0"
.IQC_TotalCnt = "0"
.IQC_OKCnt = "0"
.IQC_NGCnt = "0"
.IQC_ReTotalCnt = "0"
.IQC_ReOkCnt = "0"
.IQC_ReNgCnt = "0"
End With
ReDim RegMesIQC.IQC_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesIQC.IQC_GdCapCnt(MODEL_NAME.MAX_MODEL_NUM - 1, RELAY_NUM.MAX_RELAY_NUM - 1)
ReDim RegMesIQC.IQC_CapCnt(RELAY_NUM.MAX_RELAY_NUM - 1)
ReDim RegMesIQC.IQC_ReGradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesIQC.IQC_ReGdCapCnt(MODEL_NAME.MAX_MODEL_NUM - 1, RELAY_NUM.MAX_RELAY_NUM - 1)
End Sub
Public Sub ResetCntRegIQC()
Try
With CntRegMesIQC
.IQC_Date = ""
.IQC_TotalCnt = 0
.IQC_OKCnt = 0
.IQC_NGCnt = 0
.IQC_ReTotalCnt = 0
.IQC_ReOkCnt = 0
.IQC_ReNgCnt = 0
End With
ReDim CntRegMesIQC.IQC_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim CntRegMesIQC.IQC_GdCapCnt(MODEL_NAME.MAX_MODEL_NUM - 1, RELAY_NUM.MAX_RELAY_NUM - 1)
ReDim CntRegMesIQC.IQC_CapCnt(RELAY_NUM.MAX_RELAY_NUM - 1)
ReDim CntRegMesIQC.IQC_ReGradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim CntRegMesIQC.IQC_ReGdCapCnt(MODEL_NAME.MAX_MODEL_NUM - 1, RELAY_NUM.MAX_RELAY_NUM - 1)
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
Public Sub ResetRegMesPD1()
Try
With RegMesPD1
.PD1_Date = ""
.PD1_TotalCnt = 0
.PD1_OKCnt = 0
.PD1_NGCnt = 0
End With
ReDim RegMesPD1.PD1_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegLocalPD1.PD1_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesPD1.PD1_CapCnt(RELAY_NUM.MAX_RELAY_NUM - 1)
ReDim RegLocalPD1.PD1_CapCnt(RELAY_NUM.MAX_RELAY_NUM - 1)
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
Public Sub ResetCntRegMesPD1()
Try
With CntRegMesPD1
.PD1_Date = ""
.PD1_TotalCnt = 0
.PD1_OKCnt = 0
.PD1_NGCnt = 0
End With
ReDim CntRegMesPD1.PD1_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim CntRegMesPD1.PD1_CapCnt(RELAY_NUM.MAX_RELAY_NUM - 1)
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
Public Function LoadRegIQC() As Boolean
Dim TodayDate As String
Dim RetCnt As String
Dim IQCCmd As String = "IQC_Date,IQC_TotalCnt,IQC_OkCnt,IQC_NgCnt,IQC_ProCnt,IQC_LuxCnt,IQC_EyeCnt,IQC_R1Cnt,IQC_R2Cnt,IQC_R3Cnt,IQC_R4Cnt,IQC_R5Cnt,IQC_R6Cnt,IQC_R7Cnt,IQC_R8Cnt,IQC_R9Cnt,IQC_R10Cnt,IQC_ReTotalCnt,IQC_ReOkCnt,IQC_ReNgCnt"
Dim cnt, queryCnt As Integer
Try
TodayDate = getNowDate()
ResetRegMesIQC()
RetCnt = DBQueryReader("select Number from jomtMES_IQCTbl where IQC_Date='" & TodayDate & "';")
If RetCnt = 0 Then
StrCmd = "insert jomtMES_IQCTbl(" & IQCCmd & ") values('" & TodayDate & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);"
DBCommand(StrCmd)
End If
RetCnt = DBQueryReader("select " & IQCCmd & " from jomtMES_IQCTbl where IQC_Date='" & TodayDate & "';")
If RetCnt Then
queryCnt = 0
RegMesIQC.IQC_Date = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesIQC.IQC_TotalCnt = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesIQC.IQC_OKCnt = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesIQC.IQC_NGCnt = sqlDataQuery(queryCnt)
For cnt = MODEL_NAME.PRO To MODEL_NAME.EYE
queryCnt += 1
RegMesIQC.IQC_GradeCnt(cnt) = sqlDataQuery(queryCnt)
Next
For cnt = RELAY_NUM.RL1 To RELAY_NUM.MAX_RELAY_NUM - 1
queryCnt += 1
RegMesIQC.IQC_CapCnt(cnt) = sqlDataQuery(queryCnt)
Next cnt
queryCnt += 1
RegMesIQC.IQC_ReTotalCnt = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesIQC.IQC_ReOkCnt = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesIQC.IQC_ReNgCnt = sqlDataQuery(queryCnt)
Return False
Else
Return True
End If
Catch ex As Exception
Return True
End Try
End Function
Public Function LoadRegPD1() As Boolean
Dim TodayDate As String
Dim RetCnt As String
Dim IQCCmd As String = "PD1_Date,PD1_TotalCnt,PD1_OkCnt,PD1_NgCnt,PD1_ProCnt,PD1_LuxCnt,PD1_EyeCnt,PD1_MAXCnt,PD1_R1Cnt,PD1_R2Cnt,PD1_R3Cnt,PD1_R4Cnt,PD1_R5Cnt,PD1_R6Cnt,PD1_R7Cnt,PD1_R8Cnt,PD1_R9Cnt,PD1_R10Cnt"
Dim cnt, queryCnt As Integer
Try
TodayDate = getNowDate()
ResetRegMesPD1()
RetCnt = DBQueryReader("select Number from jomtMES_PD1Tbl where PD1_Date='" & TodayDate & "';")
If RetCnt = 0 Then
StrCmd = "insert jomtMES_PD1Tbl(" & IQCCmd & ") values('" & TodayDate & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);"
DBCommand(StrCmd)
End If
RetCnt = DBQueryReader("select " & IQCCmd & " from jomtMES_PD1Tbl where PD1_Date='" & TodayDate & "';")
If RetCnt Then
queryCnt = 0
RegMesPD1.PD1_Date = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesPD1.PD1_TotalCnt = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesPD1.PD1_OKCnt = sqlDataQuery(queryCnt)
queryCnt += 1
RegMesPD1.PD1_NGCnt = sqlDataQuery(queryCnt)
For cnt = MODEL_NAME.PRO To MODEL_NAME.MAX
queryCnt += 1
RegMesPD1.PD1_GradeCnt(cnt) = sqlDataQuery(queryCnt)
Next
For cnt = RELAY_NUM.RL1 To RELAY_NUM.MAX_RELAY_NUM - 1
queryCnt += 1
RegMesPD1.PD1_CapCnt(cnt) = sqlDataQuery(queryCnt)
Next cnt
Return False
Else
Return True
End If
Catch ex As Exception
Return True
End Try
End Function
Public Sub ResetRegProduct()
With RegMesProduct
.IQC_TotalCnt = 0
.IQC_OkCnt = 0
.IQC_NgCnt = 0
.P1_TotalCnt = 0
.P2_TotalCnt = 0
.P2_OkCnt = 0
.P2_NgCnt = 0
End With
ReDim RegMesProduct.Stock_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesProduct.Release_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesProduct.IQC_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesProduct.IQC_GdCapCnt(MODEL_NAME.MAX_MODEL_NUM - 1, RELAY_NUM.MAX_RELAY_NUM - 1)
ReDim RegMesProduct.P1_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
ReDim RegMesProduct.P2_GradeCnt(MODEL_NAME.MAX_MODEL_NUM - 1)
End Sub
Public Function LoadRegProduct() As Boolean
Dim TodayDate As String
Dim RetCnt As String
Dim PuductCmd As String = "MesDate,Stock_ProCnt,Stock_LuxCnt,Stock_EyeCnt,Release_ProCnt,Release_LuxCnt,Release_EyeCnt,PV_TDCnt,IQC_TotalCnt,IQC_OkCnt,IQC_NgCnt,IQC_ProCnt,IQC_LuxCnt,IQC_EyeCnt,IQC_ProR1Cnt,IQC_ProR2Cnt,IQC_ProR3Cnt,IQC_ProR4Cnt,IQC_ProR5Cnt,IQC_ProR6Cnt,IQC_ProR7Cnt,IQC_ProR8Cnt,IQC_ProR9Cnt,IQC_ProR10Cnt,IQC_LuxR1Cnt,IQC_LuxR2Cnt,IQC_LuxR3Cnt,IQC_LuxR4Cnt,IQC_LuxR5Cnt,IQC_LuxR6Cnt,IQC_LuxR7Cnt,IQC_LuxR8Cnt,IQC_LuxR9Cnt,IQC_LuxR10Cnt,IQC_EyeR1Cnt,IQC_EyeR2Cnt,IQC_EyeR3Cnt,IQC_EyeR4Cnt,IQC_EyeR5Cnt,IQC_EyeR6Cnt,IQC_EyeR7Cnt,IQC_EyeR8Cnt,IQC_EyeR9Cnt,IQC_EyeR10Cnt,P1_TotalCnt,P1_OkCnt,P1_NgCnt,P1_ProCnt,P1_LuxCnt,P1_EyeCnt,P2_TotalCnt,P2_OkCnt,P2_NgCnt,P2_ProCnt,P2_LuxCnt,P2_EyeCnt"
Dim PreNumber As Long
Dim QueryCnt As Integer
Dim TmpStrCmd As String = ""
Try
If frmTD_JIG.ShowDetailLog Then frmTD_JIG.cmdDisplay("Enter the 'LoadRegProduct' processor")
ResetRegProduct()
TodayDate = getNowDate()
RetCnt = DBQueryReader("select Number from jomtMESTbl where MesDate='" & TodayDate & "';")
If RetCnt = 0 Then
StrCmd = "insert jomtMESTbl(" & PuductCmd & ") values('" & TodayDate & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);"
DBCommand(StrCmd)
RetCnt = DBQueryReader("select Number from jomtMESTbl where MesDate='" & TodayDate & "';")
If RetCnt Then
PreNumber = sqlDataQuery(0)
Else
Return True
End If
If PreNumber > 1 Then
RetCnt = DBQueryReader("select " & PuductCmd & " from jomtMESTbl where Number=" & (PreNumber - 1) & ";")
If RetCnt Then
QueryCnt += 1
TmpStrCmd = TmpStrCmd & "Stock_ProCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",Stock_LuxCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",Stock_EyeCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",Release_ProCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",Release_LuxCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",Release_EyeCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",PV_TDCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_TotalCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_OkCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_NgCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_ProCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_LuxCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_EyeCnt=" & sqlDataQuery(QueryCnt)
For n = 1 To 10
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_ProR" & n & "Cnt=" & sqlDataQuery(QueryCnt)
Next
For n = 1 To 10
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_LuxR" & n & "Cnt=" & sqlDataQuery(QueryCnt)
Next
For n = 1 To 10
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",IQC_EyeR" & n & "Cnt=" & sqlDataQuery(QueryCnt)
Next
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P1_TotalCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P1_OkCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P1_NgCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P1_ProCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P1_LuxCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P1_EyeCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P2_TotalCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P2_OkCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P2_NgCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P2_ProCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P2_LuxCnt=" & sqlDataQuery(QueryCnt)
QueryCnt += 1
TmpStrCmd = TmpStrCmd & ",P2_EyeCnt=" & sqlDataQuery(QueryCnt)
End If
StrCmd = "update jomtMESTbl set " & TmpStrCmd & " where MesDate = '" & TodayDate & "';"
DBCommand(StrCmd)
End If
End If
RetCnt = DBQueryReader("select " & PuductCmd & " from jomtMESTbl where MesDate='" & TodayDate & "';")
If RetCnt Then
QueryCnt = 0
RegMesProduct.MesDate = sqlDataQuery(QueryCnt)
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
QueryCnt += 1
RegMesProduct.Stock_GradeCnt(i) = sqlDataQuery(QueryCnt)
Next
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
QueryCnt += 1
RegMesProduct.Release_GradeCnt(i) = sqlDataQuery(QueryCnt)
Next
QueryCnt += 1
RegMesProduct.PV_TDCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.IQC_TotalCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.IQC_OkCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.IQC_NgCnt = sqlDataQuery(QueryCnt)
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
QueryCnt += 1
RegMesProduct.IQC_GradeCnt(i) = sqlDataQuery(QueryCnt)
Next
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
For n = RELAY_NUM.RL1 To RELAY_NUM.MAX_RELAY_NUM - 1
QueryCnt += 1
RegMesProduct.IQC_GdCapCnt(i, n) = sqlDataQuery(QueryCnt)
Next
Next
QueryCnt += 1
RegMesProduct.P1_TotalCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.P1_OkCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.P1_NgCnt = sqlDataQuery(QueryCnt)
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
QueryCnt += 1
RegMesProduct.P1_GradeCnt(i) = sqlDataQuery(QueryCnt)
Next
QueryCnt += 1
RegMesProduct.P2_TotalCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.P2_OkCnt = sqlDataQuery(QueryCnt)
QueryCnt += 1
RegMesProduct.P2_NgCnt = sqlDataQuery(QueryCnt)
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
QueryCnt += 1
RegMesProduct.P2_GradeCnt(i) = sqlDataQuery(QueryCnt)
Next
Return False
Else
Return True
End If
Catch ex As Exception
Return True
End Try
End Function
Public Function UploadDB_IQC() As Boolean
Dim UpdateSetDataStr As String
Try
If frmTD_JIG.ShowDetailLog Then frmTD_JIG.cmdDisplay("Enter the 'UploadDB_IQC' processor")
If RegMeasure.PreTestStep <= 19 Then
UpdateSetDataStr = "QC_LastDate='" & getNowDate() & "',TestStep='" & RegMeasure.MeasureTestStep & "',QC_Frequency='" & RegTD_VALUE.PV_Frequency & "',QC_Current='" & RegMeasure.MeasureValue(RegMeasure.MeasureValue(0)) & "',QC_Capacitor='" & RegMeasure.MeasureCapacitor & "',QC_Grade='" & RegMeasure.MeasureGrade & "',QC_R1Value='" & RegMeasure.MeasureValue(1) & "',QC_R2Value='" & RegMeasure.MeasureValue(2) & "',QC_R3Value='" & RegMeasure.MeasureValue(3) & "',QC_R4Value='" & RegMeasure.MeasureValue(4) & "',QC_R5Value='" & RegMeasure.MeasureValue(5) & "',QC_R6Value='" & RegMeasure.MeasureValue(6) & "',QC_R7Value='" & RegMeasure.MeasureValue(7) & "',QC_R8Value='" & RegMeasure.MeasureValue(8) & "',QC_R9Value='" & RegMeasure.MeasureValue(9) & "',QC_R10Value='" & RegMeasure.MeasureValue(10) & "'"
If RegMeasure.PreTestStep = 1 Then
UpdateSetDataStr = UpdateSetDataStr & ",QC_Date='" & getNowDate() & "',QC_Time='" & getNowTime() & "'"
End If
StrCmd = "update jomtCartridgeTbl set " & UpdateSetDataStr & " where PV_SN ='" & RegTD_VALUE.PV_SN & "';"
DBCommand(StrCmd)
Return False
End If
Return True
Catch ex As Exception
Return True
End Try
End Function
Public Function UploadRegProductIQC() As Boolean
Dim TmpStrCmd As String
Try
If frmTD_JIG.ShowDetailLog Then frmTD_JIG.cmdDisplay("Enter the 'UploadRegProductIQC' processor")
TmpStrCmd = "PV_TDCnt=" & RegMesProduct.PV_TDCnt
TmpStrCmd = TmpStrCmd & ",IQC_TotalCnt=" & RegMesProduct.IQC_TotalCnt
TmpStrCmd = TmpStrCmd & ",IQC_OkCnt=" & RegMesProduct.IQC_OkCnt
TmpStrCmd = TmpStrCmd & ",IQC_NgCnt=" & RegMesProduct.IQC_NgCnt
TmpStrCmd = TmpStrCmd & ",IQC_ProCnt=" & RegMesProduct.IQC_GradeCnt(MODEL_NAME.PRO)
TmpStrCmd = TmpStrCmd & ",IQC_LuxCnt=" & RegMesProduct.IQC_GradeCnt(MODEL_NAME.LUX)
TmpStrCmd = TmpStrCmd & ",IQC_EyeCnt=" & RegMesProduct.IQC_GradeCnt(MODEL_NAME.EYE)
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
For n = RELAY_NUM.RL1 To RELAY_NUM.RL2
TmpStrCmd = TmpStrCmd & "," & IQC_GrCapStr(i, n) & "=" & RegMesProduct.IQC_GdCapCnt(i, n)
Next
Next
StrCmd = "update jomtMESTbl set " & TmpStrCmd & " where MesDate = '" & getNowDate() & "';"
DBCommand(StrCmd)
Return False
Catch ex As Exception
Return True
End Try
End Function
Public Sub CalRegProductPD1()
Dim gCnt, rCnt As Integer
Try
If frmTD_JIG.ShowDetailLog Then frmTD_JIG.cmdDisplay("Enter the 'CalRegProductPD1' processor")
RegMesProduct.P1_TotalCnt += CntRegMesPD1.PD1_TotalCnt
RegMesProduct.P1_OkCnt += CntRegMesPD1.PD1_OKCnt
RegMesProduct.P1_NgCnt += CntRegMesPD1.PD1_NGCnt
For i = MODEL_NAME.PRO To MODEL_NAME.MAX
RegMesProduct.P1_GradeCnt(i) += CntRegMesPD1.PD1_GradeCnt(i)
Next
RegMesProduct.IQC_TotalCnt -= CntRegMesPD1.PD1_TotalCnt
gCnt = frmTD_JIG.GradeToValue(RegMeasure.MeasureGrade)
For rCnt = 1 To 10
If RegMeasure.MeasureCapacitor = frmTD_JIG.RELAY_C(rCnt) Then
Exit For
End If
Next
RegMesProduct.IQC_GradeCnt(gCnt) -= CntRegMesPD1.PD1_GradeCnt(gCnt)
RegMesProduct.IQC_GdCapCnt(gCnt, rCnt) -= CntRegMesPD1.PD1_CapCnt(rCnt)
Catch ex As Exception
End Try
End Sub
Public Function UploadRegProductPD1() As Boolean
Dim TmpStrCmd As String
Try
If frmTD_JIG.ShowDetailLog Then frmTD_JIG.cmdDisplay("Enter the 'UploadRegProductPD1' processor")
TmpStrCmd = "IQC_TotalCnt=" & RegMesProduct.IQC_TotalCnt
TmpStrCmd = TmpStrCmd & ",IQC_ProCnt=" & RegMesProduct.IQC_GradeCnt(MODEL_NAME.PRO)
TmpStrCmd = TmpStrCmd & ",IQC_LuxCnt=" & RegMesProduct.IQC_GradeCnt(MODEL_NAME.LUX)
TmpStrCmd = TmpStrCmd & ",IQC_EyeCnt=" & RegMesProduct.IQC_GradeCnt(MODEL_NAME.EYE)
For i = MODEL_NAME.PRO To MODEL_NAME.EYE
For n = RELAY_NUM.RL1 To RELAY_NUM.MAX_RELAY_NUM
TmpStrCmd = TmpStrCmd & "," & IQC_GrCapStr(i, n) & "=" & RegMesProduct.IQC_GdCapCnt(i, n)
Next
Next
TmpStrCmd = TmpStrCmd & ",P1_TotalCnt=" & RegMesProduct.P1_TotalCnt
TmpStrCmd = TmpStrCmd & ",P1_OkCnt=" & RegMesProduct.P1_OkCnt
TmpStrCmd = TmpStrCmd & ",P1_NgCnt=" & RegMesProduct.P1_NgCnt
TmpStrCmd = TmpStrCmd & ",P1_ProCnt=" & RegMesProduct.P1_GradeCnt(MODEL_NAME.PRO)
TmpStrCmd = TmpStrCmd & ",P1_LuxCnt=" & RegMesProduct.P1_GradeCnt(MODEL_NAME.LUX)
TmpStrCmd = TmpStrCmd & ",P1_EyeCnt=" & RegMesProduct.P1_GradeCnt(MODEL_NAME.EYE)
StrCmd = "update jomtMESTbl set " & TmpStrCmd & " where MesDate = '" & getNowDate() & "';"
DBCommand(StrCmd)
Return False
Catch ex As Exception
Return True
End Try
End Function
End Module