1] Optimum 모델 이후부터 신규 시리얼번호 부여 체계 적용
2] 버전 2.0.0 업데이트
This commit is contained in:
parent
b5a5820b1a
commit
630c16242a
@ -5,7 +5,7 @@ Imports Newtonsoft.Json.Linq
|
||||
Public Class frm_Main
|
||||
|
||||
Public programName As String = "PackingInvoiceMapper Ver. "
|
||||
Private programVer As String = "1.3.0"
|
||||
Private programVer As String = "2.0.0"
|
||||
|
||||
Private apiItemOutURL As String = "item-outflows/page"
|
||||
|
||||
@ -25,7 +25,8 @@ Public Class frm_Main
|
||||
'------------------------------------------------------------------
|
||||
|
||||
Private Const stateLength As Int16 = 13
|
||||
Private Const packingLength As Int16 = 12
|
||||
Private Const oldProdCodeLength As Int16 = 12 '12자리 제품시리얼번호
|
||||
Private Const newProdCodeLength As Int16 = 16 '16자리 제품시리얼번호
|
||||
|
||||
Private DBCmd As String
|
||||
Private txbArrayList(,) As TextBox
|
||||
@ -106,24 +107,11 @@ Public Class frm_Main
|
||||
End Enum
|
||||
Private firstState(firstStateList.MES) As String
|
||||
|
||||
Private Enum modelList
|
||||
PRO = 1
|
||||
LUX
|
||||
MAXIMUM
|
||||
Alpha
|
||||
Alto
|
||||
Effect
|
||||
MAXIMUM_ALPHA
|
||||
'신규제품추가 : 제품 시리얼 번호 첫번째자리(모델번호)와 동일하게 업데이트
|
||||
End Enum
|
||||
Private Const modelPosition As Int16 = 1
|
||||
|
||||
Private Enum typeList
|
||||
prodSet_V1
|
||||
prodFace_V2
|
||||
prodSet
|
||||
prodFace
|
||||
prodEye
|
||||
prodBody
|
||||
'신규제품추가 : 제품 시리얼 번호 두번째자리(타입번호)와 동일하게 업데이트
|
||||
End Enum
|
||||
Private Const typePosition As Int16 = 2
|
||||
|
||||
@ -678,7 +666,7 @@ Public Class frm_Main
|
||||
End If
|
||||
|
||||
Else
|
||||
If codeData.Length = packingLength Then
|
||||
If codeData.Length = oldProdCodeLength Or codeData.Length = newProdCodeLength Then
|
||||
MassPackReset()
|
||||
|
||||
If stateSuccess = False Then
|
||||
@ -1130,7 +1118,7 @@ Public Class frm_Main
|
||||
|
||||
Private Function orderSearch(codeData As String) As Boolean
|
||||
|
||||
If codeData.Length = packingLength Then
|
||||
If codeData.Length = oldProdCodeLength Or codeData.Length = newProdCodeLength Then
|
||||
|
||||
If packingCompare(codeData) Then
|
||||
Return False
|
||||
@ -1643,17 +1631,40 @@ Public Class frm_Main
|
||||
End Function
|
||||
|
||||
Private Function serialSearch(serialData As String) As Boolean
|
||||
Const infoNum As Int16 = 1
|
||||
Dim modelNumber As String = Mid(serialData, modelPosition, infoNum)
|
||||
Dim typeNumber As String = Mid(serialData, typePosition, infoNum)
|
||||
Dim modelNumber As String = Nothing
|
||||
Dim typeNumber As String = Nothing
|
||||
Dim deviceTypeCode As String = Nothing
|
||||
Dim sqlResult As String
|
||||
|
||||
If modelNumber = modelList.PRO Or modelNumber = modelList.LUX Or modelNumber = modelList.Alpha Then
|
||||
If typeNumber = typeList.prodSet_V1 Then
|
||||
If serialData.Length = oldProdCodeLength Then '12자리 제품시리얼번호
|
||||
modelNumber = Mid(serialData, 1, 1)
|
||||
typeNumber = Mid(serialData, 2, 1)
|
||||
ElseIf serialData.Length = newProdCodeLength Then '16자리 제품시리얼번호
|
||||
modelNumber = Mid(serialData, 1, 2)
|
||||
typeNumber = Mid(serialData, 15, 1)
|
||||
End If
|
||||
|
||||
DBCmd = "SELECT DeviceTypeCode, TDUseYn FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNumber & "' LIMIT 1"
|
||||
If DBQueryReader(DBCmd) Then
|
||||
deviceTypeCode = sqlDataQuery(0)
|
||||
|
||||
If sqlDataQuery(1) = "Y" Then
|
||||
TDUseCompare = True
|
||||
Else
|
||||
TDUseCompare = False
|
||||
End If
|
||||
Else
|
||||
TDUseCompare = False
|
||||
MsgBox("존재하지 않는 모델 번호입니다.", vbExclamation)
|
||||
Return False
|
||||
End If
|
||||
|
||||
If deviceTypeCode = "D" Then '분리형 디바이스 : PRO, LUX, ALPHA
|
||||
If typeNumber = typeList.prodSet Then
|
||||
DBCmd = "SELECT Ct_Max_ShotCnt from " & applyCartDB & " where Product_SN = (SELECT FaceCart_SN FROM " & applyProdDB & " WHERE Product_SN = '" & serialData & "') OR Product_SN = (SELECT EyeCart_SN FROM " & applyProdDB & " WHERE Product_SN = '" & serialData & "')"
|
||||
If DBQueryReader(DBCmd) Then
|
||||
chkItem(itemInfoList.face) = sqlDataQuery(typeList.prodFace_V2 - 1)
|
||||
chkItem(itemInfoList.eye) = sqlDataQuery(typeList.prodEye - 1)
|
||||
chkItem(itemInfoList.face) = sqlDataQuery(0)
|
||||
chkItem(itemInfoList.eye) = sqlDataQuery(1)
|
||||
Else
|
||||
MsgBox("세트 제품의 샷 수를 알 수 없습니다.", vbExclamation)
|
||||
Return False
|
||||
@ -1666,7 +1677,7 @@ Public Class frm_Main
|
||||
Return False
|
||||
End If
|
||||
|
||||
If typeNumber = typeList.prodFace_V2 Or typeNumber = typeList.prodBody Then
|
||||
If typeNumber = typeList.prodFace Or typeNumber = typeList.prodBody Then
|
||||
chkItem(itemInfoList.face) = sqlResult
|
||||
chkItem(itemInfoList.eye) = "0"
|
||||
ElseIf typeNumber = typeList.prodEye Then
|
||||
@ -1679,26 +1690,14 @@ Public Class frm_Main
|
||||
|
||||
End If
|
||||
Else
|
||||
If modelNumber = modelList.MAXIMUM Then
|
||||
TDUseCompare = True
|
||||
Else
|
||||
TDUseCompare = False
|
||||
End If
|
||||
|
||||
sqlResult = singleCartShot(serialData)
|
||||
|
||||
If sqlResult = "FAIL" Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
' Effect_V3의 type number는 3으로 BODY 카트리지 번호와 같기에 처리 필요
|
||||
If typeNumber = typeList.prodSet_V1 Or typeNumber = typeList.prodFace_V2 Or (modelNumber = modelList.Effect And typeNumber = typeList.prodBody) Then
|
||||
chkItem(itemInfoList.face) = sqlResult
|
||||
chkItem(itemInfoList.eye) = sqlResult
|
||||
Else
|
||||
MsgBox("형식에 맞지 않은 바코드가 존재합니다.", vbCritical)
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
If prodListSet(modelNumber, typeNumber, serialData) Then
|
||||
@ -1738,69 +1737,22 @@ Public Class frm_Main
|
||||
If resultCount = "False" Then
|
||||
MsgBox("샷 수에 따른 제품 코드를 검색하는 과정에서 오류가 발생하였습니다.", vbCritical)
|
||||
Return False
|
||||
End If
|
||||
|
||||
If resultCount = "0" Then
|
||||
|
||||
Select Case modelNumber
|
||||
Case modelList.PRO
|
||||
Select Case typeNumber
|
||||
Case typeList.prodSet_V1
|
||||
tempFaceShot = 6000
|
||||
tempEyeShot = 60000
|
||||
Case typeList.prodFace_V2
|
||||
tempFaceShot = 6000
|
||||
tempEyeShot = 0
|
||||
Case typeList.prodEye
|
||||
tempFaceShot = 0
|
||||
tempEyeShot = 60000
|
||||
Case typeList.prodBody
|
||||
tempFaceShot = 30000
|
||||
tempEyeShot = 0
|
||||
End Select
|
||||
Case modelList.LUX
|
||||
Select Case typeNumber
|
||||
Case typeList.prodSet_V1
|
||||
tempFaceShot = 3000
|
||||
tempEyeShot = 30000
|
||||
Case typeList.prodFace_V2
|
||||
tempFaceShot = 3000
|
||||
tempEyeShot = 0
|
||||
Case typeList.prodEye
|
||||
tempFaceShot = 0
|
||||
tempEyeShot = 30000
|
||||
Case typeList.prodBody
|
||||
tempFaceShot = 20000
|
||||
tempEyeShot = 0
|
||||
End Select
|
||||
|
||||
Case modelList.Alpha
|
||||
Select Case typeNumber
|
||||
Case typeList.prodSet_V1
|
||||
tempFaceShot = 20000
|
||||
tempEyeShot = 200000
|
||||
Case typeList.prodFace_V2
|
||||
tempFaceShot = 20000
|
||||
tempEyeShot = 0
|
||||
Case typeList.prodEye
|
||||
tempFaceShot = 0
|
||||
tempEyeShot = 200000
|
||||
Case typeList.prodBody
|
||||
tempFaceShot = 30000
|
||||
tempEyeShot = 0
|
||||
End Select
|
||||
|
||||
Case Else
|
||||
tempFaceShot = 0
|
||||
tempEyeShot = 0
|
||||
End Select
|
||||
ElseIf resultCount = "0" Then
|
||||
MsgBox("샷 수에 해당하는 제품이 없습니다.", vbCritical)
|
||||
Return False
|
||||
Else
|
||||
tempFaceShot = chkItem(itemInfoList.face)
|
||||
tempEyeShot = chkItem(itemInfoList.eye)
|
||||
End If
|
||||
|
||||
Const rowCount As Int16 = 2
|
||||
Dim colorNumber As String = Mid(serialData, colorPosition, 1)
|
||||
Dim colorNumber As String = Nothing
|
||||
|
||||
If serialData.Length = oldProdCodeLength Then '12자리 제품시리얼번호
|
||||
colorNumber = Mid(serialData, 11, 1)
|
||||
ElseIf serialData.Length = newProdCodeLength Then '16자리 제품시리얼번호
|
||||
colorNumber = Mid(serialData, 3, 1)
|
||||
End If
|
||||
|
||||
DBCmd = "SELECT ItemCode,ItemName FROM " & applyPlistDB & " WHERE ModelNum = '" & modelNumber & "' AND TypeNum = '" & typeNumber & "' AND FaceShot = '" & tempFaceShot & "' AND EyeShot = '" & tempEyeShot & "' AND ColorNum = '" & colorNumber & "'" & " AND ItemName NOT LIKE '%체험%' LIMIT 1"
|
||||
|
||||
@ -1927,6 +1879,7 @@ Public Class frm_Main
|
||||
,Effect_serial
|
||||
,EffectV3_Serial
|
||||
,MAXIMUM_ALPHA_SN
|
||||
,Optimum_Serial
|
||||
FROM " & applySalesDB & " WHERE PackingCode = '" & codeData & "'" '신규제품추가 : 추가하는 품목의 시리얼번호 조회 컬럼 추가
|
||||
If DBQueryReader(DBCmd) Then
|
||||
For i = 0 To pSerialList_max_index
|
||||
@ -2659,7 +2612,7 @@ Public Class frm_Main
|
||||
mapInvOk = True
|
||||
|
||||
Else
|
||||
If codeData.Length = packingLength Then
|
||||
If codeData.Length = oldProdCodeLength Or codeData.Length = newProdCodeLength Then
|
||||
|
||||
packFullCount = 0
|
||||
|
||||
|
||||
@ -22,6 +22,9 @@
|
||||
|
||||
Private mainPKCodeDB As String = "jomtTesterDB.jomtPKCodeTbl"
|
||||
|
||||
Private Const mainModelInfoDB As String = "jomtTesterDB.jomtModelInfoTbl"
|
||||
Private Const testModelInfoDB As String = "jomtTesterServerDB.jomtModelInfoTbl"
|
||||
|
||||
Public applyOrderDB As String = mainOrderDB
|
||||
Public applySalesDB As String = mainSalesDB
|
||||
Public applyProdDB As String = mainProdDB
|
||||
@ -30,6 +33,7 @@
|
||||
Public applyClistDB As String = mainClistDB
|
||||
Public applyPKCodeDB As String = mainPKCodeDB
|
||||
Public applyNonTDDB As String = MainNonTDDB
|
||||
Public ApplyModelInfoDB As String = mainModelInfoDB
|
||||
|
||||
Public Enum pSerialList
|
||||
DivSet
|
||||
@ -48,6 +52,7 @@
|
||||
Effect
|
||||
EffectV3
|
||||
MaximumAlpha
|
||||
Optimum
|
||||
'신규제품추가 : 추가하는 품목의 변수 추가
|
||||
End Enum
|
||||
Public pSerialList_max_index As Integer = [Enum].GetNames(GetType(pSerialList)).Length - 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user