4065 lines
167 KiB
VB.net
Raw Normal View History

2025-05-12 10:19:36 +09:00
Imports System.IO
Imports System.IO.Ports
Imports System.Management
Imports System.Drawing.Printing
Imports System.Threading
Imports System.Runtime.InteropServices
Public Class MainForm
Public FormMaxWidth, FormMaxHeight As Integer
Public FirstLogin As Boolean = True
Public TITLE_NAME As String = "DUALSONIC Infomaion Configuration Utillity"
2025-08-12 17:52:12 +09:00
Public PROGRAM_VERSION As String = "VER 1.0.2"
2025-05-12 10:19:36 +09:00
Public PROGRAM_TITLE_NAME As String = TITLE_NAME & " " & PROGRAM_VERSION
Public ParaComport As String
''시리얼 통신 변수
Private mySerialPort As New SerialPort
Private Delegate Sub SerialDelegate()
Private UpdateSerialDelegate As SerialDelegate
Public cmdMessage As String
Public rxMessage As String
Public RmainRxMessage As String
Public UsedSerial As Boolean
''시리얼 통신 수신 처리 변수
Public Const ReceiveCntVal As Integer = 100
Public ReceiveCnt As Integer = ReceiveCntVal
Public ReceiveCntEnable As Boolean = False
Public Const TDSN_ReceiveCntVal As Integer = 20
Public TDSN_ReceiveCnt As Integer = TDSN_ReceiveCntVal
Public TDSN_ReceiveCntEnable As Boolean = False
''바코드 파싱 처리 변수
Public BarCodeWaitCnt As Long
Public Const BarCodeWaitTime As Integer = 20
Public BarCodeFixedText As Boolean = True '' 바코드 텍스트 변경에 따른 커서 이동 방지 변수
''정보 쓰기 후 수신 값 동일 여부 확인 변수
Public ResultTextBoxList(DS_TYPE.MAX_DS_TYPE_NUM, 9) As TextBox
Public FaceInfoSet_X As Integer
Public FaceInfoSet_Y As Integer
Public DevInfoSet_X As Integer
Public DevInfoSet_Y As Integer
Public EyeInfoSet_X As Integer
Public EyeInfoSet_Y As Integer
''객체 배열 선언
Public gpbInfoSet(DS_TYPE.MAX_DS_TYPE_NUM) As GroupBox
Public InfoSet_X(DS_TYPE.MAX_DS_TYPE_NUM) As Integer
Public InfoSet_Y(DS_TYPE.MAX_DS_TYPE_NUM) As Integer
Public chkDeviceUse(DS_TYPE.MAX_DS_TYPE_NUM) As CheckBox
Public txbInfo_Barcord(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Model(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Cart(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Manufacture(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Year(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Month(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_SN(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_TDSN(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_FW(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Abroad(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Agency(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Rshot(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Tshot(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Freq(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Power(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_Date(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_AGDate(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_AGShot(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_AGStart(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_AGOkNg(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_AGPower(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_AGEnd(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_CTDate(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_CTFreq(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_IQCDate(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_IQCTD(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_IQCGrade(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public txbInfo_IQCCap(DS_TYPE.MAX_DS_TYPE_NUM) As TextBox
Public lblInfo_Model(DS_TYPE.MAX_DS_TYPE_NUM) As Label
Public lblInfo_YearMonth(DS_TYPE.MAX_DS_TYPE_NUM) As Label
Public lblInfo_Year(DS_TYPE.MAX_DS_TYPE_NUM) As Label
Public lblInfo_Month(DS_TYPE.MAX_DS_TYPE_NUM) As Label
Public lblInfo_SN(DS_TYPE.MAX_DS_TYPE_NUM) As Label
Public pnlModel(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlManufacture(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlYearMonth(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlSN(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlTDSN(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlFW(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlCart(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlAbroad(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlAgency(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlRshot(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlTshot(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlFreq(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlPower(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public pnlDate(DS_TYPE.MAX_DS_TYPE_NUM) As Panel
Public gpbAgingInfo(DS_TYPE.MAX_DS_TYPE_NUM) As GroupBox
Public gpbCTInfo(DS_TYPE.MAX_DS_TYPE_NUM) As GroupBox
Public gpbIQCInfo(DS_TYPE.MAX_DS_TYPE_NUM) As GroupBox
Public cmbInfo_Year(DS_TYPE.MAX_DS_TYPE_NUM) As ComboBox
Public cmbInfo_Month(DS_TYPE.MAX_DS_TYPE_NUM) As ComboBox
Public cmbInfo_Day(DS_TYPE.MAX_DS_TYPE_NUM) As ComboBox
2025-05-12 10:19:36 +09:00
Public txbProductCntPro(4) As TextBox
Public txbProductCntLux(4) As TextBox
Public ItemSelectItem(15) As TextBox
Public txbItemSelectModel(15) As TextBox
Public ItemSelectFace(15) As TextBox
Public ItemSelectEye(15) As TextBox
Public ItemSelectAbroad(15) As TextBox
Public ItemSelectAgency(15) As TextBox
'' 프린터 관련 변수
Private print_data(1, 1) As String
Delegate Sub delegate_print(ByRef str As String)
Private TH_print As Thread
Private thread_print As Boolean
Private print_OnOff As Boolean
Private Compare_Print As Boolean = False
Private txtName As String
Private active_onoff As Boolean = False
Private Enum printnum
face
dev
eye
max
End Enum
Private printnumtype(printnum.max) As String
<DllImport("user32.dll")>
Private Shared Function FindWindow(ByVal SclassName As String, ByVal SWindowName As String) As IntPtr
End Function
<DllImport("user32.dll")>
Private Shared Function SetForegroundWindow(ByVal findName As IntPtr) As Boolean
End Function
<DllImport("user32.dll")>
Private Shared Function ShowWindowAsync(ByVal findname As IntPtr, ByVal howShow As Integer) As Boolean
End Function
Private Const showNORMAL As Integer = 1
Private Const showMINIMIZED As Integer = 2
Private Const showMAXIMIZED As Integer = 3
Private Sub print_func()
Do While thread_print
If print_OnOff = True Then
print_th_play()
End If
Loop
End Sub
Private Sub print_th_play()
Dim print_num As String
If Compare_Print = True Then
print_num = txtName
Else
print_num = print_number()
End If
If print_num <> 0 Then
printOptionData(print_num)
print_on(print_num)
End If
End Sub
Private Sub frmPruduct_info_set_disponse(sender As Object, e As EventArgs) Handles MyBase.Disposed
active_onoff = False
If TH_print.IsAlive = True Then
thread_print = False
TH_print.Abort()
End If
End Sub
Private Sub active_form()
Dim findname As IntPtr = FindWindow(Nothing, Me.Text)
If Not findname.Equals(IntPtr.Zero) Then
'ShowWindowAsync(findname, showNORMAL)
SetForegroundWindow(findname)
End If
End Sub
Private Sub frmPruduct_info_set_Load(sender As Object, e As EventArgs) Handles MyBase.Load
frmLogin.ShowDialog()
If GetLoginStatus() <= LOGIN_STATUS.CHECK_IN_FAIL Then End
SetLoginStatus(LOGIN_STATUS.ENTER_PROGRAM)
txbBarcodeNum.ImeMode = ImeMode.Off
SetVariableBinding()
SetFormLoad(RunMode)
Read_ini("infoset")
Read_ini("printer")
If UsedSerial Then
OpenSerial()
SetStatus(DS_STATUS.INIT)
SendData("[carttdsn 2]")
SendData("[dsfwver 1]")
SendData("[carttdsn 3]")
End If
Reset_All_DS_Reg()
SetBarCodeBoxFocus()
dgvPrinter.SelectionMode = DataGridViewSelectionMode.FullRowSelect
TH_print = New Thread(AddressOf print_func)
thread_print = True
TH_print.Start()
TH_print.IsBackground = True
active_onoff = True
End Sub
Private Sub DateComboBox_SelectedIndexChanged(sender As Object, e As EventArgs)
Try
Dim combo As ComboBox = DirectCast(sender, ComboBox)
' 년도나 월이 변경되면 일 콤보박스 업데이트
For i As Integer = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If combo Is cmbInfo_Year(i) Or combo Is cmbInfo_Month(i) Then
UpdateDayComboBox(i)
Exit For
End If
Next
Catch ex As Exception
Console.WriteLine("DateComboBox_SelectedIndexChanged Error: " & ex.Message)
End Try
End Sub
' 일 콤보박스를 년월에 맞게 업데이트하는 메서드
Private Sub UpdateDayComboBox(deviceType As Integer)
Try
If cmbInfo_Year(deviceType) Is Nothing Or cmbInfo_Month(deviceType) Is Nothing Or cmbInfo_Day(deviceType) Is Nothing Then
Return
End If
If cmbInfo_Year(deviceType).SelectedItem Is Nothing Or cmbInfo_Month(deviceType).SelectedItem Is Nothing Then
Return
End If
Dim selectedYear As Integer = CInt(cmbInfo_Year(deviceType).SelectedItem.ToString())
Dim selectedMonth As Integer = CInt(cmbInfo_Month(deviceType).SelectedItem.ToString())
' 현재 선택된 일자 저장
Dim currentSelectedDay As String = ""
If cmbInfo_Day(deviceType).SelectedItem IsNot Nothing Then
currentSelectedDay = cmbInfo_Day(deviceType).SelectedItem.ToString()
End If
' 해당 년월의 마지막 날짜 계산
Dim daysInMonth As Integer = DateTime.DaysInMonth(selectedYear, selectedMonth)
' 일 콤보박스 다시 설정
cmbInfo_Day(deviceType).Items.Clear()
For day As Integer = 1 To daysInMonth
cmbInfo_Day(deviceType).Items.Add(day.ToString("00"))
Next
' 이전에 선택된 일자가 유효하면 다시 선택, 아니면 현재 날짜 또는 1일로 설정
If Not String.IsNullOrEmpty(currentSelectedDay) AndAlso CInt(currentSelectedDay) <= daysInMonth Then
cmbInfo_Day(deviceType).SelectedItem = currentSelectedDay
ElseIf DateTime.Now.Year = selectedYear AndAlso DateTime.Now.Month = selectedMonth Then
cmbInfo_Day(deviceType).SelectedItem = DateTime.Now.Day.ToString("00")
Else
cmbInfo_Day(deviceType).SelectedIndex = 0 ' 첫 번째 항목 선택
End If
Catch ex As Exception
Console.WriteLine("UpdateDayComboBox Error: " & ex.Message)
End Try
End Sub
Private Function GetSelectedDate(deviceType As Integer) As String
Try
If cmbInfo_Year(deviceType) IsNot Nothing AndAlso cmbInfo_Year(deviceType).SelectedItem IsNot Nothing AndAlso
cmbInfo_Month(deviceType) IsNot Nothing AndAlso cmbInfo_Month(deviceType).SelectedItem IsNot Nothing AndAlso
cmbInfo_Day(deviceType) IsNot Nothing AndAlso cmbInfo_Day(deviceType).SelectedItem IsNot Nothing Then
' 2자리 년도를 4자리로 변환 (25 -> 2025)
Dim twoDigitYear As String = cmbInfo_Year(deviceType).SelectedItem.ToString()
Dim fourDigitYear As String = "20" & twoDigitYear
Return fourDigitYear & "-" &
cmbInfo_Month(deviceType).SelectedItem.ToString().PadLeft(2, "0"c) & "-" &
cmbInfo_Day(deviceType).SelectedItem.ToString().PadLeft(2, "0"c)
End If
Return ""
Catch ex As Exception
Console.WriteLine("GetSelectedDate Error: " & ex.Message)
Return ""
End Try
End Function
2025-05-12 10:19:36 +09:00
Private Sub SetFormLoad(Type As FORM_TYPE)
Me.Hide()
Me.Text = PROGRAM_TITLE_NAME
Me.Size = New Size(1936, 1056)
Me.Location = New Size(-8, -8)
FormMaxWidth = Val(Me.Width)
FormMaxHeight = Val(Me.Height)
''메인 패널
pnlMain.Location = New Size(0, 0)
pnlMain.Size = New Size(1915, 1050)
pnlMain.Visible = True
''설정창 패널
pnlConf.Location = New Size(0, 0)
pnlConf.Size = New Size(1915, 1050)
pnlConf.Visible = False
Select Case Type
Case FORM_TYPE.WRITE_MODE
ckbmainprint.Visible = True
''''''''''''''''''''''''''''''''''''''''''''''
''사양 입력 창 그룹박스
''''''''''''''''''''''''''''''''''''''''''''''
gpbInfoSetTitle.Location = New Size(10, 90)
gpbInfoSetTitle.Size = New Size(1895, 125)
gpbInfoSetTitle.Visible = True
pnlLog.Location = New Size(10, 10)
pnlLog.Size = New Size(410, 85)
pnlLog.Visible = False
'gpbTime.Location = New Size(10, 10)
'gpbTime.Size = New Size(525, 85)
'gpbTime.Visible = True
gpbTime.Location = New Size(10, 10)
gpbTime.Size = New Size(335, 85)
gpbTime.Visible = True
gpbProgSet.Location = New Size(350, 10)
gpbProgSet.Size = New Size(360, 85)
gpbProgSet.Visible = True
gpbDeviceUse.Location = New Size(715, 10)
gpbDeviceUse.Size = New Size(455, 85)
gpbDeviceUse.Visible = True
gpbLoadCondition.Location = New Size(1175, 10)
gpbLoadCondition.Size = New Size(455, 85)
gpbLoadCondition.Visible = True
btnReset.Location = New Size(1635, 9)
btnReset.Size = New Size(90, 87)
btnReset.Visible = True
btnSetup.Location = New Size(1725, 9)
btnSetup.Size = New Size(90, 87)
btnSetup.Visible = True
btnSetup.Enabled = True
btnExit.Location = New Size(1815, 9)
btnExit.Size = New Size(90, 87)
btnExit.Visible = True
''''''''''''''''''''''''''''''''''''''''''''''
''판정 창 그룹박스
''''''''''''''''''''''''''''''''''''''''''''''
gpbJudge.Location = New Size(10, 210)
gpbJudge.Size = New Size(1895, 175)
gpbJudge.Visible = True
lblJudge.Location = New Size(340, 50)
lblJudge.Size = New Size(159, 83)
lblJudge.Visible = True
lblJudge.Text = "판정"
txbBarcodeNum.Location = New Size(528, 15)
txbBarcodeNum.Size = New Size(840, 147)
txbBarcodeNum.Visible = True
txbBarcodeNum.Font = New Font("함초롬바탕", 80.24999)
btnCmdInput.Location = New Size(1413, 41)
btnCmdInput.Size = New Size(345, 104)
btnCmdInput.Visible = False
''''''''''''''''''''''''''''''''''''''''''''''
''정보출력창
''''''''''''''''''''''''''''''''''''''''''''''
gpbDeviceInfo.Location = New Size(10, 385)
gpbDeviceInfo.Size = New Size(1895, 460)
gpbDeviceInfo.Visible = True
''정보출력창(Face/Body)
FaceInfoSet_X = 10
FaceInfoSet_Y = 10
gpbFaceInfoSet.Location = New Size(FaceInfoSet_X, FaceInfoSet_Y)
gpbFaceInfoSet.Size = New Size(610, 445)
gpbFaceInfoSet.Visible = True
InfoSet_X(DS_TYPE.DS_FACE) = FaceInfoSet_X
InfoSet_Y(DS_TYPE.DS_FACE) = FaceInfoSet_Y
InfoSet_X(DS_TYPE.DS_BODY) = FaceInfoSet_X
InfoSet_Y(DS_TYPE.DS_BODY) = FaceInfoSet_Y
''정보출력창(Main)
DevInfoSet_X = 640
DevInfoSet_Y = 10
InfoSet_X(DS_TYPE.DS_DEV) = DevInfoSet_X
InfoSet_Y(DS_TYPE.DS_DEV) = DevInfoSet_Y
gpbDevInfoSet.Location = New Size(DevInfoSet_X, DevInfoSet_Y)
gpbDevInfoSet.Size = New Size(610, 445)
gpbDevInfoSet.Visible = True
''정보출력창(Eye)
EyeInfoSet_X = 1270
EyeInfoSet_Y = 10
InfoSet_X(DS_TYPE.DS_EYE) = EyeInfoSet_X
InfoSet_Y(DS_TYPE.DS_EYE) = EyeInfoSet_Y
gpbEyeInfoSet.Location = New Size(EyeInfoSet_X, EyeInfoSet_Y)
gpbEyeInfoSet.Size = New Size(610, 445)
gpbEyeInfoSet.Visible = True
''정보출력 기기정보창(Face)
gpbFaceInfo.Location = New Size(10, 130)
gpbFaceInfo.Size = New Size(589, 360)
gpbFaceInfo.Visible = True
''정보출력 기기정보창(Main)
gpbDevInfo.Location = New Size(10, 130)
gpbDevInfo.Size = New Size(610, 360)
gpbDevInfo.Visible = True
''정보출력 기기정보창(Eye)
gpbEyeInfo.Location = New Size(10, 130)
gpbEyeInfo.Size = New Size(610, 360)
gpbEyeInfo.Visible = True
For i = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
pnlModel(i).Location = New Size(10, 30)
pnlModel(i).Size = New Size(285, 45)
pnlModel(i).Visible = True
pnlManufacture(i).Location = New Size(10, 85)
pnlManufacture(i).Size = New Size(285, 45)
pnlManufacture(i).Visible = True
pnlYearMonth(i).Location = New Size(10, 140)
pnlYearMonth(i).Size = New Size(285, 45)
pnlYearMonth(i).Visible = True
pnlSN(i).Location = New Size(10, 195)
pnlSN(i).Size = New Size(285, 45)
pnlSN(i).Visible = True
pnlTDSN(i).Location = New Size(10, 250)
pnlTDSN(i).Size = New Size(285, 45)
pnlTDSN(i).Visible = True
pnlFW(i).Location = New Size(10, 250)
pnlFW(i).Size = New Size(285, 45)
pnlFW(i).Visible = True
pnlAbroad(i).Location = New Size(300, 30)
pnlAbroad(i).Size = New Size(285, 45)
pnlAbroad(i).Visible = True
pnlAgency(i).Location = New Size(300, 85)
pnlAgency(i).Size = New Size(285, 45)
pnlAgency(i).Visible = True
pnlRshot(i).Location = New Size(300, 140)
pnlRshot(i).Size = New Size(285, 45)
pnlRshot(i).Visible = True
pnlTshot(i).Location = New Size(300, 195)
pnlTshot(i).Size = New Size(285, 45)
pnlTshot(i).Visible = True
pnlFreq(i).Location = New Size(300, 250)
pnlFreq(i).Size = New Size(285, 45)
pnlFreq(i).Visible = False
pnlPower(i).Location = New Size(300, 305)
pnlPower(i).Size = New Size(285, 45)
pnlPower(i).Visible = False
pnlCart(i).Visible = False
pnlDate(i).Visible = False
If cmbInfo_Year(i) IsNot Nothing Then
cmbInfo_Year(i).Items.Clear()
Dim currentYear As Integer = DateTime.Now.Year
For year As Integer = currentYear - 5 To currentYear + 5
' 2자리 년도로 표시 (2025 -> 25)
cmbInfo_Year(i).Items.Add(year.ToString().Substring(2, 2))
Next
' 현재 년도를 2자리로 선택
cmbInfo_Year(i).SelectedItem = currentYear.ToString().Substring(2, 2)
End If
' 월 콤보박스 초기화 (1~12월)
If cmbInfo_Month(i) IsNot Nothing Then
cmbInfo_Month(i).Items.Clear()
For month As Integer = 1 To 12
cmbInfo_Month(i).Items.Add(month.ToString("00"))
Next
cmbInfo_Month(i).SelectedItem = DateTime.Now.Month.ToString("00")
End If
' 일 콤보박스 초기화 (현재 선택된 년월에 맞는 일수로 동적 설정)
If cmbInfo_Day(i) IsNot Nothing Then
UpdateDayComboBox(i)
End If
''=== 콤보박스 이벤트 핸들러 연결 ===
If cmbInfo_Year(i) IsNot Nothing Then
AddHandler cmbInfo_Year(i).SelectedIndexChanged, AddressOf DateComboBox_SelectedIndexChanged
End If
If cmbInfo_Month(i) IsNot Nothing Then
AddHandler cmbInfo_Month(i).SelectedIndexChanged, AddressOf DateComboBox_SelectedIndexChanged
End If
If cmbInfo_Day(i) IsNot Nothing Then
AddHandler cmbInfo_Day(i).SelectedIndexChanged, AddressOf DateComboBox_SelectedIndexChanged
End If
2025-05-12 10:19:36 +09:00
Next
pnlDevTDSN.Visible = False
pnlDevPower.Visible = False
pnlDevFreq.Visible = False
pnlFaceFW.Visible = False
pnlFacePower.Visible = False
pnlFaceFreq.Visible = False
pnlEyeFW.Visible = False
pnlEyePower.Visible = False
pnlEyeFreq.Visible = False
''''''''''''''''''''''''''''''''''''''''''''''
''생산수량카운터창
''''''''''''''''''''''''''''''''''''''''''''''
gpbOKCnt.Location = New Size(20, 860)
gpbOKCnt.Size = New Size(925, 140)
gpbOKCnt.Visible = True
''실행버튼
btnCmdStart.Size = New Size(925, 140)
btnCmdStart.Location = New Size(965, 860)
btnCmdStart.Visible = True
btnCmdStart.Enabled = False
UsedSerial = True
TextBoxAllReset()
Download_CountInfo()
Case FORM_TYPE.READ_MODE
''사양 입력 창 그룹박스
ckbmainprint.Visible = False
gpbInfoSetTitle.Visible = False
pnlLog.Location = New Size(10, 10)
pnlLog.Size = New Size(410, 80)
pnlLog.Visible = True
gpbTime.Location = New Size(425, 10)
gpbTime.Size = New Size(530, 80)
gpbTime.Visible = True
gpbProgSet.Location = New Size(960, 10)
gpbProgSet.Size = New Size(460, 80)
gpbProgSet.Visible = True
chkBarcode.Location = New Size(30, 40)
chkBarcode.Size = New Size(154, 28)
ckbReserved.Location = New Size(200, 40)
ckbReserved.Size = New Size(238, 28)
ckbReserved.Enabled = False
ckbReserved.Visible = True
gpbDeviceUse.Visible = False
gpbLoadCondition.Visible = False
btnReset.Visible = False
btnSetup.Location = New Size(1428, 9)
btnSetup.Size = New Size(238, 82)
btnSetup.Visible = True
btnSetup.Enabled = False
btnExit.Location = New Size(1668, 9)
btnExit.Size = New Size(238, 82)
btnExit.Visible = True
''판정 창 그룹박스
gpbJudge.Location = New Size(10, 90)
gpbJudge.Size = New Size(1895, 130)
gpbJudge.Visible = True
lblJudge.Location = New Size(300, 27)
lblJudge.Size = New Size(159, 83)
lblJudge.Visible = True
lblJudge.Text = "바코드"
txbBarcodeNum.Location = New Size(528, 15)
txbBarcodeNum.Size = New Size(840, 105)
txbBarcodeNum.Visible = True
txbBarcodeNum.Font = New Font("함초롬바탕", 56.25)
btnCmdInput.Location = New Size(1413, 17)
btnCmdInput.Size = New Size(345, 104)
btnCmdInput.Visible = False
''정보출력창
gpbDeviceInfo.Location = New Size(10, 220)
gpbDeviceInfo.Size = New Size(1895, 785) '1895, 460
gpbDeviceInfo.Visible = True
''정보출력창(Face/Body)
FaceInfoSet_X = 10
FaceInfoSet_Y = 10
InfoSet_X(DS_TYPE.DS_FACE) = FaceInfoSet_X
InfoSet_Y(DS_TYPE.DS_FACE) = FaceInfoSet_Y
InfoSet_X(DS_TYPE.DS_BODY) = FaceInfoSet_X
InfoSet_Y(DS_TYPE.DS_BODY) = FaceInfoSet_Y
gpbFaceInfoSet.Location = New Size(FaceInfoSet_X, FaceInfoSet_Y)
gpbFaceInfoSet.Size = New Size(610, 770)
gpbFaceInfoSet.Visible = True
''정보출력창(Main)
DevInfoSet_X = 640
DevInfoSet_Y = 10
InfoSet_X(DS_TYPE.DS_DEV) = DevInfoSet_X
InfoSet_Y(DS_TYPE.DS_DEV) = DevInfoSet_Y
gpbDevInfoSet.Location = New Size(DevInfoSet_X, DevInfoSet_Y)
gpbDevInfoSet.Size = New Size(610, 770)
gpbDevInfoSet.Visible = True
''정보출력창(Eye)
EyeInfoSet_X = 1270
EyeInfoSet_Y = 10
InfoSet_X(DS_TYPE.DS_EYE) = EyeInfoSet_X
InfoSet_Y(DS_TYPE.DS_EYE) = EyeInfoSet_Y
gpbEyeInfoSet.Location = New Size(EyeInfoSet_X, EyeInfoSet_Y)
gpbEyeInfoSet.Size = New Size(610, 770)
gpbEyeInfoSet.Visible = True
''정보출력 기기정보창(Face)
gpbFaceInfo.Location = New Size(10, 120)
gpbFaceInfo.Size = New Size(589, 255)
gpbFaceInfo.Visible = True
''정보출력 기기정보창(Main)
gpbDevInfo.Location = New Size(10, 120)
gpbDevInfo.Size = New Size(589, 255)
gpbDevInfo.Visible = True
''정보출력 기기정보창(Eye)
gpbEyeInfo.Location = New Size(10, 120)
gpbEyeInfo.Size = New Size(589, 255)
gpbEyeInfo.Visible = True
For i = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
pnlModel(i).Location = New Size(10, 25)
pnlModel(i).Size = New Size(285, 45)
pnlModel(i).Visible = True
pnlManufacture(i).Location = New Size(10, 70)
pnlManufacture(i).Size = New Size(285, 45)
pnlManufacture(i).Visible = True
pnlYearMonth(i).Location = New Size(10, 115)
pnlYearMonth(i).Size = New Size(285, 45)
pnlYearMonth(i).Visible = True
pnlSN(i).Location = New Size(10, 160)
pnlSN(i).Size = New Size(285, 45)
pnlSN(i).Visible = True
pnlDate(i).Location = New Size(10, 205)
pnlDate(i).Size = New Size(285, 45)
pnlDate(i).Visible = True
pnlCart(i).Location = New Size(300, 25)
pnlCart(i).Size = New Size(285, 45)
pnlCart(i).Visible = True
pnlAbroad(i).Location = New Size(300, 70)
pnlAbroad(i).Size = New Size(285, 45)
pnlAbroad(i).Visible = True
pnlAgency(i).Location = New Size(300, 115)
pnlAgency(i).Size = New Size(285, 45)
pnlAgency(i).Visible = True
pnlRshot(i).Location = New Size(300, 160)
pnlRshot(i).Size = New Size(285, 45)
pnlRshot(i).Visible = True
pnlTshot(i).Location = New Size(300, 205)
pnlTshot(i).Size = New Size(285, 45)
pnlTshot(i).Visible = True
pnlTDSN(i).Visible = False
pnlFW(i).Visible = False
pnlPower(i).Visible = False
pnlFreq(i).Visible = False
gpbAgingInfo(i).Location = New Size(10, 385)
gpbAgingInfo(i).Size = New Size(589, 165)
gpbAgingInfo(i).Visible = True
gpbCTInfo(i).Location = New Size(10, 560)
gpbCTInfo(i).Size = New Size(589, 80)
gpbCTInfo(i).Visible = True
gpbIQCInfo(i).Location = New Size(10, 650)
gpbIQCInfo(i).Size = New Size(589, 120)
gpbIQCInfo(i).Visible = True
Next
gpbFaceInfo.BackColor = Color.Silver
gpbEyeInfo.BackColor = Color.Silver
pnlFW(DS_TYPE.DS_DEV).Location = New Size(10, 160)
pnlFW(DS_TYPE.DS_DEV).Size = New Size(285, 45)
pnlFW(DS_TYPE.DS_DEV).Visible = True
pnlRshot(DS_TYPE.DS_DEV).Visible = False
pnlTshot(DS_TYPE.DS_DEV).Visible = False
PanelFaceDate.Visible = False
PanelDevDate.Visible = False
PanelEyeDate.Visible = False
2025-05-12 10:19:36 +09:00
''생산수량카운터창
gpbOKCnt.Visible = False
''실행버튼
btnCmdStart.Visible = False
ReadModeTextBoxAllReset()
Case FORM_TYPE.READ_DETIL_MODE
End Select
'Me.WindowState = FormWindowState.Maximized
Me.Show()
Me.Refresh()
End Sub
Private Sub SetVariableBinding()
ResultTextBoxList(DS_TYPE.DS_DEV, 0) = txbInfo_DevBarcord
ResultTextBoxList(DS_TYPE.DS_DEV, 1) = txbInfo_DevManufacture
ResultTextBoxList(DS_TYPE.DS_DEV, 2) = txbInfo_DevSN
ResultTextBoxList(DS_TYPE.DS_DEV, 3) = txbInfo_DevModel
ResultTextBoxList(DS_TYPE.DS_DEV, 4) = txbInfo_DevAbroad
ResultTextBoxList(DS_TYPE.DS_DEV, 5) = txbInfo_DevAgency
ResultTextBoxList(DS_TYPE.DS_DEV, 6) = txbInfo_DevRshot
ResultTextBoxList(DS_TYPE.DS_DEV, 7) = txbInfo_DevTshot
ResultTextBoxList(DS_TYPE.DS_DEV, 8) = txbInfo_DevYear
ResultTextBoxList(DS_TYPE.DS_DEV, 9) = txbInfo_DevMonth
ResultTextBoxList(DS_TYPE.DS_FACE, 0) = txbInfo_FaceBarcord
ResultTextBoxList(DS_TYPE.DS_FACE, 1) = txbInfo_FaceManufacture
ResultTextBoxList(DS_TYPE.DS_FACE, 2) = txbInfo_FaceSN
ResultTextBoxList(DS_TYPE.DS_FACE, 3) = txbInfo_FaceModel
ResultTextBoxList(DS_TYPE.DS_FACE, 4) = txbInfo_FaceAbroad
ResultTextBoxList(DS_TYPE.DS_FACE, 5) = txbInfo_FaceAgency
ResultTextBoxList(DS_TYPE.DS_FACE, 6) = txbInfo_FaceRshot
ResultTextBoxList(DS_TYPE.DS_FACE, 7) = txbInfo_FaceTshot
ResultTextBoxList(DS_TYPE.DS_FACE, 8) = txbInfo_FaceYear
ResultTextBoxList(DS_TYPE.DS_FACE, 9) = txbInfo_FaceMonth
ResultTextBoxList(DS_TYPE.DS_EYE, 0) = txbInfo_EyeBarcord
ResultTextBoxList(DS_TYPE.DS_EYE, 1) = txbInfo_EyeManufacture
ResultTextBoxList(DS_TYPE.DS_EYE, 2) = txbInfo_EyeSN
ResultTextBoxList(DS_TYPE.DS_EYE, 3) = txbInfo_EyeModel
ResultTextBoxList(DS_TYPE.DS_EYE, 4) = txbInfo_EyeAbroad
ResultTextBoxList(DS_TYPE.DS_EYE, 5) = txbInfo_EyeAgency
ResultTextBoxList(DS_TYPE.DS_EYE, 6) = txbInfo_EyeRshot
ResultTextBoxList(DS_TYPE.DS_EYE, 7) = txbInfo_EyeTshot
ResultTextBoxList(DS_TYPE.DS_EYE, 8) = txbInfo_EyeYear
ResultTextBoxList(DS_TYPE.DS_EYE, 9) = txbInfo_EyeMonth
ResultTextBoxList(DS_TYPE.DS_BODY, 0) = txbInfo_FaceBarcord
ResultTextBoxList(DS_TYPE.DS_BODY, 1) = txbInfo_FaceManufacture
ResultTextBoxList(DS_TYPE.DS_BODY, 2) = txbInfo_FaceSN
ResultTextBoxList(DS_TYPE.DS_BODY, 3) = txbInfo_FaceModel
ResultTextBoxList(DS_TYPE.DS_BODY, 4) = txbInfo_FaceAbroad
ResultTextBoxList(DS_TYPE.DS_BODY, 5) = txbInfo_FaceAgency
ResultTextBoxList(DS_TYPE.DS_BODY, 6) = txbInfo_FaceRshot
ResultTextBoxList(DS_TYPE.DS_BODY, 7) = txbInfo_FaceTshot
ResultTextBoxList(DS_TYPE.DS_BODY, 8) = txbInfo_FaceYear
ResultTextBoxList(DS_TYPE.DS_BODY, 9) = txbInfo_FaceMonth
gpbInfoSet(DS_TYPE.DS_DEV) = gpbDevInfoSet
gpbInfoSet(DS_TYPE.DS_FACE) = gpbFaceInfoSet
gpbInfoSet(DS_TYPE.DS_EYE) = gpbEyeInfoSet
gpbInfoSet(DS_TYPE.DS_BODY) = gpbFaceInfoSet
chkDeviceUse(DS_TYPE.DS_DEV) = chkDevUse
chkDeviceUse(DS_TYPE.DS_FACE) = chkFaceUse
chkDeviceUse(DS_TYPE.DS_EYE) = chkEyeUse
chkDeviceUse(DS_TYPE.DS_BODY) = chkBodyUse
txbInfo_Barcord(DS_TYPE.DS_DEV) = txbInfo_DevBarcord
txbInfo_Barcord(DS_TYPE.DS_FACE) = txbInfo_FaceBarcord
txbInfo_Barcord(DS_TYPE.DS_EYE) = txbInfo_EyeBarcord
txbInfo_Barcord(DS_TYPE.DS_BODY) = txbInfo_FaceBarcord
txbInfo_Model(DS_TYPE.DS_DEV) = txbInfo_DevModel
txbInfo_Model(DS_TYPE.DS_FACE) = txbInfo_FaceModel
txbInfo_Model(DS_TYPE.DS_EYE) = txbInfo_EyeModel
txbInfo_Model(DS_TYPE.DS_BODY) = txbInfo_FaceModel
txbInfo_Cart(DS_TYPE.DS_DEV) = txbInfo_DevCart
txbInfo_Cart(DS_TYPE.DS_FACE) = txbInfo_FaceCart
txbInfo_Cart(DS_TYPE.DS_EYE) = txbInfo_EyeCart
txbInfo_Cart(DS_TYPE.DS_BODY) = txbInfo_FaceCart
txbInfo_Date(DS_TYPE.DS_DEV) = txbInfo_DevDate
txbInfo_Date(DS_TYPE.DS_FACE) = txbInfo_FaceDate
txbInfo_Date(DS_TYPE.DS_EYE) = txbInfo_EyeDate
txbInfo_Date(DS_TYPE.DS_BODY) = txbInfo_FaceDate
txbInfo_Manufacture(DS_TYPE.DS_DEV) = txbInfo_DevManufacture
txbInfo_Manufacture(DS_TYPE.DS_FACE) = txbInfo_FaceManufacture
txbInfo_Manufacture(DS_TYPE.DS_EYE) = txbInfo_EyeManufacture
txbInfo_Manufacture(DS_TYPE.DS_BODY) = txbInfo_FaceManufacture
txbInfo_Year(DS_TYPE.DS_DEV) = txbInfo_DevYear
txbInfo_Year(DS_TYPE.DS_FACE) = txbInfo_FaceYear
txbInfo_Year(DS_TYPE.DS_EYE) = txbInfo_EyeYear
txbInfo_Year(DS_TYPE.DS_BODY) = txbInfo_FaceYear
txbInfo_Month(DS_TYPE.DS_DEV) = txbInfo_DevMonth
txbInfo_Month(DS_TYPE.DS_FACE) = txbInfo_FaceMonth
txbInfo_Month(DS_TYPE.DS_EYE) = txbInfo_EyeMonth
txbInfo_Month(DS_TYPE.DS_BODY) = txbInfo_FaceMonth
txbInfo_SN(DS_TYPE.DS_DEV) = txbInfo_DevSN
txbInfo_SN(DS_TYPE.DS_FACE) = txbInfo_FaceSN
txbInfo_SN(DS_TYPE.DS_EYE) = txbInfo_EyeSN
txbInfo_SN(DS_TYPE.DS_BODY) = txbInfo_FaceSN
txbInfo_FW(DS_TYPE.DS_DEV) = txbInfo_DevFW
txbInfo_FW(DS_TYPE.DS_FACE) = txbInfo_FaceFW
txbInfo_FW(DS_TYPE.DS_EYE) = txbInfo_EyeFW
txbInfo_FW(DS_TYPE.DS_BODY) = txbInfo_FaceFW
txbInfo_Abroad(DS_TYPE.DS_DEV) = txbInfo_DevAbroad
txbInfo_Abroad(DS_TYPE.DS_FACE) = txbInfo_FaceAbroad
txbInfo_Abroad(DS_TYPE.DS_EYE) = txbInfo_EyeAbroad
txbInfo_Abroad(DS_TYPE.DS_BODY) = txbInfo_FaceAbroad
txbInfo_Agency(DS_TYPE.DS_DEV) = txbInfo_DevAgency
txbInfo_Agency(DS_TYPE.DS_FACE) = txbInfo_FaceAgency
txbInfo_Agency(DS_TYPE.DS_EYE) = txbInfo_EyeAgency
txbInfo_Agency(DS_TYPE.DS_BODY) = txbInfo_FaceAgency
txbInfo_TDSN(DS_TYPE.DS_DEV) = txbInfo_DevTDSN
txbInfo_TDSN(DS_TYPE.DS_FACE) = txbInfo_FaceTDSN
txbInfo_TDSN(DS_TYPE.DS_EYE) = txbInfo_EyeTDSN
txbInfo_TDSN(DS_TYPE.DS_BODY) = txbInfo_FaceTDSN
txbInfo_Rshot(DS_TYPE.DS_DEV) = txbInfo_DevRshot
txbInfo_Rshot(DS_TYPE.DS_FACE) = txbInfo_FaceRshot
txbInfo_Rshot(DS_TYPE.DS_EYE) = txbInfo_EyeRshot
txbInfo_Rshot(DS_TYPE.DS_BODY) = txbInfo_FaceRshot
txbInfo_Tshot(DS_TYPE.DS_DEV) = txbInfo_DevTshot
txbInfo_Tshot(DS_TYPE.DS_FACE) = txbInfo_FaceTshot
txbInfo_Tshot(DS_TYPE.DS_EYE) = txbInfo_EyeTshot
txbInfo_Tshot(DS_TYPE.DS_BODY) = txbInfo_FaceTshot
txbInfo_Freq(DS_TYPE.DS_DEV) = txbInfo_DevFreq
txbInfo_Freq(DS_TYPE.DS_FACE) = txbInfo_FaceFreq
txbInfo_Freq(DS_TYPE.DS_EYE) = txbInfo_EyeFreq
txbInfo_Freq(DS_TYPE.DS_BODY) = txbInfo_FaceFreq
txbInfo_Power(DS_TYPE.DS_DEV) = txbInfo_DevPower
txbInfo_Power(DS_TYPE.DS_FACE) = txbInfo_FacePower
txbInfo_Power(DS_TYPE.DS_EYE) = txbInfo_EyePower
txbInfo_Power(DS_TYPE.DS_BODY) = txbInfo_FacePower
lblInfo_Model(DS_TYPE.DS_DEV) = lblInfo_DevModel
lblInfo_Model(DS_TYPE.DS_FACE) = lblInfo_FaceModel
lblInfo_Model(DS_TYPE.DS_EYE) = lblInfo_EyeModel
lblInfo_Model(DS_TYPE.DS_BODY) = lblInfo_FaceModel
lblInfo_YearMonth(DS_TYPE.DS_DEV) = lblInfo_DevYearMonth
lblInfo_YearMonth(DS_TYPE.DS_FACE) = lblInfo_FaceYearMonth
lblInfo_YearMonth(DS_TYPE.DS_EYE) = lblInfo_EyeYearMonth
lblInfo_YearMonth(DS_TYPE.DS_BODY) = lblInfo_FaceYearMonth
lblInfo_Year(DS_TYPE.DS_DEV) = lblInfo_DevYear
lblInfo_Year(DS_TYPE.DS_FACE) = lblInfo_FaceYear
lblInfo_Year(DS_TYPE.DS_EYE) = lblInfo_EyeYear
lblInfo_Year(DS_TYPE.DS_BODY) = lblInfo_FaceYear
lblInfo_Month(DS_TYPE.DS_DEV) = lblInfo_DevMonth
lblInfo_Month(DS_TYPE.DS_FACE) = lblInfo_FaceMonth
lblInfo_Month(DS_TYPE.DS_EYE) = lblInfo_EyeMonth
lblInfo_Month(DS_TYPE.DS_BODY) = lblInfo_FaceMonth
lblInfo_SN(DS_TYPE.DS_DEV) = lblInfo_DevSN
lblInfo_SN(DS_TYPE.DS_FACE) = lblInfo_FaceSN
lblInfo_SN(DS_TYPE.DS_EYE) = lblInfo_EyeSN
lblInfo_SN(DS_TYPE.DS_BODY) = lblInfo_FaceSN
pnlModel(DS_TYPE.DS_DEV) = pnlDevModel
pnlModel(DS_TYPE.DS_FACE) = pnlFaceModel
pnlModel(DS_TYPE.DS_EYE) = pnlEyeModel
pnlModel(DS_TYPE.DS_BODY) = pnlFaceModel
pnlCart(DS_TYPE.DS_DEV) = pnlDevCart
pnlCart(DS_TYPE.DS_FACE) = pnlFaceCart
pnlCart(DS_TYPE.DS_EYE) = pnlEyeCart
pnlCart(DS_TYPE.DS_BODY) = pnlFaceCart
pnlDate(DS_TYPE.DS_DEV) = pnlDevDate
pnlDate(DS_TYPE.DS_FACE) = pnlFaceDate
pnlDate(DS_TYPE.DS_EYE) = pnlEyeDate
pnlDate(DS_TYPE.DS_BODY) = pnlFaceDate
pnlManufacture(DS_TYPE.DS_DEV) = pnlDevManufacture
pnlManufacture(DS_TYPE.DS_FACE) = pnlFaceManufacture
pnlManufacture(DS_TYPE.DS_EYE) = pnlEyeManufacture
pnlManufacture(DS_TYPE.DS_BODY) = pnlFaceManufacture
pnlYearMonth(DS_TYPE.DS_DEV) = pnlDevYearMonth
pnlYearMonth(DS_TYPE.DS_FACE) = pnlFaceYearMonth
pnlYearMonth(DS_TYPE.DS_EYE) = pnlEyeYearMonth
pnlYearMonth(DS_TYPE.DS_BODY) = pnlFaceYearMonth
pnlSN(DS_TYPE.DS_DEV) = pnlDevSN
pnlSN(DS_TYPE.DS_FACE) = pnlFaceSN
pnlSN(DS_TYPE.DS_EYE) = pnlEyeSN
pnlSN(DS_TYPE.DS_BODY) = pnlFaceSN
pnlTDSN(DS_TYPE.DS_DEV) = pnlDevTDSN
pnlTDSN(DS_TYPE.DS_FACE) = pnlFaceTDSN
pnlTDSN(DS_TYPE.DS_EYE) = pnlEyeTDSN
pnlTDSN(DS_TYPE.DS_BODY) = pnlFaceTDSN
pnlFW(DS_TYPE.DS_DEV) = pnlDevFW
pnlFW(DS_TYPE.DS_FACE) = pnlFaceFW
pnlFW(DS_TYPE.DS_EYE) = pnlEyeFW
pnlFW(DS_TYPE.DS_BODY) = pnlFaceFW
pnlAbroad(DS_TYPE.DS_DEV) = pnlDevAbroad
pnlAbroad(DS_TYPE.DS_FACE) = pnlFaceAbroad
pnlAbroad(DS_TYPE.DS_EYE) = pnlEyeAbroad
pnlAbroad(DS_TYPE.DS_BODY) = pnlFaceAbroad
pnlAgency(DS_TYPE.DS_DEV) = pnlDevAgency
pnlAgency(DS_TYPE.DS_FACE) = pnlFaceAgency
pnlAgency(DS_TYPE.DS_EYE) = pnlEyeAgency
pnlAgency(DS_TYPE.DS_BODY) = pnlFaceAgency
pnlRshot(DS_TYPE.DS_DEV) = pnlDevRshot
pnlRshot(DS_TYPE.DS_FACE) = pnlFaceRshot
pnlRshot(DS_TYPE.DS_EYE) = pnlEyeRshot
pnlRshot(DS_TYPE.DS_BODY) = pnlFaceRshot
pnlTshot(DS_TYPE.DS_DEV) = pnlDevTshot
pnlTshot(DS_TYPE.DS_FACE) = pnlFaceTshot
pnlTshot(DS_TYPE.DS_EYE) = pnlEyeTshot
pnlTshot(DS_TYPE.DS_BODY) = pnlFaceTshot
pnlFreq(DS_TYPE.DS_DEV) = pnlDevFreq
pnlFreq(DS_TYPE.DS_FACE) = pnlFaceFreq
pnlFreq(DS_TYPE.DS_EYE) = pnlEyeFreq
pnlFreq(DS_TYPE.DS_BODY) = pnlFaceFreq
pnlPower(DS_TYPE.DS_DEV) = pnlDevPower
pnlPower(DS_TYPE.DS_FACE) = pnlFacePower
pnlPower(DS_TYPE.DS_EYE) = pnlEyePower
pnlPower(DS_TYPE.DS_BODY) = pnlFacePower
txbProductCntPro(1) = txbProductCntPS
txbProductCntPro(2) = txbProductCntPF
txbProductCntPro(3) = txbProductCntPE
txbProductCntPro(4) = txbProductCntPB
txbProductCntLux(1) = txbProductCntLS
txbProductCntLux(2) = txbProductCntLF
txbProductCntLux(3) = txbProductCntLE
txbProductCntLux(4) = txbProductCntLB
ItemSelectItem(1) = ItemSelectItem01
ItemSelectItem(2) = ItemSelectItem02
ItemSelectItem(3) = ItemSelectItem03
ItemSelectItem(4) = ItemSelectItem04
ItemSelectItem(5) = ItemSelectItem05
ItemSelectItem(6) = ItemSelectItem06
ItemSelectItem(7) = ItemSelectItem07
ItemSelectItem(8) = ItemSelectItem08
ItemSelectItem(9) = ItemSelectItem09
ItemSelectItem(10) = ItemSelectItem10
ItemSelectItem(11) = ItemSelectItem11
ItemSelectItem(12) = ItemSelectItem12
ItemSelectItem(13) = ItemSelectItem13
ItemSelectItem(14) = ItemSelectItem14
ItemSelectItem(15) = ItemSelectItem15
txbItemSelectModel(1) = txbItemSelectModel01
txbItemSelectModel(2) = txbItemSelectModel02
txbItemSelectModel(3) = txbItemSelectModel03
txbItemSelectModel(4) = txbItemSelectModel04
txbItemSelectModel(5) = txbItemSelectModel05
txbItemSelectModel(6) = txbItemSelectModel06
txbItemSelectModel(7) = txbItemSelectModel07
txbItemSelectModel(8) = txbItemSelectModel08
txbItemSelectModel(9) = txbItemSelectModel09
txbItemSelectModel(10) = txbItemSelectModel10
txbItemSelectModel(11) = txbItemSelectModel11
txbItemSelectModel(12) = txbItemSelectModel12
txbItemSelectModel(13) = txbItemSelectModel13
txbItemSelectModel(14) = txbItemSelectModel14
txbItemSelectModel(15) = txbItemSelectModel15
ItemSelectFace(1) = ItemSelectFace01
ItemSelectFace(2) = ItemSelectFace02
ItemSelectFace(3) = ItemSelectFace03
ItemSelectFace(4) = ItemSelectFace04
ItemSelectFace(5) = ItemSelectFace05
ItemSelectFace(6) = ItemSelectFace06
ItemSelectFace(7) = ItemSelectFace07
ItemSelectFace(8) = ItemSelectFace08
ItemSelectFace(9) = ItemSelectFace09
ItemSelectFace(10) = ItemSelectFace10
ItemSelectFace(11) = ItemSelectFace11
ItemSelectFace(12) = ItemSelectFace12
ItemSelectFace(13) = ItemSelectFace13
ItemSelectFace(14) = ItemSelectFace14
ItemSelectFace(15) = ItemSelectFace15
ItemSelectEye(1) = ItemSelectEye01
ItemSelectEye(2) = ItemSelectEye02
ItemSelectEye(3) = ItemSelectEye03
ItemSelectEye(4) = ItemSelectEye04
ItemSelectEye(5) = ItemSelectEye05
ItemSelectEye(6) = ItemSelectEye06
ItemSelectEye(7) = ItemSelectEye07
ItemSelectEye(8) = ItemSelectEye08
ItemSelectEye(9) = ItemSelectEye09
ItemSelectEye(10) = ItemSelectEye10
ItemSelectEye(11) = ItemSelectEye11
ItemSelectEye(12) = ItemSelectEye12
ItemSelectEye(13) = ItemSelectEye13
ItemSelectEye(14) = ItemSelectEye14
ItemSelectEye(15) = ItemSelectEye15
ItemSelectAbroad(1) = ItemSelectAbroad01
ItemSelectAbroad(2) = ItemSelectAbroad02
ItemSelectAbroad(3) = ItemSelectAbroad03
ItemSelectAbroad(4) = ItemSelectAbroad04
ItemSelectAbroad(5) = ItemSelectAbroad05
ItemSelectAbroad(6) = ItemSelectAbroad06
ItemSelectAbroad(7) = ItemSelectAbroad07
ItemSelectAbroad(8) = ItemSelectAbroad08
ItemSelectAbroad(9) = ItemSelectAbroad09
ItemSelectAbroad(10) = ItemSelectAbroad10
ItemSelectAbroad(11) = ItemSelectAbroad11
ItemSelectAbroad(12) = ItemSelectAbroad12
ItemSelectAbroad(13) = ItemSelectAbroad13
ItemSelectAbroad(14) = ItemSelectAbroad14
ItemSelectAbroad(15) = ItemSelectAbroad15
ItemSelectAgency(1) = ItemSelectAgency01
ItemSelectAgency(2) = ItemSelectAgency02
ItemSelectAgency(3) = ItemSelectAgency03
ItemSelectAgency(4) = ItemSelectAgency04
ItemSelectAgency(5) = ItemSelectAgency05
ItemSelectAgency(6) = ItemSelectAgency06
ItemSelectAgency(7) = ItemSelectAgency07
ItemSelectAgency(8) = ItemSelectAgency08
ItemSelectAgency(9) = ItemSelectAgency09
ItemSelectAgency(10) = ItemSelectAgency10
ItemSelectAgency(11) = ItemSelectAgency11
ItemSelectAgency(12) = ItemSelectAgency12
ItemSelectAgency(13) = ItemSelectAgency13
ItemSelectAgency(14) = ItemSelectAgency14
ItemSelectAgency(15) = ItemSelectAgency15
gpbAgingInfo(DS_TYPE.DS_DEV) = gpbFaceAgingInfo
gpbAgingInfo(DS_TYPE.DS_FACE) = gpbFaceAgingInfo
gpbAgingInfo(DS_TYPE.DS_EYE) = gpbEyeAgingInfo
gpbAgingInfo(DS_TYPE.DS_BODY) = gpbFaceAgingInfo
gpbCTInfo(DS_TYPE.DS_DEV) = gpbFaceCTInfo
gpbCTInfo(DS_TYPE.DS_FACE) = gpbFaceCTInfo
gpbCTInfo(DS_TYPE.DS_EYE) = gpbEyeCTInfo
gpbCTInfo(DS_TYPE.DS_BODY) = gpbFaceCTInfo
gpbIQCInfo(DS_TYPE.DS_DEV) = gpbFaceIQCInfo
gpbIQCInfo(DS_TYPE.DS_FACE) = gpbFaceIQCInfo
gpbIQCInfo(DS_TYPE.DS_EYE) = gpbEyeIQCInfo
gpbIQCInfo(DS_TYPE.DS_BODY) = gpbFaceIQCInfo
txbInfo_AGDate(DS_TYPE.DS_DEV) = txbInfo_FaceAGDate
txbInfo_AGDate(DS_TYPE.DS_FACE) = txbInfo_FaceAGDate
txbInfo_AGDate(DS_TYPE.DS_EYE) = txbInfo_EyeAGDate
txbInfo_AGDate(DS_TYPE.DS_BODY) = txbInfo_FaceAGDate
txbInfo_AGShot(DS_TYPE.DS_DEV) = txbInfo_FaceAGShot
txbInfo_AGShot(DS_TYPE.DS_FACE) = txbInfo_FaceAGShot
txbInfo_AGShot(DS_TYPE.DS_EYE) = txbInfo_EyeAGShot
txbInfo_AGShot(DS_TYPE.DS_BODY) = txbInfo_FaceAGShot
txbInfo_AGStart(DS_TYPE.DS_DEV) = txbInfo_FaceAGStart
txbInfo_AGStart(DS_TYPE.DS_FACE) = txbInfo_FaceAGStart
txbInfo_AGStart(DS_TYPE.DS_EYE) = txbInfo_EyeAGStart
txbInfo_AGStart(DS_TYPE.DS_BODY) = txbInfo_FaceAGStart
txbInfo_AGOkNg(DS_TYPE.DS_DEV) = txbInfo_FaceAGOkNg
txbInfo_AGOkNg(DS_TYPE.DS_FACE) = txbInfo_FaceAGOkNg
txbInfo_AGOkNg(DS_TYPE.DS_EYE) = txbInfo_EyeAGOkNg
txbInfo_AGOkNg(DS_TYPE.DS_BODY) = txbInfo_FaceAGOkNg
txbInfo_AGPower(DS_TYPE.DS_DEV) = txbInfo_FaceAGPower
txbInfo_AGPower(DS_TYPE.DS_FACE) = txbInfo_FaceAGPower
txbInfo_AGPower(DS_TYPE.DS_EYE) = txbInfo_EyeAGPower
txbInfo_AGPower(DS_TYPE.DS_BODY) = txbInfo_FaceAGPower
txbInfo_AGEnd(DS_TYPE.DS_DEV) = txbInfo_FaceAGEnd
txbInfo_AGEnd(DS_TYPE.DS_FACE) = txbInfo_FaceAGEnd
txbInfo_AGEnd(DS_TYPE.DS_EYE) = txbInfo_EyeAGEnd
txbInfo_AGEnd(DS_TYPE.DS_BODY) = txbInfo_FaceAGEnd
txbInfo_CTDate(DS_TYPE.DS_DEV) = txbInfo_FaceCTDate
txbInfo_CTDate(DS_TYPE.DS_FACE) = txbInfo_FaceCTDate
txbInfo_CTDate(DS_TYPE.DS_EYE) = txbInfo_EyeCTDate
txbInfo_CTDate(DS_TYPE.DS_BODY) = txbInfo_FaceCTDate
txbInfo_CTFreq(DS_TYPE.DS_DEV) = txbInfo_FaceCTFreq
txbInfo_CTFreq(DS_TYPE.DS_FACE) = txbInfo_FaceCTFreq
txbInfo_CTFreq(DS_TYPE.DS_EYE) = txbInfo_EyeCTFreq
txbInfo_CTFreq(DS_TYPE.DS_BODY) = txbInfo_FaceCTFreq
txbInfo_IQCGrade(DS_TYPE.DS_DEV) = txbInfo_FaceIQCGrade
txbInfo_IQCGrade(DS_TYPE.DS_FACE) = txbInfo_FaceIQCGrade
txbInfo_IQCGrade(DS_TYPE.DS_EYE) = txbInfo_EyeIQCGrade
txbInfo_IQCGrade(DS_TYPE.DS_BODY) = txbInfo_FaceIQCGrade
txbInfo_IQCDate(DS_TYPE.DS_DEV) = txbInfo_FaceIQCDate
txbInfo_IQCDate(DS_TYPE.DS_FACE) = txbInfo_FaceIQCDate
txbInfo_IQCDate(DS_TYPE.DS_EYE) = txbInfo_EyeIQCDate
txbInfo_IQCDate(DS_TYPE.DS_BODY) = txbInfo_FaceIQCDate
txbInfo_IQCTD(DS_TYPE.DS_DEV) = txbInfo_FaceIQCTD
txbInfo_IQCTD(DS_TYPE.DS_FACE) = txbInfo_FaceIQCTD
txbInfo_IQCTD(DS_TYPE.DS_EYE) = txbInfo_EyeIQCTD
txbInfo_IQCTD(DS_TYPE.DS_BODY) = txbInfo_FaceIQCTD
txbInfo_IQCCap(DS_TYPE.DS_DEV) = txbInfo_FaceIQCCap
txbInfo_IQCCap(DS_TYPE.DS_FACE) = txbInfo_FaceIQCCap
txbInfo_IQCCap(DS_TYPE.DS_EYE) = txbInfo_EyeIQCCap
txbInfo_IQCCap(DS_TYPE.DS_BODY) = txbInfo_FaceIQCCap
''=== 년월일 콤보박스 바인딩 ===
cmbInfo_Year(DS_TYPE.DS_DEV) = cmbInfo_DevYear
cmbInfo_Year(DS_TYPE.DS_FACE) = cmbInfo_FaceYear
cmbInfo_Year(DS_TYPE.DS_EYE) = cmbInfo_EyeYear
cmbInfo_Year(DS_TYPE.DS_BODY) = cmbInfo_FaceYear
cmbInfo_Month(DS_TYPE.DS_DEV) = cmbInfo_DevMonth
cmbInfo_Month(DS_TYPE.DS_FACE) = cmbInfo_FaceMonth
cmbInfo_Month(DS_TYPE.DS_EYE) = cmbInfo_EyeMonth
cmbInfo_Month(DS_TYPE.DS_BODY) = cmbInfo_FaceMonth
cmbInfo_Day(DS_TYPE.DS_DEV) = cmbInfo_DevDay
cmbInfo_Day(DS_TYPE.DS_FACE) = cmbInfo_FaceDay
cmbInfo_Day(DS_TYPE.DS_EYE) = cmbInfo_EyeDay
cmbInfo_Day(DS_TYPE.DS_BODY) = cmbInfo_FaceDay
2025-05-12 10:19:36 +09:00
End Sub
Private Sub RunProcess_Click(sender As Object, e As EventArgs) Handles btnCmdStart.Click, btnCmdInput.Click
RunProcess()
End Sub
Public Sub RunProcess()
Select Case RunMode
Case FORM_TYPE.WRITE_MODE
RunProcessWrite()
Case FORM_TYPE.READ_MODE
RunProcessRead()
End Select
End Sub
Private Function td_Compare(tmpCmd As String, CountType As String, tblName As String) As Boolean
StrCmd = "SELECT COUNT(" & CountType & ") FROM " & tblName & " WHERE " & CountType & " = '" & tmpCmd & "'"
Dim CellCount As Int16 = DBQueryScalar(StrCmd)
If CellCount = 0 Then
Return False
End If
Return True
End Function
Public Sub RunProcessRead()
Dim tmpCmd As String = txbBarcodeNum.Text
Dim tmpModelType As DS_TYPE
Dim tmpType As DS_TYPE
Dim CheckFlag As Boolean = False
Try
''바코드 유효성 확인
tmpModelType = Val(Mid(txbBarcodeNum.Text, 1, 2))
If tmpModelType = DS_PRODUCT.DS_PRO_DEV Or tmpModelType = DS_PRODUCT.DS_PRO_FACE Or tmpModelType = DS_PRODUCT.DS_PRO_EYE Or tmpModelType = DS_PRODUCT.DS_PRO_BODY Then
ElseIf tmpModelType = DS_PRODUCT.DS_LUX_DEV Or tmpModelType = DS_PRODUCT.DS_LUX_FACE Or tmpModelType = DS_PRODUCT.DS_LUX_EYE Or tmpModelType = DS_PRODUCT.DS_LUX_BODY Then
ElseIf tmpModelType = DS_PRODUCT.DS_ALPHA_DEV Or tmpModelType = DS_PRODUCT.DS_ALPHA_FACE Or tmpModelType = DS_PRODUCT.DS_ALPHA_EYE Or tmpModelType = DS_PRODUCT.DS_ALPHA_BODY Then
2025-08-12 17:52:12 +09:00
ElseIf tmpModelType = DS_PRODUCT.DS_PRO_S_DEV Or tmpModelType = DS_PRODUCT.DS_PRO_S_FACE Or tmpModelType = DS_PRODUCT.DS_PRO_S_EYE Or tmpModelType = DS_PRODUCT.DS_PRO_S_BODY Then
2025-05-12 10:19:36 +09:00
Else
Return
End If
If Len(tmpCmd) <> 12 Then Return
txbBarcodeNum.BackColor = Color.YellowGreen
txbBarcodeNum.Clear()
txbBarcodeNum.AppendText("정보 읽기 중")
txbBarcodeNum.Refresh()
tmpType = Val(Mid(tmpCmd, 2, 1))
ReadModeTextBoxAllReset()
DelayMs(100)
If tmpType = DS_TYPE.DS_DEV Then
gpbInfoSet(DS_TYPE.DS_DEV).Location = New Size(InfoSet_X(DS_TYPE.DS_DEV), InfoSet_Y(DS_TYPE.DS_DEV))
gpbInfoSet(DS_TYPE.DS_DEV).Visible = True
gpbInfoSet(DS_TYPE.DS_FACE).Location = New Size(InfoSet_X(DS_TYPE.DS_FACE), InfoSet_Y(DS_TYPE.DS_FACE))
gpbInfoSet(DS_TYPE.DS_FACE).Text = "FACE카트리지 정보"
gpbInfoSet(DS_TYPE.DS_FACE).Visible = True
gpbInfoSet(DS_TYPE.DS_EYE).Location = New Size(InfoSet_X(DS_TYPE.DS_EYE), InfoSet_Y(DS_TYPE.DS_EYE))
gpbInfoSet(DS_TYPE.DS_EYE).Visible = True
txbInfo_Barcord(DS_TYPE.DS_DEV).Text = tmpCmd
If ReadDeviceInfo() = False Then
CheckFlag = True
txbInfo_Barcord(DS_TYPE.DS_DEV).BackColor = Color.Red
End If
txbInfo_Barcord(DS_TYPE.DS_FACE).Text = GetProductSN(tmpCmd, DS_TYPE.DS_FACE)
If txbInfo_Barcord(DS_TYPE.DS_FACE).Text = "N/A" Then
CheckFlag = True
txbInfo_Barcord(DS_TYPE.DS_FACE).BackColor = Color.Red
Else
If ReadCartInfo(DS_TYPE.DS_FACE) = False Then
CheckFlag = True
txbInfo_Barcord(DS_TYPE.DS_FACE).BackColor = Color.Red
End If
End If
txbInfo_Barcord(DS_TYPE.DS_EYE).Text = GetProductSN(tmpCmd, DS_TYPE.DS_EYE)
If txbInfo_Barcord(DS_TYPE.DS_EYE).Text = "N/A" Then
CheckFlag = True
txbInfo_Barcord(DS_TYPE.DS_EYE).BackColor = Color.Red
Else
If ReadCartInfo(DS_TYPE.DS_EYE) = False Then
CheckFlag = True
txbInfo_Barcord(DS_TYPE.DS_EYE).BackColor = Color.Red
End If
End If
Else
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If tmpType = cnt Then
gpbInfoSet(tmpType).Location = New Size(InfoSet_X(DS_TYPE.DS_FACE), InfoSet_Y(DS_TYPE.DS_FACE))
gpbInfoSet(tmpType).Visible = True
If tmpType = DS_TYPE.DS_BODY Then
gpbInfoSet(DS_TYPE.DS_FACE).Text = "BODY카트리지 정보"
ElseIf tmpType = DS_TYPE.DS_FACE Then
gpbInfoSet(DS_TYPE.DS_FACE).Text = "FACE카트리지 정보"
End If
Else
If cnt <> DS_TYPE.DS_BODY Then
gpbInfoSet(cnt).Visible = False
End If
End If
Next
txbInfo_Barcord(tmpType).Text = tmpCmd
If ReadCartInfo(tmpType) = False Then
CheckFlag = True
txbInfo_Barcord(tmpType).BackColor = Color.Red
End If
End If
If CheckFlag = True Then
txbBarcodeNum.Text = "정보 읽기 실패"
txbBarcodeNum.BackColor = Color.Red
Else
txbBarcodeNum.Text = "정보 읽기 성공"
txbBarcodeNum.BackColor = Color.Green
End If
SetBarCodeBoxFocus()
Exit Sub
Catch ex As Exception
Save_ErrorCSV("RunProcessRead," & ex.Message)
End Try
End Sub
Public Sub RunProcessWrite()
Dim tmpCmd As String = txbBarcodeNum.Text
Dim CheckFlag As Boolean = True
Dim tmpNum As Integer
Try
CheckFlag = True
'' 명령어 인지 확인
Select Case tmpCmd
Case "[START]"
WriteTextBarCodeBox("바코드 입력")
If GetStatus() <> DS_STATUS.REWIRTTING Then Return
Case "[STOP]"
Reset_All_DS_Reg()
TextBoxAllReset()
Reset_All_Connect() '' 모든 기기 미연결 상태로 체크
SetStatus(DS_STATUS.STANDBY)
WriteTextBarCodeBox("바코드 입력")
Return
Case "[EXIT]"
WriteTextBarCodeBox("바코드 입력")
Exit_Process()
Return
Case "[MODEL01]", "[MODEL02]", "[MODEL03]", "[MODEL04]", "[MODEL05]", "[MODEL06]", "[MODEL07]", "[MODEL08]", "[MODEL09]", "[MODEL10]", "[MODEL11]", "[MODEL12]", "[MODEL13]", "[MODEL14]", "[MODEL15]"
tmpNum = Val(Mid(tmpCmd, 7, 2))
cboLoadSelect.SelectedIndex = tmpNum - 1
WriteTextBarCodeBox("바코드 입력")
Return
Case "[MODE01]", "[MODE02]", "[MODE03]", "[MODE04]"
tmpNum = Val(Mid(tmpCmd, 6, 2)) - 1
chkDeviceUse(tmpNum).Checked = Not chkDeviceUse(tmpNum).Checked
WriteTextBarCodeBox("바코드 입력")
Return
End Select
'' 시리얼번호 진행
txbBarcodeNum.BackColor = Color.Green
Select Case GetStatus()
Case DS_STATUS.INIT, DS_STATUS.STANDBY
Reset_All_DS_Reg() '' Init DS Register
TextBoxAllReset() '' Init Textbox of Color and Text
SetStatus(DS_STATUS.INPUT)
RunInput_Process()
Case DS_STATUS.COMPLETE
CheckFlag = True
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked = True And ConnectStatus(cnt) = True Then CheckFlag = False
Next
If CheckFlag = True Then
Reset_All_DS_Reg() '' Init DS Register
TextBoxAllReset() '' Init Textbox of Color and Text
SetStatus(DS_STATUS.INPUT)
RunInput_Process()
Else
btnCmdStart.Text = "기기 모두를 제거해 주세요."
End If
Case DS_STATUS.INPUT
RunInput_Process()
Case DS_STATUS.READY
RunWrite_Process()
Case DS_STATUS.REWIRTTING
RunReWrite_Process()
End Select
SetBarCodeBoxFocus()
Catch ex As Exception
Save_ErrorCSV("RunProcess," & ex.Message)
End Try
End Sub
Private Function GetProductSN(strDate As String, ChNum As DS_TYPE) As String
Dim ItemName As String = ""
Try
If ChNum = DS_TYPE.DS_FACE Then
ItemName = "FaceCart_SN"
ElseIf ChNum = DS_TYPE.DS_EYE Then
ItemName = "EyeCart_SN"
End If
If ChNum = DS_TYPE.DS_FACE Or ChNum = DS_TYPE.DS_EYE Then
StrCmd = "Select " & ItemName & " from jomtProductTbl where Product_SN='" & strDate & "';"
If DBQueryReader(StrCmd) Then
Return sqlDataQuery(0)
End If
End If
Return "N/A"
Catch ex As Exception
Save_ErrorCSV("GetProductSN," & ex.Message)
Return "N/A"
End Try
End Function
Private Function ReadDeviceInfo() As Boolean
Dim strDate As String = txbInfo_Barcord(DS_TYPE.DS_DEV).Text
Dim tmpStr As String
Try
StrCmd = "select Model,Type,Manufacture_Name,Abroad,Manufacture_Year,Manufacture_Month," &
"Agency,SN,Manufacture_Date,FW_VER"
2025-05-12 10:19:36 +09:00
StrCmd = StrCmd & " from jomtDeviceTbl where " & "Product_SN='" & strDate & "';"
If DBQueryReader(StrCmd) Then
txbInfo_Model(DS_TYPE.DS_DEV).Text = sqlDataQuery(0)
txbInfo_Cart(DS_TYPE.DS_DEV).Text = sqlDataQuery(1)
txbInfo_Manufacture(DS_TYPE.DS_DEV).Text = sqlDataQuery(2)
txbInfo_Abroad(DS_TYPE.DS_DEV).Text = sqlDataQuery(3)
txbInfo_Year(DS_TYPE.DS_DEV).Text = sqlDataQuery(4)
txbInfo_Month(DS_TYPE.DS_DEV).Text = sqlDataQuery(5)
txbInfo_Agency(DS_TYPE.DS_DEV).Text = sqlDataQuery(6)
txbInfo_SN(DS_TYPE.DS_DEV).Text = sqlDataQuery(7)
tmpStr = sqlDataQuery(8)
txbInfo_Date(DS_TYPE.DS_DEV).Text = Mid(tmpStr, 3, 8)
txbInfo_FW(DS_TYPE.DS_DEV).Text = sqlDataQuery(9)
Return True
Else
Return False
End If
Catch ex As Exception
Save_ErrorCSV("ReadDeviceInfo," & ex.Message)
Return False
End Try
End Function
Private Function ReadCartInfo(ChNum As DS_TYPE) As Boolean
Dim strDate As String = txbInfo_Barcord(ChNum).Text
Dim tmpStr As String
Try
StrCmd = "select Ct_Model,Ct_Type,Ct_Manufacture_Name,Ct_Abroad,Ct_Manufacture_Year,Ct_Manufacture_Month," &
"Ct_Agency,Ct_SN,Ct_Remain_ShotCnt,Manufacture_Date,Ct_Max_ShotCnt," &
2025-05-12 10:19:36 +09:00
"P1_Date,P1_Frequency," &
"QC_Date,QC_Grade,PV_SN,QC_Capacito"
2025-05-12 10:19:36 +09:00
StrCmd = StrCmd & " from jomtCartridgeTbl where " & "Product_SN='" & strDate & "';"
If DBQueryReader(StrCmd) Then
txbInfo_Model(ChNum).Text = sqlDataQuery(0)
txbInfo_Cart(ChNum).Text = sqlDataQuery(1)
txbInfo_Manufacture(ChNum).Text = sqlDataQuery(2)
txbInfo_Abroad(ChNum).Text = sqlDataQuery(3)
txbInfo_Year(ChNum).Text = sqlDataQuery(4)
txbInfo_Month(ChNum).Text = sqlDataQuery(5)
txbInfo_Agency(ChNum).Text = sqlDataQuery(6)
txbInfo_SN(ChNum).Text = sqlDataQuery(7)
txbInfo_Rshot(ChNum).Text = sqlDataQuery(8)
tmpStr = sqlDataQuery(9)
txbInfo_Date(ChNum).Text = Mid(tmpStr, 3, 8)
txbInfo_Tshot(ChNum).Text = sqlDataQuery(10)
tmpStr = sqlDataQuery(11)
txbInfo_CTDate(ChNum).Text = Mid(tmpStr, 3, 8)
txbInfo_CTFreq(ChNum).Text = sqlDataQuery(12)
tmpStr = sqlDataQuery(13)
txbInfo_IQCDate(ChNum).Text = Mid(tmpStr, 3, 8)
txbInfo_IQCGrade(ChNum).Text = sqlDataQuery(14)
txbInfo_IQCTD(ChNum).Text = sqlDataQuery(15)
txbInfo_IQCCap(ChNum).Text = sqlDataQuery(16)
Return True
Else
Return False
End If
Catch ex As Exception
Save_ErrorCSV("ReadCartInfo," & ex.Message)
Return False
End Try
End Function
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Exit_Process()
End Sub
Private Sub Exit_Process()
Try
cmdSerialPort.Close()
''Save_ini()
End
Catch ex As Exception
Save_ErrorCSV("Exit_Process," & ex.Message)
End Try
End Sub
Private Sub SetBarCodeBoxFocus()
If chkBarcode.Checked Then
BarCodeFixedText = True
''cboLoadSelect.Focus()
lblTime.Focus()
txbBarcodeNum.Focus()
BarCodeFixedText = False
End If
End Sub
Private Sub WriteTextBarCodeBox(BarCodeText As String)
If chkBarcode.Checked Then
BarCodeFixedText = True
txbBarcodeNum.Text = BarCodeText
cboLoadSelect.Focus()
txbBarcodeNum.Focus()
BarCodeFixedText = False
End If
End Sub
Private Sub SetConnectStatus(DevType As DS_TYPE, OnOff As Boolean)
Try
ConnectStatus(DevType) = OnOff
EnableBarCodeTxbToggle(DevType) = False
If OnOff = True Then
If IsComplete() = "COMPLETE" And GetStatus() = DS_STATUS.READY Then
RunProcess()
End If
End If
Catch ex As Exception
Save_ErrorCSV("SetConnectStatus," & ex.Message)
End Try
End Sub
Private Function GetConnectStatus(DevType As DS_TYPE) As Boolean
Return ConnectStatus(DevType)
End Function
Private Function isConnectStandby() As Boolean
Dim CheckFlag As Boolean = True
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked And ConnectStatus(cnt) Then CheckFlag = False
If txbInfo_Barcord(cnt).Text <> "N/A" Then CheckFlag = False
Next
Return CheckFlag
End Function
Private Sub isConnectEnable()
Dim CheckFlag As Boolean = True
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
If LOAD_FLAG(cnt) = False And ConnectStatus(cnt) Then
CheckFlag = False
End If
End If
Next
If CheckFlag Then
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
If LOAD_FLAG(cnt) = True And ConnectStatus(cnt) Then
lblInfo_Model(cnt).ForeColor = Color.Black
lblInfo_YearMonth(cnt).ForeColor = Color.Black
lblInfo_SN(cnt).ForeColor = Color.Black
lblInfo_Year(cnt).ForeColor = Color.Black
lblInfo_Month(cnt).ForeColor = Color.Black
txbInfo_Model(cnt).ForeColor = Color.Blue
txbInfo_SN(cnt).ForeColor = Color.Blue
txbInfo_Year(cnt).ForeColor = Color.Blue
txbInfo_Month(cnt).ForeColor = Color.Blue
txbInfo_Model(cnt).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_SN(cnt).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Year(cnt).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Month(cnt).BackColor = Color.FromArgb(255, 255, 192)
End If
End If
Next
End If
End Sub
Private Sub OpenSerial()
AddHandler cmdSerialPort.DataReceived, AddressOf cmdSerialPort_DataReceived
Try
If ParaComport <> "" Then
If cmdSerialPort.IsOpen = False Then
With cmdSerialPort
.PortName = ParaComport
.BaudRate = 115200
.DataBits = 8
.Parity = IO.Ports.Parity.None
.StopBits = IO.Ports.StopBits.One
.Handshake = IO.Ports.Handshake.None
End With
cmdSerialPort.Open()
End If
Else
MsgBox("시리얼포트를 설정해주세요!" & vbCrLf & "", vbCritical, PROGRAM_TITLE_NAME)
End If
Catch ex As Exception
'' MsgBox("COM 포트 에러" & vbCrLf & "", vbOK + vbCritical, PROGRAM_TITLE_NAME)
Save_ErrorCSV("OpenSerial," & ex.Message)
End Try
End Sub
Private Sub cmdSerialPort_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles cmdSerialPort.DataReceived
Dim n As Integer = cmdSerialPort.BytesToRead
Dim comBuffer As Byte()
UpdateSerialDelegate = New SerialDelegate(AddressOf RunSerial_Progress)
Try
comBuffer = New Byte(n - 1) {}
cmdSerialPort.Read(comBuffer, 0, n)
If RmainRxMessage <> "" Then rxMessage = rxMessage & RmainRxMessage
For cnt = 0 To comBuffer.Length - 1
rxMessage = rxMessage & Chr(comBuffer(cnt))
Next
Me.Invoke(UpdateSerialDelegate)
Catch ex As Exception
''MsgBox("에러(DataReceived) : " & ex.Message & vbCrLf & "", vbCritical, TITLE_NAME)
Save_ErrorCSV("DataReceived," & ex.Message)
End Try
End Sub
' 제품 꽂을 시 정보 읽어오기 기능
Private Sub RunSerial_Progress()
Dim cmdStr As String = ""
Dim cmdVal(0 To 10) As String
Dim chNum As DS_TYPE
Dim Head_InChar, Tail_InChar, VbCr_InChar, VbLf_InChar As Integer
Dim tmpMessage As String = ""
Dim i As Integer
Dim ErrCnt As Long = 0
Try
If Len(rxMessage) Then
ErrCnt = ErrCnt + 1
While Len(rxMessage)
ErrCnt = 100
While (InStr(rxMessage, vbNullChar))
If InStr(rxMessage, vbNullChar) <> 1 Then
tmpMessage = Mid(rxMessage, 1, InStr(rxMessage, vbNullChar) - 1)
rxMessage = tmpMessage & Mid(rxMessage, InStr(rxMessage, vbNullChar) + 1, Len(rxMessage) - InStr(rxMessage, vbNullChar))
Else
rxMessage = Mid(rxMessage, InStr(rxMessage, vbNullChar) + 1, Len(rxMessage) - InStr(rxMessage, vbNullChar))
End If
End While
ErrCnt = 200
Head_InChar = InStr(rxMessage, "[")
Tail_InChar = InStr(rxMessage, "]")
VbCr_InChar = InStr(rxMessage, vbCr)
VbLf_InChar = InStr(rxMessage, vbLf)
If Tail_InChar = 0 And VbCr_InChar = 0 And VbLf_InChar = 0 Then
If Len(rxMessage) <> 0 Then
RmainRxMessage = rxMessage
rxMessage = ""
End If
Exit While
Else
RmainRxMessage = ""
End If
ErrCnt = 300
If Tail_InChar Then
tmpMessage = Mid(rxMessage, Head_InChar, Tail_InChar)
rxMessage = Mid(rxMessage, Tail_InChar + 1, Len(rxMessage) - Tail_InChar)
End If
While (Mid(rxMessage, 1, 1) = vbCr Or Mid(rxMessage, 1, 1) = vbLf)
If Mid(rxMessage, 1, 1) = vbCr Then rxMessage = Mid(rxMessage, 2, Len(rxMessage) - 1)
If Mid(rxMessage, 1, 1) = vbLf Then rxMessage = Mid(rxMessage, 2, Len(rxMessage) - 1)
End While
ErrCnt = 400
If Len(tmpMessage) = 0 Then Continue While
ErrCnt = ErrCnt + 1
If Mid(tmpMessage, 1, 1) = "[" Then
ErrCnt = ErrCnt + 1
tmpMessage = Mid(tmpMessage, 2, Len(tmpMessage))
ErrCnt = ErrCnt + 1
If InStr(tmpMessage, " ") Then
ErrCnt = 410
cmdStr = Mid(tmpMessage, 1, (InStr(tmpMessage, " ") - 1))
ErrCnt = ErrCnt + 1
tmpMessage = Mid(tmpMessage, InStr(tmpMessage, " ") + 1, Len(tmpMessage))
ElseIf InStr(tmpMessage, "]") Then
ErrCnt = 420
cmdStr = Mid(tmpMessage, 1, (InStr(tmpMessage, "]") - 1))
ErrCnt = ErrCnt + 1
tmpMessage = Mid(tmpMessage, InStr(tmpMessage, "]") + 1, Len(tmpMessage))
End If
ErrCnt = ErrCnt + 1
For i = 1 To 10
If InStr(tmpMessage, ",") <> 0 Then
cmdVal(i) = Mid(tmpMessage, 1, InStr(tmpMessage, ",") - 1)
tmpMessage = Mid(tmpMessage, InStr(tmpMessage, ",") + 1, Len(tmpMessage))
ElseIf InStr(tmpMessage, "]") <> 0 Then
cmdVal(i) = Mid(tmpMessage, 1, InStr(tmpMessage, "]") - 1)
tmpMessage = Mid(tmpMessage, InStr(tmpMessage, "]") + 1, Len(tmpMessage))
Exit For
End If
Next i
ErrCnt = 500
If Len(cmdVal(1)) <> 1 Then Continue While
ErrCnt = ErrCnt + 1
chNum = Val(cmdVal(1))
If chkDeviceUse(DS_TYPE.DS_BODY).Checked And chNum = 2 Then
chNum = DS_TYPE.DS_BODY
Else
chNum = chNum - 1
End If
If chkDeviceUse(chNum).Checked = False Then Continue While
ErrCnt = ErrCnt + 1
Select Case cmdStr
Case "devconn", "cartconn", "carttdsn"
ErrCnt = 600
If cmdVal(2) = "1" Then ' 장착
ErrCnt = 700
If txbInfo_Barcord(chNum).Text = "N/A" Then
txbInfo_Barcord(chNum).BackColor = Color.Red
btnCmdStart.Text = "정보입력 전 기기를 제거해주세요."
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
SetStatus(DS_STATUS.INPUT)
End If
Else
If txbInfo_Barcord(chNum).BackColor <> Color.Red Then
txbInfo_Barcord(chNum).BackColor = Color.DarkGreen
End If
End If
ErrCnt = ErrCnt + 1
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
txbInfo_TDSN(chNum).BackColor = Color.Green
End If
SetConnectStatus(chNum, True)
ElseIf cmdVal(2) = "0" Then ' 탈착
ErrCnt = 800
SetConnectStatus(chNum, False)
TextBoxReset(chNum)
Reset_DS_Reg(chNum)
ErrCnt = ErrCnt + 1
If isConnectStandby() Then
TextBoxAllReset()
Reset_All_DS_Reg()
SetStatus(DS_STATUS.STANDBY)
btnCmdStart.Text = "시작"
WriteTextBarCodeBox("바코드 입력")
Else
isConnectEnable()
If GetStatus() = DS_STATUS.REWIRTTING Then
SetStatus(DS_STATUS.COMPLETE)
btnCmdStart.Enabled = False
btnCmdStart.Text = "시작"
End If
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
SetStatus(DS_STATUS.INPUT)
End If
End If
ElseIf cmdVal(2) <> "disconnect" Then ' 장착
ErrCnt = 900
If chNum <> DS_TYPE.DS_DEV Then
ErrCnt = ErrCnt + 1
If txbInfo_Barcord(chNum).Text = "N/A" Then
txbInfo_Barcord(chNum).BackColor = Color.Red
btnCmdStart.Text = "정보입력 전 기기를 제거해주세요."
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
SetStatus(DS_STATUS.INPUT)
End If
Else
If txbInfo_Barcord(chNum).BackColor <> Color.Red Then
txbInfo_Barcord(chNum).BackColor = Color.DarkGreen
End If
End If
ErrCnt = ErrCnt + 1
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
txbInfo_TDSN(chNum).Text = cmdVal(2).ToUpper()
txbInfo_TDSN(chNum).BackColor = Color.Green
End If
ErrCnt = ErrCnt + 1
SetConnectStatus(chNum, True)
End If
ErrCnt = ErrCnt + 1
End If
ErrCnt = 1000
Case "dsfwver" ' 장착
ErrCnt = 1100
If chNum = DS_TYPE.DS_DEV Then
ErrCnt = ErrCnt + 1
If txbInfo_Barcord(chNum).Text = "N/A" Then
txbInfo_Barcord(chNum).BackColor = Color.Red
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
SetStatus(DS_STATUS.INPUT)
End If
Else
If txbInfo_Barcord(chNum).BackColor <> Color.Red Then
txbInfo_Barcord(chNum).BackColor = Color.DarkGreen
End If
End If
ErrCnt = ErrCnt + 1
If GetStatus() <> DS_STATUS.COMPLETE And GetStatus() <> DS_STATUS.REWIRTTING Then
txbInfo_DevFW.Text = cmdVal(2)
txbInfo_DevFW.BackColor = Color.Green
End If
ErrCnt = ErrCnt + 1
SetConnectStatus(chNum, True)
End If
ErrCnt = 1200
Case "cartoqc", "wrstconf"
ErrCnt = 1300
If chNum = DS_TYPE.DS_DEV And i <> 6 Then
Exit Select
ElseIf (chNum >= DS_TYPE.DS_FACE And chNum <= DS_TYPE.DS_BODY) And i <> 8 Then
Exit Select
End If
ErrCnt = ErrCnt + 1
For cnt = 0 To i - 1
If cmdVal(cnt + 1) = "success" Then Exit Select
ErrCnt = ErrCnt + 1
ReturnValue(chNum, cnt) = cmdVal(cnt + 1)
ErrCnt = ErrCnt + 1
Next
ErrCnt = 1400
''정보쓰기 실행 후 리턴값이 수신이 되었는지 확인
ReceiveReturnVal(chNum) = True
ErrCnt = ErrCnt + 1
'' 정보쓰기 실행 후 리턴값과 송신 데이터가 같은 체크
If CheckDiffCompReturnVal(chNum) Then ''정보쓰기 성공시 DB업로드 진행
If UploadInfoData(chNum) = False Then
'' 정보쓰기 실패시 시리얼창에 RED 색상 표시
ResultTextBoxList(chNum, 0).ForeColor = Color.Red
Else
ResultTextBoxList(chNum, 0).ForeColor = Color.Blue
End If
Else '' 정보쓰기 실패시 시리얼창에 RED 색상 표시
ResultTextBoxList(chNum, 0).ForeColor = Color.Red
End If
ErrCnt = ErrCnt + 1
'' 전체 송수신 여부 및 송수신 데이터 비교 후 판정 진행
ReceiveComplete = True
DiffCompComplete = True
DBuploadComplete = True
ErrCnt = 1500
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
'' 전체 정보쓰기 리턴값 수신여부 체크
If ReceiveReturnVal(cnt) = False Then
ReceiveComplete = False
End If
'' 전체 정보쓰기 성공여부 체크
If DiffCompReturnVal(cnt) = False Then
DiffCompComplete = False
End If
'' 전체 DB업로드 성공여부 체크
If UploadDBComplete(cnt) = False Then
DBuploadComplete = False
End If
End If
Next
ErrCnt = 1600
If ReceiveComplete Then
ErrCnt = ErrCnt + 1
WriteInfoTimerEnable(False)
ErrCnt = ErrCnt + 1
If DiffCompComplete And DBuploadComplete Then
DBAssyuploadComplete = Upload_AssyInfo()
ErrCnt = ErrCnt + 1
If DBAssyuploadComplete Then
ErrCnt = ErrCnt + 1
print_OnOff = True
WriteSuccessProcess()
Else
ErrCnt = ErrCnt + 1
WriteFailProcess()
End If
End If
End If
ErrCnt = 1800
Case Else
End Select
End If
End While
End If
Catch ex As Exception
''MsgBox("RunSerial[" & cnt1 & "]:" & ex.Message & vbCrLf & "", vbCritical, TITLE_NAME)
Save_ErrorCSV("RunSerial[" & ErrCnt & "]," & ex.Message)
End Try
End Sub
Public Function CheckDiffCompReturnVal(chNum As Integer) As Boolean
Try
DiffCompReturnVal(chNum) = True
For cnt = 0 To 9
If SendValue(chNum, cnt) <> ReturnValue(chNum, cnt) Then
DiffCompReturnVal(chNum) = False
If cnt = 2 Then
Dim tmpYear, tmpMonth, tmpSN_LOW, tmpSN_HIGH, tmpSN As String
tmpYear = Mid(ReturnValue(chNum, cnt), 1, 2)
tmpMonth = Mid(ReturnValue(chNum, cnt), 3, 2)
tmpSN_LOW = Mid(ReturnValue(chNum, cnt), 5, 3)
tmpSN_HIGH = Mid(ReturnValue(chNum, cnt), 8, 3)
tmpSN = tmpSN_HIGH & tmpSN_LOW
If tmpYear <> DS_SN(chNum).YEAR Then
ResultTextBoxList(chNum, 8).ForeColor = Color.Red
End If
If tmpYear <> DS_SN(chNum).MONTH Then
ResultTextBoxList(chNum, 9).ForeColor = Color.Red
End If
If tmpYear <> DS_SN(chNum).SN Then
ResultTextBoxList(chNum, 2).ForeColor = Color.Red
End If
If tmpYear <> DS_SN(chNum).YEAR Then
End If
DS_SN(chNum).YEAR = tmpYear
DS_SN(chNum).MONTH = tmpMonth
DS_SN(chNum).SN = tmpSN
ResultTextBoxList(chNum, cnt).ForeColor = Color.Red
Else
ResultTextBoxList(chNum, cnt).ForeColor = Color.Red
End If
End If
Next
If DiffCompReturnVal(chNum) = False Then
ResultTextBoxList(chNum, 0).ForeColor = Color.Red
End If
Save_InfoWrite_LogCSV(chNum)
Return DiffCompReturnVal(chNum)
Catch ex As Exception
Save_ErrorCSV("CheckDiffCompReturnVal," & ex.Message)
Return False
End Try
End Function
Public Function UploadInfoData(chNum As Integer) As Boolean
Try
UploadDBComplete(chNum) = False
If chkDeviceUse(chNum).Checked And chNum = DS_TYPE.DS_DEV Then
If Upload_DeviceInfo(chNum) Then UploadDBComplete(chNum) = True
Else
If Upload_CartInfo(chNum) Then UploadDBComplete(chNum) = True
End If
Save_InfoUpload_LogCSV(chNum)
Return UploadDBComplete(chNum)
Catch ex As Exception
Save_ErrorCSV("UploadInfoData," & ex.Message)
Return False
End Try
End Function
Public Function UploadAssyInfoData(chNum As Integer) As Boolean
Try
UploadDBComplete(chNum) = False
If chkDeviceUse(chNum).Checked And chNum = DS_TYPE.DS_DEV Then
If Upload_DeviceInfo(chNum) Then UploadDBComplete(chNum) = True
Else
If Upload_CartInfo(chNum) Then UploadDBComplete(chNum) = True
End If
Return UploadDBComplete(chNum)
Catch ex As Exception
Save_ErrorCSV("UploadAssyInfoData," & ex.Message)
Return False
End Try
End Function
Public Function Upload_CartInfo(chNum As Integer) As String
Dim UploadVar(13) As String
Dim UploadVal(13) As String
2025-05-12 10:19:36 +09:00
Dim TypeStr As String = ""
Dim CheckFlag As Boolean = True
Dim LastCnt As Integer = 12
2025-05-12 10:19:36 +09:00
Dim strTDSN As String = txbInfo_TDSN(chNum).Text.ToUpper
Dim strCTSN As String = txbInfo_Barcord(chNum).Text.ToUpper
Dim tmpTDSN, tmpCTSN As String
Try
tmpTDSN = CheckExistTD_SN(strTDSN)
tmpCTSN = CheckExistCT_SN(strCTSN)
If tmpTDSN = False Then
txbInfo_TDSN(chNum).ForeColor = Color.Red
txbInfo_Barcord(chNum).Text = "TD S/N 미검색"
ReTryDisable = True
Return False
End If
If tmpTDSN <> tmpCTSN And tmpCTSN <> False Then
txbInfo_Barcord(chNum).ForeColor = Color.Red
txbInfo_Barcord(chNum).Text = "제품 S/N 중복"
ReTryDisable = False
Return False
End If
If chNum = DS_TYPE.DS_DEV Then
TypeStr = "DEVICE"
ElseIf chNum = DS_TYPE.DS_FACE Then
TypeStr = "FACE"
ElseIf chNum = DS_TYPE.DS_EYE Then
TypeStr = "EYE"
ElseIf chNum = DS_TYPE.DS_BODY Then
TypeStr = "BODY"
Else
End If
UploadVar(0) = "P3_DateTime"
UploadVar(1) = "Product_SN"
UploadVar(2) = "Ct_Manufacture_Name"
UploadVar(3) = "Ct_Manufacture_Year"
UploadVar(4) = "Ct_Manufacture_Month"
UploadVar(5) = "Ct_SN"
UploadVar(6) = "Ct_Model"
UploadVar(7) = "Ct_Type"
UploadVar(8) = "Ct_Abroad"
UploadVar(9) = "Ct_Agency"
UploadVar(10) = "Ct_Max_ShotCnt"
UploadVar(11) = "Ct_Remain_ShotCnt"
UploadVar(12) = "Manufacture_Date"
2025-05-12 10:19:36 +09:00
UploadVal(0) = "Now()"
UploadVal(1) = txbInfo_Barcord(chNum).Text
UploadVal(2) = txbInfo_Manufacture(chNum).Text
UploadVal(3) = txbInfo_Year(chNum).Text
UploadVal(4) = txbInfo_Month(chNum).Text
UploadVal(5) = txbInfo_SN(chNum).Text
UploadVal(6) = txbInfo_Model(chNum).Text
UploadVal(7) = TypeStr
UploadVal(8) = txbInfo_Abroad(chNum).Text
UploadVal(9) = txbInfo_Agency(chNum).Text
UploadVal(10) = txbInfo_Tshot(chNum).Text
UploadVal(11) = txbInfo_Rshot(chNum).Text
UploadVal(12) = GetSelectedDate(chNum)
2025-05-12 10:19:36 +09:00
StrCmd = "update jomtCartridgeTbl Set " & UploadVar(0) & "=" & UploadVal(0) & ","
For cnt = 1 To LastCnt
StrCmd = StrCmd & UploadVar(cnt) & "='" & UploadVal(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & "',"
End If
Next
StrCmd = StrCmd & "' where PV_SN = '" & strTDSN & "';"
DBCommand(StrCmd)
StrCmd = "select "
For cnt = 0 To LastCnt
StrCmd = StrCmd & UploadVar(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & ","
End If
Next
StrCmd = StrCmd & " from jomtCartridgeTbl where PV_SN ='" & strTDSN & "';"
If DBQueryReader(StrCmd) Then
If sqlDataQuery(0).ToString = "" Then CheckFlag = False
For cnt = 1 To LastCnt
If sqlDataQuery(cnt) <> UploadVal(cnt) Then CheckFlag = False
Next
If CheckFlag = True Then
Return True
Else
Return False
End If
End If
Return False
Catch ex As Exception
Save_ErrorCSV("Upload_CartInfo," & ex.Message)
Return False
End Try
End Function
Public Function Upload_DeviceInfo(chNum As Integer) As String
Dim UploadVar(13) As String
Dim UploadVal(13) As String
2025-05-12 10:19:36 +09:00
Dim TypeStr As String = ""
Dim CheckFlag As Boolean = True
Dim strSN As String = txbInfo_Barcord(chNum).Text.ToUpper
Dim LastCnt As Integer = 11
2025-05-12 10:19:36 +09:00
Try
If CheckExistDEV_SN(strSN) = False Then
StrCmd = "insert jomtDeviceTbl set Product_SN='" & strSN & "';"
DBCommand(StrCmd)
If CheckExistDEV_SN(strSN) = False Then Return False
End If
If chNum = DS_TYPE.DS_DEV Then
TypeStr = "DEVICE"
ElseIf chNum = DS_TYPE.DS_FACE Then
TypeStr = "FACE"
ElseIf chNum = DS_TYPE.DS_EYE Then
2025-05-12 10:19:36 +09:00
TypeStr = "EYE"
ElseIf chNum = DS_TYPE.DS_BODY Then
2025-05-12 10:19:36 +09:00
TypeStr = "BODY"
Else
End If
UploadVar(0) = "DateTime"
UploadVar(1) = "Product_SN"
UploadVar(2) = "FW_VER"
UploadVar(3) = "Manufacture_Name"
UploadVar(4) = "Manufacture_Year"
UploadVar(5) = "Manufacture_Month"
UploadVar(6) = "SN"
UploadVar(7) = "Model"
UploadVar(8) = "Type"
UploadVar(9) = "Abroad"
UploadVar(10) = "Agency"
UploadVar(11) = "Manufacture_Date"
2025-05-12 10:19:36 +09:00
UploadVal(0) = "Now()"
UploadVal(1) = txbInfo_Barcord(chNum).Text
UploadVal(2) = txbInfo_FW(chNum).Text
UploadVal(3) = txbInfo_Manufacture(chNum).Text
UploadVal(4) = txbInfo_Year(chNum).Text
UploadVal(5) = txbInfo_Month(chNum).Text
UploadVal(6) = txbInfo_SN(chNum).Text
UploadVal(7) = txbInfo_Model(chNum).Text
UploadVal(8) = TypeStr
UploadVal(9) = txbInfo_Abroad(chNum).Text
UploadVal(10) = txbInfo_Agency(chNum).Text
UploadVal(11) = GetSelectedDate(chNum)
2025-05-12 10:19:36 +09:00
StrCmd = "update jomtDeviceTbl Set " & UploadVar(0) & "=" & UploadVal(0) & ","
For cnt = 1 To LastCnt
StrCmd = StrCmd & UploadVar(cnt) & "='" & UploadVal(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & "',"
End If
Next
StrCmd = StrCmd & "' where Product_SN = '" & strSN & "';"
DBCommand(StrCmd)
StrCmd = "select "
For cnt = 0 To LastCnt
StrCmd = StrCmd & UploadVar(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & ","
End If
Next
StrCmd = StrCmd & " from jomtDeviceTbl where Product_SN ='" & strSN & "';"
If DBQueryReader(StrCmd) Then
If sqlDataQuery(0).ToString = "" Then Return False
For cnt = 1 To LastCnt
If sqlDataQuery(cnt) <> UploadVal(cnt) Then Return False
Next
Return True
End If
Return False
Catch ex As Exception
Save_ErrorCSV("Upload_DeviceInfo," & ex.Message)
Return False
End Try
End Function
Public Function Upload_AssyInfo() As String
Dim UploadVar(3) As String
Dim UploadVal(3) As String
Dim LastCnt As Integer = 3
Dim CheckFlag As Boolean = True
Dim strDEVSN As String = txbInfo_Barcord(DS_TYPE.DS_DEV).Text.ToString
Dim strFACESN As String = txbInfo_Barcord(DS_TYPE.DS_FACE).Text.ToString
Dim strEYESN As String = txbInfo_Barcord(DS_TYPE.DS_EYE).Text.ToString
If chkDevUse.Checked = True And chkFaceUse.Checked = True And chkEyeUse.Checked = True Then
Dim tmpDEVSN As Long = CheckExistAssy_SN("Product_SN", strDEVSN)
Dim tmpFACESN As Long = CheckExistAssy_SN("FaceCart_SN", strFACESN)
Dim tmpEYESN As Long = CheckExistAssy_SN("EyeCart_SN", strEYESN)
Try
If tmpFACESN Or tmpEYESN Then
If (tmpFACESN And tmpEYESN) And ((tmpDEVSN = tmpFACESN) And (tmpDEVSN = tmpEYESN)) Then
ElseIf (tmpFACESN And tmpEYESN = False) And (tmpDEVSN = tmpFACESN) Then
ElseIf (tmpFACESN = False And tmpEYESN) And (tmpDEVSN = tmpEYESN) Then
Else
Return False
End If
End If
UploadVar(0) = "DateTime"
UploadVar(1) = "Product_SN"
UploadVar(2) = "FaceCart_SN"
UploadVar(3) = "EyeCart_SN"
UploadVal(0) = "Now()"
UploadVal(1) = strDEVSN
UploadVal(2) = strFACESN
UploadVal(3) = strEYESN
If tmpDEVSN Then
StrCmd = "update jomtProductTbl Set " & UploadVar(0) & "=" & UploadVal(0)
Else
StrCmd = "insert jomtProductTbl Set " & UploadVar(0) & "=" & UploadVal(0)
End If
If tmpDEVSN = 0 Then StrCmd = StrCmd & "," & UploadVar(1) & "='" & UploadVal(1) & "'"
If tmpFACESN = 0 Then StrCmd = StrCmd & "," & UploadVar(2) & "='" & UploadVal(2) & "'"
If tmpEYESN = 0 Then StrCmd = StrCmd & "," & UploadVar(3) & "='" & UploadVal(3) & "'"
If tmpDEVSN Then
StrCmd = StrCmd & " where Product_SN='" & strDEVSN & "';"
Else
StrCmd = StrCmd & ";"
End If
DBCommand(StrCmd)
StrCmd = "select "
For cnt = 0 To LastCnt
StrCmd = StrCmd & UploadVar(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & ","
End If
Next
StrCmd = StrCmd & " from jomtProductTbl where Product_SN ='" & strDEVSN & "';"
If DBQueryReader(StrCmd) Then
If sqlDataQuery(0).ToString = "" Then Return False
For cnt = 1 To LastCnt
If sqlDataQuery(cnt) <> UploadVal(cnt) Then Return False
Next
Return True
End If
Return False
Catch ex As Exception
Save_ErrorCSV("Upload_AssyInfo," & ex.Message)
Return False
End Try
Else
Return True
End If
End Function
Public Function Upload_CountInfo() As String
Dim UploadVar(8) As String
Dim UploadVal(8) As String
Dim LastCnt As Integer = 8
Dim strDate As String = getNowDate().ToString
Try
If CheckExistCountDate(strDate) = "0" Then
StrCmd = "insert jomtMES_ProductTbl Set Date='" & strDate & "';"
End If
DBCommand(StrCmd)
UploadVar(0) = "Date"
UploadVar(1) = "PRO_Set_CNT"
UploadVar(2) = "LUX_Set_CNT"
UploadVar(3) = "PRO_FACE_CNT"
UploadVar(4) = "LUX_FACE_CNT"
UploadVar(5) = "PRO_EYE_CNT"
UploadVar(6) = "LUX_EYE_CNT"
UploadVar(7) = "PRO_BODY_CNT"
UploadVar(8) = "LUX_BODY_CNT"
UploadVal(0) = strDate
UploadVal(1) = txbProductCntPS.Text
UploadVal(2) = txbProductCntLS.Text
UploadVal(3) = txbProductCntPF.Text
UploadVal(4) = txbProductCntLF.Text
UploadVal(5) = txbProductCntPE.Text
UploadVal(6) = txbProductCntLE.Text
UploadVal(7) = txbProductCntPB.Text
UploadVal(8) = txbProductCntLB.Text
StrCmd = "update jomtMES_ProductTbl set "
For cnt = 1 To LastCnt
StrCmd = StrCmd & UploadVar(cnt) & "='" & UploadVal(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & "',"
Else
StrCmd = StrCmd & "'"
End If
Next
StrCmd = StrCmd & " where " & UploadVar(0) & "='" & UploadVal(0) & "';"
DBCommand(StrCmd)
StrCmd = "select "
For cnt = 0 To LastCnt
StrCmd = StrCmd & UploadVar(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & ","
End If
Next
StrCmd = StrCmd & " from jomtMES_ProductTbl where " & UploadVar(0) & "='" & UploadVal(0) & "';"
If DBQueryReader(StrCmd) Then
If sqlDataQuery(0).ToString = "" Then Return False
For cnt = 1 To LastCnt
If sqlDataQuery(cnt) <> UploadVal(cnt) Then Return False
Next
Return True
End If
Return False
Catch ex As Exception
Save_ErrorCSV("Upload_CountInfo," & ex.Message)
Return False
End Try
End Function
Public Function Download_CountInfo() As String
Dim UploadVar(8) As String
Dim UploadVal(8) As TextBox
Dim LastCnt As Integer = 8
Dim CheckFlag As Boolean = True
Dim strDate As String = getNowDate().ToString
Try
If CheckExistCountDate(strDate) = "0" Then
StrCmd = "insert jomtMES_ProductTbl Set Date='" & strDate & "';"
End If
DBCommand(StrCmd)
UploadVar(0) = "Date"
UploadVar(1) = "PRO_Set_CNT"
UploadVar(2) = "LUX_Set_CNT"
UploadVar(3) = "PRO_FACE_CNT"
UploadVar(4) = "LUX_FACE_CNT"
UploadVar(5) = "PRO_EYE_CNT"
UploadVar(6) = "LUX_EYE_CNT"
UploadVar(7) = "PRO_BODY_CNT"
UploadVar(8) = "LUX_BODY_CNT"
UploadVal(1) = txbProductCntPS
UploadVal(2) = txbProductCntLS
UploadVal(3) = txbProductCntPF
UploadVal(4) = txbProductCntLF
UploadVal(5) = txbProductCntPE
UploadVal(6) = txbProductCntLE
UploadVal(7) = txbProductCntPB
UploadVal(8) = txbProductCntLB
StrCmd = "select "
For cnt = 0 To LastCnt
StrCmd = StrCmd & UploadVar(cnt)
If cnt < LastCnt Then
StrCmd = StrCmd & ","
End If
Next
StrCmd = StrCmd & " from jomtMES_ProductTbl where " & UploadVar(0) & "='" & strDate & "';"
If DBQueryReader(StrCmd) Then
If sqlDataQuery(0).ToString <> "" Then
For cnt = 1 To LastCnt
UploadVal(cnt).Text = sqlDataQuery(cnt)
Next
Return True
End If
End If
Return False
Catch ex As Exception
Save_ErrorCSV("Download_CountInfo," & ex.Message)
Return False
End Try
End Function
Private Sub UpdateCompleteCount()
If chkDeviceUse(DS_TYPE.DS_DEV).Checked And chkDeviceUse(DS_TYPE.DS_FACE).Checked And chkDeviceUse(DS_TYPE.DS_EYE).Checked Then
If txbConf_Model.Text = "PRO" Then
txbProductCntPS.Text = txbProductCntPS.Text + 1
ElseIf txbConf_Model.Text = "LUX" Then
txbProductCntLS.Text = txbProductCntLS.Text + 1
End If
ElseIf chkDeviceUse(DS_TYPE.DS_FACE).Checked And chkDeviceUse(DS_TYPE.DS_EYE).Checked Then
If txbConf_Model.Text = "PRO" Then
txbProductCntPF.Text = txbProductCntPF.Text + 1
txbProductCntPE.Text = txbProductCntPE.Text + 1
ElseIf txbConf_Model.Text = "LUX" Then
txbProductCntLF.Text = txbProductCntLF.Text + 1
txbProductCntLE.Text = txbProductCntLE.Text + 1
End If
ElseIf chkDeviceUse(DS_TYPE.DS_FACE).Checked Then
If txbConf_Model.Text = "PRO" Then
txbProductCntPF.Text = txbProductCntPF.Text + 1
ElseIf txbConf_Model.Text = "LUX" Then
txbProductCntLF.Text = txbProductCntLF.Text + 1
End If
ElseIf chkDeviceUse(DS_TYPE.DS_EYE).Checked Then
If txbConf_Model.Text = "PRO" Then
txbProductCntPE.Text = txbProductCntPE.Text + 1
ElseIf txbConf_Model.Text = "LUX" Then
txbProductCntLE.Text = txbProductCntLE.Text + 1
End If
ElseIf chkDeviceUse(DS_TYPE.DS_BODY).Checked Then
If txbConf_Model.Text = "PRO" Then
txbProductCntPB.Text = txbProductCntPB.Text + 1
ElseIf txbConf_Model.Text = "LUX" Then
txbProductCntLB.Text = txbProductCntLB.Text + 1
End If
End If
Upload_CountInfo()
End Sub
Public Sub WriteSuccessProcess()
Try
'If print_num <> 0 Then
' print_on(print_num)
'End If
WriteBarCodeWindow("정보 쓰기 성공")
txbBarcodeNum.BackColor = Color.Green
btnCmdStart.Text = "기기 모두를 제거해 주세요."
btnCmdStart.Enabled = False
UpdateCompleteCount()
SetStatus(DS_STATUS.COMPLETE)
txbBarcodeNum.Focus()
Catch ex As Exception
Save_ErrorCSV("WriteSuccessProcess," & ex.Message)
End Try
End Sub
Private Function print_number() As String
Dim print_num As String = "0"
For i = 0 To printnum.max - 1
printnumtype(i) = "0"
Next
If txbInfo_FaceBarcord.Text = "N/A" Then
printnumtype(printnum.face) = "0"
Else
printnumtype(printnum.face) = txbInfo_FaceBarcord.Text
End If
If txbInfo_DevBarcord.Text = "N/A" Then
printnumtype(printnum.dev) = "0"
Else
printnumtype(printnum.dev) = txbInfo_DevBarcord.Text
End If
If txbInfo_EyeBarcord.Text = "N/A" Then
printnumtype(printnum.eye) = "0"
Else
printnumtype(printnum.eye) = txbInfo_EyeBarcord.Text
End If
For i = 0 To printnum.max - 1
If printnumtype(i) <> "0" Then
If print_num <> "0" Then
If print_num > printnumtype(i) Then
print_num = printnumtype(i)
End If
Else
print_num = printnumtype(i)
End If
End If
Next
Return print_num
End Function
Public Sub WriteFailProcess()
Try
If DiffCompComplete Then
If DBuploadComplete Then
If DBAssyuploadComplete = False Then
WriteBarCodeWindow("S/N 업로드 실패")
txbBarcodeNum.BackColor = Color.Fuchsia
End If
Else
WriteBarCodeWindow("정보 업로드 실패")
txbBarcodeNum.BackColor = Color.Fuchsia
End If
Else
WriteBarCodeWindow("정보 쓰기 실패")
txbBarcodeNum.BackColor = Color.Red
End If
If ReTryDisable = False Then
btnCmdStart.Text = "재시작"
btnCmdStart.Enabled = True
Else
btnCmdStart.Text = "기기 모두들 제거해 주세요."
End If
If failDeleteInfo() = False Then
MsgBox("DB 내용 삭제 실패", vbCritical)
End If
SetStatus(DS_STATUS.REWIRTTING)
Catch ex As Exception
Save_ErrorCSV("WriteFailProcess," & ex.Message)
End Try
End Sub
Private Function failDeleteInfo() As Boolean
StrCmd = "UPDATE jomtCartridgeTbl SET Product_SN = NULL WHERE Product_SN = '" & txbInfo_FaceBarcord.Text & "'"
If DBCommand(StrCmd) Then
StrCmd = "UPDATE jomtCartridgeTbl SET Product_SN = NULL WHERE Product_SN = '" & txbInfo_EyeBarcord.Text & "'"
If DBCommand(StrCmd) Then
StrCmd = "DELETE FROM jomtDeviceTbl WHERE Product_SN = '" & txbInfo_DevBarcord.Text & "'"
If DBCommand(StrCmd) Then
Return True
Else
MsgBox("본체 정보 삭제 오류", vbCritical)
End If
Else
MsgBox("눈가 정보 삭제 오류", vbCritical)
End If
Else
MsgBox("페이스 정보 삭제 오류", vbCritical)
End If
Return False
End Function
Private Sub ReadModeTextBoxAllReset()
Try
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_EYE
ReadModeTextBoxReset(cnt)
Next
Catch ex As Exception
Save_ErrorCSV("ReadModeTextBoxAllReset," & ex.Message)
End Try
End Sub
Private Sub ReadModeTextBoxReset(DevType As DS_TYPE)
lblInfo_Model(DevType).ForeColor = Color.Black
lblInfo_YearMonth(DevType).ForeColor = Color.Black
lblInfo_SN(DevType).ForeColor = Color.Black
lblInfo_Year(DevType).ForeColor = Color.Black
lblInfo_Month(DevType).ForeColor = Color.Black
txbInfo_Barcord(DevType).Text = "N/A"
txbInfo_Barcord(DevType).BackColor = Color.LightCyan
txbInfo_Barcord(DevType).ForeColor = Color.Blue
txbInfo_Barcord(DevType).Refresh()
txbInfo_FW(DevType).Text = "N/A"
txbInfo_FW(DevType).ForeColor = Color.Blue
txbInfo_FW(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_FW(DevType).Refresh()
txbInfo_Model(DevType).Text = "N/A"
txbInfo_Model(DevType).ForeColor = Color.Blue
txbInfo_Model(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Model(DevType).Refresh()
txbInfo_Manufacture(DevType).Text = "N/A"
txbInfo_Manufacture(DevType).ForeColor = Color.Blue
txbInfo_Manufacture(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Manufacture(DevType).Refresh()
txbInfo_Year(DevType).Text = "N/A"
txbInfo_Year(DevType).ForeColor = Color.Blue
txbInfo_Year(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Year(DevType).Refresh()
txbInfo_Month(DevType).Text = "N/A"
txbInfo_Month(DevType).ForeColor = Color.Blue
txbInfo_Month(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Month(DevType).Refresh()
txbInfo_SN(DevType).Text = "N/A"
txbInfo_SN(DevType).ForeColor = Color.Blue
txbInfo_SN(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_SN(DevType).Refresh()
txbInfo_Abroad(DevType).Text = "N/A"
txbInfo_Abroad(DevType).ForeColor = Color.Blue
txbInfo_Abroad(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Abroad(DevType).Refresh()
txbInfo_Agency(DevType).Text = "N/A"
txbInfo_Agency(DevType).ForeColor = Color.Blue
txbInfo_Agency(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Agency(DevType).Refresh()
txbInfo_TDSN(DevType).Text = "N/A"
txbInfo_TDSN(DevType).ForeColor = Color.Blue
txbInfo_TDSN(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_TDSN(DevType).Refresh()
txbInfo_Rshot(DevType).Text = "N/A"
txbInfo_Rshot(DevType).ForeColor = Color.Blue
txbInfo_Rshot(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Rshot(DevType).Refresh()
txbInfo_Tshot(DevType).Text = "N/A"
txbInfo_Tshot(DevType).ForeColor = Color.Blue
txbInfo_Tshot(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Tshot(DevType).Refresh()
txbInfo_Freq(DevType).Text = "N/A"
txbInfo_Freq(DevType).ForeColor = Color.Blue
txbInfo_Freq(DevType).Refresh()
txbInfo_Power(DevType).Text = "N/A"
txbInfo_Power(DevType).ForeColor = Color.Blue
txbInfo_Power(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Power(DevType).Refresh()
txbInfo_Date(DevType).Text = "N/A"
txbInfo_Date(DevType).ForeColor = Color.Blue
txbInfo_Date(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Date(DevType).Refresh()
txbInfo_Cart(DevType).Text = "N/A"
txbInfo_Cart(DevType).ForeColor = Color.Blue
txbInfo_Cart(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Cart(DevType).Refresh()
If DevType <> DS_TYPE.DS_DEV Then
txbInfo_AGDate(DevType).Text = "N/A"
txbInfo_AGDate(DevType).ForeColor = Color.Gray
txbInfo_AGDate(DevType).Refresh()
txbInfo_AGShot(DevType).Text = "N/A"
txbInfo_AGShot(DevType).ForeColor = Color.Gray
txbInfo_AGShot(DevType).Refresh()
txbInfo_AGStart(DevType).Text = "N/A"
txbInfo_AGStart(DevType).ForeColor = Color.Gray
txbInfo_AGStart(DevType).Refresh()
txbInfo_AGOkNg(DevType).Text = "N/A"
txbInfo_AGOkNg(DevType).ForeColor = Color.Gray
txbInfo_AGOkNg(DevType).Refresh()
txbInfo_AGPower(DevType).Text = "N/A"
txbInfo_AGPower(DevType).ForeColor = Color.Gray
txbInfo_AGPower(DevType).Refresh()
txbInfo_AGEnd(DevType).Text = "N/A"
txbInfo_AGEnd(DevType).ForeColor = Color.Gray
txbInfo_AGEnd(DevType).Refresh()
txbInfo_CTDate(DevType).Text = "N/A"
txbInfo_CTDate(DevType).ForeColor = Color.Gray
txbInfo_CTDate(DevType).Refresh()
txbInfo_CTFreq(DevType).Text = "N/A"
txbInfo_CTFreq(DevType).ForeColor = Color.Gray
txbInfo_CTFreq(DevType).Refresh()
txbInfo_IQCDate(DevType).Text = "N/A"
txbInfo_IQCDate(DevType).ForeColor = Color.Gray
txbInfo_IQCDate(DevType).Refresh()
txbInfo_IQCGrade(DevType).Text = "N/A"
txbInfo_IQCGrade(DevType).ForeColor = Color.Gray
txbInfo_IQCGrade(DevType).Refresh()
txbInfo_IQCTD(DevType).Text = "N/A"
txbInfo_IQCTD(DevType).ForeColor = Color.Gray
txbInfo_IQCTD(DevType).Refresh()
txbInfo_IQCCap(DevType).Text = "N/A"
txbInfo_IQCCap(DevType).ForeColor = Color.Gray
txbInfo_IQCCap(DevType).Refresh()
End If
End Sub
Private Sub TextBoxAllReset()
Try
txbBarcodeNum.ForeColor = Color.Black
txbBarcodeNum.BackColor = Color.Green
btnCmdStart.Text = "시작"
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_EYE
If chkDeviceUse(cnt).Checked Then
If cnt = DS_TYPE.DS_BODY Then
TextBoxReset(DS_TYPE.DS_FACE)
Else
TextBoxReset(cnt)
End If
End If
Next
Catch ex As Exception
Save_ErrorCSV("TextBoxAllReset," & ex.Message)
End Try
End Sub
Private Sub TextBoxReset(DevType As DS_TYPE)
lblInfo_Model(DevType).ForeColor = Color.Black
lblInfo_YearMonth(DevType).ForeColor = Color.Black
lblInfo_SN(DevType).ForeColor = Color.Black
lblInfo_Year(DevType).ForeColor = Color.Black
lblInfo_Month(DevType).ForeColor = Color.Black
txbInfo_Barcord(DevType).Text = "N/A"
txbInfo_Barcord(DevType).BackColor = Color.LightCyan
txbInfo_Barcord(DevType).ForeColor = Color.Blue
txbInfo_FW(DevType).Text = "N/A"
txbInfo_FW(DevType).ForeColor = Color.Blue
txbInfo_Model(DevType).Text = "N/A"
txbInfo_Model(DevType).ForeColor = Color.Blue
txbInfo_Manufacture(DevType).Text = "N/A"
txbInfo_Manufacture(DevType).ForeColor = Color.Blue
txbInfo_Year(DevType).Text = "N/A"
txbInfo_Year(DevType).ForeColor = Color.Blue
txbInfo_Month(DevType).Text = "N/A"
txbInfo_Month(DevType).ForeColor = Color.Blue
txbInfo_SN(DevType).Text = "N/A"
txbInfo_SN(DevType).ForeColor = Color.Blue
txbInfo_Abroad(DevType).Text = "N/A"
txbInfo_Abroad(DevType).ForeColor = Color.Blue
txbInfo_Agency(DevType).Text = "N/A"
txbInfo_Agency(DevType).ForeColor = Color.Blue
txbInfo_TDSN(DevType).Text = "N/A"
txbInfo_TDSN(DevType).ForeColor = Color.Blue
txbInfo_Rshot(DevType).Text = "N/A"
txbInfo_Rshot(DevType).ForeColor = Color.Blue
txbInfo_Tshot(DevType).Text = "N/A"
txbInfo_Tshot(DevType).ForeColor = Color.Blue
txbInfo_Freq(DevType).Text = "N/A"
txbInfo_Freq(DevType).ForeColor = Color.Blue
txbInfo_Power(DevType).Text = "N/A"
txbInfo_Power(DevType).ForeColor = Color.Blue
txbInfo_Model(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_SN(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Year(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Month(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_FW(DevType).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_TDSN(DevType).BackColor = Color.FromArgb(255, 255, 192)
End Sub
Public Function SendData(SendMessage As String) As Boolean
Try
If cmdSerialPort.IsOpen = True Then
cmdSerialPort.DiscardInBuffer()
cmdSerialPort.DiscardOutBuffer()
If cmdSerialPort.BytesToRead Then
cmdSerialPort.DiscardInBuffer()
End If
cmdSerialPort.WriteTimeout = -1
cmdSerialPort.WriteLine(SendMessage)
Else
MsgBox("통신 포트가 열리지 않았습니다.")
End If
Catch ex As Exception
Save_ErrorCSV("SendData," & ex.Message)
Return True
End Try
Return False
End Function
Private Function Read_ini(read_type As String) As Boolean
Dim FilePath As String
Dim FileName As String
Dim ConifgStr As String
Dim objReader As System.IO.StreamReader
Try
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "\Config"
'디렉토리가 없을 경우
If Dir(FilePath, vbDirectory) = "" Then
MkDir(FilePath)
End If
Select Case read_type
Case "infoset"
FileName = FilePath & "\" & "DS_INFO_SET_Config" & ".ini"
If File.Exists(FileName) = True Then
objReader = New System.IO.StreamReader(FileName, True)
ConifgStr = objReader.ReadLine()
objReader.Close()
cboComPort.Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ParaComport = cboComPort.Text
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
For i = 1 To 15
If Len(ConifgStr) = 0 Then Exit For
ItemSelectItem(i).Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
txbItemSelectModel(i).Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
ItemSelectFace(i).Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
ItemSelectEye(i).Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
ItemSelectAbroad(i).Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
ItemSelectAgency(i).Text = Mid(ConifgStr, 1, InStr(ConifgStr, ",") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, ",") + 1, Len(ConifgStr))
Next
cboLoadSelect.Items.Clear()
For i = 1 To 15
If ItemSelectItem(i).Text = "" Then Continue For
cboLoadSelect.Items.Add(ItemSelectItem(i).Text)
Next i
Return True
Else
MsgBox("검사기 정보가 없습니다." & vbCrLf & "검사기 설정을 진행하세요.", vbCritical, PROGRAM_TITLE_NAME)
RunSetupWindow()
Return False
End If
Case "printer"
FileName = FilePath & "\" & "Printer_Config" & ".ini"
If File.Exists(FileName) = True Then
objReader = New System.IO.StreamReader(FileName, True)
ConifgStr = objReader.ReadLine()
objReader.Close()
ckbprintBar.Checked = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
ckbPrintWar.Checked = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txbname1.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txblabel1.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txbSingle1.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txbbarcode1.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txbtext1.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txbname2.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txblabel2.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
ConifgStr = Mid(ConifgStr, InStr(ConifgStr, "") + 1, ConifgStr.Length)
txbtext2.Text = Mid(ConifgStr, 1, InStr(ConifgStr, "") - 1)
End If
End Select
Exit Function
Catch ex As Exception
Save_ErrorCSV("Read_ini," & ex.Message)
Return False
End Try
End Function
Private Sub Save_ini(save_type As String)
Dim FilePath As String
Dim FileName As String = ""
Dim ConifgStr As String = ""
Dim objWriter As System.IO.StreamWriter
Try
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "\Config"
'디렉토리가 없을 경우
If Dir(FilePath, vbDirectory) = "" Then
MkDir(FilePath)
End If
Select Case save_type
Case "infoset"
FileName = FilePath & "\" & "DS_INFO_SET_Config" & ".ini"
ConifgStr = cboComPort.Text & ","
For i = 1 To 15
If ItemSelectItem(i).Text = "" Then Exit For
ConifgStr = ConifgStr & ItemSelectItem(i).Text & ","
ConifgStr = ConifgStr & txbItemSelectModel(i).Text & ","
ConifgStr = ConifgStr & ItemSelectFace(i).Text & ","
ConifgStr = ConifgStr & ItemSelectEye(i).Text & ","
ConifgStr = ConifgStr & ItemSelectAbroad(i).Text & ","
If i = 15 Then
ConifgStr = ConifgStr & ItemSelectAgency(i).Text
Else
ConifgStr = ConifgStr & ItemSelectAgency(i).Text & ","
End If
If ItemSelectItem(i).Text = "" Then ItemSelectItem(i).Text = "0"
Next
Case "printer"
FileName = FilePath & "\" & "Printer_Config" & ".ini"
ConifgStr = ckbprintBar.Checked & "" & ckbPrintWar.Checked & "" & txbname1.Text & "" & txblabel1.Text & "" & txbSingle1.Text & "" & txbbarcode1.Text & "" & txbtext1.Text & "" & txbname2.Text & "" & txblabel2.Text & "" & txbtext2.Text & ""
End Select
System.IO.File.Delete(FileName)
objWriter = New System.IO.StreamWriter(FileName, True)
objWriter.Flush()
objWriter.WriteLine(ConifgStr)
objWriter.Close()
Exit Sub
Catch ex As Exception
Save_ErrorCSV("Save_ini," & ex.Message)
End Try
End Sub
Private Sub Save_InfoWrite_LogCSV(ChNum As DS_TYPE)
Dim FilePath As String
Dim syear As String
Dim smonth As String
Dim sday As String
Dim runFlag As Boolean = True
Dim FileName As String
Dim ItemList As String = ""
Dim WriteCsvData(35) As String
Dim SaveData As String = ""
Dim TypeStr As String = ""
Dim objWriter As System.IO.StreamWriter
Try
syear = DateAndTime.Year(Now)
smonth = DateAndTime.Month(Now)
sday = DateAndTime.Day(Now)
If ChNum = DS_TYPE.DS_DEV Then
TypeStr = "DEVICE"
ElseIf ChNum = DS_TYPE.DS_FACE Then
TypeStr = "FACE"
ElseIf ChNum = DS_TYPE.DS_EYE Then
TypeStr = "EYE"
ElseIf ChNum = DS_TYPE.DS_BODY Then
TypeStr = "BODY"
End If
WriteCsvData(0) = getNowDate().ToString ''Date
WriteCsvData(1) = getNowTime().ToString ''Time
WriteCsvData(2) = "WRITE" ''Barcord
WriteCsvData(3) = txbInfo_Barcord(ChNum).Text ''Barcord
If ResultTextBoxList(ChNum, 0).ForeColor = Color.Red Then
WriteCsvData(4) = "FAIL"
Else
WriteCsvData(4) = "SUCCESS"
End If
WriteCsvData(5) = txbInfo_Model(ChNum).Text ''Model
WriteCsvData(6) = TypeStr ''Type
WriteCsvData(7) = txbInfo_Manufacture(ChNum).Text ''Manufactured Name
WriteCsvData(8) = txbInfo_Year(ChNum).Text ''Manufactured Year
WriteCsvData(9) = txbInfo_Month(ChNum).Text ''Manufactured Month
WriteCsvData(10) = txbInfo_SN(ChNum).Text ''SN
WriteCsvData(11) = txbInfo_TDSN(ChNum).Text ''TD S/N
WriteCsvData(12) = txbInfo_FW(ChNum).Text ''F/W Version
WriteCsvData(13) = txbInfo_Abroad(ChNum).Text ''Abroad
WriteCsvData(14) = txbInfo_Agency(ChNum).Text ''Agency
WriteCsvData(15) = txbInfo_Rshot(ChNum).Text ''Remain Shot
WriteCsvData(16) = txbInfo_Tshot(ChNum).Text ''Total Shot,Info
For i = 0 To 7
WriteCsvData(17 + (i * 2)) = SendValue(ChNum, i) ''Send Data Value
WriteCsvData(17 + ((i * 2) + 1)) = ReturnValue(ChNum, i) ''Receive Data Value
Next
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "LogData"
'디렉토리가 없을 경우
If Dir(FilePath, vbDirectory) = "" Then
MkDir(FilePath)
End If
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_LogData.csv"
ItemList = "Date,Time,Run Step,Product Code,Complete,Model,Type,Manufactured Name,Manufactured Year,Manufactured Month,SN,TD S/N,F/W Version,Abroad,Agency,Remain Shot,Total Shot" &
",SendData(0),ReceiveData(0),SendData(1),ReceiveData(1),SendData(2),ReceiveData(2),SendData(3),ReceiveData(3),SendData(4),ReceiveData(4),SendData(5),ReceiveData(5),SendData(6),ReceiveData(6),SendData(7),ReceiveData(7)"
For i = 0 To 32
SaveData = SaveData & WriteCsvData(i) & ","
Next
SaveData = SaveData & WriteCsvData(33)
If File.Exists(FileName) = True Then
objWriter = New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("euc-kr"))
objWriter.WriteLine(SaveData)
Else
objWriter = New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("euc-kr"))
objWriter.WriteLine(ItemList)
objWriter.WriteLine(SaveData)
End If
objWriter.Close()
Exit Sub
Catch ex As Exception
Save_ErrorCSV("Save_InfoWrite_LogCSV," & ex.Message)
MsgBox("Log Data Save Fail:" & ex.Message, vbCritical, PROGRAM_TITLE_NAME)
Exit Sub
End Try
End Sub
Private Sub Save_InfoUpload_LogCSV(ChNum As DS_TYPE)
Dim FilePath As String
Dim syear As String
Dim smonth As String
Dim sday As String
Dim runFlag As Boolean = True
Dim FileName As String
Dim ItemList As String = ""
Dim SaveData As String = ""
Dim TypeStr As String = ""
Dim objWriter As System.IO.StreamWriter
Try
syear = DateAndTime.Year(Now)
smonth = DateAndTime.Month(Now)
sday = DateAndTime.Day(Now)
If ChNum = DS_TYPE.DS_DEV Then
TypeStr = "DEVICE"
ElseIf ChNum = DS_TYPE.DS_FACE Then
TypeStr = "FACE"
ElseIf ChNum = DS_TYPE.DS_EYE Then
TypeStr = "EYE"
ElseIf ChNum = DS_TYPE.DS_BODY Then
TypeStr = "BODY"
End If
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "LogData"
'디렉토리가 없을 경우
If Dir(FilePath, vbDirectory) = "" Then
MkDir(FilePath)
End If
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_LogData.csv"
ItemList = "Date,Time,Run Step,Product Code,Complete,Model,Type,Manufactured Name,Manufactured Year,Manufactured Month,SN,TD S/N,F/W Version,Abroad,Agency,Remain Shot,Total Shot" &
",SendData(0),ReceiveData(0),SendData(1),ReceiveData(1),SendData(2),ReceiveData(2),SendData(3),ReceiveData(3),SendData(4),ReceiveData(4),SendData(5),ReceiveData(5),SendData(6),ReceiveData(6),SendData(7),ReceiveData(7)"
SaveData = getNowDate() & "," & getNowTime() & ","
SaveData = SaveData & "UPLOAD" & ","
SaveData = SaveData & txbInfo_Barcord(ChNum).Text & ","
If UploadDBComplete(ChNum) Then
SaveData = SaveData & "SUCCESS"
Else
SaveData = SaveData & "FAIL"
End If
If File.Exists(FileName) = True Then
objWriter = New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("euc-kr"))
objWriter.WriteLine(SaveData)
Else
objWriter = New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("euc-kr"))
objWriter.WriteLine(ItemList)
objWriter.WriteLine(SaveData)
End If
objWriter.Close()
Exit Sub
Catch ex As Exception
Save_ErrorCSV("Save_InfoUpload_LogCSV," & ex.Message)
End Try
End Sub
Private Sub Save_ErrorCSV(ErrorData As String)
Dim FilePath As String
Dim syear As String
Dim smonth As String
Dim sday As String
Dim runFlag As Boolean = True
Dim FileName As String
Dim ItemList As String = ""
Dim SaveData As String
Dim TypeStr As String = ""
Dim objWriter As System.IO.StreamWriter
Try
syear = DateAndTime.Year(Now)
smonth = DateAndTime.Month(Now)
sday = DateAndTime.Day(Now)
SaveData = getNowDate().ToString & "," & getNowTime().ToString & "," & ErrorData
FilePath = System.AppDomain.CurrentDomain.BaseDirectory() & "ErrorData"
'디렉토리가 없을 경우
If Dir(FilePath, vbDirectory) = "" Then
MkDir(FilePath)
End If
FileName = FilePath & "\" & DateAndTime.Year(Now) & "_" & DateAndTime.Month(Now) & "_" & DateAndTime.Day(Now) & "_ErrorData.csv"
ItemList = "Date,Time,Location,Description"
If File.Exists(FileName) = True Then
objWriter = New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("euc-kr"))
objWriter.WriteLine(SaveData)
Else
objWriter = New System.IO.StreamWriter(FileName, True, System.Text.Encoding.GetEncoding("euc-kr"))
objWriter.WriteLine(ItemList)
objWriter.WriteLine(SaveData)
End If
objWriter.Close()
Exit Sub
Catch ex As Exception
Save_ErrorCSV("Save_ErrorCSV," & ex.Message)
End Try
End Sub
Private Sub chkDevice_CheckedChanged(sender As Object, e As EventArgs) Handles chkDevUse.CheckedChanged
If chkDevUse.Checked Then
gpbDevInfoSet.Visible = True
chkBodyUse.Checked = False
Else
gpbDevInfoSet.Visible = False
End If
gpbDevInfoSet.Refresh()
SetBarCodeBoxFocus()
End Sub
Private Sub chkFace_CheckedChanged(sender As Object, e As EventArgs) Handles chkFaceUse.CheckedChanged
If chkFaceUse.Checked Then
txbConf_FaceShot.Visible = True
txbConf_BodyShot.Visible = False
chkBodyUse.Checked = False
gpbFaceInfoSet.Text = "FACE카트리지 정보"
gpbFaceInfoSet.Visible = True
gpbFaceSet.Text = "FACE카트리지 정보 설정"
gpbFaceSet.Visible = True
Else
txbConf_BodyShot.Visible = True
gpbFaceInfoSet.Visible = False
gpbFaceSet.Visible = False
End If
gpbFaceInfoSet.Refresh()
gpbFaceSet.Refresh()
SetBarCodeBoxFocus()
End Sub
Private Sub chkEye_CheckedChanged(sender As Object, e As EventArgs) Handles chkEyeUse.CheckedChanged
If chkEyeUse.Checked Then
'txbConf_EyeShot.Text = "60000"
chkBodyUse.Checked = False
gpbEyeInfoSet.Visible = True
gpbEyeSet.Visible = True
Else
gpbEyeInfoSet.Visible = False
gpbEyeSet.Visible = False
End If
gpbEyeInfoSet.Refresh()
gpbEyeSet.Refresh()
SetBarCodeBoxFocus()
End Sub
Private Sub chkBody_CheckedChanged(sender As Object, e As EventArgs) Handles chkBodyUse.CheckedChanged
If chkBodyUse.Checked Then
txbConf_BodyShot.Visible = True
txbConf_FaceShot.Visible = False
chkDevUse.Checked = False
chkFaceUse.Checked = False
chkEyeUse.Checked = False
chkBodyUse.Checked = True
gpbFaceInfoSet.Text = "BODY카트리지 정보"
gpbFaceInfoSet.Visible = True
gpbDevInfoSet.Visible = False
gpbEyeInfoSet.Visible = False
gpbFaceSet.Text = "BODY카트리지 정보 설정"
gpbFaceSet.Visible = True
Else
txbConf_BodyShot.Visible = False
txbConf_FaceShot.Visible = True
gpbFaceInfoSet.Text = "FACE카트리지 정보"
gpbFaceInfoSet.Visible = False
gpbFaceSet.Text = "FACE카트리지 정보 설정"
gpbFaceSet.Visible = False
End If
gpbFaceInfoSet.Refresh()
gpbFaceSet.Refresh()
SetBarCodeBoxFocus()
End Sub
Private Sub runTimeTimer_Tick(sender As Object, e As EventArgs) Handles runTimeTimer.Tick
lblTime.Text = Now
lblTime.Refresh()
If active_onoff = True Then
active_form()
End If
For num = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If EnableBarCodeTxbToggle(num) Then
If EnableBarCodeTxbToggle(DS_TYPE.MAX_DS_TYPE_NUM) Then
txbInfo_Barcord(num).BackColor = Color.DodgerBlue
Else
txbInfo_Barcord(num).BackColor = Color.Yellow
End If
End If
Next
EnableBarCodeTxbToggle(DS_TYPE.MAX_DS_TYPE_NUM) = Not EnableBarCodeTxbToggle(DS_TYPE.MAX_DS_TYPE_NUM)
End Sub
Private Sub chkBarcode_CheckedChanged(sender As Object, e As EventArgs) Handles chkBarcode.CheckedChanged
Select Case RunMode
Case FORM_TYPE.WRITE_MODE
If chkBarcode.Checked Then
lblJudge.Location = New Size(340, 50)
lblJudge.Size = New Size(159, 83)
lblJudge.Text = "판정"
btnCmdInput.Visible = False
Else
lblJudge.Location = New Size(175, 50)
lblJudge.Size = New Size(345, 83)
lblJudge.Text = "바코드번호"
btnCmdInput.Visible = True
End If
Case FORM_TYPE.READ_MODE
lblJudge.Location = New Size(300, 27)
lblJudge.Size = New Size(221, 83)
lblJudge.Text = "바코드"
If chkBarcode.Checked Then
btnCmdInput.Visible = False
Else
btnCmdInput.Visible = True
End If
End Select
lblJudge.Refresh()
btnCmdInput.Refresh()
End Sub
Private Sub RunInput_Process()
Dim RET_VAL As String
Dim RET_TYPE As DS_TYPE
Dim tmpModelType As Integer
Dim DiffFlag As Boolean = False
Try
If btnCmdStart.Text = "정보입력 전 기기를 제거해주세요." Then Return
btnCmdStart.Text = "시작"
''바코드 유효성 확인
tmpModelType = Val(Mid(txbBarcodeNum.Text, 1, 2))
If tmpModelType = DS_PRODUCT.DS_PRO_DEV Or tmpModelType = DS_PRODUCT.DS_PRO_FACE Or tmpModelType = DS_PRODUCT.DS_PRO_EYE Or tmpModelType = DS_PRODUCT.DS_PRO_BODY Then
ElseIf tmpModelType = DS_PRODUCT.DS_LUX_DEV Or tmpModelType = DS_PRODUCT.DS_LUX_FACE Or tmpModelType = DS_PRODUCT.DS_LUX_EYE Or tmpModelType = DS_PRODUCT.DS_LUX_BODY Then
ElseIf tmpModelType = DS_PRODUCT.DS_ALPHA_DEV Or tmpModelType = DS_PRODUCT.DS_ALPHA_FACE Or tmpModelType = DS_PRODUCT.DS_ALPHA_EYE Or tmpModelType = DS_PRODUCT.DS_ALPHA_BODY Then
Else
Return
End If
If td_Compare(txbBarcodeNum.Text, "Product_SN", "jomtProductTbl") Then
GoTo DUPLICATION_NG
End If
If td_Compare(txbBarcodeNum.Text, "Product_SN", "jomtCartridgeTbl") Then
GoTo DUPLICATION_NG
End If
If Len(txbBarcodeNum.Text) <> 12 Then Return
RET_VAL = RunSN_Parsing(txbBarcodeNum.Text)
If InStr(RET_VAL, ",") <> 0 Then
RET_TYPE = Val(Mid(RET_VAL, 1, 1))
RET_VAL = Mid(RET_VAL, InStr(RET_VAL, ",") + 1, Len(RET_VAL) - InStr(RET_VAL, ","))
Else
RET_TYPE = Val(Mid(RET_VAL, 1, 1))
RET_VAL = ""
End If
If RET_VAL = "INSERT_DIVICE" Then Return
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
lblInfo_Model(cnt).ForeColor = Color.Black
lblInfo_SN(cnt).ForeColor = Color.Black
lblInfo_YearMonth(cnt).ForeColor = Color.Black
lblInfo_Year(cnt).ForeColor = Color.Black
lblInfo_Month(cnt).ForeColor = Color.Black
txbInfo_Model(cnt).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_SN(cnt).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Year(cnt).BackColor = Color.FromArgb(255, 255, 192)
txbInfo_Month(cnt).BackColor = Color.FromArgb(255, 255, 192)
End If
Next
If RET_VAL = "NOISE" Or RET_VAL = "DISABLE" Then Return
If RET_VAL = "DIFFERENT" Then
If DIFF_MATCH_FLAG(DIFF_MATCH.MODEL_DIFFERENT) Then
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
If cnt = RET_TYPE Then
lblInfo_Model(cnt).ForeColor = Color.Red
txbInfo_Model(cnt).BackColor = Color.Red
Else
If LOAD_FLAG(cnt) Then
lblInfo_Model(cnt).ForeColor = Color.Red
Else
lblInfo_Model(cnt).ForeColor = Color.Black
End If
End If
End If
Next
End If
If DIFF_MATCH_FLAG(DIFF_MATCH.SN_DIFFERENT) Then
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
If cnt = RET_TYPE Then
lblInfo_SN(cnt).ForeColor = Color.Red
txbInfo_SN(cnt).BackColor = Color.Red
Else
If LOAD_FLAG(cnt) Then
lblInfo_SN(cnt).ForeColor = Color.Red
Else
lblInfo_SN(cnt).ForeColor = Color.Black
End If
End If
End If
Next
End If
If DIFF_MATCH_FLAG(DIFF_MATCH.DATE_DIFFERENT) Then
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked Then
If cnt = RET_TYPE Then
lblInfo_YearMonth(cnt).ForeColor = Color.Red
lblInfo_Year(cnt).ForeColor = Color.Red
lblInfo_Month(cnt).ForeColor = Color.Red
txbInfo_Year(cnt).BackColor = Color.Red
txbInfo_Month(cnt).BackColor = Color.Red
Else
If LOAD_FLAG(cnt) Then
lblInfo_YearMonth(cnt).ForeColor = Color.Red
lblInfo_Year(cnt).ForeColor = Color.Red
lblInfo_Month(cnt).ForeColor = Color.Red
Else
lblInfo_YearMonth(cnt).ForeColor = Color.Black
lblInfo_Year(cnt).ForeColor = Color.Black
lblInfo_Month(cnt).ForeColor = Color.Black
End If
End If
End If
Next
End If
For cnt = 1 To (DIFF_MATCH.MAX_DIFF_MATCH_NUM - 1)
If DIFF_MATCH_FLAG(cnt) Then DiffFlag = True
DIFF_MATCH_FLAG(cnt) = False
Next
End If
If chkDeviceUse(RET_TYPE).Checked = False Then Return
If GetConnectStatus(RET_TYPE) Then
If LOAD_FLAG(RET_TYPE) = True Then Return
txbInfo_Barcord(RET_TYPE).BackColor = Color.Red
Return
End If
txbInfo_Barcord(RET_TYPE).Text = txbBarcodeNum.Text
DisplayInfoType(RET_TYPE)
If RET_VAL = "" Then
EnableBarCodeTxbToggle(RET_TYPE) = True
Else
EnableBarCodeTxbToggle(RET_TYPE) = False
txbInfo_Barcord(RET_TYPE).BackColor = Color.Red
End If
If IsComplete() = "COMPLETE" Then
btnCmdStart.Enabled = True
SetStatus(DS_STATUS.READY)
RunProcess()
Else
btnCmdStart.Enabled = False
End If
Exit Sub
DUPLICATION_NG:
If MsgBox("데이터베이스에 중복된 시리얼 번호가 존재합니다. 허나 바코드는 재인쇄가 가능합니다." & vbCrLf & "바코드를 재인쇄 하시겠습니까?", vbExclamation + vbYesNo) = MsgBoxResult.Yes Then
Compare_Print = True
txtName = txbBarcodeNum.Text
print_OnOff = True
SetBarCodeBoxFocus()
txbBarcodeNum.Text = "인쇄 완료"
txbBarcodeNum.BackColor = Color.Green
Exit Sub
End If
txbBarcodeNum.Text = "중복 오류"
txbBarcodeNum.BackColor = Color.Red
Exit Sub
Catch ex As Exception
Save_ErrorCSV("RunBarCodeInput," & ex.Message)
End Try
End Sub
Private Sub DisplayInfoType(MODEL_TYPE As DS_TYPE)
If chkDeviceUse(MODEL_TYPE).Checked = True Then
If DS_SN(MODEL_TYPE).MODEL = DS_MODEL.DS_PRO Then
txbInfo_Model(MODEL_TYPE).Text = "PRO"
ElseIf DS_SN(MODEL_TYPE).MODEL = DS_MODEL.DS_LUX Then
txbInfo_Model(MODEL_TYPE).Text = "LUX"
ElseIf DS_SN(MODEL_TYPE).MODEL = DS_MODEL.DS_ALPHA Then
txbInfo_Model(MODEL_TYPE).Text = "ALPHA"
End If
txbInfo_Manufacture(MODEL_TYPE).Text = "JOMT"
txbInfo_Year(MODEL_TYPE).Text = DS_SN(MODEL_TYPE).YEAR
txbInfo_Month(MODEL_TYPE).Text = DS_SN(MODEL_TYPE).MONTH
txbInfo_SN(MODEL_TYPE).Text = DS_SN(MODEL_TYPE).SN
txbInfo_Abroad(MODEL_TYPE).Text = txbConf_Abroad.Text
txbInfo_Agency(MODEL_TYPE).Text = txbConf_Agency.Text
If MODEL_TYPE = DS_TYPE.DS_FACE Then
txbInfo_Rshot(MODEL_TYPE).Text = txbConf_FaceShot.Text
txbInfo_Tshot(MODEL_TYPE).Text = txbConf_FaceShot.Text
ElseIf MODEL_TYPE = DS_TYPE.DS_EYE Then
txbInfo_Rshot(MODEL_TYPE).Text = txbConf_EyeShot.Text
txbInfo_Tshot(MODEL_TYPE).Text = txbConf_EyeShot.Text
ElseIf MODEL_TYPE = DS_TYPE.DS_BODY Then
txbInfo_Rshot(MODEL_TYPE).Text = txbConf_BodyShot.Text
txbInfo_Tshot(MODEL_TYPE).Text = txbConf_BodyShot.Text
End If
End If
End Sub
Private Function WriteCartInfoData(CT_TYPE As DS_TYPE) As String
Dim ChNum As Integer = CT_TYPE + 1
Dim CmdString As String = "cartoqc"
Dim tmpSN As String = txbInfo_Year(CT_TYPE).Text & txbInfo_Month(CT_TYPE).Text & txbInfo_SN(CT_TYPE).Text
Dim tmpModelType As String = DS_SN(CT_TYPE).MODEL & DS_SN(CT_TYPE).TYPE
Dim cmdStr As String = ""
Dim VariableMaxCnt As Integer = 7
Try
If CT_TYPE = DS_TYPE.DS_DEV Then Return "TYPE"
If CT_TYPE = DS_TYPE.DS_BODY Then ChNum = 2
SendValue(CT_TYPE, 0) = ChNum.ToString
SendValue(CT_TYPE, 1) = "jomt"
SendValue(CT_TYPE, 2) = tmpSN
SendValue(CT_TYPE, 3) = tmpModelType
SendValue(CT_TYPE, 4) = txbInfo_Abroad(CT_TYPE).Text
SendValue(CT_TYPE, 5) = txbInfo_Agency(CT_TYPE).Text
SendValue(CT_TYPE, 6) = txbInfo_Tshot(CT_TYPE).Text
SendValue(CT_TYPE, 7) = txbInfo_Rshot(CT_TYPE).Text
For cnt = 0 To VariableMaxCnt
If SendValue(CT_TYPE, cnt) = "N/A" Then Return "N/A"
If cnt < VariableMaxCnt Then
cmdStr = cmdStr & SendValue(CT_TYPE, cnt) & ","
Else
cmdStr = cmdStr & SendValue(CT_TYPE, cnt)
End If
Next
cmdMessage = "[" & CmdString & " " & cmdStr & "]" & vbCrLf
SendData(cmdMessage)
Return "SUCCESS"
Catch ex As Exception
Save_ErrorCSV("RunBarCodeInput," & ex.Message)
Return "FAIL"
End Try
End Function
Private Function WriteDevInfoData() As String
Dim ChNum As Integer = 1
Dim CT_TYPE As DS_TYPE = DS_TYPE.DS_DEV
Dim CmdString As String = "wrstconf"
Dim cmdStr As String = ""
Dim tmpSN As String = txbInfo_Year(DS_TYPE.DS_DEV).Text & txbInfo_Month(DS_TYPE.DS_DEV).Text & txbInfo_SN(DS_TYPE.DS_DEV).Text
Dim tmpModelType As String = DS_SN(DS_TYPE.DS_DEV).MODEL & DS_SN(DS_TYPE.DS_DEV).TYPE
Dim VariableMaxCnt As Integer = 5
Try
If CT_TYPE <> DS_TYPE.DS_DEV Then Return "TYPE"
SendValue(CT_TYPE, 0) = ChNum
SendValue(CT_TYPE, 1) = "jomt"
SendValue(CT_TYPE, 2) = tmpSN
SendValue(CT_TYPE, 3) = tmpModelType
SendValue(CT_TYPE, 4) = txbInfo_Abroad(CT_TYPE).Text
SendValue(CT_TYPE, 5) = txbInfo_Agency(CT_TYPE).Text
For cnt = 0 To VariableMaxCnt
If SendValue(CT_TYPE, cnt) = "N/A" Then Return "N/A"
If cnt < VariableMaxCnt Then
cmdStr = cmdStr & SendValue(CT_TYPE, cnt) & ","
Else
cmdStr = cmdStr & SendValue(CT_TYPE, cnt)
End If
Next
cmdMessage = "[" & CmdString & " " & cmdStr & "]" & vbCrLf
SendData(cmdMessage)
Return "SUCCESS"
Catch ex As Exception
Save_ErrorCSV("WriteDevInfoData," & ex.Message)
Return "FAIL"
End Try
End Function
Public Sub WriteInfoTimerEnable(OnOff As Boolean)
ReceiveCnt = ReceiveCntVal
If OnOff Then
ReceiveCntEnable = True
Else
ReceiveCntEnable = False
End If
End Sub
Public Sub CheckTDSN_TimerEnable(OnOff As Boolean)
TDSN_ReceiveCnt = TDSN_ReceiveCntVal
If OnOff Then
TDSN_ReceiveCntEnable = True
Else
TDSN_ReceiveCntEnable = False
End If
End Sub
Public Sub WriteBarCodeWindow(WrStr As String)
BarCodeFixedText = True
txbBarcodeNum.Clear()
txbBarcodeNum.AppendText(WrStr)
cboLoadSelect.Focus()
txbBarcodeNum.Focus()
BarCodeFixedText = False
End Sub
Public Sub RunWrite_Process()
Try
If IsComplete() <> "COMPLETE" Then
txbBarcodeNum.BackColor = Color.Red
WriteBarCodeWindow("쓰기조건 불충분")
Exit Sub
End If
For cnt = DS_TYPE.DS_FACE To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked And Mid(txbInfo_TDSN(cnt).Text, 1, 3).ToUpper <> "DIT" And Mid(txbInfo_TDSN(cnt).Text, 1, 1) <> "J" Then
txbBarcodeNum.BackColor = Color.Red
txbInfo_TDSN(cnt).ForeColor = Color.Red
txbInfo_Barcord(cnt).BackColor = Color.Red
WriteBarCodeWindow("TD SN 없음")
btnCmdStart.Text = "해당 기기를 제거해주세요."
Exit Sub
End If
Next
SetStatus(DS_STATUS.WIRTTING)
WriteBarCodeWindow("정보 쓰기 중")
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked = True Then
Reset_Return_Reg(cnt)
For i = 0 To 9
ResultTextBoxList(cnt, i).ForeColor = Color.Blue
Next
txbInfo_TDSN(cnt).ForeColor = Color.Blue
txbInfo_FW(cnt).ForeColor = Color.Blue
If cnt = DS_TYPE.DS_DEV Then
WriteDevInfoData()
Else
WriteCartInfoData(cnt)
End If
End If
Next
WriteInfoTimerEnable(True)
btnCmdStart.Enabled = False
SetBarCodeBoxFocus()
Catch ex As Exception
Save_ErrorCSV("RunWrite_Process," & ex.Message)
End Try
End Sub
Public Sub RunReWrite_Process()
Try
SetStatus(DS_STATUS.REWIRTTING)
If DiffCompComplete = False Then
WriteBarCodeWindow("정보 다시쓰기 중")
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked = True Then
If DiffCompReturnVal(cnt) = False And ConnectStatus(cnt) = True Then
WriteInfoData(cnt)
End If
End If
Next
WriteInfoTimerEnable(True)
btnCmdStart.Enabled = False
Else
WriteBarCodeWindow("정보 업로드 중")
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked = True Then
If UploadDBComplete(cnt) = False And ConnectStatus(cnt) = True Then
If UploadInfoData(cnt) Then
ResultTextBoxList(cnt, 0).ForeColor = Color.Blue
Else
ResultTextBoxList(cnt, 0).ForeColor = Color.Red
End If
End If
End If
Next
DBuploadComplete = True
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If chkDeviceUse(cnt).Checked = True Then
If UploadDBComplete(cnt) = False Then
DBuploadComplete = False
End If
End If
Next
If DiffCompComplete And DBuploadComplete Then
DBAssyuploadComplete = Upload_AssyInfo()
If DBAssyuploadComplete Then
thread_print = True
WriteSuccessProcess()
Else
WriteFailProcess()
End If
End If
End If
SetBarCodeBoxFocus()
Catch ex As Exception
Save_ErrorCSV("RunReWrite_Process," & ex.Message)
End Try
End Sub
Private Sub WriteInfoData(cnt As DS_TYPE)
Try
If chkDeviceUse(cnt).Checked = True Then
Reset_Return_Reg(cnt)
For i = 0 To 9
ResultTextBoxList(cnt, i).ForeColor = Color.Blue
Next
txbInfo_TDSN(cnt).ForeColor = Color.Blue
txbInfo_FW(cnt).ForeColor = Color.Blue
If cnt = DS_TYPE.DS_DEV Then
WriteDevInfoData()
Else
WriteCartInfoData(cnt)
End If
End If
Catch ex As Exception
Save_ErrorCSV("WriteInfoData," & ex.Message)
End Try
End Sub
Private Sub loadSetupWindows()
''gpbSetupWindow.Visible = True
''gpbSetupWindow.Location = New Size(1, 9)
''gpbSetupWindow.Size = New Size(1021, 734)
''DefaultTextColor()
End Sub
Private Sub cmdSerial_Click(sender As Object, e As EventArgs) Handles cmdSerial.Click
LoadComportName()
End Sub
Private Sub LoadComportName()
Dim portname() As String
Dim i As Integer
Try
cboComPort.Items.Clear()
portname = cmdSerialPort.GetPortNames
For i = 1 To portname.Length
cboComPort.Items.Add(portname(i - 1))
Next i
cboComPort.Text = "PRESS!"
Catch ex As Exception
Save_ErrorCSV("LoadComportName," & ex.Message)
End Try
End Sub
Private Sub btnSetup_Click(sender As Object, e As EventArgs) Handles btnSetup.Click
RunSetupWindow()
btndgvref_Click(sender, e)
End Sub
Public Sub RunSetupWindow()
frmLogin.ShowDialog()
If GetLoginStatus() = LOGIN_STATUS.CHECK_IN_SETUP Then
pnlConf.Visible = True
pnlMain.Visible = False
SetLoginStatus(LOGIN_STATUS.ENTER_SETUP)
End If
End Sub
Private Sub btnSetupExit_Click(sender As Object, e As EventArgs) Handles btnSetupExit.Click
pnlMain.Visible = True
pnlMain.Refresh()
pnlConf.Visible = False
SetLoginStatus(LOGIN_STATUS.ENTER_PROGRAM)
pnlConf.Refresh()
btnSetup.Enabled = True
End Sub
Private Sub btnSetupSave_Click(sender As Object, e As EventArgs) Handles btnSetupSave.Click
Dim retVal As Integer
retVal = MsgBox("설정을 저장하시겠습니까?", vbYesNo + vbExclamation, "DUALSONIC Configuation")
If retVal = 6 Then
Save_ini("infoset")
Save_ini("printer")
End If
End Sub
Private Sub btnSetupLoad_Click(sender As Object, e As EventArgs) Handles btnSetupLoad.Click
Read_ini("infoset")
Read_ini("printer")
End Sub
Private Sub txbBarcodeNum_Click(sender As Object, e As EventArgs) Handles txbBarcodeNum.Click
If chkBarcode.Checked = False Then txbBarcodeNum.Clear()
End Sub
Private Sub txbBarcodeNum_TextChanged(sender As Object, e As EventArgs) Handles txbBarcodeNum.TextChanged
Dim tmpStr As String
If BarCodeFixedText = False Then
If BarCodeWaitCnt = 0 And chkBarcode.Checked = True Then
'' 이전에 있는 텍스트박스의 텍스트는 삭제하고 새로운 것만 채워넣음.
tmpStr = txbBarcodeNum.Text
If (Len(tmpStr) > 1) Then
tmpStr = Mid(tmpStr, Len(tmpStr), 1)
txbBarcodeNum.Clear()
txbBarcodeNum.AppendText(tmpStr)
End If
BarCodeWaitCnt = BarCodeWaitTime
BarCodeWaitTimer.Enabled = True
End If
End If
End Sub
Private Sub cmdTimer_Tick(sender As Object, e As EventArgs) Handles cmdTimer.Tick
Try
If ReceiveCnt Then ReceiveCnt -= 1
If TDSN_ReceiveCnt Then TDSN_ReceiveCnt -= 1
If ReceiveCntEnable And ReceiveCnt = 0 Then
WriteFailProcess()
For cnt = DS_TYPE.DS_DEV To DS_TYPE.DS_BODY
If ReceiveReturnVal(cnt) = False And chkDeviceUse(cnt).Checked Then
CheckDiffCompReturnVal(cnt)
End If
Next
ReceiveCntEnable = False
End If
If TDSN_ReceiveCntEnable And TDSN_ReceiveCnt = 0 Then
TDSN_ReceiveCntEnable = False
End If
Catch ex As Exception
ReceiveCntEnable = False
TDSN_ReceiveCntEnable = False
End Try
End Sub
Private Sub gpbDeviceInfo_Enter(sender As Object, e As EventArgs) Handles gpbDeviceInfo.Enter
End Sub
Private Sub BarCodeWaitTimer_Tick(sender As Object, e As EventArgs) Handles BarCodeWaitTimer.Tick
Dim tmpStr As String = ""
Dim tmpCmd As String = ""
If BarCodeWaitCnt Then
BarCodeWaitCnt -= 1
Else
BarCodeWaitTimer.Enabled = False
tmpStr = txbBarcodeNum.Text
tmpCmd = Mid(tmpStr, 1, 5)
If tmpCmd = "S/N: " Or tmpCmd = "ㄴ/ㅜ: " Then
tmpStr = Mid(tmpStr, 6, Len(tmpStr) - 5).ToString
txbBarcodeNum.Clear()
txbBarcodeNum.AppendText(tmpStr)
End If
RunProcess()
End If
End Sub
Private Sub cboLoadSelect_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboLoadSelect.SelectedIndexChanged
Dim CboNum As Integer
For cnt = 1 To 15
If cboLoadSelect.Text = ItemSelectItem(cnt).Text Then
CboNum = cnt
Exit For
End If
Next
chkDevUse.Checked = True
chkFaceUse.Checked = True
chkEyeUse.Checked = True
chkBodyUse.Checked = False
If CboNum Then
txbConf_Model.Text = txbItemSelectModel(CboNum).Text
If txbConf_Model.Text = "PRO" Then
Conf_DS_Set.CONF_MODEL = DS_MODEL.DS_PRO
ElseIf txbConf_Model.Text = "LUX" Then
Conf_DS_Set.CONF_MODEL = DS_MODEL.DS_LUX
ElseIf txbConf_Model.Text = "ALPHA" Then
Conf_DS_Set.CONF_MODEL = DS_MODEL.DS_ALPHA
End If
txbConf_FaceShot.Text = ItemSelectFace(CboNum).Text
If chkFaceUse.Checked Then
Conf_DS_Set.CONF_FACE_RSHOT = Val(txbConf_FaceShot.Text)
Conf_DS_Set.CONF_FACE_TSHOT = Val(txbConf_FaceShot.Text)
End If
txbConf_EyeShot.Text = ItemSelectEye(CboNum).Text
If chkEyeUse.Checked Then
Conf_DS_Set.CONF_EYE_RSHOT = Val(txbConf_EyeShot.Text)
Conf_DS_Set.CONF_EYE_TSHOT = Val(txbConf_EyeShot.Text)
End If
txbConf_FaceShot.Text = ItemSelectFace(CboNum).Text
If chkBodyUse.Checked Then
Conf_DS_Set.CONF_BODY_RSHOT = Val(txbConf_FaceShot.Text)
Conf_DS_Set.CONF_BODY_TSHOT = Val(txbConf_FaceShot.Text)
End If
txbConf_Abroad.Text = ItemSelectAbroad(CboNum).Text
Conf_DS_Set.CONF_ABLOAD = Val(txbConf_Abroad.Text)
txbConf_Agency.Text = ItemSelectAgency(CboNum).Text
Conf_DS_Set.CONF_AGENCY = Val(txbConf_Agency.Text)
End If
SetBarCodeBoxFocus()
End Sub
Private Sub gpbDeviceInfo_Click(sender As Object, e As EventArgs) Handles gpbDeviceInfo.Click, gpbFaceInfoSet.Click
SetBarCodeBoxFocus()
End Sub
Private Sub gpbJudge_Click(sender As Object, e As EventArgs) Handles gpbJudge.Click
SetBarCodeBoxFocus()
End Sub
Private Sub txbConf_Model_TextChanged(sender As Object, e As EventArgs) Handles txbConf_Model.TextChanged
If txbConf_Model.Text = "PRO" Then
Conf_DS_Set.CONF_MODEL = DS_MODEL.DS_PRO
ElseIf txbConf_Model.Text = "LUX" Then
Conf_DS_Set.CONF_MODEL = DS_MODEL.DS_LUX
End If
End Sub
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
Reset_All_DS_Reg()
TextBoxAllReset()
Reset_All_Connect() '' 모든 기기 미연결 상태로 체크
SetStatus(DS_STATUS.STANDBY)
WriteTextBarCodeBox("바코드 입력")
SetBarCodeBoxFocus()
End Sub
Private Sub pnlMain_Click(sender As Object, e As EventArgs) Handles pnlMain.Click
SetBarCodeBoxFocus()
End Sub
Private Sub print_on(printtext As String)
Try
Compare_Print = False
txtName = Nothing
print_OnOff = False
active_onoff = True
Dim doc As bpac.Document = New bpac.Document
For i = 0 To print_data.GetLength(1) - 1
If i = 0 Then
If ckbprintBar.Checked = True Then
If printer_state(print_data(i, 0)) Then
Dim print_address As String = print_data(i, 1)
doc.Open(print_address)
Dim print_name As Boolean = doc.SetPrinter(print_data(i, 0), True)
doc.GetObject(txbbarcode1.Text).Text = printtext
doc.GetObject(txbtext1.Text).Text = printtext
Else
MsgBox("프린터 연결이 잘못되었습니다. 전원이나 케이블을 확인하여 주십시오.", vbExclamation)
End If
End If
Else
If ckbPrintWar.Checked = True Then
If printer_state(print_data(i, 0)) Then
Dim print_address As String = print_data(i, 1)
doc.Open(print_address)
Dim print_name As Boolean = doc.SetPrinter(print_data(i, 0), True)
doc.GetObject(txbtext2.Text).Text = printtext
Else
MsgBox("프린터 연결이 잘못되었습니다. 전원이나 케이블을 확인하여 주십시오.", vbExclamation)
End If
End If
End If
doc.StartPrint("", bpac.PrintOptionConstants.bpoDefault)
doc.PrintOut(1, bpac.PrintOptionConstants.bpoDefault)
doc.EndPrint()
doc.Close()
Next
Catch ex As Exception
Compare_Print = False
txtName = Nothing
print_OnOff = False
MsgBox("Print Error : " & ex.Message, vbCritical)
End Try
End Sub
Private Sub btnAd1_Click(sender As Object, e As EventArgs) Handles btnAd1.Click
Dim fileAddress As String = openfile()
If fileAddress <> "fail" Then
txblabel1.Text = fileAddress
End If
End Sub
Private Sub btnAd2_Click(sender As Object, e As EventArgs) Handles btnAd2.Click
Dim fileAddress As String = openfile()
If fileAddress <> "fail" Then
txblabel2.Text = fileAddress
End If
End Sub
Private Function openfile() As String
Dim ofd As OpenFileDialog = New OpenFileDialog
ofd.Title = "라벨 파일 주소 불러오기"
ofd.FileName = ""
ofd.Filter = "라벨 파일(*.lbx) | *.lbx"
Dim dr As DialogResult = ofd.ShowDialog
If dr = DialogResult.OK Then
Return ofd.FileName
End If
Return "fail"
End Function
Private Sub btndgvref_Click(sender As Object, e As EventArgs) Handles btndgvref.Click
Dim lvi(1) As String
Dim alList As System.Collections.ArrayList = New System.Collections.ArrayList(PrinterSettings.InstalledPrinters)
alList.Sort()
dgvPrinter.Rows.Clear()
For i = 0 To alList.Count - 1
lvi(0) = i + 1
lvi(1) = alList(i).ToString
dgvPrinter.Rows.Add(lvi)
Next
End Sub
Private Sub btnPrint1_Click(sender As Object, e As EventArgs) Handles btnPrint1.Click
Dim row As DataGridViewRow = dgvPrinter.SelectedRows(0)
Dim printname As String = row.Cells(1).Value.ToString
txbname1.Text = printname
End Sub
Private Sub btnprint2_Click(sender As Object, e As EventArgs) Handles btnprint2.Click
Dim row As DataGridViewRow = dgvPrinter.SelectedRows(0)
Dim printname As String = row.Cells(1).Value.ToString
txbname2.Text = printname
End Sub
Private Function printer_state(printername As String) As Boolean
Dim scope As ManagementScope = New ManagementScope("\root\cimv2")
scope.Connect()
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_Printer")
Dim printName As String = ""
For Each printer As ManagementObject In searcher.Get
printName = printer("Name").ToString
If printName.Equals(printername) Then
If printer("WorkOffline").ToString.ToLower.Equals("true") Then
Return False
Else
Return True
End If
End If
Next
Return False
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs)
printnumtype(printnum.face) = txbInfo_FaceBarcord.Text
MsgBox(printnumtype(printnum.face))
End Sub
Private Sub ckbPrintAll_CheckedChanged(sender As Object, e As EventArgs) Handles ckbPrintAll.CheckedChanged
If ckbPrintAll.Checked = True Then
ckbprintBar.Checked = True
ckbPrintWar.Checked = True
gbprintck.Enabled = False
Else
ckbprintBar.Checked = False
ckbPrintWar.Checked = False
gbprintck.Enabled = True
End If
End Sub
Private Sub btnSingle1_Click(sender As Object, e As EventArgs) Handles btnSingle1.Click
Dim fileAddress As String = openfile()
If fileAddress <> "fail" Then
txbSingle1.Text = fileAddress
End If
End Sub
Private Sub ckbmainprint_CheckedChanged(sender As Object, e As EventArgs) Handles ckbmainprint.CheckedChanged
If ckbmainprint.Checked = True Then
ckbPrintAll.Checked = True
Else
ckbPrintAll.Checked = False
End If
End Sub
Private Sub printOptionData(front_data As String)
print_data(0, 0) = txbname1.Text
If Mid(front_data, 2, 1) = "0" Then
print_data(0, 1) = txblabel1.Text
Else
print_data(0, 1) = txbSingle1.Text
End If
print_data(1, 0) = txbname2.Text
print_data(1, 1) = txblabel2.Text
End Sub
End Class