2025-05-07 08:58:52 +09:00
Imports System . IO . Ports
Imports System . Math
2025-12-04 10:48:41 +09:00
Imports System . Reflection
2025-05-07 08:58:52 +09:00
Imports System . Runtime . InteropServices . ComTypes
Imports System . Runtime . Remoting
2025-12-04 10:48:41 +09:00
Imports System . Windows . Forms . VisualStyles . VisualStyleElement
2025-05-07 08:58:52 +09:00
Imports System . Windows . Forms . VisualStyles . VisualStyleElement . TaskbarClock
2025-12-04 10:48:41 +09:00
Imports Microsoft
2025-05-07 08:58:52 +09:00
Imports Mysqlx
2025-05-07 15:25:16 +09:00
Imports Mysqlx . XDevAPI
2025-05-07 08:58:52 +09:00
Public Class MainForm
2025-12-04 10:48:41 +09:00
Public Const FormVersion As String = " 3.0.0 "
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Private Const OldSerialParsingLength As Int16 = 12
Private Const NewSerialParsingLength As Int16 = 16
2025-05-08 16:04:43 +09:00
Private Const TwosComplement32Mask As Long = 4294967296
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
'현재 선택한 제품 정보
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
2025-05-07 08:58:52 +09:00
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 ( )
2025-12-04 10:48:41 +09:00
ComboBoxSetting ( )
2025-05-07 08:58:52 +09:00
End Sub
2025-12-04 10:48:41 +09:00
Private Sub ComboBoxSetting ( )
ModelCboSetting ( )
ClassCboSetting ( )
VersionCboSetting ( )
End Sub
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Private Sub ClassCboSetting ( )
comboBoxClass . Items . Clear ( )
comboBoxClass . DisplayMember = " Key "
comboBoxClass . ValueMember = " Value "
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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 ) )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
comboBoxClass . SelectedIndex = 0
End Sub
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Private Sub VersionCboSetting ( )
comboBoxVersion . Items . Clear ( )
comboBoxVersion . DisplayMember = " Key "
comboBoxVersion . ValueMember = " Value "
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Private Sub ColorCboSetting ( )
comboBoxColor . Items . Clear ( )
comboBoxColor . DisplayMember = " Key "
comboBoxColor . ValueMember = " Value "
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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 ( )
2025-05-07 08:58:52 +09:00
btnALFuncReset1 . Enabled = True
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
End If
2025-12-04 10:48:41 +09:00
TypeCboSetting ( )
2025-05-07 08:58:52 +09:00
End If
2025-12-04 10:48:41 +09:00
End Sub
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Private Sub comboBoxType_SelectedIndexChanged ( sender As Object , e As EventArgs ) Handles comboBoxType . SelectedIndexChanged
If comboBoxType . SelectedIndex <> - 1 Then
ColorCboSetting ( )
End If
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
ResetClear ( )
ResultReset ( )
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
Case ModeList . DUALSONIC
DUALSONIC_WriteFunc ( )
2025-12-04 10:48:41 +09:00
Case ModeList . MAXIMUM , ModeList . ALTO , ModeList . EFFECT
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
If comboBoxType . SelectedIndex < 0 Then
MsgBox ( " 타입을 선택하여 주십시오. " , vbExclamation , FormName )
2025-05-07 08:58:52 +09:00
Return True
End If
2025-12-04 10:48:41 +09:00
If comboBoxColor . SelectedIndex < 0 Then
MsgBox ( " 색상을 선택하여 주십시오. " , vbExclamation , FormName )
2025-05-07 08:58:52 +09:00
Return True
End If
2025-12-04 10:48:41 +09:00
If comboBoxClass . SelectedIndex < 0 Then
MsgBox ( " 유통구분을 선택하여 주십시오. " , vbExclamation , FormName )
Return True
2025-05-07 08:58:52 +09:00
End If
2025-12-04 10:48:41 +09:00
If comboBoxVersion . SelectedIndex < 0 Then
MsgBox ( " 버전을 선택하여 주십시오. " , vbExclamation , FormName )
Return True
2025-05-07 08:58:52 +09:00
End If
2025-12-04 10:48:41 +09:00
Return False
2025-05-07 08:58:52 +09:00
End Function
Private Sub DUALSONIC_WriteFunc ( )
Dim StageCnt As Int16 = ErrorList . NonError
Try
If InfoWriteStart ( ) Then
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-12-04 10:48:41 +09:00
Dim ModelCode As String = SelectedModelInfo . Code
Dim TypeCode As String = comboBoxType . SelectedItem . Value . ToString
2025-05-07 08:58:52 +09:00
''************************************
''******* 제조사코드 발신 *******
''************************************
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 "
2025-05-09 14:37:41 +09:00
cmdMessage = " [sb " & tmpCmdMessage & " " & TypeCode & " ] "
2025-05-07 08:58:52 +09:00
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
2025-05-08 16:04:43 +09:00
Dim nudSerial = nudIfYear . Text & MonthParsing & Mid ( SerialValue , 4 , 3 ) & Mid ( SerialValue , 1 , 3 )
Dim productSerial = CInt ( ModelCode ) & CInt ( TypeCode ) & nudSerial
txbIfNumber . Text = productSerial
2025-05-07 08:58:52 +09:00
tmpCmdMessage = " cartsn "
2025-05-08 16:04:43 +09:00
cmdMessage = " [sb " & tmpCmdMessage & " " & nudSerial & " ] "
2025-05-07 08:58:52 +09:00
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 )
2025-05-09 11:37:02 +09:00
Dim cartridgeSerial = SerialValue
2025-05-07 08:58:52 +09:00
SerialValue = nudIfYear . Value & MonthParsing & SerialValue
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If SelectedModelInfo . Code . Length = 2 Then
Dim QcOpt As String = ClassCode & TypeCode & VersionCode
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Dim ResultData As Int16 = OptimumInfoWrite ( txbIfCode . Text , SerialValue , SelectedModelInfo . Code , ColorCode , QcOpt , AboardCode , AgencyCode )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If ResultData = ErrorList . SendError Or ResultData = ErrorList . ReceiveError Then
StageCnt = ResultData
2025-05-07 08:58:52 +09:00
GoTo FAIL_Finish
End If
2025-12-04 10:48:41 +09:00
txbIfNumber . Text = SelectedModelInfo . Code & ColorCode & SerialValue & QcOpt
Else
Dim ModelCode = SelectedModelInfo . Code & TypeCode
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Dim ResultData As Int16 = MAXInfoWrite ( txbIfCode . Text , SerialValue , ModelCode , AboardCode , AgencyCode )
If ResultData = ErrorList . SendError Or ResultData = ErrorList . ReceiveError Then
StageCnt = ResultData
2025-05-07 08:58:52 +09:00
GoTo FAIL_Finish
End If
2025-12-04 10:48:41 +09:00
txbIfNumber . Text = ModelCode & Mid ( SerialValue , 1 , 4 ) & Mid ( SerialValue , 8 , 3 ) & Mid ( SerialValue , 5 , 3 )
2025-05-07 08:58:52 +09:00
End If
2025-05-07 11:09:41 +09:00
If ckbDBUse . Checked = True Then
2025-12-04 10:48:41 +09:00
Dim QueryTable As String = UseCartridgeTbl
If SelectedModelInfo . TDUseYn <> " Y " Then
QueryTable = NonCartridgeTbl
End If
2025-05-07 11:09:41 +09:00
2025-12-04 10:48:41 +09:00
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 & " ' "
2025-05-07 11:09:41 +09:00
DBCommand ( DBCmd )
End If
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
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 "
2025-05-07 11:09:41 +09:00
2025-12-04 10:48:41 +09:00
cmdMessage = " [ " & tmpCmdMessage & " " & Factory & " , " & ProdNum & " , " & ModelType & " , " & ModelOpt & " , " & QcOpt & " , " & AboardNum & " , " & AgencyNum & " ] " + vbCrLf
2025-05-07 11:09:41 +09:00
2025-12-04 10:48:41 +09:00
If SendData ( cmdMessage ) Then
Return ErrorList . SendError
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
retVal = PollingReceiveData ( 2000 )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If retVal <> Factory & " , " & ProdNum & " , " & ModelType & " , " & ModelOpt & " , " & QcOpt & " , " & AboardNum & " , " & AgencyNum Then
Return ErrorList . ReceiveError
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Return ErrorList . NonError
End Function
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Private Function MAXInfoWrite ( Factory As String , ProdNum As String , ModelType As String , AboardNum As Integer , AgencyNum As Integer ) As Int16
Dim retVal As String
2025-05-07 08:58:52 +09:00
tmpCmdMessage = " wrsconf1 "
2025-12-04 10:48:41 +09:00
2025-05-07 08:58:52 +09:00
cmdMessage = " [ " & tmpCmdMessage & " " & Factory & " , " & ProdNum & " , " & ModelType & " , " & AboardNum & " , " & AgencyNum & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return ErrorList . SendError
End If
2025-12-04 10:48:41 +09:00
retVal = PollingReceiveData ( 2000 )
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
Case ModeList . DUALSONIC
DUALSONIC_ReadFunc ( )
2025-12-04 10:48:41 +09:00
Case ModeList . MAXIMUM , ModeList . ALTO , ModeList . EFFECT
2025-05-07 08:58:52 +09:00
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 ) )
2025-12-04 10:48:41 +09:00
If ModelCode <> SelectedModelInfo . Code Then
StageCnt = ErrorList . DataError
MsgBox ( SelectedModelInfo . Name & " 제품군이 아닙니다. " , vbCritical , FormName )
2025-05-07 08:58:52 +09:00
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
2025-05-08 16:04:43 +09:00
Dim cartCode = Mid ( DataResult , 1 , 1 )
2025-12-04 10:48:41 +09:00
Dim index As Integer = FindIndexMachingValue ( comboBoxType , cartCode )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If index <> - 1 Then
comboBoxType . SelectedIndex = index
Else
2025-05-07 08:58:52 +09:00
MsgBox ( " 없는 타입 번호입니다. " , vbCritical , FormName )
GoTo FAIL_Finish
End If
2025-05-08 16:04:43 +09:00
'************************************
'****** 시리얼넘버 발신 **********
'************************************
2025-05-07 08:58:52 +09:00
tmpCmdMessage = " cartsn "
cmdMessage = " [sb " & tmpCmdMessage & " ] "
If SendData ( cmdMessage ) Then
StageCnt = ErrorList . SendError
GoTo FAIL_Finish
End If
2025-05-08 16:04:43 +09:00
2025-05-07 08:58:52 +09:00
DataResult = PollingReceiveData ( 1500 )
If DataResult = " False " Then
StageCnt = ErrorList . ReceiveError
GoTo FAIL_Finish
End If
2025-05-08 16:04:43 +09:00
Dim serial = Long . Parse ( DataResult )
2025-05-07 08:58:52 +09:00
2025-05-08 16:04:43 +09:00
If serial < 0 Then
serial += TwosComplement32Mask
End If
2025-12-04 10:48:41 +09:00
Dim SerialValue As String = serial . ToString
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If ( ModelCode & cartCode & SerialValue ) . Length <> OldSerialParsingLength Then
2025-05-07 08:58:52 +09:00
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-12-04 10:48:41 +09:00
txbIfNumber . Text = ModelCode & cartCode & Mid ( SerialValue , 1 , 2 ) & Mid ( SerialValue , 3 , 2 ) & Mid ( SerialValue , 8 , 3 ) & Mid ( SerialValue , 5 , 3 )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
nudIfYear . Text = Mid ( SerialValue , 1 , 2 )
nudIfMonth . Text = Mid ( SerialValue , 3 , 2 )
nudIfSerial . Text = Mid ( SerialValue , 5 , 6 )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
Dim ClassCode = Mid ( SerialValue , 5 , 1 )
index = FindIndexMachingValue ( comboBoxClass , ClassCode )
If index <> - 1 Then
comboBoxClass . SelectedIndex = index
Else
2025-05-07 08:58:52 +09:00
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-12-04 10:48:41 +09:00
Dim ColorCode = Mid ( SerialValue , 6 , 1 )
index = FindIndexMachingValue ( comboBoxColor , ColorCode )
If index <> - 1 Then
comboBoxColor . SelectedIndex = index
Else
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Private Sub MAXIMUM_ReadFunc ( )
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Dim ResultDataArray ( ) As String = ResultData . Split ( " , " )
Dim MakeCode As String = ResultDataArray ( 0 )
Dim SerialValue As String = ResultDataArray ( 1 )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
txbIfCode . Text = MakeCode
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If ( ModelCode & ColorCode & SerialValue & QcOptValue ) . Length <> NewSerialParsingLength Then
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
txbIfNumber . Text = ModelCode & ColorCode & SerialValue & QcOptValue
nudIfYear . Text = Mid ( SerialValue , 1 , 2 )
nudIfMonth . Text = Mid ( SerialValue , 3 , 2 )
nudIfSerial . Text = Mid ( SerialValue , 5 , 6 )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If ModelCode <> SelectedModelInfo . Code Then
StageCnt = ErrorList . DataError
MsgBox ( SelectedModelInfo . Name & " 제품군이 아닙니다. " , vbCritical , FormName )
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxType , TypeCode )
If index <> - 1 Then
comboBoxType . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxColor , ColorCode )
If index <> - 1 Then
comboBoxColor . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxClass , ClassCode )
If index <> - 1 Then
comboBoxClass . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxVersion , VersionCode )
If index <> - 1 Then
comboBoxVersion . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
txbInfoBox . Text = " SUCCESS "
txbInfoBox . BackColor = Color . Green
GoTo End_Finish
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
txbIfCode . Text = MakeCode
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If ( ProdValue & SerialValue ) . Length <> OldSerialParsingLength Then
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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 )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
If ModelCode <> SelectedModelInfo . Code Then
StageCnt = ErrorList . DataError
MsgBox ( SelectedModelInfo . Name & " 제품군이 아닙니다. " , vbCritical , FormName )
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxType , TypeCode )
If index <> - 1 Then
comboBoxType . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxColor , ColorCode )
If index <> - 1 Then
comboBoxColor . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
index = FindIndexMachingValue ( comboBoxClass , ClassCode )
If index <> - 1 Then
comboBoxClass . SelectedIndex = index
Else
StageCnt = ErrorList . DataError
GoTo FAIL_Finish
End If
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
txbInfoBox . Text = " SUCCESS "
txbInfoBox . BackColor = Color . Green
GoTo End_Finish
2025-05-07 08:58:52 +09:00
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 ( )
2025-12-04 10:48:41 +09:00
comboBoxType . SelectedIndex = 0
comboBoxColor . SelectedIndex = 0
comboBoxClass . SelectedIndex = 0
comboBoxVersion . SelectedIndex = 0
2025-05-07 08:58:52 +09:00
txbInfoBox . Visible = False
txbInfoBox . Text = String . Empty
txbInfoBox . BackColor = Color . FromArgb ( 0 , 192 , 0 )
End Sub
Private Function TDNameDBLoad ( TDName As String ) As Boolean
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Dim ResultDataArray ( ) As String = ResultData . Split ( " , " )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
Case ModeList . DUALSONIC
DUALSONIC_AreaWriteFunc ( )
2025-12-04 10:48:41 +09:00
Case ModeList . MAXIMUM , ModeList . EFFECT , ModeList . ALTO
2025-05-07 08:58:52 +09:00
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
2025-05-07 11:47:26 +09:00
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Dim ResultDataArray ( ) As String = ResultData . Split ( " , " )
2025-05-07 08:58:52 +09:00
2025-12-04 10:48:41 +09:00
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
2025-05-07 08:58:52 +09:00
If ResultData = ErrorList . SendError Or ResultData = ErrorList . ReceiveError Then
StageCnt = ResultData
GoTo FAIL_Finish
End If
2025-05-07 11:47:26 +09:00
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
2025-12-04 10:48:41 +09:00
Dim QueryTable As String = UseCartridgeTbl
If SelectedModelInfo . TDUseYn <> " Y " Then
QueryTable = NonCartridgeTbl
2025-05-07 11:47:26 +09:00
End If
2025-12-04 10:48:41 +09:00
DBCmd = " UPDATE " & QueryTable & " SET " &
2025-05-07 11:47:26 +09:00
" Ct_Abroad = ' " & txbAbroad . Text . Trim ( ) & " ', " &
" Ct_Agency = ' " & txbAgency . Text . Trim ( ) & " ' " &
" WHERE PV_SN = ' " & TDNameStr & " ' "
DBCommand ( DBCmd )
End If
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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 ( " 현재 기능 없음 " )
2025-12-04 10:48:41 +09:00
txbTDBox . Text = " 기능없음 "
txbTDBox . BackColor = Color . Red
2025-05-07 08:58:52 +09:00
GoTo End_Finish
Catch ex As Exception
MsgBox ( " 출력 진행 도중 에러 발생! " & vbCrLf & ex . Message , vbCritical , FormName )
GoTo FAIL_Finish
End Try
FAIL_Finish :
2025-12-04 10:48:41 +09:00
txbTDBox . Text = " ERROR " + Str ( StageCnt )
txbTDBox . BackColor = Color . Red
2025-05-07 08:58:52 +09:00
End_Finish :
2025-12-04 10:48:41 +09:00
txbTDBox . Refresh ( )
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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 )
2025-12-04 10:48:41 +09:00
If retVal = SaveData . ToLower Or retVal = SaveData Then
2025-05-07 08:58:52 +09:00
Return retVal
Else
Return Str ( ErrorList . ReceiveError )
End If
End Function
Private Sub btnFPRead_Click ( sender As Object , e As EventArgs ) Handles btnFPRead . Click
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-05-07 12:15:48 +09:00
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
2025-05-09 11:37:02 +09:00
Dim freq = txbFreq . Text
Dim power = txbPower . Text
2025-05-07 12:15:48 +09:00
DBCmd = " UPDATE " & UseCartridgeTbl & " SET " &
2025-05-09 11:37:02 +09:00
" Ct_Frequency = " & freq & " , " &
" Ct_Power = " & power & " " &
2025-05-07 12:15:48 +09:00
" WHERE PV_SN = ' " & TDNameStr & " ' "
DBCommand ( DBCmd )
End If
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
txbMotor . Text = Mid ( ResultData , 1 , InStr ( 1 , ResultData , " , " ) - 1 )
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Return retval
2025-05-07 08:58:52 +09:00
Else
Return ErrorList . ReceiveError
End If
End Function
Private Sub btnMtWrite_Click ( sender As Object , e As EventArgs ) Handles btnMtWrite . Click
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-05-09 14:02:48 +09:00
''************************************
''******* 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
2025-05-07 08:58:52 +09:00
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
2025-05-07 13:12:39 +09:00
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
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-05-07 15:20:48 +09:00
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
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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 )
2025-05-08 11:06:47 +09:00
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 )
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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 )
2025-12-04 10:48:41 +09:00
Dim ModelNum As String = SelectedModelInfo . Code & TypeNum
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Select Case SelectModeType
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
Private Const OldProdLength As Byte = 12
Private Const NewProdLength As Byte = 16
2025-05-07 08:58:52 +09:00
''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
2025-12-04 10:48:41 +09:00
ElseIf txbLoadNum . Text . Length = OldProdLength Or txbLoadNum . Text . Length = NewProdLength Then
2025-05-07 08:58:52 +09:00
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
2025-06-30 15:53:26 +09:00
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 "
2025-05-07 08:58:52 +09:00
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
2025-05-09 14:02:48 +09:00
Else
Return False
2025-12-04 10:48:41 +09:00
End If
2025-05-07 08:58:52 +09:00
End Function
Private Sub NonTD_Search ( )
2025-06-30 15:53:26 +09:00
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 "
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
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 "
2025-05-07 08:58:52 +09:00
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 ( )
2025-06-30 15:53:26 +09:00
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 "
2025-05-07 08:58:52 +09:00
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
2025-12-04 10:48:41 +09:00
ResetClear ( )
ResultReset ( )
2025-05-07 08:58:52 +09:00
btnIfRead_Click ( sender , e )
btnArRead_Click ( sender , e )
btnTdRead_Click ( sender , e )
2025-12-04 10:48:41 +09:00
If SelectModeType . Equals ( ModeList . ALTO ) Then
2025-05-07 08:58:52 +09:00
Return
End If
btnFPRead_Click ( sender , e )
btnMtRead_Click ( sender , e )
btnShRead_Click ( sender , e )
End Sub
2025-12-04 10:48:41 +09:00
2025-05-07 08:58:52 +09:00
End Class