1] Optimum 모델 이후부터 신규 시리얼번호 부여 체계 적용

2] 버전 2.0.0 업데이트
This commit is contained in:
KwakJooYoung 2025-11-24 13:57:53 +09:00
parent a66ab0406d
commit 6117ded43d
2 changed files with 132 additions and 535 deletions

View File

@ -77,22 +77,10 @@ Public Class mainForm
Private txbNameSelect(txbNameList.targetCount) As String Private txbNameSelect(txbNameList.targetCount) As String
Private Enum typeList Private Enum typeList
prodset_V1 prodSet
prodface_V2 prodFace
prodeye prodEye
prodbody prodBody
'신규제품추가 : 제품 시리얼 번호 두번째 자리와 동일하도록 업데이트
End Enum
Private Enum modelList
PRO = 1
LUX
MAXIMUM
ALPHA
ALTO
EFFECT
MAXIMUM_ALPHA
'신규제품추가 : 제품 시리얼 번호 첫번째 자리와 동일하도록 업데이트
End Enum End Enum
Private Enum setInfoList Private Enum setInfoList
@ -164,7 +152,8 @@ Public Class mainForm
Private DBCmd As String Private DBCmd As String
''스캔 바코드 문자 길이 ''스캔 바코드 문자 길이
Private Const prodCodeLength As Int16 = 12 Private Const oldProdCodeLength As Int16 = 12 '12자리 제품시리얼번호
Private Const newProdCodeLength As Int16 = 16 '16자리 제품시리얼번호
Private Const comCodeLength As Int16 = 8 Private Const comCodeLength As Int16 = 8
Private Const stateLength As Int16 = 14 Private Const stateLength As Int16 = 14
Private Const serialCount As Int16 = 3 Private Const serialCount As Int16 = 3
@ -473,7 +462,7 @@ Public Class mainForm
Private Function MasCodeParsing() As String Private Function MasCodeParsing() As String
If playCode.Length >= stateLength Then If playCode.Length >= stateLength And playCode.Length <> newProdCodeLength Then
If InStr(1, playCode, codeState(codeStateList.ERP)) > 0 Then If InStr(1, playCode, codeState(codeStateList.ERP)) > 0 Then
Return "ERPORDER" Return "ERPORDER"
ElseIf InStr(1, playCode, codeState(codeStateList.MES)) > 0 Then ElseIf InStr(1, playCode, codeState(codeStateList.MES)) > 0 Then
@ -482,7 +471,7 @@ Public Class mainForm
Return "NONORDER" Return "NONORDER"
End If End If
Else Else
If playCode.Length = prodCodeLength Then If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Then
Return "PRODSCAN" Return "PRODSCAN"
ElseIf playCode.Length > comCodeLength Then ElseIf playCode.Length > comCodeLength Then
Return "COMSCAN" Return "COMSCAN"
@ -925,7 +914,7 @@ Public Class mainForm
End If End If
If packingRun() Then If packingRun() Then
If playCode.Length < stateLength Then If playCode.Length < stateLength Or playCode.Length = newProdCodeLength Then
If nowFullCount = tgtFullCount Then If nowFullCount = tgtFullCount Then
If chbUseBarcode.Checked = True Then If chbUseBarcode.Checked = True Then
saveStart() saveStart()
@ -1733,11 +1722,6 @@ Public Class mainForm
Private Function packingSerial() As Boolean Private Function packingSerial() As Boolean
Dim prodSerial(prodDB_max_index - prodDB.luxset) As String Dim prodSerial(prodDB_max_index - prodDB.luxset) As String
Const modelNum As Int16 = 1
Const typeNum As Int16 = 2
Const colorNum As Int16 = 11
Const countNum As Int16 = 1
DBCmd = "SELECT Main_Product_SN DBCmd = "SELECT Main_Product_SN
, Pro_Face_Serial , Pro_Face_Serial
, Lux_Face_Serial , Lux_Face_Serial
@ -1754,6 +1738,7 @@ Public Class mainForm
, Effect_Serial , Effect_Serial
, EffectV3_Serial , EffectV3_Serial
, MAXIMUM_ALPHA_SN , MAXIMUM_ALPHA_SN
, Optimum_Serial
FROM " & applySalesDB & " WHERE PackingCode = '" & playCode & "'" '신규제품추가 : 추가하는 품목의 시리얼번호 조회 추가 FROM " & applySalesDB & " WHERE PackingCode = '" & playCode & "'" '신규제품추가 : 추가하는 품목의 시리얼번호 조회 추가
If DBQueryReader(DBCmd) Then If DBQueryReader(DBCmd) Then
For i = prodDB.luxset To prodDB_max_index For i = prodDB.luxset To prodDB_max_index
@ -1768,13 +1753,14 @@ Public Class mainForm
For i = 0 To prodSerial.Length - 1 For i = 0 To prodSerial.Length - 1
If prodSerial(i) <> "" And prodSerial(i) <> "0" Then If prodSerial(i) <> "" And prodSerial(i) <> "0" Then
Dim model, type, color, face, eye As Integer Dim model, type, color, face, eye As String
Dim singleRun As Boolean = False '' 세트인지 아닌지 (세트일 경우 개의 수가 나옴) Dim singleRun As Boolean = False '' 세트인지 아닌지 (세트일 경우 개의 수가 나옴)
Dim successBol As Boolean = False Dim successBol As Boolean = False
Dim parsingData As String Dim parsingData As String
Dim serialArr() As String Dim serialArr() As String
Dim readData As String = prodSerial(i) Dim readData As String = prodSerial(i)
Dim slashNum As Int16 = UBound(Split(readData, ",")) Dim slashNum As Int16 = UBound(Split(readData, ","))
Dim deviceTypeCode As String = ""
For cnt = 0 To slashNum For cnt = 0 To slashNum
tgtFullCount += 1 tgtFullCount += 1
@ -1785,12 +1771,23 @@ Public Class mainForm
readData = Mid(readData, InStr(readData, ",") + 1, readData.Length) readData = Mid(readData, InStr(readData, ",") + 1, readData.Length)
End If End If
model = Mid(parsingData, modelNum, countNum) If parsingData.Length = oldProdCodeLength Then '12자리 제품시리얼번호
type = Mid(parsingData, typeNum, countNum) model = Mid(parsingData, 1, 1)
color = Mid(parsingData, colorNum, countNum) type = Mid(parsingData, 2, 1)
color = Mid(parsingData, 11, 1)
ElseIf parsingData.Length = newProdCodeLength Then '16자리 제품시리얼번호
model = Mid(parsingData, 1, 2)
type = Mid(parsingData, 15, 1)
color = Mid(parsingData, 3, 1)
End If
If model = modelList.PRO Or model = modelList.LUX Or model = modelList.ALPHA Then DBCmd = "SELECT DeviceTypeCode FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNum & "' LIMIT 1"
If type = typeList.prodset_V1 Then If DBQueryReader(DBCmd) Then
deviceTypeCode = sqlDataQuery(0)
End If
If deviceTypeCode = "D" Then '분리형 디바이스 : PRO, LUX, ALPHA
If type = typeList.prodSet Then
singleRun = True singleRun = True
End If End If
End If End If
@ -1809,7 +1806,7 @@ Public Class mainForm
DBCmd = "SELECT Ct_Max_ShotCnt FROM " & applyCartDB & " WHERE Product_SN = '" & playCode & "'" DBCmd = "SELECT Ct_Max_ShotCnt FROM " & applyCartDB & " WHERE Product_SN = '" & playCode & "'"
Dim shotData As String = DBQueryScalar(DBCmd) Dim shotData As String = DBQueryScalar(DBCmd)
If shotData <> "False" Then If shotData <> "False" Then
If type = typeList.prodeye Then If type = typeList.prodEye Then
face = 0 face = 0
eye = shotData eye = shotData
Else Else
@ -1948,242 +1945,40 @@ Public Class mainForm
Private Function serialPackCompare() As Boolean Private Function serialPackCompare() As Boolean
Dim commandStr As String Dim commandStr As String
If playCode.Length = oldProdCodeLength Then '12자리 제품시리얼번호
modelNum = Mid(playCode, 1, 1) modelNum = Mid(playCode, 1, 1)
typeNum = Mid(playCode, 2, 1) typeNum = Mid(playCode, 2, 1)
ElseIf playCode.Length = newProdCodeLength Then '16자리 제품시리얼번호
If ckbNEWDB.Checked = True Then modelNum = Mid(playCode, 1, 2)
Select Case modelNum typeNum = Mid(playCode, 15, 1)
Case modelList.PRO
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.proset)
Case typeList.prodface_V2
commandStr = prodPackCommand(prodDB.proface)
Case typeList.prodeye
commandStr = prodPackCommand(prodDB.proeye)
Case typeList.prodbody
commandStr = prodPackCommand(prodDB.probody)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.LUX
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.luxset)
Case typeList.prodface_V2
commandStr = prodPackCommand(prodDB.luxface)
Case typeList.prodeye
commandStr = prodPackCommand(prodDB.luxeye)
Case typeList.prodbody
commandStr = prodPackCommand(prodDB.luxbody)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.MAXIMUM
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.maximum)
Case typeList.prodface_V2
commandStr = prodPackCommand(prodDB.maximum)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.ALPHA
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.alphaSet)
Case typeList.prodface_V2
commandStr = prodPackCommand(prodDB.alphaFace)
Case typeList.prodeye
commandStr = prodPackCommand(prodDB.alphaEye)
Case typeList.prodbody
commandStr = prodPackCommand(prodDB.alphaBody)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.ALTO
TDUseCompare = False
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.alto)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.EFFECT
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.effect)
Case typeList.prodbody
commandStr = prodPackCommand(prodDB.effectV3)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.MAXIMUM_ALPHA
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = prodPackCommand(prodDB.maximumAlpha)
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case Else
TDUseCompare = False
errorOut("등록오류")
errorGen("존재하지 않는 모델 번호입니다.")
Return False
End Select
Else Else
Select Case modelNum errorOut("시리얼번호오류")
Case modelList.PRO errorGen("잘못된 시리얼 번호입니다.")
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = "Main_Product_SN"
Case typeList.prodface_V2
commandStr = "Pro_Face_Serial"
Case typeList.prodeye
commandStr = "Pro_Eye_Serial"
Case typeList.prodbody
commandStr = "Pro_Body_Serial"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False Return False
End Select End If
Case modelList.LUX DBCmd = "SELECT TDUseYn FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNum & "' LIMIT 1"
If DBQueryReader(DBCmd) Then
If sqlDataQuery(0) = "Y" Then
TDUseCompare = True TDUseCompare = True
Else
Select Case typeNum
Case typeList.prodset_V1
commandStr = "Main_Product_SN"
Case typeList.prodface_V2
commandStr = "Lux_Face_Serial"
Case typeList.prodeye
commandStr = "Lux_Eye_Serial"
Case typeList.prodbody
commandStr = "Lux_Body_Serial"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.MAXIMUM
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = "MAXIMUM_SN"
Case typeList.prodface_V2
commandStr = "MAXIMUM_SN"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.ALPHA
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = "Alpha_Set_Serial"
Case typeList.prodface_V2
commandStr = "Alpha_Face_Serial"
Case typeList.prodeye
commandStr = "Alpha_Eye_Serial"
Case typeList.prodbody
commandStr = "Alpha_Body_Serial"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.ALTO
TDUseCompare = False TDUseCompare = False
End If
Select Case typeNum Else
Case typeList.prodset_V1
commandStr = "Alto_Serial"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.EFFECT
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = "Effect_Serial"
Case typeList.prodbody
commandStr = "EffectV3_Serial"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
Case modelList.MAXIMUM_ALPHA
TDUseCompare = True
Select Case typeNum
Case typeList.prodset_V1
commandStr = "MAXIMUM_ALPHA_SN"
Case Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End Select
'신규제품추가 : 추가한 제품의 case 업데이트
Case Else
TDUseCompare = False TDUseCompare = False
errorOut("등록오류") errorOut("등록오류")
errorGen("존재하지 않는 모델 번호입니다.") errorGen("존재하지 않는 모델 번호입니다.")
Return False Return False
End Select End If
DBCmd = "SELECT SalesPackingSerialColNm FROM " & applyPlistDB & " WHERE ModelNum = " & modelNum & " AND TypeNum = " & typeNum & " GROUP BY ProdCode"
If DBQueryReader(DBCmd) Then
commandStr = sqlDataQuery(0)
Else
errorOut("등록오류")
errorGen("존재하지 않는 타입 번호입니다.")
Return False
End If End If
DBCmd = "SELECT COUNT(" & commandStr & ") FROM " & applySalesDB & DBCmd = "SELECT COUNT(" & commandStr & ") FROM " & applySalesDB &
@ -2336,17 +2131,10 @@ Public Class mainForm
Private Function shotComparison() As Boolean Private Function shotComparison() As Boolean
Dim runCount As Int32 = 0 Dim runCount As Int32 = 0
Dim nonDataSwitch As Boolean = False
Dim doCount As Int16 = 0
setFace = 0 setFace = 0
setEye = 0 setEye = 0
Dim faceCShot As Int32 = 0 Dim faceCShot As Int32 = 0
Dim eyeCshot As Int32 = 0 Dim eyeCshot As Int32 = 0
ReDim scanCode(0)
Do
If nonDataSwitch = False Then
If setInfo(setInfoList.topSerial) <> "NULL" And setInfo(setInfoList.midSerial) <> "NULL" And setInfo(setInfoList.botSerial) <> "NULL" Then If setInfo(setInfoList.topSerial) <> "NULL" And setInfo(setInfoList.midSerial) <> "NULL" And setInfo(setInfoList.botSerial) <> "NULL" Then
setFace = setInfo(setInfoList.midshot) setFace = setInfo(setInfoList.midshot)
@ -2370,82 +2158,9 @@ Public Class mainForm
faceCShot = setFace faceCShot = setFace
eyeCshot = setEye eyeCshot = setEye
Else
Select Case modelNum
Case modelList.PRO
Select Case typeNum
Case typeList.prodset_V1
faceCShot = 6000
eyeCshot = 60000
Case typeList.prodface_V2
faceCShot = 6000
eyeCshot = 0
Case typeList.prodeye
faceCShot = 0
eyeCshot = 60000
Case typeList.prodbody
faceCShot = 30000
eyeCshot = 0
Case Else
Return True
End Select
Case modelList.LUX
Select Case typeNum
Case typeList.prodset_V1
faceCShot = 3000
eyeCshot = 30000
Case typeList.prodface_V2
faceCShot = 3000
eyeCshot = 0
Case typeList.prodeye
faceCShot = 0
eyeCshot = 30000
Case typeList.prodbody
faceCShot = 20000
eyeCshot = 0
Case Else
Return True
End Select
Case modelList.MAXIMUM
Select Case typeNum
Case typeList.prodset_V1
faceCShot = 0
eyeCshot = 0
Case typeList.prodface_V2
faceCShot = 0
eyeCshot = 0
Case Else
Return True
End Select
Case modelList.ALPHA
Select Case typeNum
Case typeList.prodset_V1
faceCShot = 20000
eyeCshot = 200000
Case typeList.prodface_V2
faceCShot = 20000
eyeCshot = 0
Case typeList.prodeye
faceCShot = 0
eyeCshot = 200000
Case typeList.prodbody
faceCShot = 30000
eyeCshot = 0
Case Else
Return True
End Select
Case Else
Return True
End Select
End If
For i = 0 To ScanArray.GetLength(1) - 1 For i = 0 To ScanArray.GetLength(1) - 1
If ScanArray(scanList.faceshot, i) = faceCShot And ScanArray(scanList.eyeshot, i) = eyeCshot Then If ScanArray(scanList.faceshot, i) = faceCShot And ScanArray(scanList.eyeshot, i) = eyeCshot Then
runCount = runShotFunc(i, runCount) runCount = runShotFunc(i, runCount)
nonDataSwitch = True
End If End If
If runCount = -1 Then If runCount = -1 Then
@ -2455,22 +2170,6 @@ Public Class mainForm
End If End If
Next Next
If nonDataSwitch = True Then
Exit Do
Else
nonDataSwitch = True
End If
doCount += 1
Loop While doCount < 2
If scanCode(0) = Nothing Then
errorOut("등록오류")
errorGen("해당 샷 수와 맞는 제품 데이터가 존재하지 않습니다.")
Return True
End If
Return False Return False
End Function End Function
@ -2517,26 +2216,6 @@ Public Class mainForm
End If End If
Next Next
'For i = 0 To ScanArray.GetLength(0) - 1
' If ScanArray(i, scanFace) = setFace Then
' If ScanArray(i, scanEye) = setEye Then
' runCount = runShotFunc(i, nonShotSwitch, runCount)
' nonShotSwitch = True
' Else
' runCount = nonshotFunc(i, nonShotSwitch, runCount)
' End If
' Else
' runCount = nonshotFunc(i, nonShotSwitch, runCount)
' End If
' If runCount = -1 Then
' errorOut("등록오류")
' errorGen("샷 수 확인 중 오류가 발생하였습니다.")
' Return False
' End If
'Next
If scanCode(0) = Nothing Then If scanCode(0) = Nothing Then
errorOut("등록오류") errorOut("등록오류")
errorGen("해당 샷 수와 맞는 제품 데이터가 존재하지 않습니다.") errorGen("해당 샷 수와 맞는 제품 데이터가 존재하지 않습니다.")
@ -2546,116 +2225,6 @@ Public Class mainForm
Return True Return True
End Function End Function
Private Function nonShotFunc(num As Int16, runcount As Integer) As Integer
Const scanFace As Int16 = 2
Const scanEye As Int16 = 3
Dim faceShot, eyeShot As String
Select Case modelNum
Case modelList.PRO
Select Case typeNum
Case typeList.prodset_V1
faceShot = 6000
eyeShot = 60000
Case typeList.prodface_V2
faceShot = 6000
eyeShot = 0
Case typeList.prodeye
faceShot = 0
eyeShot = 60000
Case typeList.prodbody
faceShot = 30000
eyeShot = 0
Case Else
Return -1
End Select
Case modelList.LUX
Select Case typeNum
Case typeList.prodset_V1
faceShot = 3000
eyeShot = 30000
Case typeList.prodface_V2
faceShot = 3000
eyeShot = 0
Case typeList.prodeye
faceShot = 0
eyeShot = 30000
Case typeList.prodbody
faceShot = 20000
eyeShot = 0
Case Else
Return -1
End Select
Case modelList.MAXIMUM
Select Case typeNum
Case typeList.prodset_V1
faceShot = 0
eyeShot = 0
Case typeList.prodface_V2
faceShot = 0
eyeShot = 0
Case Else
Return -1
End Select
Case modelList.ALPHA
Select Case typeNum
Case typeList.prodset_V1
faceShot = 20000
eyeShot = 200000
Case typeList.prodface_V2
faceShot = 20000
eyeShot = 0
Case typeList.prodeye
faceShot = 0
eyeShot = 200000
Case typeList.prodbody
faceShot = 30000
eyeShot = 0
Case Else
Return -1
End Select
Case modelList.ALTO
Select Case typeNum
Case typeList.prodset_V1
faceShot = 0
eyeShot = 0
Case Else
Return -1
End Select
Case modelList.EFFECT
Select Case typeNum
Case typeList.prodset_V1
faceShot = 0
eyeShot = 0
Case typeList.prodbody
faceShot = 0
eyeShot = 0
Case Else
Return -1
End Select
Case modelList.MAXIMUM_ALPHA
Select Case typeNum
Case typeList.prodset_V1
faceShot = 0
eyeShot = 0
Case Else
Return -1
End Select
Case Else
Return -1
End Select
If ScanArray(num, scanFace) = faceShot And ScanArray(num, scanEye) = eyeShot Then
runcount = runShotFunc(num, runcount)
End If
End Function
Private Function runShotFunc(num As Int16, runcount As Integer) As Integer Private Function runShotFunc(num As Int16, runcount As Integer) As Integer
If runcount = 0 Then If runcount = 0 Then
ReDim scanCode(runcount) ReDim scanCode(runcount)
@ -2825,6 +2394,7 @@ Public Class mainForm
", Effect_Cnt = '" & prodInCount(prodDB.effect) & "'" & ", Effect_Cnt = '" & prodInCount(prodDB.effect) & "'" &
", EffectV3_Cnt = '" & prodInCount(prodDB.effectV3) & "'" & ", EffectV3_Cnt = '" & prodInCount(prodDB.effectV3) & "'" &
", MAXIMUM_ALPHA_Cnt = '" & prodInCount(prodDB.maximumAlpha) & "'" & ", MAXIMUM_ALPHA_Cnt = '" & prodInCount(prodDB.maximumAlpha) & "'" &
", Optimum_Cnt = '" & prodInCount(prodDB.optimum) & "'" &
", Mask5Cnt = '" & comInCount(comDB.mask5) & "'" & ", Mask5Cnt = '" & comInCount(comDB.mask5) & "'" &
", Mask10Cnt = '" & comInCount(comDB.mask10) & "'" & ", Mask10Cnt = '" & comInCount(comDB.mask10) & "'" &
", HairBandCnt = '" & comInCount(comDB.hairband) & "'" & ", HairBandCnt = '" & comInCount(comDB.hairband) & "'" &
@ -3007,6 +2577,7 @@ Public Class mainForm
", Effect_Serial = '" & prodInSerial(prodDB.effect) & "'" & ", Effect_Serial = '" & prodInSerial(prodDB.effect) & "'" &
", EffectV3_Serial = '" & prodInSerial(prodDB.effectV3) & "'" & ", EffectV3_Serial = '" & prodInSerial(prodDB.effectV3) & "'" &
", MAXIMUM_ALPHA_SN = '" & prodInSerial(prodDB.maximumAlpha) & "'" & ", MAXIMUM_ALPHA_SN = '" & prodInSerial(prodDB.maximumAlpha) & "'" &
", Optimum_Serial = '" & prodInSerial(prodDB.optimum) & "'" &
" WHERE PackingCode = '" & packingCode & "'" '신규제품추가 : 추가한 제품의 시리얼번호 업데이트 쿼리 추가 " WHERE PackingCode = '" & packingCode & "'" '신규제품추가 : 추가한 제품의 시리얼번호 업데이트 쿼리 추가
If DBCommand(DBCmd) Then If DBCommand(DBCmd) Then
@ -3279,6 +2850,7 @@ Public Class mainForm
, EffectCnt , EffectCnt
, EffectV3Cnt , EffectV3Cnt
, MAXIMUMALPHACnt , MAXIMUMALPHACnt
, OptimumCnt
, Mask5Cnt , Mask5Cnt
, Mask10Cnt , Mask10Cnt
, HairBandCnt , HairBandCnt
@ -3403,6 +2975,7 @@ Public Class mainForm
, APEffectCnt , APEffectCnt
, APEffectV3Cnt , APEffectV3Cnt
, APMAXIMUMALPHACnt , APMAXIMUMALPHACnt
, APOptimumCnt
, APMask5Cnt , APMask5Cnt
, APMask10Cnt , APMask10Cnt
, APHairBandCnt , APHairBandCnt
@ -3526,6 +3099,7 @@ Public Class mainForm
, AWEffectCnt , AWEffectCnt
, AWEffectV3Cnt , AWEffectV3Cnt
, AWMAXIMUMALPHACnt , AWMAXIMUMALPHACnt
, AWOptimumCnt
, AWMask5Cnt , AWMask5Cnt
, AWMask10Cnt , AWMask10Cnt
, AWHairBandCnt , AWHairBandCnt
@ -3744,6 +3318,9 @@ Public Class mainForm
sb.Append(",EffectV3_Serial") sb.Append(",EffectV3_Serial")
sb.Append(",MAXIMUM_ALPHA_Cnt") sb.Append(",MAXIMUM_ALPHA_Cnt")
sb.Append(",MAXIMUM_ALPHA_SN") sb.Append(",MAXIMUM_ALPHA_SN")
sb.Append(",Optimum_Cnt")
sb.Append(",Optimum_Serial")
'신규제품추가 : 추가한 prodDB 해당하는 jomtSalesPackingTbl 생성한 컬럼명 추가
ElseIf target = saveCountName Then ElseIf target = saveCountName Then
sb.Append("TestDate") sb.Append("TestDate")
sb.Append(",Packing_Count") sb.Append(",Packing_Count")
@ -3764,6 +3341,8 @@ Public Class mainForm
sb.Append(",Effect_Cnt") sb.Append(",Effect_Cnt")
sb.Append(",EffectV3_Cnt") sb.Append(",EffectV3_Cnt")
sb.Append(",MAXIMUM_ALPHA_Cnt") sb.Append(",MAXIMUM_ALPHA_Cnt")
sb.Append(",Optimum_Serial")
'신규제품추가
End If End If
For i = 0 To comDB_max_index For i = 0 To comDB_max_index
@ -4524,16 +4103,12 @@ Public Class mainForm
End If End If
If choiceData <> Nothing Then If choiceData <> Nothing Then
If IsNumeric(selectData) Then If choiceData > selectData Then
If Val(choiceData) > Val(selectData) Then
choiceData = selectData choiceData = selectData
End If End If
End If
Else Else
If IsNumeric(selectData) Then
choiceData = selectData choiceData = selectData
End If End If
End If
Next Next
End If End If
Next Next
@ -4541,7 +4116,7 @@ Public Class mainForm
If choiceData = Nothing Then If choiceData = Nothing Then
Return orderCode Return orderCode
Else Else
If choiceData.Length = prodCodeLength Then If choiceData.Length = oldProdCodeLength Or choiceData.Length = newProdCodeLength Then
Return choiceData Return choiceData
Else Else
Return orderCode Return orderCode
@ -4716,7 +4291,7 @@ Public Class mainForm
Private Function codeParsing() As String Private Function codeParsing() As String
Try Try
If playCode.Length >= stateLength Then If playCode.Length >= stateLength And playCode.Length <> newProdCodeLength Then
setCodeUse = False setCodeUse = False
@ -4735,7 +4310,7 @@ Public Class mainForm
End If End If
Else Else
If orderSwitch = True Then If orderSwitch = True Then
If playCode.Length = prodCodeLength Then If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Then
Return "PRODSCAN" Return "PRODSCAN"
ElseIf playCode.Length > comCodeLength Then ElseIf playCode.Length > comCodeLength Then
Return "COMSCAN" Return "COMSCAN"
@ -4859,9 +4434,16 @@ Public Class mainForm
End Function End Function
Private Function serialSearch() As Boolean Private Function serialSearch() As Boolean
Dim deviceTypeCode As String = ""
If modelNum = modelList.PRO Or modelNum = modelList.LUX Or modelNum = modelList.ALPHA Then DBCmd = "SELECT DeviceTypeCode FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNum & "' LIMIT 1"
If typeNum = typeList.prodset_V1 Then
If DBQueryReader(DBCmd) Then
deviceTypeCode = sqlDataQuery(0)
End If
If deviceTypeCode = "D" Then '분리형 디바이스 : PRO, LUX, ALPHA
If typeNum = typeList.prodSet Then
DBCmd = "SELECT FaceCart_SN,EyeCart_SN FROM " & applyProdDB & " WHERE Product_SN = '" & playCode & "'" DBCmd = "SELECT FaceCart_SN,EyeCart_SN FROM " & applyProdDB & " WHERE Product_SN = '" & playCode & "'"
If DBQueryReader(DBCmd) Then If DBQueryReader(DBCmd) Then
If sqlDataQuery.Length = serialCount - 1 Then If sqlDataQuery.Length = serialCount - 1 Then
@ -4878,12 +4460,12 @@ Public Class mainForm
errorGen("제품의 정보 입력 데이터가 존재하지 않습니다. 정보입력을 진행하여 주십시오.") errorGen("제품의 정보 입력 데이터가 존재하지 않습니다. 정보입력을 진행하여 주십시오.")
Return False Return False
End If End If
ElseIf typeNum = typeList.prodface_V2 Then ElseIf typeNum = typeList.prodFace Then
setInfo(setInfoList.topSerial) = playCode setInfo(setInfoList.topSerial) = playCode
setInfo(setInfoList.midSerial) = "NULL" setInfo(setInfoList.midSerial) = "NULL"
setInfo(setInfoList.botSerial) = "NULL" setInfo(setInfoList.botSerial) = "NULL"
ElseIf typeNum = typeList.prodeye Then ElseIf typeNum = typeList.prodEye Then
setInfo(setInfoList.topSerial) = "NULL" setInfo(setInfoList.topSerial) = "NULL"
setInfo(setInfoList.midSerial) = playCode setInfo(setInfoList.midSerial) = playCode
setInfo(setInfoList.botSerial) = "NULL" setInfo(setInfoList.botSerial) = "NULL"
@ -4965,7 +4547,12 @@ Public Class mainForm
End If End If
Dim queryCount As Integer = 0 Dim queryCount As Integer = 0
Dim codeColor As Int16 = Mid(playCode, 11, 1) Dim codeColor As String
If playCode.Length = oldProdCodeLength Then '12자리 제품시리얼번호
codeColor = Mid(playCode, 11, 1)
ElseIf playCode.Length = newProdCodeLength Then '16자리 제품시리얼번호
codeColor = Mid(playCode, 3, 1)
End If
DBCmd = "SELECT ItemCode,ProdCode,FaceShot,EyeShot FROM " & applyPlistDB & " WHERE ModelNum = '" & modelNum & "' AND TypeNum = '" & typeNum & "' AND ColorNum = '" & codeColor & "'" DBCmd = "SELECT ItemCode,ProdCode,FaceShot,EyeShot FROM " & applyPlistDB & " WHERE ModelNum = '" & modelNum & "' AND TypeNum = '" & typeNum & "' AND ColorNum = '" & codeColor & "'"
If DBQueryReader(DBCmd) Then If DBQueryReader(DBCmd) Then

View File

@ -34,6 +34,9 @@
Private Const MainNonTDDB As String = "jomtTesterDB.jomtNonTDTbl" Private Const MainNonTDDB As String = "jomtTesterDB.jomtNonTDTbl"
Private Const TestNonTDDB As String = "jomtTesterServerDB.jomtNonTDTbl" Private Const TestNonTDDB As String = "jomtTesterServerDB.jomtNonTDTbl"
Private Const mainModelInfoDB As String = "jomtTesterDB.jomtModelInfoTbl"
Private Const testModelInfoDB As String = "jomtTesterServerDB.jomtModelInfoTbl"
Public applyOrderDB As String = mainOrderDB Public applyOrderDB As String = mainOrderDB
Public applySalesDB As String = mainSalesDB Public applySalesDB As String = mainSalesDB
Public applyCountDB As String = mainCountDB Public applyCountDB As String = mainCountDB
@ -45,6 +48,7 @@
Public applyPackEvent As String = mainPackEvent Public applyPackEvent As String = mainPackEvent
Public applyPKCodeDB As String = mainPKCodeDB Public applyPKCodeDB As String = mainPKCodeDB
Public applyNonTDDB As String = MainNonTDDB Public applyNonTDDB As String = MainNonTDDB
Public ApplyModelInfoDB As String = mainModelInfoDB
Public applyPackDB As String = testPackDB Public applyPackDB As String = testPackDB
Public applyHistoryDB As String = testHistoryDB Public applyHistoryDB As String = testHistoryDB
@ -79,6 +83,7 @@
effect effect
effectV3 effectV3
maximumAlpha maximumAlpha
optimum
'신규제품추가 : 추가하는 품목의 변수 추가 '신규제품추가 : 추가하는 품목의 변수 추가
End Enum End Enum
Public prodDB_max_index As Integer = [Enum].GetNames(GetType(prodDB)).Length - 1 Public prodDB_max_index As Integer = [Enum].GetNames(GetType(prodDB)).Length - 1
@ -248,6 +253,7 @@
countCommand(prodDB.effect) = "EffectCnt" countCommand(prodDB.effect) = "EffectCnt"
countCommand(prodDB.effectV3) = "EffectV3Cnt" countCommand(prodDB.effectV3) = "EffectV3Cnt"
countCommand(prodDB.maximumAlpha) = "MAXIMUMALPHACnt" countCommand(prodDB.maximumAlpha) = "MAXIMUMALPHACnt"
countCommand(prodDB.optimum) = "OptimumCnt"
'신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 생성한 일반동작 컬럼명 추가 '신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 생성한 일반동작 컬럼명 추가
countCommand(prodInCount.Length + comDB.mask5) = "Mask5Cnt" countCommand(prodInCount.Length + comDB.mask5) = "Mask5Cnt"
@ -374,6 +380,7 @@
countCommand(prodDB.effect) = "APEffectCnt" countCommand(prodDB.effect) = "APEffectCnt"
countCommand(prodDB.effectV3) = "APEffectV3Cnt" countCommand(prodDB.effectV3) = "APEffectV3Cnt"
countCommand(prodDB.maximumAlpha) = "APMAXIMUMALPHACnt" countCommand(prodDB.maximumAlpha) = "APMAXIMUMALPHACnt"
countCommand(prodDB.optimum) = "APOptimumCnt"
'신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 생성한 자동화동작(포장) 컬럼명 추가 '신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 생성한 자동화동작(포장) 컬럼명 추가
countCommand(prodInCount.Length + comDB.mask5) = "APMask5Cnt" countCommand(prodInCount.Length + comDB.mask5) = "APMask5Cnt"
@ -500,6 +507,7 @@
countCommand(prodDB.effect) = "AWEffectCnt" countCommand(prodDB.effect) = "AWEffectCnt"
countCommand(prodDB.effectV3) = "AWEffectV3Cnt" countCommand(prodDB.effectV3) = "AWEffectV3Cnt"
countCommand(prodDB.maximumAlpha) = "AWMAXIMUMALPHACnt" countCommand(prodDB.maximumAlpha) = "AWMAXIMUMALPHACnt"
countCommand(prodDB.optimum) = "AWOptimumCnt"
'신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 생성한 자동화동작(무게측정) 컬럼명 추가 '신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 생성한 자동화동작(무게측정) 컬럼명 추가
countCommand(prodInCount.Length + comDB.mask5) = "AWMask5Cnt" countCommand(prodInCount.Length + comDB.mask5) = "AWMask5Cnt"
@ -627,5 +635,7 @@
prodPackCommand(prodDB.effect) = "Effect_Serial" prodPackCommand(prodDB.effect) = "Effect_Serial"
prodPackCommand(prodDB.effectV3) = "EffectV3_Serial" prodPackCommand(prodDB.effectV3) = "EffectV3_Serial"
prodPackCommand(prodDB.maximumAlpha) = "MAXIMUM_ALPHA_SN" prodPackCommand(prodDB.maximumAlpha) = "MAXIMUM_ALPHA_SN"
prodPackCommand(prodDB.optimum) = "Optimum_Serial"
'신규제품추가 : 추가한 prodDB 시리얼번호를 DB에 저장하기 위해 jomtSalesPackingTbl 생성한 시리얼번호 컬럼명 추가
End Sub End Sub
End Module End Module