4049 lines
129 KiB
VB.net
Raw Normal View History

Imports System.IO.Ports
Imports System.Math
Imports System.Runtime.InteropServices.ComTypes
Imports Microsoft
Imports System.Runtime.Remoting
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock
Imports Mysqlx
Public Class MainForm
Public Const FormVersion As String = "2.0.0"
Private Const FormName As String = "DUALSONIC Product Manager Ver " & FormVersion
Private Const TDNameSize As Int16 = 10
Private Const StrLen As Int16 = 10
Private Const WriteSerialLength As Int16 = 6
Private Const SerialLength As Int16 = 9
Private Const SerialParsingLength As Int16 = 12
Private Const PROSerialParsing As ULong = 111669149696
Private Const LUXSerialParsing As ULong = 0
Private Const ALPHASerialParsing As ULong = 412316860416
Private Const OneDay As Int32 = 86400
Private Const OneHour As Int32 = 3600
Private Const OneMinute As Int16 = 60
Private Const OneSecond As Int32 = 1000
Private Enum ErrorList
DataError = -5
DBError = -4
ResultError = -3
ReceiveError = -2
SendError = -1
NonError
MAXError
End Enum
Private Enum ModelList
PRO = 1
LUX
MAXIMUM
ALPHA
ALTO
EFFECT
MAX_Model
End Enum
Private Enum TypeList
V1_Set
V2_Face
Eye
Body
MAXType
End Enum
Private Enum TypeCodeList
Eye = 1
Face
Body
MAXType
End Enum
Private tmpCmdMessage As String = String.Empty
Private cmdMessage As String = String.Empty
Private DBCmd As String = String.Empty
Private Sub StartForm()
Me.Text = FormName
Me.Size = New Size(1920, 800)
UseSerialSetting(SerialPort1)
rdbDual.Checked = True
ckbDBUse.Checked = True
End Sub
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
StartForm()
StartTop()
End Sub
Private Sub rdbDual_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDual.CheckedChanged, rdbMax.CheckedChanged, rdbAlto.CheckedChanged, rdbEffect.CheckedChanged
ResetClear()
ResultReset()
Dim CheckOkNg As RadioButton = CType(sender, RadioButton)
If CheckOkNg.Checked = True Then
If rdbDual.Checked = True Then
SelectModel = ModeList.DUALSONIC
DUALForm_Setting()
DUALSONIC_UseOn()
Device_UseOn()
btnALFuncReset1.Enabled = True
ElseIf rdbMax.Checked = True Then
SelectModel = ModeList.MAXIMUM
MAXForm_Setting()
MAXIMUM_UseOn()
btnALFuncReset1.Enabled = True
ElseIf rdbAlto.Checked = True Then
SelectModel = ModeList.ALTO
ALTOForm_Setting()
ALTO_UseOn()
btnALFuncReset1.Enabled = False
ElseIf rdbEffect.Checked = True Then
SelectModel = ModeList.EFFECT
EFFECTForm_Setting()
EFFECT_UseOn()
btnALFuncReset1.Enabled = True
Else
MsgBox("잘못된 경로입니다.", vbCritical)
End If
End If
End Sub
Private Sub rdbDev_Click(sender As Object, e As EventArgs) Handles rdbDev.Click, rdbUseTime.Click
Dim CheckOkNg As RadioButton = CType(sender, RadioButton)
If rdbDev.Checked = True Then
Device_UseOn()
ElseIf rdbUseTime.Checked = True Then
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_UseOn()
Case ModeList.MAXIMUM
MAXIMUM_UseOn()
Case ModeList.ALTO
ALTO_UseOn()
Case ModeList.EFFECT
EFFECT_UseOn()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
Else
MsgBox("잘못된 경로입니다.", vbCritical)
End If
End Sub
Private Sub Device_UseOn()
gbDevice.Visible = True
gbRunTime.Visible = False
tcMAXUse.Visible = False
gbDUALUse.Visible = False
tcAltoUse.Visible = False
End Sub
Private Sub DUALSONIC_UseOn()
gbDevice.Visible = False
gbRunTime.Visible = True
tcMAXUse.Visible = False
gbDUALUse.Visible = True
tcAltoUse.Visible = False
End Sub
Private Sub MAXIMUM_UseOn()
gbDevice.Visible = False
gbRunTime.Visible = True
tcMAXUse.Visible = True
gbDUALUse.Visible = False
tcAltoUse.Visible = False
End Sub
Private Sub ALTO_UseOn()
gbDevice.Visible = False
gbRunTime.Visible = True
tcMAXUse.Visible = False
gbDUALUse.Visible = False
tcAltoUse.Visible = True
End Sub
Private Sub EFFECT_UseOn()
gbDevice.Visible = False
gbRunTime.Visible = False
tcMAXUse.Visible = False
gbDUALUse.Visible = False
tcAltoUse.Visible = False
End Sub
Private Sub btnComport_Click(sender As Object, e As EventArgs) Handles btnComport.Click
If btnComport.Text = "검색" Then
pnBottom.Enabled = False
If LoadCompartList() Then
btnComport.Text = "연결"
End If
Else
If cboComport.SelectedIndex = -1 Then
MsgBox("연결하고자 하는 포트를 선택하여 주십시오.", vbExclamation, FormName)
Else
If UseSerial_Ch1.IsOpen Then
UseSerial_Ch1.Close()
End If
If OpenSerial(cboComport.SelectedItem) Then
pnBottom.Enabled = True
End If
End If
btnComport.Text = "검색"
End If
End Sub
Private Function LoadCompartList() As Boolean
Try
cboComport.Items.Clear()
Dim PortName() As String = SerialPort.GetPortNames
For i = 0 To PortName.Length - 1
cboComport.Items.Add(PortName(i))
Next
cboComport.Text = "SELECT!"
Return True
Catch ex As Exception
MsgBox("COM 포트 불러오기 실패!" & vbCrLf & ex.Message, vbCritical, FormName)
Return False
End Try
End Function
Private Sub btnAuth_Click(sender As Object, e As EventArgs) Handles btnAuth.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_AuthFunc()
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
FlashDataReset()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub AuthReady()
txbAuthBox.Visible = True
txbAuthBox.Text = "RUNNING"
txbAuthBox.BackColor = Color.GreenYellow
txbAuthBox.Refresh()
End Sub
Private Sub DUALSONIC_AuthFunc()
Const PollingTimeOut As Int16 = 10000
Dim StageCnt As Int16 = ErrorList.NonError
Try
AuthReady()
tmpCmdMessage = "cartauth"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim ReceiveData As String = PollingReceiveData(PollingTimeOut)
If ReceiveData = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If ReceiveData = "success" Then
txbAuthBox.Text = "SUCCESS"
txbAuthBox.BackColor = Color.Green
GoTo End_Finish
Else
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
Catch ex As Exception
MsgBox("인증 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAuthBox.Text = "ERROR" + Str(StageCnt)
txbAuthBox.BackColor = Color.Red
End_Finish:
txbAuthBox.Refresh()
End Sub
Private Sub FlashDataReset()
Dim StageCnt As Int16 = ErrorList.NonError
Dim TDNameStr As String = String.Empty
Try
AuthReady()
If MsgBox("Flash Data 를 초기화 하시겠습니까?", vbExclamation + vbOKCancel, FormName) = MsgBoxResult.Ok Then
If ckbDBUse.Checked = True Then
TDNameStr = TDNameLoad()
If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then
MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbCritical, FormName)
StageCnt = TDNameStr
GoTo FAIL_Finish
End If
End If
Dim ResetResult As Int16 = DataResetFunc()
If ResetResult = ErrorList.SendError Or ResetResult = ErrorList.ReceiveError Then
StageCnt = ResetResult
GoTo FAIL_Finish
End If
If ckbDBUse.Checked = True Then
If ResetDBUpdate(TDNameStr) = False Then
StageCnt = ErrorList.DBError
GoTo FAIL_Finish
End If
End If
End If
txbAuthBox.Text = "SUCCESS"
txbAuthBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("초기화 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAuthBox.Text = "ERROR" + Str(StageCnt)
txbAuthBox.BackColor = Color.Red
End_Finish:
txbAuthBox.Refresh()
End Sub
Private Function ResetDBUpdate(TDSerial As String) As Boolean
DBCmd = "UPDATE " & UseCartridgeTbl & " SET TestStep = '11', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Model = '', Ct_Type = '', Ct_Abroad = NULL, Ct_Agency = NULL , Ct_Frequency = NULL, Ct_Power = '0', Ct_Max_ShotCnt = '0', Ct_Remain_ShotCnt = '0' WHERE PV_SN = '" & TDSerial & "'"
If DBCommand(DBCmd) Then
Return True
End If
Return False
End Function
Private Function DataResetFunc() As Boolean
Dim retval As String
tmpCmdMessage = "resetinf"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
retval = PollingReceiveData(1500)
If retval <> "ok" Then
Return ErrorList.ReceiveError
End If
Return ErrorList.NonError
End Function
Private Sub btnIfWrite_Click(sender As Object, e As EventArgs) Handles btnIfWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_WriteFunc()
Case ModeList.MAXIMUM
MAXIMUM_WriteFunc()
Case ModeList.ALTO
ALTO_WriteFunc()
Case ModeList.EFFECT
EFFECT_WriteFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Function InfoWriteStart() As Boolean
InfoReadReady()
If nudIfYear.Text.Replace(" ", "") = String.Empty Or nudIfMonth.Text.Replace(" ", "") = String.Empty Or nudIfSerial.Text.Replace(" ", "") = String.Empty Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
If txbIfCode.Text = String.Empty Then
txbIfCode.Text = "jomt"
End If
If rdbIfPRO_V1.Checked = False And rdbIfLUX_V2.Checked = False And rdbIfALPHA.Checked = False Then
MsgBox("모델을 선택하여 주십시오.", vbExclamation, FormName)
Return True
End If
If rdbIfFace.Checked = False And rdbIfEye.Checked = False And rdbIfBody.Checked = False Then
MsgBox("타입을 선택하여 주십시오.", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Function ModelSetting() As Int16
If rdbIfPRO_V1.Checked = True Then
If SelectModel = ModeList.DUALSONIC Then
Return ModelList.PRO
Else
Return TypeList.V1_Set
End If
ElseIf rdbIfLUX_V2.Checked = True Then
If SelectModel = ModeList.DUALSONIC Then
Return ModelList.LUX
Else
Return TypeList.V2_Face
End If
ElseIf rdbIfALPHA.Checked = True Then
Return ModelList.ALPHA
Else
Return ModelList.MAX_Model
End If
End Function
Private Function TypeSetting() As Int16
If rdbIfFace.Checked = True Then
Return TypeList.V2_Face
ElseIf rdbIfEye.Checked = True Then
Return TypeList.Eye
ElseIf rdbIfBody.Checked = True Then
Return TypeList.Body
Else
Return TypeList.MAXType
End If
End Function
Private Function TypeCodeSetting() As Int16
If rdbIfFace.Checked = True Then
Return TypeCodeList.Face
ElseIf rdbIfEye.Checked = True Then
Return TypeCodeList.Eye
ElseIf rdbIfBody.Checked = True Then
Return TypeCodeList.Body
Else
Return TypeCodeList.MAXType
End If
End Function
Private Sub DUALSONIC_WriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If InfoWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
Dim ModelCode As Int16 = ModelSetting()
Dim TypeCode As Int16 = TypeSetting()
If ModelCode = ModelList.MAX_Model Or TypeCode = TypeList.MAXType Then
MsgBox("존재하지 않는 모델 및 타입 코드입니다. 체크된 내용을 확인하여 주십시오.", vbCritical, FormName)
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
''************************************
''******* 제조사코드 발신 *******
''************************************
tmpCmdMessage = "cartmanu"
cmdMessage = "[sb" & tmpCmdMessage & " " & "" & txbIfCode.Text & "" & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
''************************************
''******* 모델 넘버 발신 **********
''************************************
tmpCmdMessage = "ctmodel"
cmdMessage = "[sb" & tmpCmdMessage & " " & ModelCode & TypeCode & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
''************************************
''******* Cart Type 전송 ********
''************************************
Dim TypeCodeNum As Int16 = TypeCodeSetting()
tmpCmdMessage = "carttype"
cmdMessage = "[sb" & tmpCmdMessage & " " & TypeCodeNum & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
''************************************
''****** 시리얼넘버 발신 **********
''************************************
Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString)
Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString)
If SerialValue = "FAIL" Or MonthParsing = "FAIL" Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If SerialValue.Length <> WriteSerialLength Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
SerialValue = ModelCode & TypeCode & nudIfYear.Text & MonthParsing & Mid(SerialValue, 4, 3) & Mid(SerialValue, 1, 3)
txbIfNumber.Text = SerialValue
tmpCmdMessage = "cartsn"
cmdMessage = "[sb" & tmpCmdMessage & " " & SerialValue & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
Else
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
End If
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Sub MAXIMUM_WriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Dim TDNameStr As String = String.Empty
Const AboardCode As Int32 = 82
Const AgencyCode As Int16 = 0
Try
If InfoWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If ckbDBUse.Checked = True Then
TDNameStr = TDNameLoad()
If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then
MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName)
StageCnt = TDNameStr
GoTo FAIL_Finish
End If
Dim DBExist As Boolean = TDNameDBLoad(TDNameStr)
If DBExist = False Then
MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName)
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
End If
Dim ModelCode As Integer = ModelSetting()
If ModelCode = ModelList.MAX_Model Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
ModelCode = ModelList.MAXIMUM & ModelCode
Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString)
Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString)
SerialValue = nudIfYear.Value & MonthParsing & SerialValue
Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode)
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3)
Dim cartridgeSerial = Mid(SerialValue, 5, 3) & Mid(SerialValue, 8, 3)
'여기에 Update TD 번호 조건 걸어서 넣기'
' 변수 정리하고 어떤 칼럼인지 정리
Dim DBCmd = "UPDATE " & UseCartridgeTbl & "SET Product_SN = '" & txbIfNumber.Text & "', Ct_Manufacture_Name = '" & txbIfCode.Text & "', Ct_Manufacture_Year = '" & nudIfYear.Value & "', Ct_Manufacture_Month = '" & nudIfMonth.Value & "', Ct_SN = '" & cartridgeSerial & "', Ct_Model = 'MAXIMUM', Ct_Type = 'SET', Ct_Remain_ShotCnt = 0 WHERE PV_SN = '" & TDNameStr & "'"
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Sub ALTO_WriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Dim TDNameStr As String = String.Empty
Const AboardCode As Int32 = 82
Const AgencyCode As Int16 = 0
Try
If InfoWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If ckbDBUse.Checked = True Then
TDNameStr = TDNameLoad()
If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then
MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName)
StageCnt = TDNameStr
GoTo FAIL_Finish
End If
Dim DBExist As Boolean = NonTDNameDBLoad(TDNameStr)
If DBExist = False Then
MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName)
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
End If
Dim ModelCode As Integer = ModelSetting()
If ModelCode = ModelList.MAX_Model Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
ModelCode = ModelList.ALTO & ModelCode
Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString)
Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString)
SerialValue = nudIfYear.Value & MonthParsing & SerialValue
Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode)
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3)
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Sub EFFECT_WriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Dim TDNameStr As String = String.Empty
Const AboardCode As Int32 = 82
Const AgencyCode As Int16 = 0
Try
If InfoWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If ckbDBUse.Checked = True Then
TDNameStr = TDNameLoad()
If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then
MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName)
StageCnt = TDNameStr
GoTo FAIL_Finish
End If
Dim DBExist As Boolean = TDNameDBLoad(TDNameStr)
If DBExist = False Then
MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName)
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
End If
Dim ModelCode As Integer = ModelSetting()
If ModelCode = ModelList.MAX_Model Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
ModelCode = ModelList.EFFECT & ModelCode
Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString)
Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString)
SerialValue = nudIfYear.Value & MonthParsing & SerialValue
Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode)
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3)
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Function MAXInfoWrite(Factory As String, ProdNum As String, ModelType As Integer, AboardNum As Integer, AgencyNum As Integer) As Int16
tmpCmdMessage = "wrsconf1"
cmdMessage = "[" & tmpCmdMessage & " " & Factory & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retVal As String = PollingReceiveData(2000)
If retVal <> Factory.ToLower & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum Then
Return ErrorList.ReceiveError
End If
Return ErrorList.NonError
End Function
Private Function MonthSetting(MonthData As String) As String
If Len(MonthData) = 2 Then
Return MonthData
ElseIf Len(MonthData) = 1 Then
Return "0" & MonthData
Else
Return "FAIL"
End If
End Function
Private Function SerialNumSetting(SerialNum As String) As String
For cnt = Len(SerialNum) To 5
SerialNum = "0" + SerialNum
Next
If SerialNum.Length = 6 Then
Return SerialNum
Else
Return "FAIL"
End If
End Function
Private Sub btnIfRead_Click(sender As Object, e As EventArgs) Handles btnIfRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_ReadFunc()
Case ModeList.MAXIMUM
MAXIMUM_ReadFunc()
Case ModeList.ALTO
ALTO_ReadFunc()
Case ModeList.EFFECT
EFFECT_ReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub DUALSONIC_ReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
InfoResest()
InfoReadReady()
''************************************
''******* 제조사 코드 수신 *******
''************************************
tmpCmdMessage = "cartmanu"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbIfCode.Text = DataResult
''************************************
''****** 모델타입 수신 ********
''************************************
tmpCmdMessage = "ctmodel"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
Dim ModelCode As Int16 = Val(Mid(DataResult, 1, 1))
If ModelChecking(ModelCode) Then
MsgBox("없는 모델 번호입니다.", vbCritical, FormName)
GoTo FAIL_Finish
End If
''************************************
''******* Cart Type 수신 ********
''************************************
tmpCmdMessage = "carttype"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
DataResult = Mid(DataResult, 1, 1)
If TypeChecking(Val(DataResult)) Then
MsgBox("없는 타입 번호입니다.", vbCritical, FormName)
GoTo FAIL_Finish
End If
''************************************
''****** 시리얼넘버 발신 **********
''************************************
tmpCmdMessage = "cartsn"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
'If DataResult.Length <> SerialLength Then
' StageCnt = ErrorList.DataError
' GoTo FAIL_Finish
'End If
DataResult = SerialParsingFunc(ModelCode, DataResult)
If DataResult.Length <> SerialParsingLength Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
txbIfNumber.Text = DataResult
nudIfYear.Text = Mid(DataResult, 3, 2)
nudIfMonth.Text = Mid(DataResult, 5, 2)
nudIfSerial.Text = Mid(DataResult, 10, 3) & Mid(DataResult, 7, 3)
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Sub MAXIMUM_ReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
InfoReadReady()
Dim ResultData As String = ReadInfo()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
Dim ModelCode As String = Mid(ProdValue, 1, 1)
Dim TypeCode As String = Mid(ProdValue, 2, 1)
txbIfCode.Text = MakeCode
If (ProdValue & SerialValue).Length <> SerialParsingLength Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If ModelCode = Str(ModelList.MAXIMUM) Then
StageCnt = ErrorList.DataError
MsgBox("MAXIMUM 제품군이 아닙니다.", vbCritical, FormName)
GoTo FAIL_Finish
End If
txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3)
nudIfYear.Text = Mid(SerialValue, 1, 2)
nudIfMonth.Text = Mid(SerialValue, 3, 2)
If TypeChecking_MAX(TypeCode) Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
nudIfSerial.Text = Mid(SerialValue, 5, 6)
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Sub ALTO_ReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
InfoReadReady()
Dim ResultData As String = ReadInfo()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
Dim ModelCode As String = Mid(ProdValue, 1, 1)
Dim TypeCode As String = Mid(ProdValue, 2, 1)
txbIfCode.Text = MakeCode
If (ProdValue & SerialValue).Length <> SerialParsingLength Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If ModelCode = Str(ModelList.ALTO) Then
StageCnt = ErrorList.DataError
MsgBox("ALTO 제품군이 아닙니다.", vbCritical, FormName)
GoTo FAIL_Finish
End If
txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3)
nudIfYear.Text = Mid(SerialValue, 1, 2)
nudIfMonth.Text = Mid(SerialValue, 3, 2)
If TypeChecking_MAX(TypeCode) Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
nudIfSerial.Text = Mid(SerialValue, 5, 6)
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Sub EFFECT_ReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
InfoReadReady()
Dim ResultData As String = ReadInfo()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
Dim ModelCode As String = Mid(ProdValue, 1, 1)
Dim TypeCode As String = Mid(ProdValue, 2, 1)
txbIfCode.Text = MakeCode
If (ProdValue & SerialValue).Length <> SerialParsingLength Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
If ModelCode = Str(ModelList.EFFECT) Then
StageCnt = ErrorList.DataError
MsgBox("EFFECT 제품군이 아닙니다.", vbCritical, FormName)
GoTo FAIL_Finish
End If
txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3)
nudIfYear.Text = Mid(SerialValue, 1, 2)
nudIfMonth.Text = Mid(SerialValue, 3, 2)
If TypeChecking_MAX(TypeCode) Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
nudIfSerial.Text = Mid(SerialValue, 5, 6)
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbInfoBox.Text = "ERROR" + Str(StageCnt)
txbInfoBox.BackColor = Color.Red
End_Finish:
txbInfoBox.Refresh()
End Sub
Private Function ReadInfo() As String
tmpCmdMessage = "rdsconf1"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(2000)
If InStr(1, retval, ",") > 0 Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Sub InfoReadReady()
txbInfoBox.Visible = True
txbInfoBox.Text = "RUNNING"
txbInfoBox.BackColor = Color.GreenYellow
txbInfoBox.Refresh()
End Sub
Private Sub InfoResest()
txbIfNumber.Text = String.Empty
txbIfNumber.Refresh()
txbIfCode.Text = String.Empty
txbIfCode.Refresh()
nudIfYear.Text = Format(Now, "yy")
nudIfYear.Refresh()
nudIfMonth.Text = Format(Now, "MM")
nudIfMonth.Refresh()
rdbIfPRO_V1.Checked = True
rdbIfPRO_V1.Refresh()
rdbIfLUX_V2.Checked = False
rdbIfLUX_V2.Refresh()
rdbIfALPHA.Checked = False
rdbIfALPHA.Refresh()
rdbIfFace.Checked = True
rdbIfFace.Refresh()
rdbIfEye.Checked = False
rdbIfEye.Refresh()
rdbIfBody.Checked = False
rdbIfBody.Refresh()
nudIfSerial.Text = String.Empty
nudIfSerial.Refresh()
txbInfoBox.Visible = False
txbInfoBox.Text = String.Empty
txbInfoBox.BackColor = Color.FromArgb(0, 192, 0)
End Sub
Private Function SerialParsingFunc(ModelNum As Int16, CheckSerial As String) As String
Select Case ModelNum
Case ModelList.PRO
Return Val(CheckSerial) + PROSerialParsing
Case ModelList.LUX
Return Val(CheckSerial) + LUXSerialParsing
Case ModelList.ALPHA
Return Val(CheckSerial) + ALPHASerialParsing
Case Else
Return False
End Select
End Function
Private Function ModelChecking(ModelNum As Int16) As Boolean
Select Case ModelNum
Case ModelList.PRO
rdbIfPRO_V1.Checked = True
rdbIfLUX_V2.Checked = False
rdbIfALPHA.Checked = False
Case ModelList.LUX
rdbIfPRO_V1.Checked = False
rdbIfLUX_V2.Checked = True
rdbIfALPHA.Checked = False
Case ModelList.ALPHA
rdbIfPRO_V1.Checked = False
rdbIfLUX_V2.Checked = False
rdbIfALPHA.Checked = True
Case Else
Return True
End Select
Return False
End Function
Private Function TypeChecking_MAX(TypeNum As Int16) As Boolean
Select Case TypeNum
Case TypeList.V1_Set
rdbIfPRO_V1.Checked = True
rdbIfLUX_V2.Checked = False
rdbIfALPHA.Checked = False
Case TypeList.V2_Face
rdbIfPRO_V1.Checked = False
rdbIfLUX_V2.Checked = True
rdbIfALPHA.Checked = False
Case Else
Return True
End Select
Return False
End Function
Private Function TypeChecking(TypeNum As Int16) As Boolean
Select Case TypeNum
Case TypeCodeList.Face
rdbIfFace.Checked = True
rdbIfEye.Checked = False
rdbIfBody.Checked = False
Case TypeCodeList.Eye
rdbIfFace.Checked = False
rdbIfEye.Checked = True
rdbIfBody.Checked = False
Case TypeCodeList.Body
rdbIfFace.Checked = False
rdbIfEye.Checked = False
rdbIfBody.Checked = True
Case Else
Return True
End Select
Return False
End Function
Private Function TDNameDBLoad(TDName As String) As Boolean
DBCmd = "SELECT EXISTS (SELECT 1 FROM " & UseCartridgeTbl & " WHERE PV_SN = '" & TDName & "')"
Return DBQueryScalar(DBCmd)
End Function
Private Function NonTDNameDBLoad(TDName As String) As Boolean
DBCmd = "SELECT EXISTS (SELECT 1 FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & TDName & "')"
Return DBQueryScalar(DBCmd)
End Function
Private Function TDNameLoad() As String
Dim retVal As String
tmpCmdMessage = "settdsn"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return Str(ErrorList.SendError)
End If
retVal = PollingReceiveData(1500)
If retVal.Length = TDNameSize Then
Return retVal
Else
Return Str(ErrorList.ReceiveError)
End If
End Function
Private Sub btnArRead_Click(sender As Object, e As EventArgs) Handles btnArRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_AreaReadFunc()
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
MAXIMUM_AreaReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub AreaReadStart()
txbAreaBox.Visible = True
txbAreaBox.Text = "RUNNING"
txbAreaBox.BackColor = Color.GreenYellow
txbAreaBox.Refresh()
End Sub
Private Sub DUALSONIC_AreaReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
AreaReadStart()
''************************************
''******* txbAbroad 수신 *******
''************************************
tmpCmdMessage = "ctabroad"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbAbroad.Text = DataResult
''************************************
''******* txbAgency 수신 **********
''************************************
tmpCmdMessage = "ctagency"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbAgency.Text = DataResult
txbAreaBox.Text = "SUCCESS"
txbAreaBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAreaBox.Text = "ERROR" + Str(StageCnt)
txbAreaBox.BackColor = Color.Red
End_Finish:
txbAreaBox.Refresh()
End Sub
Private Sub MAXIMUM_AreaReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
AreaReadStart()
Dim ResultData As String = ReadInfo()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
'If Mid(ResultData, 1, InStr(ResultData, ",") - 1) = "" Then
' StageCnt = ErrorList.DataError
' GoTo FAIL_Finish
'End If
txbAgency.Text = Mid(ResultData, InStrRev(ResultData, ",", ResultData.Length) + 1, ResultData.Length)
ResultData = Mid(ResultData, 1, InStrRev(ResultData, ",", ResultData.Length) - 1)
txbAbroad.Text = Mid(ResultData, InStrRev(ResultData, ",", ResultData.Length) + 1, ResultData.Length)
txbAreaBox.Text = "SUCCESS"
txbAreaBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAreaBox.Text = "ERROR" + Str(StageCnt)
txbAreaBox.BackColor = Color.Red
End_Finish:
txbAreaBox.Refresh()
End Sub
Private Function AreaWriteStart() As Boolean
AreaReadStart()
If txbAbroad.Text = String.Empty Or txbAgency.Text = String.Empty Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Sub btnArWrite_Click(sender As Object, e As EventArgs) Handles btnArWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_AreaWriteFunc()
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
MAXIMUM_AreaWriteFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub DUALSONIC_AreaWriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If AreaWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
''************************************
''******* txbAbroad 발신 ********
''************************************
tmpCmdMessage = "ctabroad"
cmdMessage = "[sb" & tmpCmdMessage & " " & txbAbroad.Text & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
''************************************
''****** txbAgency 발신 ********
''************************************
tmpCmdMessage = "ctagency"
cmdMessage = "[sb" & tmpCmdMessage & " " & txbAgency.Text & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbAreaBox.Text = "SUCCESS"
txbAreaBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAreaBox.Text = "ERROR" + Str(StageCnt)
txbAreaBox.BackColor = Color.Red
End_Finish:
txbAreaBox.Refresh()
End Sub
Private Sub MAXIMUM_AreaWriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If AreaWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
Dim ResultData As String = ReadInfo()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim Data1 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim Data2 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim Data3 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = MAXInfoWrite(Data1, Data2, Data3, txbAbroad.Text, txbAgency.Text)
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbAreaBox.Text = "SUCCESS"
txbAreaBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAreaBox.Text = "ERROR" + Str(StageCnt)
txbAreaBox.BackColor = Color.Red
End_Finish:
txbAreaBox.Refresh()
End Sub
Private Sub btnTdRead_Click(sender As Object, e As EventArgs) Handles btnTdRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_TDReadFunc()
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
MAXIMUM_TDReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub TDReadStart()
txbTDBox.Visible = True
txbTDBox.Text = "RUNNING"
txbTDBox.BackColor = Color.GreenYellow
txbTDBox.Refresh()
End Sub
Private Sub DUALSONIC_TDReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
TDReadStart()
MsgBox("현재 기능 없음")
txbInfoBox.Text = "SUCCESS"
txbInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbAreaBox.Text = "ERROR" + Str(StageCnt)
txbAreaBox.BackColor = Color.Red
End_Finish:
txbAreaBox.Refresh()
End Sub
Private Sub MAXIMUM_TDReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
TDReadStart()
Dim ResultData As String = TDNameLoad()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
If ResultData.Length <> TDNameSize Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
txbTDSerial.Text = ResultData
txbTDBox.Text = "SUCCESS"
txbTDBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbTDBox.Text = "ERROR" + Str(StageCnt)
txbTDBox.BackColor = Color.Red
End_Finish:
txbTDBox.Refresh()
End Sub
Private Function TDWriteStart() As Boolean
TDReadStart()
If txbTDSerial.Text.Replace(" ", "") = "" Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
If txbTDSerial.Text.Length <> TDNameSize Then
MsgBox("TD 규격에 맞지 않는 데이터 입니다.(10자)", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Sub btnTdWrite_Click(sender As Object, e As EventArgs) Handles btnTdWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_TDWrtieFunc()
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
MAXIMUM_TDWrtieFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub DUALSONIC_TDWrtieFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If TDWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
MsgBox("해당 기능 없음")
txbTDBox.Text = "SUCCESS"
txbTDBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbTDBox.Text = "ERROR" + Str(StageCnt)
txbTDBox.BackColor = Color.Red
End_Finish:
txbTDBox.Refresh()
End Sub
Private Sub MAXIMUM_TDWrtieFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If TDWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
Dim ResultData As String = TDDataWrtie(txbTDSerial.Text)
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbTDBox.Text = "SUCCESS"
txbTDBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbTDBox.Text = "ERROR" + Str(StageCnt)
txbTDBox.BackColor = Color.Red
End_Finish:
txbTDBox.Refresh()
End Sub
Private Function TDDataWrtie(SaveData As String) As String
tmpCmdMessage = "settdsn"
cmdMessage = "[" & tmpCmdMessage & " " & SaveData & "]" + vbCrLf
If SendData(cmdMessage) Then
Return Str(ErrorList.SendError)
End If
Dim retVal As String = PollingReceiveData(1500)
If retVal = SaveData.ToLower Then
Return retVal
Else
Return Str(ErrorList.ReceiveError)
End If
End Function
Private Sub btnFPRead_Click(sender As Object, e As EventArgs) Handles btnFPRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_FPReadFunc()
Case ModeList.MAXIMUM, ModeList.EFFECT
MAXIMUM_FPReadFunc()
Case ModeList.ALTO
txbFPBox.Text = "ERROR"
txbFPBox.BackColor = Color.Red
txbFPBox.Refresh()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub FPReadStart()
txbFPBox.Visible = True
txbFPBox.Text = "RUNNING"
txbFPBox.BackColor = Color.GreenYellow
txbFPBox.Refresh()
End Sub
Private Sub DUALSONIC_FPReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
FPReadStart()
''************************************
''******* Cart Frq Info 수신 ********
''************************************
tmpCmdMessage = "cartfreq"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbFreq.Text = DataResult
''************************************
''******* Cart PWR Info 수신 ********
''************************************
tmpCmdMessage = "ctpower"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbPower.Text = Val(DataResult) / 100
txbFPBox.Text = "SUCCESS"
txbFPBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbFPBox.Text = "ERROR" + Str(StageCnt)
txbFPBox.BackColor = Color.Red
End_Finish:
txbFPBox.Refresh()
End Sub
Private Sub MAXIMUM_FPReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
FPReadStart()
Dim ResultData As String = FPDataRead()
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbFreq.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
txbPower.Text = Val(Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)) / 100
txbFPBox.Text = "SUCCESS"
txbFPBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbFPBox.Text = "ERROR" + Str(StageCnt)
txbFPBox.BackColor = Color.Red
End_Finish:
txbFPBox.Refresh()
End Sub
Private Function FPDataRead() As String
tmpCmdMessage = "settdcnf"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return Str(ErrorList.SendError)
End If
Dim retVal As String = PollingReceiveData(500)
If InStr(1, retVal, ",") > 0 Then
Return retVal
Else
Return Str(ErrorList.ReceiveError)
End If
End Function
Private Sub btnFPWrite_Click(sender As Object, e As EventArgs) Handles btnFPWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_FPWriteFunc()
Case ModeList.MAXIMUM, ModeList.EFFECT
MAXIMUM_FPWriteFunc()
Case ModeList.ALTO
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Function FPWrtieStart() As Boolean
FPReadStart()
If txbFreq.Text.Replace(" ", "") = "" Or txbPower.Text.Replace(" ", "") = "" Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
If Val(txbFreq.Text) < 6700 Or Val(txbFreq.Text) > 7200 Then
MsgBox("주파수 범위에 어긋나는 값입니다.(6700 ~ 7200)", vbExclamation, FormName)
Return True
End If
If CSng(Val(txbPower.Text)) < -0.5 Or CSng(Val(txbPower.Text)) > 0.5 Then
MsgBox("파워 범위에 어긋나는 값입니다.(-0.5 ~ 0.5)", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Sub DUALSONIC_FPWriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
FPWrtieStart()
''************************************
''******* Cart 주파수 전송 ********
''************************************
tmpCmdMessage = "cartfreq"
cmdMessage = "[sb" & tmpCmdMessage & " " & txbFreq.Text & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
''************************************
''******* Cart 파워 전송 ********
''************************************
Dim tmpVal As Integer = (Val(txbPower.Text) * 100)
tmpCmdMessage = "ctpower"
cmdMessage = "[sb" & tmpCmdMessage & " " & tmpVal & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbFPBox.Text = "SUCCESS"
txbFPBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbFPBox.Text = "ERROR" + Str(StageCnt)
txbFPBox.BackColor = Color.Red
End_Finish:
txbFPBox.Refresh()
End Sub
Private Sub MAXIMUM_FPWriteFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
FPWrtieStart()
Dim ResultData As Byte = FPWrtieSetting(Val(txbFreq.Text), CSng(txbPower.Text))
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbFPBox.Text = "SUCCESS"
txbFPBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbFPBox.Text = "ERROR" + Str(StageCnt)
txbFPBox.BackColor = Color.Red
End_Finish:
txbFPBox.Refresh()
End Sub
Private Function FPWrtieSetting(Frequency As Integer, Power As Single) As SByte
Power = Power * 100
tmpCmdMessage = "settdcnf"
cmdMessage = "[" & tmpCmdMessage & " " & Frequency & "," & Power & "]" + vbCrLf
If SendData(cmdMessage) Then
Return Str(ErrorList.SendError)
End If
Dim retVal As String = PollingReceiveData(2500)
If retVal <> Frequency & "," & Power Then
Return ErrorList.ReceiveError
Else
Return ErrorList.NonError
End If
End Function
Private Sub btnMtRead_Click(sender As Object, e As EventArgs) Handles btnMtRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_MtRead()
Case ModeList.MAXIMUM, ModeList.EFFECT
MAXIMUM_MtRead()
Case ModeList.ALTO
txbFPBox.Text = "ERROR"
txbFPBox.BackColor = Color.Red
txbFPBox.Refresh()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub MoterReadStart()
txbMtBox.Visible = True
txbMtBox.Text = "RUNNING"
txbMtBox.BackColor = Color.GreenYellow
txbMtBox.Refresh()
End Sub
Private Sub DUALSONIC_MtRead()
Dim StageCnt As Int16 = ErrorList.NonError
Try
MoterReadStart()
''************************************
''******* Front 센서 수신 ******
''************************************
tmpCmdMessage = "frontsen"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbMotor.Text = DataResult
txbMtBox.Text = "SUCCESS"
txbMtBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMtBox.Text = "ERROR" + Str(StageCnt)
txbMtBox.BackColor = Color.Red
End_Finish:
txbMtBox.Refresh()
End Sub
Private Sub MAXIMUM_MtRead()
Dim StageCnt As Int16 = ErrorList.NonError
Try
MoterReadStart()
Dim ResultData As String = MoterRead()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbMotor.Text = ResultData
txbMtBox.Text = "SUCCESS"
txbMtBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMtBox.Text = "ERROR" + Str(StageCnt)
txbMtBox.BackColor = Color.Red
End_Finish:
txbMtBox.Refresh()
End Sub
Private Function MoterRead() As String
tmpCmdMessage = "setmotor"
cmdMessage = "[" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If UBound(Split(retval, ",")) = 4 Then
Return Mid(retval, 1, InStr(1, retval, ",") - 1)
Else
Return ErrorList.ReceiveError
End If
End Function
Private Sub btnMtWrite_Click(sender As Object, e As EventArgs) Handles btnMtWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_MtWrite()
Case ModeList.MAXIMUM, ModeList.EFFECT
MAXIMUM_MtWrite()
Case ModeList.ALTO
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Function MoterWrtieStart() As Boolean
MoterReadStart()
If txbMotor.Text.Replace(" ", "") = "" Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
If Val(txbMotor.Text) > 5 Or Val(txbMotor.Text) < -5 Then
MsgBox("모터 범위값을 벗어났습니다.", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Sub DUALSONIC_MtWrite()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If MoterWrtieStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
txbMtBox.Text = "SUCCESS"
txbMtBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMtBox.Text = "ERROR" + Str(StageCnt)
txbMtBox.BackColor = Color.Red
End_Finish:
txbMtBox.Refresh()
End Sub
Private Sub MAXIMUM_MtWrite()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If MoterWrtieStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
Dim ResultData As String = MoterSetting(Val(txbMotor.Text))
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbMtBox.Text = "SUCCESS"
txbMtBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMtBox.Text = "ERROR" + Str(StageCnt)
txbMtBox.BackColor = Color.Red
End_Finish:
txbMtBox.Refresh()
End Sub
Private Function MoterSetting(SetPulse As Integer) As String
tmpCmdMessage = "setmotor"
cmdMessage = "[" & tmpCmdMessage & " " & SetPulse & ",0,0,0,0]"
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If retval = SetPulse & ",0,0,0,0" Then
Return ErrorList.NonError
Else
Return ErrorList.ReceiveError
End If
End Function
Private Sub btnShRead_Click(sender As Object, e As EventArgs) Handles btnShRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_ShotRead()
Case ModeList.MAXIMUM, ModeList.EFFECT
MAXIMUM_ShotRead()
Case ModeList.ALTO
txbFPBox.Text = "ERROR"
txbFPBox.BackColor = Color.Red
txbFPBox.Refresh()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub ShotReadStart()
txbShotBox.Visible = True
txbShotBox.Text = "RUNNING"
txbShotBox.BackColor = Color.GreenYellow
txbShotBox.Refresh()
End Sub
Private Sub DUALSONIC_ShotRead()
Dim StageCnt As Int16 = ErrorList.NonError
Try
ShotReadStart()
''************************************
''******* Shot Cnt 수신 ********
''************************************
tmpCmdMessage = "rshotcnt"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbShot.Text = DataResult
''************************************
''****** Max Shot Cnt 수신 ********
''************************************
tmpCmdMessage = "tshotcnt"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
txbMaxShot.Text = DataResult
txbShotBox.Text = "SUCCESS"
txbShotBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbShotBox.Text = "ERROR" + Str(StageCnt)
txbShotBox.BackColor = Color.Red
End_Finish:
txbShotBox.Refresh()
End Sub
Private Sub MAXIMUM_ShotRead()
Dim StageCnt As Int16 = ErrorList.NonError
Try
ShotReadStart()
Dim ResultData As String = ShotReadFunc()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbShot.Text = ResultData
txbShotBox.Text = "SUCCESS"
txbShotBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbShotBox.Text = "ERROR" + Str(StageCnt)
txbShotBox.BackColor = Color.Red
End_Finish:
txbShotBox.Refresh()
End Sub
Private Function ShotReadFunc() As String
tmpCmdMessage = "shotconf"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If IsNumeric(retval) Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Sub btnShWrite_Click(sender As Object, e As EventArgs) Handles btnShWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_ShotWrite()
Case ModeList.MAXIMUM, ModeList.EFFECT
MAXIMUM_ShotWrtie()
Case ModeList.ALTO
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Function ShotWriteStart() As Boolean
ShotReadStart()
If txbShot.Text.Replace(" ", "") = "" Or txbMaxShot.Text.Replace(" ", "") = "" Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Sub DUALSONIC_ShotWrite()
Dim StageCnt As Int16 = ErrorList.NonError
Try
ShotWriteStart()
If Val(txbShot.Text) > Val(txbMaxShot.Text) Then
MsgBox("현재 샷 수가 전체 샷 수보다 큽니다.", vbExclamation, FormName)
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
''************************************
''******* Shot Cnt 발신 ********
''************************************
tmpCmdMessage = "rshotcnt"
cmdMessage = "[sb" & tmpCmdMessage & " " & txbShot.Text & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
''************************************
''****** Max Shot Cnt 발신 ********
''************************************
tmpCmdMessage = "tshotcnt"
cmdMessage = "[sb" & tmpCmdMessage & " " & txbMaxShot.Text & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
DataResult = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbShotBox.Text = "SUCCESS"
txbShotBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbShotBox.Text = "ERROR" + Str(StageCnt)
txbShotBox.BackColor = Color.Red
End_Finish:
txbShotBox.Refresh()
End Sub
Private Sub MAXIMUM_ShotWrtie()
Dim StageCnt As Int16 = ErrorList.NonError
Try
ShotWriteStart()
Dim ResultData As String = ShotWriteFunc(Val(txbShot.Text))
If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbShotBox.Text = "SUCCESS"
txbShotBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbShotBox.Text = "ERROR" + Str(StageCnt)
txbShotBox.BackColor = Color.Red
End_Finish:
txbShotBox.Refresh()
End Sub
Private Function ShotWriteFunc(ShotData As Integer) As String
tmpCmdMessage = "shotconf"
cmdMessage = "[" & tmpCmdMessage & " " & ShotData & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If retval = ShotData Then
Return ErrorList.NonError
Else
Return ErrorList.ReceiveError
End If
End Function
Private Sub btnDvAuth_Click(sender As Object, e As EventArgs) Handles btnDvAuth.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_DevAuth()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub DevAuthStart()
txbDvAuthBox.Visible = True
txbDvAuthBox.Text = "RUNNING"
txbDvAuthBox.BackColor = Color.GreenYellow
txbDvAuthBox.Refresh()
End Sub
Private Sub DUALSONIC_DevAuth()
Dim StageCnt As Int16 = ErrorList.NonError
Try
DevAuthStart()
''************************************
''******* 본체 인증 발신 ********
''************************************
tmpCmdMessage = "mainauth"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(10000)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbDvAuthBox.Text = "SUCCESS"
txbDvAuthBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbDvAuthBox.Text = "ERROR" + Str(StageCnt)
txbDvAuthBox.BackColor = Color.Red
End_Finish:
txbDvAuthBox.Refresh()
End Sub
Private Sub btnDvRead_Click(sender As Object, e As EventArgs) Handles btnDvRead.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_DevRead()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub DevReadStart()
txbDvInfoBox.Visible = True
txbDvInfoBox.Text = "RUNNING"
txbDvInfoBox.BackColor = Color.GreenYellow
txbDvInfoBox.Refresh()
End Sub
Private Sub DUALSONIC_DevRead()
Dim StageCnt As Int16 = ErrorList.NonError
Try
DevReadStart()
''************************************
''******* 제조사 코드 수신 *******
''************************************
tmpCmdMessage = "rdstconf"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If UBound(Split(DataResult, ",")) <> 4 Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
txbDvCode.Text = Mid(DataResult, 1, InStr(DataResult, ",") - 1)
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
Dim BackCode As String = Mid(DataResult, 1, InStr(DataResult, ",") - 1)
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
Dim FrontCode As String = Mid(DataResult, 1, InStr(DataResult, ",") - 1)
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
txbDvAbroad.Text = Mid(DataResult, 1, InStr(DataResult, ",") - 1)
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
txbDvAgency.Text = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
nudDvYear.Text = Mid(BackCode, 1, 2)
nudDvMonth.Text = Mid(BackCode, 3, 2)
txbDvNumber.Text = FrontCode & BackCode
nudDvSerial.Text = Mid(BackCode, 5, 3) & Mid(BackCode, 8, 3)
DevModelChecking(Mid(FrontCode, 1, 1))
txbDvInfoBox.Text = "SUCCESS"
txbDvInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbDvInfoBox.Text = "ERROR" + Str(StageCnt)
txbDvInfoBox.BackColor = Color.Red
End_Finish:
txbDvInfoBox.Refresh()
End Sub
Private Sub DevModelChecking(ModelNum As Int16)
Select Case ModelNum
Case ModelList.PRO
rdbDvPRO.Checked = True
rdbDvLUX.Checked = False
rdbDvALPHA.Checked = False
Case ModelList.LUX
rdbDvPRO.Checked = False
rdbDvLUX.Checked = True
rdbDvALPHA.Checked = False
Case ModelList.ALPHA
rdbDvPRO.Checked = False
rdbDvLUX.Checked = False
rdbDvALPHA.Checked = True
Case Else
MsgBox("잘못된 코드 번호 입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub btnDvWrite_Click(sender As Object, e As EventArgs) Handles btnDvWrite.Click
Select Case SelectModel
Case ModeList.DUALSONIC
DUALSONIC_DevWrite()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Function DevWriteStart() As Boolean
DevReadStart()
If txbDvCode.Text = String.Empty Then
txbDvCode.Text = "jomt"
End If
If txbDvCode.Text.Replace(" ", "") = "" Or nudDvYear.Text.Replace(" ", "") = "" Or nudDvMonth.Text.Replace(" ", "") = "" Or nudDvSerial.Text.Replace(" ", "") = "" Or txbDvAbroad.Text.Replace(" ", "") = "" Or txbDvAgency.Text.Replace(" ", "") = "" Then
MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName)
Return True
End If
If rdbDvPRO.Checked = False And rdbDvLUX.Checked = False And rdbDvALPHA.Checked = False Then
MsgBox("선택된 타입이 존재하지 않습니다.", vbExclamation, FormName)
Return True
End If
Return False
End Function
Private Sub DUALSONIC_DevWrite()
Dim StageCnt As Int16 = ErrorList.NonError
Const TypeNum As Char = "0"
Try
If DevWriteStart() Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
''************************************
''******* 제조사코드 발신 *******
''************************************
Dim MonthParsing As String = MonthSetting(nudDvMonth.Value.ToString)
Dim SerialNum As String = nudDvYear.Value & MonthParsing & SerialNumSetting(nudDvSerial.Value)
Dim ModelNum As String = DevModelSetting() & TypeNum
If ModelNum = ModelList.MAX_Model Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
tmpCmdMessage = "wrstconf"
cmdMessage = "[sb" & tmpCmdMessage & " " & txbDvCode.Text & "," & SerialNum & "," & ModelNum & "," & txbDvAbroad.Text & "," & txbDvAgency.Text & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbDvInfoBox.Text = "SUCCESS"
txbDvInfoBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbDvInfoBox.Text = "ERROR" + Str(StageCnt)
txbDvInfoBox.BackColor = Color.Red
End_Finish:
txbDvInfoBox.Refresh()
End Sub
Private Function DevModelSetting() As Int16
If rdbDvPRO.Checked = True Then
Return ModelList.PRO
ElseIf rdbDvLUX.Checked = True Then
Return ModelList.LUX
ElseIf rdbDvALPHA.Checked = True Then
Return ModelList.ALPHA
Else
MsgBox("잘못된 타입 경로입니다.", vbCritical, FormName)
Return ModelList.MAX_Model
End If
End Function
Private Sub btnDuReady_Click(sender As Object, e As EventArgs) Handles btnDuReady.Click
Dim StageCnt As Int16 = ErrorList.NonError
Try
DuReadyStart()
''************************************
''******* 기기 사용 정보 수신 *******
''************************************
tmpCmdMessage = "rdstinfo"
cmdMessage = "[sb" & tmpCmdMessage & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If UBound(Split(DataResult, ",")) <> 4 Then
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
Dim TimeCnt As ULong = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1))
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
TimeCnt = TimeCnt / OneSecond
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbDuFullDay.Text = DayCnt
If HourCnt < StrLen Then
txbDuFullHour.Text = "0" & HourCnt
Else
txbDuFullHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbDuFullMin.Text = "0" & MinCnt
Else
txbDuFullMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbDuFullSec.Text = "0" & SecCnt
Else
txbDuFullSec.Text = SecCnt
End If
TimeCnt = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1))
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
TimeCnt = TimeCnt / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbDuReadyDay.Text = DayCnt
If HourCnt < StrLen Then
txbDuReadyHour.Text = "0" & HourCnt
Else
txbDuReadyHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbDuReadyMin.Text = "0" & MinCnt
Else
txbDuReadyMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbDuReadySec.Text = "0" & SecCnt
Else
txbDuReadySec.Text = SecCnt
End If
txbDuFace.Text = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1))
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
txbDuEye.Text = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1))
DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
txbDuError.Text = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length)
txbDuUseBox.Text = "SUCCESS"
txbDuUseBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbDuUseBox.Text = "ERROR" + Str(StageCnt)
txbDuUseBox.BackColor = Color.Red
End_Finish:
txbDuUseBox.Refresh()
End Sub
Private Sub DuReadyStart()
txbDuUseBox.Visible = True
txbDuUseBox.Text = "RUNNING"
txbDuUseBox.BackColor = Color.GreenYellow
txbDuUseBox.Refresh()
End Sub
Private Sub btnDuRest_Click(sender As Object, e As EventArgs) Handles btnDuReset.Click
Dim StageCnt As Int16 = ErrorList.NonError
Try
DuReadyStart()
If MsgBox("한 번 초기화된 사용 기록은 되돌릴 수 없습니다." & vbCrLf & "정말 초기화 하시겠습니까?", vbCritical + vbOKCancel, FormName) = MsgBoxResult.Ok Then
tmpCmdMessage = "wrstinfo"
cmdMessage = "[sb" & tmpCmdMessage & " 0,0,0,0,0]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbDuUseBox.Text = "SUCCESS"
txbDuUseBox.BackColor = Color.Green
GoTo End_Finish
Else
GoTo FAIL_Finish
End If
txbDuUseBox.Text = "SUCCESS"
txbDuUseBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbDuUseBox.Text = "ERROR" + Str(StageCnt)
txbDuUseBox.BackColor = Color.Red
End_Finish:
txbDuUseBox.Refresh()
End Sub
Private Sub btnDuWrite_Click(sender As Object, e As EventArgs) Handles btnDuWrite.Click
Dim StageCnt As Int16 = ErrorList.NonError
Try
DuReadyStart()
Dim writeData As String = ParseDualsonicWriteData()
tmpCmdMessage = "wrstinfo"
cmdMessage = "[sb" & tmpCmdMessage & " " & writeData & "]"
If SendData(cmdMessage) Then
StageCnt = ErrorList.SendError
GoTo FAIL_Finish
End If
Dim DataResult As String = PollingReceiveData(1500)
If DataResult = "False" Then
StageCnt = ErrorList.ReceiveError
GoTo FAIL_Finish
End If
If DataResult <> "success" Then
StageCnt = ErrorList.ResultError
GoTo FAIL_Finish
End If
txbDuUseBox.Text = "SUCCESS"
txbDuUseBox.BackColor = Color.Green
GoTo End_Finish
GoTo FAIL_Finish
txbDuUseBox.Text = "SUCCESS"
txbDuUseBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbDuUseBox.Text = "Error" + Str(StageCnt)
txbDuUseBox.BackColor = Color.Red
End_Finish:
txbDuUseBox.Refresh()
End Sub
Private Function ParseDualsonicWriteData() As String
Dim TimeCnt1 As ULong
Dim TimeCnt2 As ULong
Dim FullDay As Integer = Val(txbDuFullDay.Text)
Dim FullHour As Integer = Val(txbDuFullHour.Text)
Dim FullMin As Integer = Val(txbDuFullMin.Text)
Dim FullSec As Integer = Val(txbDuFullSec.Text)
TimeCnt1 = (CLng(FullDay) * OneDay) + (CLng(FullHour) * OneHour) + (CLng(FullMin) * OneMinute) + CLng(FullSec)
TimeCnt1 *= OneSecond ' 초 단위가 아니라 밀리초 단위로 저장하고 있었다면 여기서 다시 변환
Dim ReadyDay As Integer = Val(txbDuReadyDay.Text)
Dim ReadyHour As Integer = Val(txbDuReadyHour.Text)
Dim ReadyMin As Integer = Val(txbDuReadyMin.Text)
Dim ReadySec As Integer = Val(txbDuReadySec.Text)
TimeCnt2 = (CLng(ReadyDay) * OneDay) + (CLng(ReadyHour) * OneHour) + (CLng(ReadyMin) * OneMinute) + CLng(ReadySec)
TimeCnt2 *= OneSecond
Dim FaceCnt As String = txbDuFace.Text.Trim()
Dim EyeCnt As String = txbDuEye.Text.Trim()
Dim ErrorStr As String = txbDuError.Text.Trim()
Return TimeCnt1.ToString() & "," & TimeCnt2.ToString() & "," & FaceCnt & "," & EyeCnt & "," & ErrorStr
End Function
Private Sub MAXIMUM_All_ReadStart()
txbMxAllBox.Visible = True
txbMxAllBox.Text = "RUNNING"
txbMxAllBox.BackColor = Color.GreenYellow
txbMxAllBox.Refresh()
End Sub
Private Sub btnMxAllRead_Click(sender As Object, e As EventArgs) Handles btnMxAllRead.Click
Select Case SelectModel
Case ModeList.MAXIMUM
MAXIMUM_UseReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub MAXIMUM_UseReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
MAXIMUM_All_ReadStart()
Dim ResultData As String = RunTimeSearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbMxAllDay.Text = DayCnt
If HourCnt < StrLen Then
txbMxAllHour.Text = "0" & HourCnt
Else
txbMxAllHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbMxAllMin.Text = "0" & MinCnt
Else
txbMxAllMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbMxAllSec.Text = "0" & SecCnt
Else
txbMxAllSec.Text = SecCnt
End If
ResultData = ShotErrSearch()
txbMxAllShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
txbMxAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
txbMxAllBox.Text = "SUCCESS"
txbMxAllBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMxAllBox.Text = "Error" + Str(StageCnt)
txbMxAllBox.BackColor = Color.Red
End_Finish:
txbMxAllBox.Refresh()
End Sub
Private Function RunTimeSearch() As String
tmpCmdMessage = "rdsinfo4"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If UBound(Split(retval, ",")) = 6 Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Function ShotErrSearch() As String
tmpCmdMessage = "rdsinfo5"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If UBound(Split(retval, ",")) = 4 Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Function ALTOFESearch() As String
tmpCmdMessage = "rdsinfo7"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If UBound(Split(retval, ",")) = 4 Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Function ALTOLBSearch() As String
tmpCmdMessage = "rdsinfo8"
cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If UBound(Split(retval, ",")) = 4 Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Function RunTimeWrtie(SystemTime As ULong, HIFUTime As ULong, FHIFUTime As ULong, EHIFUTime As ULong, RFTime As ULong, MCTime As ULong, EPTime As ULong) As String
tmpCmdMessage = "wrsinfo4"
cmdMessage = "[" & tmpCmdMessage & " " & SystemTime & "," & HIFUTime & "," & FHIFUTime & "," & EHIFUTime & "," & RFTime & "," & MCTime & "," & EPTime & "]" + vbCrLf
If SendData(cmdMessage) Then
Return ErrorList.SendError
End If
Dim retval As String = PollingReceiveData(1000)
If UBound(Split(retval, ",")) = 4 Then
Return retval
Else
Return ErrorList.ReceiveError
End If
End Function
Private Sub btnMxAllReset_Click(sender As Object, e As EventArgs) Handles btnMxAllReset.Click, btnMxHfReset.Click, btnMxEtReset.Click
Select Case SelectModel
Case ModeList.MAXIMUM
MAXIMUM_UseResetFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub MAXIMUM_UseResetFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
If MsgBox("전체 항목에 대해 초기화 진행하시겠습니까?" & vbCrLf & "초기화된 데이터는 복구가 불가능 합니다.", vbCritical + vbOKCancel, FormName) = MsgBoxResult.Ok Then
Dim ResultData As String = RunTimeWrtie(0, 0, 0, 0, 0, 0, 0)
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
txbMxAllBox.Text = "SUCCESS"
txbMxAllBox.BackColor = Color.Green
GoTo End_Finish
Else
StageCnt = ErrorList.DataError
GoTo FAIL_Finish
End If
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMxAllBox.Text = "Error" + Str(StageCnt)
txbMxAllBox.BackColor = Color.Red
End_Finish:
txbMxAllBox.Refresh()
End Sub
Private Sub btnMxHfRead_Click(sender As Object, e As EventArgs) Handles btnMxHfRead.Click
Select Case SelectModel
Case ModeList.MAXIMUM
MAXIMUM_HF_UseReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub MAXIMUM_HF_ReadStart()
txbMxHfBox.Visible = True
txbMxHfBox.Text = "RUNNING"
txbMxHfBox.BackColor = Color.GreenYellow
txbMxHfBox.Refresh()
End Sub
Private Sub MAXIMUM_HF_UseReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
MAXIMUM_HF_ReadStart()
Dim ResultData As String = RunTimeSearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbMxFcDay.Text = DayCnt
If HourCnt < StrLen Then
txbMxFcHour.Text = "0" & HourCnt
Else
txbMxFcHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbMxFcMin.Text = "0" & MinCnt
Else
txbMxFcMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbMxFcSec.Text = "0" & SecCnt
Else
txbMxFcSec.Text = SecCnt
End If
TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbMxEyDay.Text = DayCnt
If HourCnt < StrLen Then
txbMxEyHour.Text = "0" & HourCnt
Else
txbMxEyHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbMxEyMin.Text = "0" & MinCnt
Else
txbMxEyMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbMxEySec.Text = "0" & SecCnt
Else
txbMxEySec.Text = SecCnt
End If
ResultData = ShotErrSearch()
txbMxFcShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
txbMxHfBox.Text = "SUCCESS"
txbMxHfBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMxHfBox.Text = "Error" + Str(StageCnt)
txbMxHfBox.BackColor = Color.Red
End_Finish:
txbMxHfBox.Refresh()
End Sub
Private Sub MAXIMUM_ET_ReadStart()
txbMxEtBox.Visible = True
txbMxEtBox.Text = "RUNNING"
txbMxEtBox.BackColor = Color.GreenYellow
txbMxEtBox.Refresh()
End Sub
Private Sub btnMxEtRead_Click(sender As Object, e As EventArgs) Handles btnMxEtRead.Click
Select Case SelectModel
Case ModeList.MAXIMUM
MAXIMUM_ET_UseReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub MAXIMUM_ET_UseReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
MAXIMUM_ET_ReadStart()
Dim ResultData As String = RunTimeSearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbMxTuDay.Text = DayCnt
If HourCnt < StrLen Then
txbMxTuHour.Text = "0" & HourCnt
Else
txbMxTuHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbMxTuMin.Text = "0" & MinCnt
Else
txbMxTuMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbMxTuSec.Text = "0" & SecCnt
Else
txbMxTuSec.Text = SecCnt
End If
TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbMxDuDay.Text = DayCnt
If HourCnt < StrLen Then
txbMxDuHour.Text = "0" & HourCnt
Else
txbMxDuHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbMxDuMin.Text = "0" & MinCnt
Else
txbMxDuMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbMxDuSec.Text = "0" & SecCnt
Else
txbMxDuSec.Text = SecCnt
End If
TimeCnt = Val(ResultData) / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbMxCuDay.Text = DayCnt
If HourCnt < StrLen Then
txbMxCuHour.Text = "0" & HourCnt
Else
txbMxCuHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbMxCuMin.Text = "0" & MinCnt
Else
txbMxCuMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbMxCuSec.Text = "0" & SecCnt
Else
txbMxCuSec.Text = SecCnt
End If
txbMxEtBox.Text = "SUCCESS"
txbMxEtBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbMxEtBox.Text = "Error" + Str(StageCnt)
txbMxEtBox.BackColor = Color.Red
End_Finish:
txbMxEtBox.Refresh()
End Sub
Private Sub btnALAllRead_Click(sender As Object, e As EventArgs) Handles btnALAllRead.Click
Select Case SelectModel
Case ModeList.ALTO
ALTO_ALL_UseReadFunc()
Case Else
MsgBox("잘못된 경로입니다.", vbCritical, FormName)
End Select
End Sub
Private Sub ALTO_ALL_ReadStart()
txbALAllBox.Visible = True
txbALAllBox.Text = "RUNNING"
txbALAllBox.BackColor = Color.GreenYellow
txbALAllBox.Refresh()
End Sub
Private Sub ALTO_ALL_UseReadFunc()
Dim StageCnt As Int16 = ErrorList.NonError
Try
ALTO_ALL_ReadStart()
Dim ResultData As String = RunTimeSearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbALAllDay.Text = DayCnt
If HourCnt < StrLen Then
txbALAllHour.Text = "0" & HourCnt
Else
txbALAllHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbALAllMin.Text = "0" & MinCnt
Else
txbALAllMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbALAllSec.Text = "0" & SecCnt
Else
txbALAllSec.Text = SecCnt
End If
TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
ResultData = ShotErrSearch()
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
txbALAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1)
txbALAllBox.Text = "SUCCESS"
txbALAllBox.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbALAllBox.Text = "Error" + Str(StageCnt)
txbALAllBox.BackColor = Color.Red
End_Finish:
txbALAllBox.Refresh()
End Sub
Private Sub ALTO_Func1_ReadStart()
txbALFuncBox1.Visible = True
txbALFuncBox1.Text = "RUNNING"
txbALFuncBox1.BackColor = Color.GreenYellow
txbALFuncBox1.Refresh()
End Sub
Private Sub btnALFuncRead1_Click(sender As Object, e As EventArgs) Handles btnALFuncRead1.Click
Dim StageCnt As Int16 = ErrorList.NonError
Try
ALTO_Func1_ReadStart()
Dim ResultData As String = ALTOFESearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim TimeCnt As ULong = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond
ResultData = Mid(ResultData, 1, InStrRev(ResultData, ",") - 1)
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbALEtDay.Text = DayCnt
If HourCnt < StrLen Then
txbALEtHour.Text = "0" & HourCnt
Else
txbALEtHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbALEtMin.Text = "0" & MinCnt
Else
txbALEtMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbALEtSec.Text = "0" & SecCnt
Else
txbALEtSec.Text = SecCnt
End If
TimeCnt = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbALFtDay.Text = DayCnt
If HourCnt < StrLen Then
txbALFtHour.Text = "0" & HourCnt
Else
txbALFtHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbALFtMin.Text = "0" & MinCnt
Else
txbALFtMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbALFtSec.Text = "0" & SecCnt
Else
txbALFtSec.Text = SecCnt
End If
ResultData = RunTimeSearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
TimeCnt = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbALCsDay.Text = DayCnt
If HourCnt < StrLen Then
txbALCsHour.Text = "0" & HourCnt
Else
txbALCsHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbALCsMin.Text = "0" & MinCnt
Else
txbALCsMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbALCsSec.Text = "0" & SecCnt
Else
txbALCsSec.Text = SecCnt
End If
txbALFuncBox1.Text = "SUCCESS"
txbALFuncBox1.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbALFuncBox1.Text = "Error" + Str(StageCnt)
txbALFuncBox1.BackColor = Color.Red
End_Finish:
txbALFuncBox1.Refresh()
End Sub
Private Sub ALTO_Func2_ReadStart()
txbALFuncBox2.Visible = True
txbALFuncBox2.Text = "RUNNING"
txbALFuncBox2.BackColor = Color.GreenYellow
txbALFuncBox2.Refresh()
End Sub
Private Sub btnALFuncRead2_Click(sender As Object, e As EventArgs) Handles btnALFuncRead2.Click
Dim StageCnt As Int16 = ErrorList.NonError
Try
ALTO_Func2_ReadStart()
Dim ResultData As String = ALTOLBSearch()
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)
Dim DayCnt As Integer = Truncate(TimeCnt / OneDay)
Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour)
Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute)
Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute)
txbALLtDay.Text = DayCnt
If HourCnt < StrLen Then
txbALLtHour.Text = "0" & HourCnt
Else
txbALLtHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbALLtMin.Text = "0" & MinCnt
Else
txbALLtMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbALLtSec.Text = "0" & SecCnt
Else
txbALLtSec.Text = SecCnt
End If
TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond
DayCnt = Truncate(TimeCnt / OneDay)
HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour)
MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute)
SecCnt = Truncate(TimeCnt Mod OneMinute)
txbALBtDay.Text = DayCnt
If HourCnt < StrLen Then
txbALBtHour.Text = "0" & HourCnt
Else
txbALBtHour.Text = HourCnt
End If
If MinCnt < StrLen Then
txbALBtMin.Text = "0" & MinCnt
Else
txbALBtMin.Text = MinCnt
End If
If SecCnt < StrLen Then
txbALBtSec.Text = "0" & SecCnt
Else
txbALBtSec.Text = SecCnt
End If
txbALFuncBox2.Text = "SUCCESS"
txbALFuncBox2.BackColor = Color.Green
GoTo End_Finish
Catch ex As Exception
MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName)
GoTo FAIL_Finish
End Try
FAIL_Finish:
txbALFuncBox2.Text = "Error" + Str(StageCnt)
txbALFuncBox2.BackColor = Color.Red
End_Finish:
txbALFuncBox2.Refresh()
End Sub
Private Sub ResultReset()
txbAuthBox.Text = String.Empty
txbAuthBox.BackColor = Color.FromArgb(0, 192, 0)
txbAuthBox.Visible = False
txbInfoBox.Text = String.Empty
txbInfoBox.BackColor = Color.FromArgb(0, 192, 0)
txbInfoBox.Visible = False
txbAreaBox.Text = String.Empty
txbAreaBox.BackColor = Color.FromArgb(0, 192, 0)
txbAreaBox.Visible = False
txbTDBox.Text = String.Empty
txbTDBox.BackColor = Color.FromArgb(0, 192, 0)
txbTDBox.Visible = False
txbFPBox.Text = String.Empty
txbFPBox.BackColor = Color.FromArgb(0, 192, 0)
txbFPBox.Visible = False
txbMtBox.Text = String.Empty
txbMtBox.BackColor = Color.FromArgb(0, 192, 0)
txbMtBox.Visible = False
txbShotBox.Text = String.Empty
txbShotBox.BackColor = Color.FromArgb(0, 192, 0)
txbShotBox.Visible = False
txbDvAuthBox.Text = String.Empty
txbDvAuthBox.BackColor = Color.FromArgb(0, 192, 0)
txbDvAuthBox.Visible = False
txbDvInfoBox.Text = String.Empty
txbDvInfoBox.BackColor = Color.FromArgb(0, 192, 0)
txbDvInfoBox.Visible = False
txbALFuncBox1.Text = String.Empty
txbALFuncBox1.BackColor = Color.FromArgb(0, 192, 0)
txbALFuncBox1.Visible = False
txbALFuncBox2.Text = String.Empty
txbALFuncBox2.BackColor = Color.FromArgb(0, 192, 0)
txbALFuncBox2.Visible = False
txbALAllBox.Text = String.Empty
txbALAllBox.BackColor = Color.FromArgb(0, 192, 0)
txbALAllBox.Visible = False
End Sub
Private Sub btnEnd_Click(sender As Object, e As EventArgs) Handles btnEnd.Click
End
End Sub
Private Sub txbLoadNum_KeyDown(sender As Object, e As KeyEventArgs) Handles txbLoadNum.KeyDown
If e.KeyCode = Keys.Return Then
btnLoadNum_Click(sender, New System.EventArgs)
End If
End Sub
Private Const TDLength As Byte = 10
Private Const ProdLength As Byte = 12
''DataType 이 True 일 경우 TD 데이터 / False 일 경우 제품 데이터
Private DataType As Boolean = False
Private Sub btnLoadNum_Click(sender As Object, e As EventArgs) Handles btnLoadNum.Click
If String.IsNullOrWhiteSpace(txbLoadNum.Text) Then
MsgBox("입력된 정보가 존재하지 않습니다. 검색하고자 하는 번호를 입력하여 주십시오.", vbExclamation)
Else
If txbLoadNum.Text.Length = TDLength Then
DataType = True
Dim result = TD_Search()
If result <> True Then
NonTD_Search()
End If
ElseIf txbLoadNum.Text.Length = ProdLength Then
DataType = False
Dim result = Product_Search()
If result <> True Then
NonTDProduct_Search()
End If
Else
MsgBox("TD 및 제품 번호 양식에 맞지 않습니다.", vbExclamation)
End If
End If
End Sub
Private Function TD_Search() As Boolean
Dim DBCmd As String = "Select Product_SN,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv,PV_SN,P1_Frequency,P3_DateTime FROM " & CartDB & " WHERE PV_SN = '" & txbLoadNum.Text & "' Limit 1"
If DBQueryReader(DBCmd) Then
txbPDSN.Text = sqlDataQuery(0)
txbPDCP.Text = sqlDataQuery(1)
txbPDSerial.Text = sqlDataQuery(2)
txbPDModel.Text = sqlDataQuery(3)
txbPDType.Text = sqlDataQuery(4)
txbPDCC.Text = sqlDataQuery(5)
txbPDAC.Text = sqlDataQuery(6)
txbMesPw.Text = sqlDataQuery(7)
txbPDSC.Text = sqlDataQuery(8)
txbPDMotor.Text = sqlDataQuery(9)
txbTDSN.Text = sqlDataQuery(10)
txbMesFreq.Text = sqlDataQuery(11)
txbMesDate.Text = sqlDataQuery(12)
Return True
Else
Return False
End If
End Function
Private Sub NonTD_Search()
Dim DBCmd As String = "SELECT Product_SN, Ct_Manufacture_Name, Ct_SN, Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,PV_SN,P3_DateTime FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & txbLoadNum.Text & "' Limit 1"
If DBQueryReader(DBCmd) Then
txbPDSN.Text = sqlDataQuery(0)
txbPDCP.Text = sqlDataQuery(1)
txbPDSerial.Text = sqlDataQuery(2)
txbPDModel.Text = sqlDataQuery(3)
txbPDType.Text = sqlDataQuery(4)
txbPDCC.Text = sqlDataQuery(5)
txbPDAC.Text = sqlDataQuery(6)
txbMesPw.Text = ""
txbPDSC.Text = ""
txbPDMotor.Text = ""
txbTDSN.Text = sqlDataQuery(7)
txbMesFreq.Text = ""
txbMesDate.Text = sqlDataQuery(8)
Else
MsgBox("존재하지 않는 데이터입니다.", vbExclamation)
End If
End Sub
Private Function Product_Search() As Boolean
Dim DBCmd As String = "SELECT Product_SN,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv,PV_SN,P1_Frequency,P3_DateTime FROM " & CartDB & " WHERE Product_SN = '" & txbLoadNum.Text & "' Limit 1"
If DBQueryReader(DBCmd) Then
txbPDSN.Text = sqlDataQuery(0)
txbPDCP.Text = sqlDataQuery(1)
txbPDSerial.Text = sqlDataQuery(2)
txbPDModel.Text = sqlDataQuery(3)
txbPDType.Text = sqlDataQuery(4)
txbPDCC.Text = sqlDataQuery(5)
txbPDAC.Text = sqlDataQuery(6)
txbMesPw.Text = sqlDataQuery(7)
txbPDSC.Text = sqlDataQuery(8)
txbPDMotor.Text = sqlDataQuery(9)
txbTDSN.Text = sqlDataQuery(10)
txbMesFreq.Text = sqlDataQuery(11)
txbMesDate.Text = sqlDataQuery(12)
Return True
Else
Return False
End If
End Function
Private Sub NonTDProduct_Search()
Dim DBCmd As String = "SELECT Product_SN, Ct_Manufacture_Name, Ct_SN, Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,PV_SN,P3_DateTime FROM " & NonCartridgeTbl & " WHERE Product_SN = '" & txbLoadNum.Text & "' Limit 1"
If DBQueryReader(DBCmd) Then
txbPDSN.Text = sqlDataQuery(0)
txbPDCP.Text = sqlDataQuery(1)
txbPDSerial.Text = sqlDataQuery(2)
txbPDModel.Text = sqlDataQuery(3)
txbPDType.Text = sqlDataQuery(4)
txbPDCC.Text = sqlDataQuery(5)
txbPDAC.Text = sqlDataQuery(6)
txbMesPw.Text = ""
txbPDSC.Text = ""
txbPDMotor.Text = ""
txbTDSN.Text = sqlDataQuery(7)
txbMesFreq.Text = ""
txbMesDate.Text = sqlDataQuery(8)
Else
MsgBox("존재하지 않는 데이터입니다.", vbExclamation)
End If
End Sub
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
txbPDSN.Text = "-"
txbPDCP.Text = "-"
txbPDSerial.Text = "-"
txbPDModel.Text = "-"
txbPDType.Text = "-"
txbPDCC.Text = "-"
txbPDAC.Text = "-"
txbMesPw.Text = "-"
txbPDSC.Text = "-"
txbPDMotor.Text = "-"
txbTDSN.Text = "-"
txbMesFreq.Text = "-"
txbMesDate.Text = "-"
End Sub
Private Sub btnwrite_Click(sender As Object, e As EventArgs) Handles btnwrite.Click
btnIfRead_Click(sender, e)
btnArRead_Click(sender, e)
btnTdRead_Click(sender, e)
If SelectModel.Equals(ModeList.ALTO) Then
Return
End If
btnFPRead_Click(sender, e)
btnMtRead_Click(sender, e)
btnShRead_Click(sender, e)
End Sub
End Class