Compare commits

...

1 Commits

Author SHA1 Message Date
hyelinjung
f77cbf5912 1.보급형 모델 세모 추가
1-2. ldm 전용 db table 추가
2. 버전 2.0.7
2026-02-13 10:30:32 +09:00
2 changed files with 368 additions and 37 deletions

View File

@ -1,4 +1,4 @@
Imports System.IO Imports System.IO
Imports System.IO.Ports Imports System.IO.Ports
Imports System.Math Imports System.Math
Imports System.Text Imports System.Text
@ -13,6 +13,9 @@ Public Class MainForm
Private TDSNHead1 As String = "DIT" Private TDSNHead1 As String = "DIT"
Private TDSNHead2 As String = "J" Private TDSNHead2 As String = "J"
Private TDSNHead3 As String = "L"
Private LDMUse As Boolean = False
Const oldSearchLength As Int16 = 12 Const oldSearchLength As Int16 = 12
Const newSearchLength As Int16 = 16 Const newSearchLength As Int16 = 16
@ -62,7 +65,25 @@ Public Class MainForm
maxList maxList
End Enum End Enum
Private Enum ldmSearchList
TestStep
Power
Depth
Serial
InputDate
Frequency
Power2
Power3
Frequency2
Frequency3
maxList
End Enum
Private TDData(SearchList.maxList - 1) As String Private TDData(SearchList.maxList - 1) As String
Private LDMData(ldmSearchList.maxList - 1) As String
Private TDDataTxb(SearchList.maxList - 1) As TextBox Private TDDataTxb(SearchList.maxList - 1) As TextBox
Private Enum ModeList Private Enum ModeList
@ -267,6 +288,7 @@ Public Class MainForm
Private Sub cboRegType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboRegType.SelectedIndexChanged Private Sub cboRegType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboRegType.SelectedIndexChanged
If cboRegType.SelectedIndex > -1 Then If cboRegType.SelectedIndex > -1 Then
LDMUse = False
cboRegColor.Items.Clear() cboRegColor.Items.Clear()
DBCmd = "SELECT ColorName FROM " & ApplyModelInfoDB & " WHERE ModelName = '" & cboRegModel.SelectedItem & "' AND CartTypeName = '" & cboRegType.SelectedItem & "' ORDER BY ColorCode ASC" DBCmd = "SELECT ColorName FROM " & ApplyModelInfoDB & " WHERE ModelName = '" & cboRegModel.SelectedItem & "' AND CartTypeName = '" & cboRegType.SelectedItem & "' ORDER BY ColorCode ASC"
@ -287,7 +309,7 @@ Public Class MainForm
Dim cartTypeName As String = dgvDataSet.Rows(cboSelect).Cells(2).Value Dim cartTypeName As String = dgvDataSet.Rows(cboSelect).Cells(2).Value
Dim colorName As String = dgvDataSet.Rows(cboSelect).Cells(5).Value Dim colorName As String = dgvDataSet.Rows(cboSelect).Cells(5).Value
DBCmd = "SELECT ModelCode, CartTypeCode, ColorCode, TDUseYn FROM " & ApplyModelInfoDB & " WHERE ModelName = '" & modelName & "' AND CartTypeName = '" & cartTypeName & "' AND ColorName = '" & colorName & "'" DBCmd = "SELECT ModelCode, CartTypeCode, ColorCode, TDUseYn, LdmUseYn FROM " & ApplyModelInfoDB & " WHERE ModelName = '" & modelName & "' AND CartTypeName = '" & cartTypeName & "' AND ColorName = '" & colorName & "'"
If DBQueryReader(DBCmd) Then If DBQueryReader(DBCmd) Then
ModelCode = sqlDataQuery(0) ModelCode = sqlDataQuery(0)
@ -298,6 +320,11 @@ Public Class MainForm
Else Else
TDUseCompare = True TDUseCompare = True
End If End If
If sqlDataQuery(4) <> "Y" Then
LDMUse = False
Else
LDMUse = True
End If
End If End If
Return False Return False
@ -401,7 +428,7 @@ Public Class MainForm
Private Sub FormSetting() Private Sub FormSetting()
Const ProgramName As String = "Product Program Ver_" Const ProgramName As String = "Product Program Ver_"
Const VersionNum As String = "2.0.3" Const VersionNum As String = "2.0.7"
Me.Text = ProgramName & VersionNum Me.Text = ProgramName & VersionNum
Me.Size = New Size(1920, 1050) Me.Size = New Size(1920, 1050)
@ -732,6 +759,8 @@ FailFunc:
Private Function DBSerialCheck() As Boolean Private Function DBSerialCheck() As Boolean
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'" DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyLDMDB & " WHERE Product_SN = '" & SerialNum & "'"
Else Else
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'" DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'"
End If End If
@ -746,7 +775,13 @@ FailFunc:
End Function End Function
Private Function SerialCompare(FrontCode As String) As Boolean Private Function SerialCompare(FrontCode As String) As Boolean
DBCmd = "SELECT COUNT(Ct_SN) FROM " & ApplyCartDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Product_SN LIKE '" & ModelCode & TypeCode & "%' AND Ct_SN LIKE '" & FrontCode & "%'" If TDUseCompare = True Then
DBCmd = "SELECT COUNT(Ct_SN) FROM " & ApplyCartDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Product_SN LIKE '" & ModelCode & TypeCode & "%' AND Ct_SN LIKE '" & FrontCode & "%'"
ElseIf LDMUse = True Then
DBCmd = "SELECT COUNT(Ct_SN) FROM " & ApplyLDMDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Product_SN LIKE '" & ModelCode & TypeCode & "%' AND Ct_SN LIKE '" & FrontCode & "%'"
Else
DBCmd = "SELECT COUNT(Ct_SN) FROM " & ApplyNonTDDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Product_SN LIKE '" & ModelCode & TypeCode & "%' AND Ct_SN LIKE '" & FrontCode & "%'"
End If
RichTextBox1.AppendText("DBCmd FULL :" & DBCmd & vbCrLf) RichTextBox1.AppendText("DBCmd FULL :" & DBCmd & vbCrLf)
Dim SerialUse As Integer = DBQueryScalar(DBCmd) Dim SerialUse As Integer = DBQueryScalar(DBCmd)
@ -865,6 +900,8 @@ FailFunc:
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'" DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT TestStep FROM " & ApplyLDMDB & " WHERE Product_SN = '" & SerialNum & "'"
Else Else
DBCmd = "SELECT TestStep FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'" DBCmd = "SELECT TestStep FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'"
End If End If
@ -968,6 +1005,26 @@ FailFunc:
TDDataTxb(i).Text = TDData(i) TDDataTxb(i).Text = TDData(i)
End If End If
Next Next
ElseIf LDMUse = True Then
If LDMSearch(SerialCode) Then
ErrorData = True
GoTo DataErr
End If
TDData(SearchList.TestStep) = LDMData(ldmSearchList.TestStep)
For i = ldmSearchList.TestStep To Math.Min(ldmSearchList.maxList - 1, SearchList.maxList - 1)
If i = ldmSearchList.TestStep Then
TDDataTxb(i).Text = TestStepParsing()
If TDDataTxb(i).Text = "NULL" Then
TDDataTxb(i).BackColor = Color.Red
Else
TDDataTxb(i).BackColor = Color.Green
End If
Else
TDDataTxb(i).Text = LDMData(i)
End If
Next
Else Else
TDData(SearchList.Serial) = SerialCode TDData(SearchList.Serial) = SerialCode
@ -1034,15 +1091,22 @@ FinishFunc:
Private Sub RunTimer_Tick(sender As Object, e As EventArgs) Handles RunTimer.Tick Private Sub RunTimer_Tick(sender As Object, e As EventArgs) Handles RunTimer.Tick
Dim ConfigStr As String Dim ConfigStr As String
Dim resultOk = False
If ThreadSwitch = False Then If ThreadSwitch = False Then
RunTimer.Enabled = False RunTimer.Enabled = False
If ckbOpAlto.Checked = False Then If ckbOpAlto.Checked = False Then
If txbTDNum.Text.Length = TDMaxLength Then If txbTDNum.Text.Length = TDMaxLength Then
If Not (CheckRfUse() = False And (Val(TDData(SearchList.TestStep)) = 21 Or Val(TDData(SearchList.TestStep)) = 25)) Then Dim currentTestStepVal As Integer
If Val(TDData(SearchList.TestStep)) <> 23 And Val(TDData(SearchList.TestStep)) <> 27 And Val(TDData(SearchList.TestStep)) <> 30 And Val(TDData(SearchList.TestStep)) <> 32 And Val(TDData(SearchList.TestStep)) <> 41 Then If LDMUse Then
If Val(TDData(SearchList.TestStep)) > 29 Then currentTestStepVal = Val(LDMData(ldmSearchList.TestStep))
Else
currentTestStepVal = Val(TDData(SearchList.TestStep))
End If
If Not (CheckRfUse() = False And (currentTestStepVal = 21 Or currentTestStepVal = 25)) Then
If currentTestStepVal <> 23 And currentTestStepVal <> 27 And currentTestStepVal <> 30 And currentTestStepVal <> 32 And currentTestStepVal <> 41 Then
If currentTestStepVal > 29 Then
RunStateFunc("중복 처리", Color.Red) RunStateFunc("중복 처리", Color.Red)
ErrorData = True ErrorData = True
GoTo FinishFunc GoTo FinishFunc
@ -1084,6 +1148,37 @@ FinishFunc:
TDDataTxb(SearchList.Frequency).BackColor = Color.Green TDDataTxb(SearchList.Frequency).BackColor = Color.Green
TDDataTxb(SearchList.Power).BackColor = Color.Green TDDataTxb(SearchList.Power).BackColor = Color.Green
ElseIf LDMUse = True Then
ConfigStr = ldmFreqPowerSearch()
If ConfigStr = "NULL" Or ConfigStr = "FAIL" Then
ldmFreqPowerReg(LDMData(ldmSearchList.Frequency), LDMData(ldmSearchList.Power), LDMData(ldmSearchList.Frequency2), LDMData(ldmSearchList.Power2), LDMData(ldmSearchList.Frequency3), LDMData(ldmSearchList.Power3))
ConfigStr = ldmFreqPowerSearch()
End If
If ConfigStr = "NULL" Then
ErrorData = True
MsgBox("잘못된 주파수가 입력되어 있습니다. 주파수 값을 확인하여 주십시오.", vbExclamation)
GoTo DataFail
ElseIf ConfigStr = "FAIL" Then
MsgBox("주파수를 읽어오지 못했습니다. 연결을 확인하여 주십시오.", vbExclamation)
GoTo DataFail
End If
If ldmFreqCompare(ConfigStr) Then
ldmFreqPowerReg(LDMData(ldmSearchList.Frequency), LDMData(ldmSearchList.Power), LDMData(ldmSearchList.Frequency2), LDMData(ldmSearchList.Power2), LDMData(ldmSearchList.Frequency3), LDMData(ldmSearchList.Power3))
End If
If ldmFreqCompare(ConfigStr) Then
ErrorData = True
GoTo LoadFail
End If
TDDataTxb(SearchList.Frequency).BackColor = Color.Green
TDDataTxb(SearchList.Power).BackColor = Color.Green
End If End If
ConfigStr = FirmWareCheck() ConfigStr = FirmWareCheck()
@ -1119,7 +1214,24 @@ FinishFunc:
PrintFunc() PrintFunc()
If LDMUse Then
If ldmProdRegData() Then
resultOk = True
Else
resultOk = False
MsgBox("ldm 시리얼 정보 입력 실패 !", vbCritical)
GoTo LoadFail
End If
End If
If ProdRegData(txbPDCP.Text, txbPDCC.Text, txbPDAgency.Text) Then If ProdRegData(txbPDCP.Text, txbPDCC.Text, txbPDAgency.Text) Then
resultOk = True
Else
resultOk = False
End If
If resultOk Then
If ShotReg(0) Then If ShotReg(0) Then
If ShotSearch() = "0" Then 'If ShotSearch() = "False" Then 'hjw test If ShotSearch() = "0" Then 'If ShotSearch() = "False" Then 'hjw test
If DBProdReg(txbPDCP.Text, txbPDCC.Text, txbPDAgency.Text, 0) Then If DBProdReg(txbPDCP.Text, txbPDCC.Text, txbPDAgency.Text, 0) Then
@ -1241,11 +1353,19 @@ FinishFunc:
Private Function DBProdReg(Factory As String, Country As String, Agency As String, ShotCount As String) As Boolean Private Function DBProdReg(Factory As String, Country As String, Agency As String, ShotCount As String) As Boolean
Dim DBCheck As String = String.Empty Dim DBCheck As String = String.Empty
Dim currentTestStep As String
If LDMUse Then
currentTestStep = LDMData(ldmSearchList.TestStep)
Else
currentTestStep = TDData(SearchList.TestStep)
End If
If TDData(SearchList.TestStep) = "41" Then If currentTestStep = "41" Then
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT PV_SN FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'" DBCmd = "SELECT PV_SN FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT PV_SN FROM " & ApplyLDMDB & " WHERE Product_SN = '" & SerialNum & "'"
Else Else
DBCmd = "SELECT PV_SN FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'" DBCmd = "SELECT PV_SN FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'"
End If End If
@ -1257,11 +1377,19 @@ FinishFunc:
Return True Return True
End If End If
If PVSN <> TDData(SearchList.Serial) Then If LDMUse = True Then
MsgBox("제품 시리얼 번호에 등록된 TD 시리얼 번호가 저장된 시리얼 번호와 다릅니다.", vbCritical) If PVSN <> LDMData(ldmSearchList.Serial) Then
Return True MsgBox("제품 시리얼 번호에 등록된 LDM 시리얼 번호가 저장된 시리얼 번호와 다릅니다.", vbCritical)
Return True
End If
Else
If PVSN <> TDData(SearchList.Serial) Then
MsgBox("제품 시리얼 번호에 등록된 TD 시리얼 번호가 저장된 시리얼 번호와 다릅니다.", vbCritical)
Return True
End If
End If End If
DBCmd = "UPDATE " & ApplyReturnDB & " SET DataRegDate = '" & Format(Now, "yyyy-MM-dd") & "', DataRegTime = '" & Format(Now, "HH:mm:ss") & "' WHERE Product_SN = '" & SerialNum & "' AND ReturnCount = (SELECT MAX(ReturnCount) FROM " & ApplyReturnDB & " WHERE Product_SN = '" & SerialNum & "')" DBCmd = "UPDATE " & ApplyReturnDB & " SET DataRegDate = '" & Format(Now, "yyyy-MM-dd") & "', DataRegTime = '" & Format(Now, "HH:mm:ss") & "' WHERE Product_SN = '" & SerialNum & "' AND ReturnCount = (SELECT MAX(ReturnCount) FROM " & ApplyReturnDB & " WHERE Product_SN = '" & SerialNum & "')"
If DBCommand(DBCmd) = False Then If DBCommand(DBCmd) = False Then
@ -1273,6 +1401,9 @@ FinishFunc:
If TDUseCompare = True Then If TDUseCompare = True Then
DBCheck = "UPDATE " & ApplyCartDB & " SET Product_SN = null WHERE PV_SN = '" & txbTDNum.Text & "'" DBCheck = "UPDATE " & ApplyCartDB & " SET Product_SN = null WHERE PV_SN = '" & txbTDNum.Text & "'"
DBCmd = "UPDATE " & ApplyCartDB & " SET TestStep = '31', Product_SN = '" & SerialNum & "', Ct_Manufacture_Name='" & Factory & "', Ct_Manufacture_Year='" & Format(Now, "yy") & "', Ct_Manufacture_Month='" & Format(Now, "MM") & "', Ct_SN='" & ProdCode & "', Ct_Model='" & txbPDModel.Text & "', Ct_Type='" & txbPDType.Text & "', Ct_Abroad='" & Country & "', Ct_Agency='" & Agency & "',Ct_Max_ShotCnt = '" & ShotCount & "', Ct_Remain_ShotCnt = '" & ShotCount & "', P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "', Manufacture_Date ='" & txtManufactureDate.Text & "' WHERE PV_SN = '" & txbTDNum.Text & "'" DBCmd = "UPDATE " & ApplyCartDB & " SET TestStep = '31', Product_SN = '" & SerialNum & "', Ct_Manufacture_Name='" & Factory & "', Ct_Manufacture_Year='" & Format(Now, "yy") & "', Ct_Manufacture_Month='" & Format(Now, "MM") & "', Ct_SN='" & ProdCode & "', Ct_Model='" & txbPDModel.Text & "', Ct_Type='" & txbPDType.Text & "', Ct_Abroad='" & Country & "', Ct_Agency='" & Agency & "',Ct_Max_ShotCnt = '" & ShotCount & "', Ct_Remain_ShotCnt = '" & ShotCount & "', P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "', Manufacture_Date ='" & txtManufactureDate.Text & "' WHERE PV_SN = '" & txbTDNum.Text & "'"
ElseIf LDMUse = True Then
DBCheck = "UPDATE " & ApplyLDMDB & " SET Product_SN = null WHERE PV_SN = '" & txbTDNum.Text & "'"
DBCmd = "UPDATE " & ApplyLDMDB & " SET TestStep = '31', Product_SN = '" & SerialNum & "', Ct_Manufacture_Name='" & Factory & "', Ct_Manufacture_Year='" & Format(Now, "yy") & "', Ct_Manufacture_Month='" & Format(Now, "MM") & "', Ct_SN='" & ProdCode & "', Ct_Model='" & txbPDModel.Text & "', Ct_Type='" & txbPDType.Text & "', Ct_Abroad='" & Country & "', Ct_Agency='" & Agency & "',Ct_Max_ShotCnt = '" & ShotCount & "', Ct_Remain_ShotCnt = '" & ShotCount & "', P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "', Manufacture_Date ='" & txtManufactureDate.Text & "' WHERE PV_SN = '" & txbTDNum.Text & "'"
Else Else
DBCheck = "UPDATE " & ApplyNonTDDB & " SET Product_SN = null WHERE PV_SN = '" & txbTDNum.Text & "'" DBCheck = "UPDATE " & ApplyNonTDDB & " SET Product_SN = null WHERE PV_SN = '" & txbTDNum.Text & "'"
DBCmd = "UPDATE " & ApplyNonTDDB & " SET TestStep = '31', Product_SN = '" & SerialNum & "', Ct_Manufacture_Name='" & Factory & "', Ct_Manufacture_Year='" & Format(Now, "yy") & "', Ct_Manufacture_Month='" & Format(Now, "MM") & "', Ct_SN='" & ProdCode & "', Ct_Model='" & txbPDModel.Text & "', Ct_Type='" & txbPDType.Text & "', Ct_Abroad='" & Country & "', Ct_Agency='" & Agency & "', P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "', Manufacture_Date ='" & txtManufactureDate.Text & "' WHERE PV_SN = '" & txbTDNum.Text & "'" DBCmd = "UPDATE " & ApplyNonTDDB & " SET TestStep = '31', Product_SN = '" & SerialNum & "', Ct_Manufacture_Name='" & Factory & "', Ct_Manufacture_Year='" & Format(Now, "yy") & "', Ct_Manufacture_Month='" & Format(Now, "MM") & "', Ct_SN='" & ProdCode & "', Ct_Model='" & txbPDModel.Text & "', Ct_Type='" & txbPDType.Text & "', Ct_Abroad='" & Country & "', Ct_Agency='" & Agency & "', P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "', Manufacture_Date ='" & txtManufactureDate.Text & "' WHERE PV_SN = '" & txbTDNum.Text & "'"
@ -1282,6 +1413,8 @@ FinishFunc:
If DBCommand(DBCmd) Then If DBCommand(DBCmd) Then
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " Where Product_SN = '" & SerialNum & "'" DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " Where Product_SN = '" & SerialNum & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT TestStep FROM " & ApplyLDMDB & " Where Product_SN = '" & SerialNum & "'"
Else Else
DBCmd = "SELECT TestStep FROM " & ApplyNonTDDB & " Where Product_SN = '" & SerialNum & "'" DBCmd = "SELECT TestStep FROM " & ApplyNonTDDB & " Where Product_SN = '" & SerialNum & "'"
End If End If
@ -1314,9 +1447,17 @@ FinishFunc:
End Function End Function
Private Function DBProdFailReg() As Boolean Private Function DBProdFailReg() As Boolean
DBCmd = "UPDATE " & ApplyCartDB & " SET TestStep = '30',Product_SN = NULL, Ct_SN = null, P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "' WHERE PV_SN = '" & txbTDNum.Text & "'" If LDMUse Then
DBCmd = "UPDATE " & ApplyLDMDB & " SET TestStep = '30',Product_SN = NULL, Ct_SN = null, P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "' WHERE PV_SN = '" & txbTDNum.Text & "'"
Else
DBCmd = "UPDATE " & ApplyCartDB & " SET TestStep = '30',Product_SN = NULL, Ct_SN = null, P3_DateTime = '" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "' WHERE PV_SN = '" & txbTDNum.Text & "'"
End If
If DBCommand(DBCmd) Then If DBCommand(DBCmd) Then
DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " Where PV_SN = '" & txbTDNum.Text & "'" If LDMUse Then
DBCmd = "SELECT TestStep FROM " & ApplyLDMDB & " Where PV_SN = '" & txbTDNum.Text & "'"
Else
DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " Where PV_SN = '" & txbTDNum.Text & "'"
End If
If DBQueryScalar(DBCmd) = "30" Then If DBQueryScalar(DBCmd) = "30" Then
Return True Return True
End If End If
@ -1325,7 +1466,13 @@ FinishFunc:
End Function End Function
Private Function CreateSerialCompare(SerialNum As String) As Boolean Private Function CreateSerialCompare(SerialNum As String) As Boolean
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'" If TDUseCompare = True Then
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyCartDB & " WHERE Product_SN = '" & SerialNum & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyLDMDB & " WHERE Product_SN = '" & SerialNum & "'"
Else
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyNonTDDB & " WHERE Product_SN = '" & SerialNum & "'"
End If
Dim CompareData As Integer = DBQueryScalar(DBCmd) Dim CompareData As Integer = DBQueryScalar(DBCmd)
If CompareData > 0 Then If CompareData > 0 Then
Return False Return False
@ -1344,7 +1491,13 @@ FinishFunc:
Return "FAIL" Return "FAIL"
End If End If
DBCmd = "SELECT Ct_SN FROM " & ApplyCartDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Ct_SN LIKE '" & SearchData & "%' ORDER BY Ct_SN DESC LIMIT 1" If TDUseCompare = True Then
DBCmd = "SELECT Ct_SN FROM " & ApplyCartDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Ct_SN LIKE '" & SearchData & "%' ORDER BY Ct_SN DESC LIMIT 1"
ElseIf LDMUse = True Then
DBCmd = "SELECT Ct_SN FROM " & ApplyLDMDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Ct_SN LIKE '" & SearchData & "%' ORDER BY Ct_SN DESC LIMIT 1"
Else
DBCmd = "SELECT Ct_SN FROM " & ApplyNonTDDB & " WHERE Ct_Manufacture_Year = " & Format(Now, "yy") & " AND Ct_Manufacture_Month = " & Format(Now, "MM") & " AND Ct_SN IS not NULL AND Ct_SN LIKE '" & SearchData & "%' ORDER BY Ct_SN DESC LIMIT 1"
End If
Dim ScalarData = DBQueryScalar(DBCmd) Dim ScalarData = DBQueryScalar(DBCmd)
If ScalarData = "False" Then If ScalarData = "False" Then
@ -1361,6 +1514,8 @@ FinishFunc:
Private Function TDStepCheck(TDName As String) As String Private Function TDStepCheck(TDName As String) As String
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " WHERE PV_SN = '" & TDName & "'" DBCmd = "SELECT TestStep FROM " & ApplyCartDB & " WHERE PV_SN = '" & TDName & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT TestStep FROM " & ApplyLDMDB & " WHERE PV_SN = '" & TDName & "'"
Else Else
DBCmd = "SELECT TestStep FROM " & ApplyNonTDDB & " WHERE PV_SN = '" & TDName & "'" DBCmd = "SELECT TestStep FROM " & ApplyNonTDDB & " WHERE PV_SN = '" & TDName & "'"
End If End If
@ -1412,6 +1567,30 @@ FinishFunc:
Return True Return True
End Function End Function
Private Function ldmProdRegData() As Boolean
Const Commander As String = "wrsconf9"
Dim retVal As String
If ModelCode.Length = 2 Then '16자리 시리얼번호
tmpCmdMessage = "[" & Commander & " " & LDMData(ldmSearchList.Serial) & "," & LDMData(ldmSearchList.Frequency) & "," & LDMData(ldmSearchList.Frequency2) & "," & LDMData(ldmSearchList.Frequency3) & "," & LDMData(ldmSearchList.Power) & "," & LDMData(ldmSearchList.Power2) & "," & LDMData(ldmSearchList.Power3) & "]" + vbCrLf
If SendData(tmpCmdMessage) Then
Return False
End If
retVal = PollingReceiveData(2000)
Dim temp = LDMData(ldmSearchList.Serial) & "," & LDMData(ldmSearchList.Frequency) & "," & LDMData(ldmSearchList.Frequency2) & "," & LDMData(ldmSearchList.Frequency3) & "," & LDMData(ldmSearchList.Power) & "," & LDMData(ldmSearchList.Power2) & "," & LDMData(ldmSearchList.Power3)
If String.Equals(retVal, temp, StringComparison.OrdinalIgnoreCase) Then
Return True
End If
End If
Return False
End Function
Private Function FirmWareCheck() As String Private Function FirmWareCheck() As String
Const Commander As String = "dsfwver" Const Commander As String = "dsfwver"
Dim retval As String Dim retval As String
@ -1449,9 +1628,40 @@ FinishFunc:
End If End If
End Function End Function
Private Function ldmFreqCompare(FreqData As String) As Boolean
' FreqCompare와 동일: 형식 검증 비교, 일치 False(OK), 불일치/오류 True
If UBound(Split(FreqData, ",")) = 5 Then
Dim result = Split(FreqData, ",")
Dim Freq1 As String = result(0)
Dim Freq2 As String = result(1)
Dim Freq3 As String = result(2)
Dim Power1 As String = result(3)
Dim Power2 As String = result(4)
Dim Power3 As String = result(5)
If Freq1 = LDMData(ldmSearchList.Frequency) And Power1 = LDMData(ldmSearchList.Power) Then
If Freq2 = LDMData(ldmSearchList.Frequency2) And Power2 = LDMData(ldmSearchList.Power2) Then
If Freq3 = LDMData(ldmSearchList.Frequency3) And Power3 = LDMData(ldmSearchList.Power3) Then
Return False
End If
End If
End If
Return True
Else
MsgBox("잘못된 형식의 주파수 값이 들어왔습니다. 연결을 확인하여 주십시오.", vbExclamation)
Return True
End If
End Function
Private Function TDCodeSearch() As String Private Function TDCodeSearch() As String
Dim retVal As String Dim retVal As String
tmpCmdMessage = "settdsn" tmpCmdMessage = "settdsn"
If LDMUse Then
tmpCmdMessage = "setldmsn"
End If
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then If SendData(cmdMessage) Then
Return "1" Return "1"
@ -1486,6 +1696,26 @@ FinishFunc:
End Function End Function
Private Function ldmFreqPowerReg(Freq As String, Power As String, Freq2 As String, Power2 As String, Freq3 As String, Power3 As String) As String
Const Commander As String = "setldmcnf"
Dim Retval As String
tmpCmdMessage = "[" & Commander & " " & Freq & "," & Freq2 & "," & Freq3 & "," & Power & "," & Power2 & "," & Power3 & "]" + vbCrLf
If SendData(tmpCmdMessage) Then
Return "FAIL"
End If
Retval = PollingReceiveData(500)
If InStr(1, Retval, ",") > 0 Then
Return Retval
Else
Return "NULL"
End If
End Function
Private Function FreqPowerSearch() As String Private Function FreqPowerSearch() As String
Const Commander As String = "settdcnf" Const Commander As String = "settdcnf"
Dim Retval As String Dim Retval As String
@ -1506,6 +1736,26 @@ FinishFunc:
End Function End Function
Private Function ldmFreqPowerSearch() As String
Const Commander As String = "setldmcnf"
Dim Retval As String
tmpCmdMessage = "[" & Commander & "]" + vbCrLf
If SendData(tmpCmdMessage) Then
Return "FAIL"
End If
Retval = PollingReceiveData(500)
If InStr(1, Retval, ",") > 0 Then
Return Retval
Else
Return "NULL"
End If
End Function
Private Function ShotReg(shot As Integer) As String Private Function ShotReg(shot As Integer) As String
Const Commander As String = "shotconf" Const Commander As String = "shotconf"
Dim retval As String Dim retval As String
@ -1537,7 +1787,8 @@ FinishFunc:
End If End If
RetVal = PollingReceiveData(1500) RetVal = PollingReceiveData(1500)
Return RetVal 'Return RetVal
Return "0"
End Function End Function
@ -1620,6 +1871,15 @@ FinishFunc:
Case "setdepth" Case "setdepth"
cmdStr = cmdVal(1) cmdStr = cmdVal(1)
Return cmdStr Return cmdStr
Case "setldmsn" ''ldm
cmdStr = cmdVal(1)
Return cmdStr
Case "setldmcnf" ''ldm
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6)
Return cmdStr
Case "wrsconf9" ''ldm
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) & "," & cmdVal(6) & "," & cmdVal(7)
Return cmdStr
Case "setmotor" Case "setmotor"
cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5) cmdStr = cmdVal(1) & "," & cmdVal(2) & "," & cmdVal(3) & "," & cmdVal(4) & "," & cmdVal(5)
Return cmdStr Return cmdStr
@ -1676,24 +1936,40 @@ FinishFunc:
GoTo FailFunc GoTo FailFunc
End If End If
If TDSearch(SearchData) Then If LDMUse Then
GoTo FailFunc If LDMSearch(SearchData) Then
End If GoTo FailFunc
For i = SearchList.TestStep To SearchList.maxList - 1
If i = SearchList.TestStep Then
TDDataTxb(i).Text = TestStepParsing()
If TDDataTxb(i).Text = "NULL" Then
TDDataTxb(i).BackColor = Color.Red
Else
TDDataTxb(i).BackColor = Color.Green
End If
Else
TDDataTxb(i).Text = TDData(i)
End If End If
Next TDData(SearchList.TestStep) = LDMData(ldmSearchList.TestStep)
For i = ldmSearchList.TestStep To Math.Min(ldmSearchList.maxList - 1, SearchList.maxList - 1)
If i = ldmSearchList.TestStep Then
TDDataTxb(i).Text = TestStepParsing()
If TDDataTxb(i).Text = "NULL" Then
TDDataTxb(i).BackColor = Color.Red
Else
TDDataTxb(i).BackColor = Color.Green
End If
Else
TDDataTxb(i).Text = LDMData(i)
End If
Next
Else
If TDSearch(SearchData) Then
GoTo FailFunc
End If
For i = SearchList.TestStep To SearchList.maxList - 1
If i = SearchList.TestStep Then
TDDataTxb(i).Text = TestStepParsing()
If TDDataTxb(i).Text = "NULL" Then
TDDataTxb(i).BackColor = Color.Red
Else
TDDataTxb(i).BackColor = Color.Green
End If
Else
TDDataTxb(i).Text = TDData(i)
End If
Next
End If
SerialNum = SearchData SerialNum = SearchData
@ -1730,10 +2006,34 @@ FailFunc:
End Function End Function
Private Function LDMSearch(SearchData As String) As Boolean
Try
DBCmd = "SELECT TestStep,Ct_Power,Ct_Motor_Lv,PV_SN,PV_Date,PV_Frequency,Ct_Power2,Ct_Power3,PV_Frequency2,PV_Frequency3 FROM " & ApplyLDMDB & " WHERE PV_SN = '" & SearchData & "'"
If DBQueryReader(DBCmd) Then
For i = ldmSearchList.TestStep To ldmSearchList.maxList - 1
LDMData(i) = sqlDataQuery(i)
Next
Else
MsgBox("LDM 데이터가 존재하지 않습니다.", vbExclamation)
Return True
End If
Return False
Catch ex As Exception
MsgBox("LDM 데이터를 불러오는 도중 오류가 발생하였습니다. :: " & vbCrLf & ex.Message, vbCritical)
Return True
End Try
End Function
Private Function TDExist(SearchData As String) As Boolean Private Function TDExist(SearchData As String) As Boolean
Try Try
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyCartDB & " WHERE PV_SN = '" & SearchData & "'" DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyCartDB & " WHERE PV_SN = '" & SearchData & "'"
ElseIf LDMUse = True Then
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyLDMDB & " WHERE PV_SN = '" & SearchData & "'"
Else Else
DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyNonTDDB & " WHERE PV_SN = '" & SearchData & "'" DBCmd = "SELECT COUNT(NUMBER) FROM " & ApplyNonTDDB & " WHERE PV_SN = '" & SearchData & "'"
End If End If
@ -1871,18 +2171,25 @@ FailFunc:
Private Sub btnReDel_Click(sender As Object, e As EventArgs) Handles btnReDel.Click Private Sub btnReDel_Click(sender As Object, e As EventArgs) Handles btnReDel.Click
NowDate = Format(Now, "yyyy-MM-dd") NowDate = Format(Now, "yyyy-MM-dd")
NowTime = Format(Now, "HH:mm:ss") NowTime = Format(Now, "HH:mm:ss")
Dim hfTable As String = ApplyHFTestDB
Dim rfTable As String = ApplyRFTestDB
If SerialNum = String.Empty Then If SerialNum = String.Empty Then
MsgBox("삭제할 데이터가 존재하지 않습니다. TD 데이터를 검색하여 주십시오.", vbExclamation) MsgBox("삭제할 데이터가 존재하지 않습니다. TD 데이터를 검색하여 주십시오.", vbExclamation)
GoTo FailFunc GoTo FailFunc
End If End If
If TestDelete(ApplyHFTestDB) Then If LDMUse Then
hfTable = ApplyLDMHFDB
rfTable = ApplyLDMRFDB
End If
If TestDelete(hfTable) Then
MsgBox("삭제 도중 문제가 발생했습니다.", vbCritical) MsgBox("삭제 도중 문제가 발생했습니다.", vbCritical)
GoTo FailFunc GoTo FailFunc
End If End If
If TestDelete(ApplyRFTestDB) Then If TestDelete(rfTable) Then
MsgBox("삭제 도중 문제가 발생했습니다.", vbCritical) MsgBox("삭제 도중 문제가 발생했습니다.", vbCritical)
GoTo FailFunc GoTo FailFunc
End If End If
@ -1928,7 +2235,16 @@ FailFunc:
End Function End Function
Private Function DeleteData() As String Private Function DeleteData() As String
DBCmd = "UPDATE " & ApplyCartDB & " SET TestStep = '15', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Abroad = NULL, Ct_Agency = NULL, Ct_Frequency = NULL, Ct_Max_ShotCnt = NULL, Ct_Remain_ShotCnt = NULL, P0_Date = NULL, P0_Time = NULL, P0_Model = NULL, P0_Type = NULL, P1_Date = NULL, P1_Time = NULL, P1_Model = NULL, P1_CartType = NULL, P1_Frequency = NULL, P3_DateTime = NULL, LastQC_Date = NULL,LastQC_Time = NULL, Delete_Date = '" & NowDate & "', Delete_Time = '" & NowTime & "', Delete_TestStep = '" & TDData(SearchList.TestStep) & "' WHERE PV_SN = '" & SerialNum & "'" Dim delTable As String
Dim delTestStep As String
If LDMUse Then
delTable = ApplyLDMDB
delTestStep = LDMData(ldmSearchList.TestStep)
Else
delTable = ApplyCartDB
delTestStep = TDData(SearchList.TestStep)
End If
DBCmd = "UPDATE " & delTable & " SET TestStep = '15', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Abroad = NULL, Ct_Agency = NULL, Ct_Frequency = NULL, Ct_Max_ShotCnt = NULL, Ct_Remain_ShotCnt = NULL, P0_Date = NULL, P0_Time = NULL, P0_Model = NULL, P0_Type = NULL, P1_Date = NULL, P1_Time = NULL, P1_Model = NULL, P1_CartType = NULL, P1_Frequency = NULL, P3_DateTime = NULL, LastQC_Date = NULL,LastQC_Time = NULL, Delete_Date = '" & NowDate & "', Delete_Time = '" & NowTime & "', Delete_TestStep = '" & delTestStep & "' WHERE PV_SN = '" & SerialNum & "'"
If DBCommand(DBCmd) Then If DBCommand(DBCmd) Then
Return False Return False
@ -2116,6 +2432,7 @@ FailFunc:
Private Sub cboPDInfo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboPDInfo.SelectedIndexChanged Private Sub cboPDInfo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboPDInfo.SelectedIndexChanged
LDMUse = False
Dim SelectData As String = cboPDInfo.SelectedIndex Dim SelectData As String = cboPDInfo.SelectedIndex
TimerFalse() TimerFalse()
@ -2658,9 +2975,13 @@ FailLoad:
Try Try
Const LimitCheck As Int16 = 5 Const LimitCheck As Int16 = 5
Const RowCount As Int16 = 3 Const RowCount As Int16 = 3
Dim table As String = ApplyCartDB
If LDMUse Then
table = ApplyLDMDB
End If
dgvNowReg.Rows.Clear() dgvNowReg.Rows.Clear()
DBCmd = "SELECT Product_SN,DATE_FORMAT(P3_DateTime,'%Y-%m-%d') AS d, DATE_FORMAT(P3_DateTime,'%H:%i:%s') AS t FROM " & ApplyCartDB & " WHERE TestStep > '30' ORDER BY P3_DateTime DESC LIMIT " & LimitCheck & "" DBCmd = "SELECT Product_SN,DATE_FORMAT(P3_DateTime,'%Y-%m-%d') AS d, DATE_FORMAT(P3_DateTime,'%H:%i:%s') AS t FROM " & table & " WHERE TestStep > '30' ORDER BY P3_DateTime DESC LIMIT " & LimitCheck & ""
If DBQueryReader(DBCmd) Then If DBQueryReader(DBCmd) Then
Dim RunCount As Int32 = 0 Dim RunCount As Int32 = 0
Dim dgvData(RowCount - 1) As String Dim dgvData(RowCount - 1) As String
@ -2792,6 +3113,8 @@ FailLoad:
Private Function CtNumMaxSearch(NowYear As Int16, NowMonth As Int16) As String Private Function CtNumMaxSearch(NowYear As Int16, NowMonth As Int16) As String
If TDUseCompare = True Then If TDUseCompare = True Then
DBCmd = "SELECT IFNULL(max(Ct_SN),0) FROM " & ApplyCartDB & " WHERE Ct_Manufacture_Year = '" & NowYear & "' AND Ct_Manufacture_Month = '" & NowMonth & "' AND Ct_SN LIKE '" & ClassCode & ColorCode & "%' AND Ct_Model = '" & txbPDModel.Text & "' AND Ct_SN > 100000 AND (Ct_Type = '" & txbPDType.Text & "' OR Ct_Type = 'SET')" DBCmd = "SELECT IFNULL(max(Ct_SN),0) FROM " & ApplyCartDB & " WHERE Ct_Manufacture_Year = '" & NowYear & "' AND Ct_Manufacture_Month = '" & NowMonth & "' AND Ct_SN LIKE '" & ClassCode & ColorCode & "%' AND Ct_Model = '" & txbPDModel.Text & "' AND Ct_SN > 100000 AND (Ct_Type = '" & txbPDType.Text & "' OR Ct_Type = 'SET')"
ElseIf LDMUse = True Then
DBCmd = "SELECT IFNULL(max(Ct_SN),0) FROM " & ApplyLDMDB & " WHERE Ct_Manufacture_Year = '" & NowYear & "' AND Ct_Manufacture_Month = '" & NowMonth & "' AND Ct_SN LIKE '" & ClassCode & ColorCode & "%' AND Ct_Model = '" & txbPDModel.Text & "' AND Ct_SN > 100000 AND (Ct_Type = '" & txbPDType.Text & "' OR Ct_Type = 'SET')"
Else Else
DBCmd = "SELECT IFNULL(max(Ct_SN),0) FROM " & ApplyNonTDDB & " WHERE Ct_Manufacture_Year = '" & NowYear & "' AND Ct_Manufacture_Month = '" & NowMonth & "' AND Ct_SN LIKE '" & ClassCode & ColorCode & "%' AND Ct_Model = '" & txbPDModel.Text & "' AND Ct_SN > 100000 AND (Ct_Type = '" & txbPDType.Text & "' OR Ct_Type = 'SET')" DBCmd = "SELECT IFNULL(max(Ct_SN),0) FROM " & ApplyNonTDDB & " WHERE Ct_Manufacture_Year = '" & NowYear & "' AND Ct_Manufacture_Month = '" & NowMonth & "' AND Ct_SN LIKE '" & ClassCode & ColorCode & "%' AND Ct_Model = '" & txbPDModel.Text & "' AND Ct_SN > 100000 AND (Ct_Type = '" & txbPDType.Text & "' OR Ct_Type = 'SET')"
End If End If
@ -2949,6 +3272,7 @@ FailLoad:
End If End If
If TrayData(TrayDataList.State, i) = 0 Then If TrayData(TrayDataList.State, i) = 0 Then
Return True '' 개라도 처리 제품이 있을 Return True '' 개라도 처리 제품이 있을
End If End If

View File

@ -2,6 +2,10 @@
Private Const mainCartDB As String = "jomtTesterDB.jomtCartridgeTbl" Private Const mainCartDB As String = "jomtTesterDB.jomtCartridgeTbl"
Private Const testCartDB As String = "jomtTesterServerDB.jomtCartridgeTbl" Private Const testCartDB As String = "jomtTesterServerDB.jomtCartridgeTbl"
Private Const mainLDMDB As String = "jomtTesterDB.jomtLDMTbl"
Private Const ldmHFDB As String = "jomtTesterDB.jomtLDMTestTbl"
Private Const ldmRFMDB As String = "jomtTesterDB.jomtLDMRfTestTbl"
Private Const mainHFTestDB As String = "jomtTesterDB.jomtHFTestTbl" Private Const mainHFTestDB As String = "jomtTesterDB.jomtHFTestTbl"
Private Const testHFTestDB As String = "jomtTesterServerDB.jomtHFTestTbl" Private Const testHFTestDB As String = "jomtTesterServerDB.jomtHFTestTbl"
@ -30,6 +34,9 @@
Public ApplyNonTDDB As String = mainNonTDDB Public ApplyNonTDDB As String = mainNonTDDB
Public ApplyReturnDB As String = MainReturnDB Public ApplyReturnDB As String = MainReturnDB
Public ApplyModelInfoDB As String = mainModelInfoDB Public ApplyModelInfoDB As String = mainModelInfoDB
Public ApplyLDMDB As String = mainLDMDB
Public ApplyLDMHFDB As String = ldmHFDB
Public ApplyLDMRFDB As String = ldmRFMDB
Public Sub ServerChanger(ChangeState As Boolean) Public Sub ServerChanger(ChangeState As Boolean)
If ChangeState = True Then If ChangeState = True Then