4035 lines
132 KiB
VB.net
4035 lines
132 KiB
VB.net
Imports System.IO.Ports
|
|
Imports System.Math
|
|
Imports System.Reflection
|
|
Imports System.Runtime.InteropServices.ComTypes
|
|
Imports System.Runtime.Remoting
|
|
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
|
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock
|
|
Imports Microsoft
|
|
Imports Mysqlx
|
|
Imports Mysqlx.XDevAPI
|
|
|
|
Public Class MainForm
|
|
Public Const FormVersion As String = "3.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 OldSerialParsingLength As Int16 = 12
|
|
Private Const NewSerialParsingLength As Int16 = 16
|
|
Private Const TwosComplement32Mask As Long = 4294967296
|
|
|
|
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 tmpCmdMessage As String = String.Empty
|
|
Private cmdMessage As String = String.Empty
|
|
Private DBCmd As String = String.Empty
|
|
|
|
'현재 선택한 제품 정보
|
|
Public Structure ModelInfo
|
|
Public Code As String
|
|
Public Name As String
|
|
Public DeviceTypeCode As String
|
|
Public TDUseYn As String
|
|
Public HifuUseYn As String
|
|
Public RfUseYn As String
|
|
Public EpUseYn As String
|
|
End Structure
|
|
Public SelectedModelInfo As ModelInfo
|
|
|
|
Private Sub StartForm()
|
|
Me.Text = FormName
|
|
Me.Size = New Size(1920, 800)
|
|
|
|
UseSerialSetting(SerialPort1)
|
|
ckbDBUse.Checked = True
|
|
End Sub
|
|
|
|
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
StartForm()
|
|
StartTop()
|
|
ComboBoxSetting()
|
|
End Sub
|
|
|
|
Private Sub ComboBoxSetting()
|
|
ModelCboSetting()
|
|
ClassCboSetting()
|
|
VersionCboSetting()
|
|
End Sub
|
|
|
|
Private Sub ModelCboSetting()
|
|
comboBoxModel.Items.Clear()
|
|
comboBoxModel.DisplayMember = "Key"
|
|
comboBoxModel.ValueMember = "Value"
|
|
|
|
DBCmd = "SELECT ModelName, ModelCode FROM " & ApplyModelInfoDB & " GROUP BY ModelCode"
|
|
If DBQueryReader(DBCmd) Then
|
|
Dim RowCount As Int16 = (sqlDataQuery.Length / 2) - 1
|
|
Dim dataSetCount As Int32 = 0
|
|
Dim ModelName As String
|
|
Dim ModelCode As String
|
|
|
|
For row = 0 To RowCount
|
|
For col = 0 To 1
|
|
If col = 0 Then
|
|
ModelName = sqlDataQuery(dataSetCount)
|
|
ElseIf col = 1 Then
|
|
ModelCode = sqlDataQuery(dataSetCount)
|
|
End If
|
|
dataSetCount += 1
|
|
Next
|
|
comboBoxModel.Items.Add(New DictionaryEntry(ModelName, ModelCode))
|
|
Next
|
|
End If
|
|
comboBoxModel.Text = "MAXIMUM"
|
|
End Sub
|
|
|
|
Private Sub ClassCboSetting()
|
|
comboBoxClass.Items.Clear()
|
|
comboBoxClass.DisplayMember = "Key"
|
|
comboBoxClass.ValueMember = "Value"
|
|
|
|
comboBoxClass.Items.Add(New DictionaryEntry("국내-세트", 1))
|
|
comboBoxClass.Items.Add(New DictionaryEntry("국내-A/S", 2))
|
|
comboBoxClass.Items.Add(New DictionaryEntry("국내-샵용", 3))
|
|
comboBoxClass.Items.Add(New DictionaryEntry("해외-세트", 5))
|
|
comboBoxClass.Items.Add(New DictionaryEntry("해외-A/S", 6))
|
|
comboBoxClass.Items.Add(New DictionaryEntry("체험단", 7))
|
|
|
|
comboBoxClass.SelectedIndex = 0
|
|
End Sub
|
|
|
|
Private Sub VersionCboSetting()
|
|
comboBoxVersion.Items.Clear()
|
|
comboBoxVersion.DisplayMember = "Key"
|
|
comboBoxVersion.ValueMember = "Value"
|
|
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V1", 0))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V2", 1))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V3", 2))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V4", 3))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V5", 4))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V6", 5))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V7", 6))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V8", 7))
|
|
comboBoxVersion.Items.Add(New DictionaryEntry("V9", 8))
|
|
|
|
comboBoxVersion.SelectedIndex = 0
|
|
End Sub
|
|
|
|
Private Sub TypeCboSetting()
|
|
comboBoxType.Items.Clear()
|
|
comboBoxType.DisplayMember = "Key"
|
|
comboBoxType.ValueMember = "Value"
|
|
|
|
DBCmd = "SELECT CartTypeName, CartTypeCode FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & comboBoxModel.SelectedItem.Value.ToString & "' GROUP BY CartTypeCode ORDER BY CartTypeCode ASC"
|
|
If DBQueryReader(DBCmd) Then
|
|
Dim RowCount As Int16 = (sqlDataQuery.Length / 2) - 1
|
|
Dim dataSetCount As Int32 = 0
|
|
Dim TypeName As String
|
|
Dim TypeCode As String
|
|
|
|
For row = 0 To RowCount
|
|
For col = 0 To 1
|
|
If col = 0 Then
|
|
TypeName = sqlDataQuery(dataSetCount)
|
|
ElseIf col = 1 Then
|
|
TypeCode = sqlDataQuery(dataSetCount)
|
|
End If
|
|
dataSetCount += 1
|
|
Next
|
|
comboBoxType.Items.Add(New DictionaryEntry(TypeName, TypeCode))
|
|
Next
|
|
End If
|
|
comboBoxType.SelectedIndex = 0
|
|
End Sub
|
|
|
|
Private Sub ColorCboSetting()
|
|
comboBoxColor.Items.Clear()
|
|
comboBoxColor.DisplayMember = "Key"
|
|
comboBoxColor.ValueMember = "Value"
|
|
|
|
DBCmd = "SELECT ColorName, ColorCode FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & comboBoxModel.SelectedItem.Value.ToString & "' AND CartTypeCode = '" & comboBoxType.SelectedItem.Value.ToString & "' ORDER BY ColorCode ASC"
|
|
If DBQueryReader(DBCmd) Then
|
|
Dim RowCount As Int16 = (sqlDataQuery.Length / 2) - 1
|
|
Dim dataSetCount As Int32 = 0
|
|
Dim ColorName As String
|
|
Dim ColorCode As String
|
|
|
|
For row = 0 To RowCount
|
|
For col = 0 To 1
|
|
If col = 0 Then
|
|
ColorName = sqlDataQuery(dataSetCount)
|
|
ElseIf col = 1 Then
|
|
ColorCode = sqlDataQuery(dataSetCount)
|
|
End If
|
|
dataSetCount += 1
|
|
Next
|
|
comboBoxColor.Items.Add(New DictionaryEntry(ColorName, ColorCode))
|
|
Next
|
|
End If
|
|
comboBoxColor.SelectedIndex = 0
|
|
End Sub
|
|
|
|
Private Function FindIndexMachingValue(ByVal comboBox As Windows.Forms.ComboBox, value As String) As Int16
|
|
For index = 0 To comboBox.Items.Count - 1
|
|
If comboBox.Items(index).Value.ToString = value Then
|
|
Return index
|
|
End If
|
|
Next
|
|
Return -1
|
|
End Function
|
|
|
|
Private Sub comboBoxModel_SelectedIndexChanged(sender As Object, e As EventArgs) Handles comboBoxModel.SelectedIndexChanged
|
|
If comboBoxModel.SelectedIndex <> -1 Then
|
|
With SelectedModelInfo
|
|
.Code = comboBoxModel.SelectedItem.Value.ToString
|
|
.Name = comboBoxModel.SelectedItem.Key.ToString
|
|
.TDUseYn = False
|
|
.HifuUseYn = False
|
|
.RfUseYn = False
|
|
.EpUseYn = False
|
|
End With
|
|
|
|
DBCmd = "SELECT DeviceTypeCode, TDUseYn, HifuUseYn, RfUseYn, EpUseYn FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & SelectedModelInfo.Code & "' LIMIT 1"
|
|
If DBQueryReader(DBCmd) Then
|
|
With SelectedModelInfo
|
|
.DeviceTypeCode = sqlDataQuery(0)
|
|
.TDUseYn = sqlDataQuery(1)
|
|
.HifuUseYn = sqlDataQuery(2)
|
|
.RfUseYn = sqlDataQuery(3)
|
|
.EpUseYn = sqlDataQuery(4)
|
|
End With
|
|
End If
|
|
|
|
ResetClear()
|
|
ResultReset()
|
|
|
|
If SelectedModelInfo.DeviceTypeCode = "D" Then
|
|
SelectModeType = ModeList.DUALSONIC
|
|
DUALForm_Setting()
|
|
DUALSONIC_UseOn()
|
|
Device_UseOn()
|
|
btnALFuncReset1.Enabled = True
|
|
|
|
ElseIf SelectedModelInfo.DeviceTypeCode = "A" Then
|
|
If SelectedModelInfo.HifuUseYn = "Y" And SelectedModelInfo.RfUseYn = "Y" And SelectedModelInfo.EpUseYn = "Y" Then
|
|
SelectModeType = ModeList.MAXIMUM
|
|
MAXForm_Setting()
|
|
MAXIMUM_UseOn()
|
|
btnALFuncReset1.Enabled = True
|
|
|
|
ElseIf SelectedModelInfo.HifuUseYn = "Y" And SelectedModelInfo.RfUseYn = "N" And SelectedModelInfo.EpUseYn = "N" Then
|
|
SelectModeType = ModeList.EFFECT
|
|
EFFECTForm_Setting()
|
|
EFFECT_UseOn()
|
|
btnALFuncReset1.Enabled = True
|
|
|
|
ElseIf SelectedModelInfo.HifuUseYn = "N" And SelectedModelInfo.RfUseYn = "Y" And SelectedModelInfo.EpUseYn = "Y" Then
|
|
SelectModeType = ModeList.ALTO
|
|
ALTOForm_Setting()
|
|
ALTO_UseOn()
|
|
btnALFuncReset1.Enabled = False
|
|
|
|
End If
|
|
End If
|
|
|
|
TypeCboSetting()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub comboBoxType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles comboBoxType.SelectedIndexChanged
|
|
If comboBoxType.SelectedIndex <> -1 Then
|
|
ColorCboSetting()
|
|
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 SelectModeType
|
|
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
|
|
ResetClear()
|
|
ResultReset()
|
|
|
|
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 SelectModeType
|
|
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 SelectModeType
|
|
Case ModeList.DUALSONIC
|
|
DUALSONIC_WriteFunc()
|
|
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
|
|
MAXIMUM_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 comboBoxType.SelectedIndex < 0 Then
|
|
MsgBox("타입을 선택하여 주십시오.", vbExclamation, FormName)
|
|
Return True
|
|
End If
|
|
|
|
If comboBoxColor.SelectedIndex < 0 Then
|
|
MsgBox("색상을 선택하여 주십시오.", vbExclamation, FormName)
|
|
Return True
|
|
End If
|
|
|
|
If comboBoxClass.SelectedIndex < 0 Then
|
|
MsgBox("유통구분을 선택하여 주십시오.", vbExclamation, FormName)
|
|
Return True
|
|
End If
|
|
|
|
If comboBoxVersion.SelectedIndex < 0 Then
|
|
MsgBox("버전을 선택하여 주십시오.", vbExclamation, FormName)
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
|
|
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 String = SelectedModelInfo.Code
|
|
Dim TypeCode As String = comboBoxType.SelectedItem.Value.ToString
|
|
|
|
''************************************
|
|
''******* 제조사코드 발신 *******
|
|
''************************************
|
|
|
|
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 전송 ********
|
|
''************************************
|
|
|
|
tmpCmdMessage = "carttype"
|
|
cmdMessage = "[sb" & tmpCmdMessage & " " & 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
|
|
|
|
''************************************
|
|
''****** 시리얼넘버 발신 **********
|
|
''************************************
|
|
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
|
|
|
|
Dim nudSerial = nudIfYear.Text & MonthParsing & Mid(SerialValue, 4, 3) & Mid(SerialValue, 1, 3)
|
|
Dim productSerial = CInt(ModelCode) & CInt(TypeCode) & nudSerial
|
|
txbIfNumber.Text = productSerial
|
|
|
|
tmpCmdMessage = "cartsn"
|
|
cmdMessage = "[sb" & tmpCmdMessage & " " & nudSerial & "]"
|
|
|
|
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 SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString)
|
|
Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString)
|
|
Dim cartridgeSerial = SerialValue
|
|
SerialValue = nudIfYear.Value & MonthParsing & SerialValue
|
|
Dim TypeCode As String = comboBoxType.SelectedItem.Value.ToString
|
|
Dim ColorCode As String = comboBoxColor.SelectedItem.Value.ToString
|
|
Dim ClassCode As String = comboBoxClass.SelectedItem.Value.ToString
|
|
Dim VersionCode As String = comboBoxVersion.SelectedItem.Value.ToString
|
|
|
|
If SelectedModelInfo.Code.Length = 2 Then
|
|
Dim QcOpt As String = ClassCode & TypeCode & VersionCode
|
|
|
|
Dim ResultData As Int16 = OptimumInfoWrite(txbIfCode.Text, SerialValue, SelectedModelInfo.Code, ColorCode, QcOpt, AboardCode, AgencyCode)
|
|
|
|
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
|
|
StageCnt = ResultData
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
txbIfNumber.Text = SelectedModelInfo.Code & ColorCode & SerialValue & QcOpt
|
|
Else
|
|
Dim ModelCode = SelectedModelInfo.Code & TypeCode
|
|
|
|
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)
|
|
End If
|
|
|
|
If ckbDBUse.Checked = True Then
|
|
Dim QueryTable As String = UseCartridgeTbl
|
|
If SelectedModelInfo.TDUseYn <> "Y" Then
|
|
QueryTable = NonCartridgeTbl
|
|
End If
|
|
|
|
Dim DBCmd = "UPDATE " & QueryTable & " 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 = '" & SelectedModelInfo.Name & "', " &
|
|
"Ct_Type = '" & comboBoxType.SelectedItem.Key.ToString & "' " &
|
|
"WHERE PV_SN = '" & TDNameStr & "'"
|
|
|
|
DBCommand(DBCmd)
|
|
End If
|
|
|
|
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 OptimumInfoWrite(Factory As String, ProdNum As String, ModelType As String, ModelOpt As String, QcOpt As String, AboardNum As Integer, AgencyNum As Integer) As Int16
|
|
Dim retVal As String
|
|
tmpCmdMessage = "wrsconf1"
|
|
|
|
cmdMessage = "[" & tmpCmdMessage & " " & Factory & "," & ProdNum & "," & ModelType & "," & ModelOpt & "," & QcOpt & "," & AboardNum & "," & AgencyNum & "]" + vbCrLf
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return ErrorList.SendError
|
|
End If
|
|
|
|
retVal = PollingReceiveData(2000)
|
|
|
|
If retVal <> Factory & "," & ProdNum & "," & ModelType & "," & ModelOpt & "," & QcOpt & "," & AboardNum & "," & AgencyNum Then
|
|
Return ErrorList.ReceiveError
|
|
End If
|
|
|
|
Return ErrorList.NonError
|
|
End Function
|
|
|
|
Private Function MAXInfoWrite(Factory As String, ProdNum As String, ModelType As String, AboardNum As Integer, AgencyNum As Integer) As Int16
|
|
Dim retVal As String
|
|
tmpCmdMessage = "wrsconf1"
|
|
|
|
cmdMessage = "[" & tmpCmdMessage & " " & Factory & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum & "]" + vbCrLf
|
|
|
|
If SendData(cmdMessage) Then
|
|
Return ErrorList.SendError
|
|
End If
|
|
|
|
retVal = 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 SelectModeType
|
|
Case ModeList.DUALSONIC
|
|
DUALSONIC_ReadFunc()
|
|
Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT
|
|
MAXIMUM_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 ModelCode <> SelectedModelInfo.Code Then
|
|
StageCnt = ErrorList.DataError
|
|
MsgBox(SelectedModelInfo.Name & " 제품군이 아닙니다.", 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
|
|
|
|
Dim cartCode = Mid(DataResult, 1, 1)
|
|
Dim index As Integer = FindIndexMachingValue(comboBoxType, cartCode)
|
|
|
|
If index <> -1 Then
|
|
comboBoxType.SelectedIndex = index
|
|
Else
|
|
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
|
|
|
|
Dim serial = Long.Parse(DataResult)
|
|
|
|
If serial < 0 Then
|
|
serial += TwosComplement32Mask
|
|
End If
|
|
|
|
Dim SerialValue As String = serial.ToString
|
|
|
|
If (ModelCode & cartCode & SerialValue).Length <> OldSerialParsingLength Then
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
txbIfNumber.Text = ModelCode & cartCode & 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)
|
|
nudIfSerial.Text = Mid(SerialValue, 5, 6)
|
|
|
|
Dim ClassCode = Mid(SerialValue, 5, 1)
|
|
index = FindIndexMachingValue(comboBoxClass, ClassCode)
|
|
If index <> -1 Then
|
|
comboBoxClass.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
Dim ColorCode = Mid(SerialValue, 6, 1)
|
|
index = FindIndexMachingValue(comboBoxColor, ColorCode)
|
|
If index <> -1 Then
|
|
comboBoxColor.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
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 ResultDataArray() As String = ResultData.Split(",")
|
|
Dim MakeCode As String = ResultDataArray(0)
|
|
Dim SerialValue As String = ResultDataArray(1)
|
|
|
|
If ResultDataArray.Length = 7 Then 'JOMT,2511000110,71,A,750,0,0
|
|
Dim ModelCode As String = ResultDataArray(2)
|
|
Dim ColorCode As String = ResultDataArray(3)
|
|
Dim QcOptValue As String = ResultDataArray(4)
|
|
Dim TypeCode As String = Mid(QcOptValue, 2, 1)
|
|
Dim ClassCode As String = Mid(QcOptValue, 1, 1)
|
|
Dim VersionCode As String = Mid(QcOptValue, 3, 1)
|
|
Dim index As Integer
|
|
|
|
txbIfCode.Text = MakeCode
|
|
|
|
If (ModelCode & ColorCode & SerialValue & QcOptValue).Length <> NewSerialParsingLength Then
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
txbIfNumber.Text = ModelCode & ColorCode & SerialValue & QcOptValue
|
|
nudIfYear.Text = Mid(SerialValue, 1, 2)
|
|
nudIfMonth.Text = Mid(SerialValue, 3, 2)
|
|
nudIfSerial.Text = Mid(SerialValue, 5, 6)
|
|
|
|
If ModelCode <> SelectedModelInfo.Code Then
|
|
StageCnt = ErrorList.DataError
|
|
MsgBox(SelectedModelInfo.Name & " 제품군이 아닙니다.", vbCritical, FormName)
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxType, TypeCode)
|
|
If index <> -1 Then
|
|
comboBoxType.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxColor, ColorCode)
|
|
If index <> -1 Then
|
|
comboBoxColor.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxClass, ClassCode)
|
|
If index <> -1 Then
|
|
comboBoxClass.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxVersion, VersionCode)
|
|
If index <> -1 Then
|
|
comboBoxVersion.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
txbInfoBox.Text = "SUCCESS"
|
|
txbInfoBox.BackColor = Color.Green
|
|
GoTo End_Finish
|
|
|
|
Else 'jomt,2511710001,70,82,0
|
|
Dim ProdValue As String = ResultDataArray(2)
|
|
Dim ModelCode As String = Mid(ProdValue, 1, 1)
|
|
Dim TypeCode As String = Mid(ProdValue, 2, 1)
|
|
Dim ColorCode = Mid(SerialValue, 6, 1)
|
|
Dim ClassCode = Mid(SerialValue, 5, 1)
|
|
Dim index As Integer
|
|
|
|
txbIfCode.Text = MakeCode
|
|
|
|
If (ProdValue & SerialValue).Length <> OldSerialParsingLength Then
|
|
StageCnt = ErrorList.DataError
|
|
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)
|
|
nudIfSerial.Text = Mid(SerialValue, 5, 6)
|
|
|
|
If ModelCode <> SelectedModelInfo.Code Then
|
|
StageCnt = ErrorList.DataError
|
|
MsgBox(SelectedModelInfo.Name & " 제품군이 아닙니다.", vbCritical, FormName)
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxType, TypeCode)
|
|
If index <> -1 Then
|
|
comboBoxType.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxColor, ColorCode)
|
|
If index <> -1 Then
|
|
comboBoxColor.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
index = FindIndexMachingValue(comboBoxClass, ClassCode)
|
|
If index <> -1 Then
|
|
comboBoxClass.SelectedIndex = index
|
|
Else
|
|
StageCnt = ErrorList.DataError
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
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 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()
|
|
nudIfSerial.Text = String.Empty
|
|
nudIfSerial.Refresh()
|
|
|
|
comboBoxType.SelectedIndex = 0
|
|
comboBoxColor.SelectedIndex = 0
|
|
comboBoxClass.SelectedIndex = 0
|
|
comboBoxVersion.SelectedIndex = 0
|
|
|
|
txbInfoBox.Visible = False
|
|
txbInfoBox.Text = String.Empty
|
|
txbInfoBox.BackColor = Color.FromArgb(0, 192, 0)
|
|
End Sub
|
|
|
|
Private Function TDNameDBLoad(TDName As String) As Boolean
|
|
If SelectedModelInfo.TDUseYn = "Y" Then
|
|
DBCmd = "SELECT EXISTS (SELECT 1 FROM " & UseCartridgeTbl & " WHERE PV_SN = '" & TDName & "')"
|
|
Else
|
|
DBCmd = "SELECT EXISTS (SELECT 1 FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & TDName & "')"
|
|
End If
|
|
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 SelectModeType
|
|
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
|
|
|
|
Dim ResultDataArray() As String = ResultData.Split(",")
|
|
|
|
If ResultDataArray.Length = 7 Then 'JOMT,2511000110,71,A,750,0,0
|
|
txbAbroad.Text = ResultDataArray(5)
|
|
txbAgency.Text = ResultDataArray(6)
|
|
Else 'jomt,2511710001,70,82,0
|
|
txbAbroad.Text = ResultDataArray(3)
|
|
txbAgency.Text = ResultDataArray(4)
|
|
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 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 SelectModeType
|
|
Case ModeList.DUALSONIC
|
|
DUALSONIC_AreaWriteFunc()
|
|
Case ModeList.MAXIMUM, ModeList.EFFECT, ModeList.ALTO
|
|
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 ResultDataArray() As String = ResultData.Split(",")
|
|
|
|
If ResultDataArray.Length = 7 Then 'JOMT,2511000110,71,A,750,0,0
|
|
ResultData = OptimumInfoWrite(ResultDataArray(0), ResultDataArray(1), ResultDataArray(2), ResultDataArray(3), ResultDataArray(4), txbAbroad.Text, txbAgency.Text)
|
|
Else 'jomt,2511710001,70,82,0
|
|
ResultData = MAXInfoWrite(ResultDataArray(0), ResultDataArray(1), ResultDataArray(2), txbAbroad.Text, txbAgency.Text)
|
|
End If
|
|
|
|
If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then
|
|
StageCnt = ResultData
|
|
GoTo FAIL_Finish
|
|
End If
|
|
|
|
If ckbDBUse.Checked = True Then
|
|
Dim 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
|
|
|
|
Dim QueryTable As String = UseCartridgeTbl
|
|
If SelectedModelInfo.TDUseYn <> "Y" Then
|
|
QueryTable = NonCartridgeTbl
|
|
End If
|
|
|
|
DBCmd = "UPDATE " & QueryTable & " SET " &
|
|
"Ct_Abroad = '" & txbAbroad.Text.Trim() & "', " &
|
|
"Ct_Agency = '" & txbAgency.Text.Trim() & "' " &
|
|
"WHERE PV_SN = '" & TDNameStr & "'"
|
|
|
|
DBCommand(DBCmd)
|
|
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 SelectModeType
|
|
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("현재 기능 없음")
|
|
|
|
txbTDBox.Text = "기능없음"
|
|
txbTDBox.BackColor = Color.Red
|
|
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_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 SelectModeType
|
|
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 Or retVal = SaveData 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 SelectModeType
|
|
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 SelectModeType
|
|
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
|
|
|
|
If ckbDBUse.Checked = True Then
|
|
Dim 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
|
|
|
|
Dim freq = txbFreq.Text
|
|
Dim power = txbPower.Text
|
|
|
|
DBCmd = "UPDATE " & UseCartridgeTbl & " SET " &
|
|
"Ct_Frequency = " & freq & ", " &
|
|
"Ct_Power = " & power & " " &
|
|
"WHERE PV_SN = '" & TDNameStr & "'"
|
|
|
|
DBCommand(DBCmd)
|
|
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 SelectModeType
|
|
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 = Mid(ResultData, 1, InStr(1, ResultData, ",") - 1)
|
|
|
|
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 retval
|
|
Else
|
|
Return ErrorList.ReceiveError
|
|
End If
|
|
End Function
|
|
|
|
Private Sub btnMtWrite_Click(sender As Object, e As EventArgs) Handles btnMtWrite.Click
|
|
Select Case SelectModeType
|
|
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
|
|
|
|
''************************************
|
|
''******* txbFront 발신 ********
|
|
''************************************
|
|
|
|
tmpCmdMessage = "frontsen"
|
|
cmdMessage = "[sb" & tmpCmdMessage & " " & txbMotor.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
|
|
|
|
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
|
|
|
|
If ckbDBUse.Checked = True Then
|
|
Dim 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
|
|
|
|
DBCmd = "UPDATE " & UseCartridgeTbl & " SET " &
|
|
"Ct_Motor_Lv = '" & txbMotor.Text & "' " &
|
|
"WHERE PV_SN = '" & TDNameStr & "'"
|
|
|
|
DBCommand(DBCmd)
|
|
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 SelectModeType
|
|
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 SelectModeType
|
|
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
|
|
|
|
If ckbDBUse.Checked = True Then
|
|
Dim 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
|
|
|
|
DBCmd = "UPDATE " & UseCartridgeTbl & " SET " &
|
|
"Ct_Remain_ShotCnt = '" & txbShot.Text & "' " &
|
|
"WHERE PV_SN = '" & TDNameStr & "'"
|
|
|
|
DBCommand(DBCmd)
|
|
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 SelectModeType
|
|
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 SelectModeType
|
|
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)
|
|
|
|
Dim front As String = BackCode.Substring(0, 4)
|
|
Dim middle As String = BackCode.Substring(4, 3)
|
|
Dim last As String = BackCode.Substring(7, 3)
|
|
|
|
Dim swapped As String = front & last & middle
|
|
|
|
txbDvNumber.Text = FrontCode & swapped
|
|
nudDvSerial.Text = Mid(BackCode, 5, 6)
|
|
|
|
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 btnDvWrite_Click(sender As Object, e As EventArgs) Handles btnDvWrite.Click
|
|
Select Case SelectModeType
|
|
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
|
|
|
|
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 = SelectedModelInfo.Code & TypeNum
|
|
|
|
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 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 SelectModeType
|
|
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 SelectModeType
|
|
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 SelectModeType
|
|
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 SelectModeType
|
|
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 SelectModeType
|
|
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 OldProdLength As Byte = 12
|
|
Private Const NewProdLength As Byte = 16
|
|
|
|
''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 = OldProdLength Or txbLoadNum.Text.Length = NewProdLength 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,Ct_Frequency,IFNULL(Manufacture_Date,'') as Manufacture_Date FROM " & UseCartridgeTbl & " 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,IFNULL(Manufacture_Date,'') as Manufacture_Date 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_Remain_ShotCnt,Ct_Motor_Lv,PV_SN,Ct_Frequency,IFNULL(Manufacture_Date,'') as Manufacture_Date FROM " & UseCartridgeTbl & " 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,IFNULL(Manufacture_Date,'') as Manufacture_Date 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
|
|
ResetClear()
|
|
ResultReset()
|
|
|
|
btnIfRead_Click(sender, e)
|
|
btnArRead_Click(sender, e)
|
|
btnTdRead_Click(sender, e)
|
|
|
|
If SelectModeType.Equals(ModeList.ALTO) Then
|
|
Return
|
|
End If
|
|
|
|
btnFPRead_Click(sender, e)
|
|
btnMtRead_Click(sender, e)
|
|
btnShRead_Click(sender, e)
|
|
End Sub
|
|
|
|
End Class
|