diff --git a/OrderPackingProcessor/mainForm.vb b/OrderPackingProcessor/mainForm.vb index c3f49d7..f1573f9 100644 --- a/OrderPackingProcessor/mainForm.vb +++ b/OrderPackingProcessor/mainForm.vb @@ -77,22 +77,10 @@ Public Class mainForm Private txbNameSelect(txbNameList.targetCount) As String Private Enum typeList - prodset_V1 - prodface_V2 - prodeye - prodbody - '신규제품추가 : 제품 시리얼 번호 두번째 자리와 동일하도록 업데이트 - End Enum - - Private Enum modelList - PRO = 1 - LUX - MAXIMUM - ALPHA - ALTO - EFFECT - MAXIMUM_ALPHA - '신규제품추가 : 제품 시리얼 번호 첫번째 자리와 동일하도록 업데이트 + prodSet + prodFace + prodEye + prodBody End Enum Private Enum setInfoList @@ -164,7 +152,8 @@ Public Class mainForm 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 stateLength As Int16 = 14 Private Const serialCount As Int16 = 3 @@ -473,7 +462,7 @@ Public Class mainForm 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 Return "ERPORDER" ElseIf InStr(1, playCode, codeState(codeStateList.MES)) > 0 Then @@ -482,7 +471,7 @@ Public Class mainForm Return "NONORDER" End If Else - If playCode.Length = prodCodeLength Then + If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Then Return "PRODSCAN" ElseIf playCode.Length > comCodeLength Then Return "COMSCAN" @@ -925,7 +914,7 @@ Public Class mainForm End If If packingRun() Then - If playCode.Length < stateLength Then + If playCode.Length < stateLength Or playCode.Length = newProdCodeLength Then If nowFullCount = tgtFullCount Then If chbUseBarcode.Checked = True Then saveStart() @@ -1733,11 +1722,6 @@ Public Class mainForm Private Function packingSerial() As Boolean 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 , Pro_Face_Serial , Lux_Face_Serial @@ -1754,6 +1738,7 @@ Public Class mainForm , Effect_Serial , EffectV3_Serial , MAXIMUM_ALPHA_SN + , Optimum_Serial FROM " & applySalesDB & " WHERE PackingCode = '" & playCode & "'" '신규제품추가 : 추가하는 품목의 시리얼번호 조회 추가 If DBQueryReader(DBCmd) Then For i = prodDB.luxset To prodDB_max_index @@ -1768,13 +1753,14 @@ Public Class mainForm For i = 0 To prodSerial.Length - 1 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 successBol As Boolean = False Dim parsingData As String Dim serialArr() As String Dim readData As String = prodSerial(i) Dim slashNum As Int16 = UBound(Split(readData, ",")) + Dim deviceTypeCode As String = "" For cnt = 0 To slashNum tgtFullCount += 1 @@ -1785,12 +1771,23 @@ Public Class mainForm readData = Mid(readData, InStr(readData, ",") + 1, readData.Length) End If - model = Mid(parsingData, modelNum, countNum) - type = Mid(parsingData, typeNum, countNum) - color = Mid(parsingData, colorNum, countNum) + If parsingData.Length = oldProdCodeLength Then '12자리 제품시리얼번호 + model = Mid(parsingData, 1, 1) + 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 - If type = typeList.prodset_V1 Then + DBCmd = "SELECT DeviceTypeCode FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNum & "' LIMIT 1" + If DBQueryReader(DBCmd) Then + deviceTypeCode = sqlDataQuery(0) + End If + + If deviceTypeCode = "D" Then '분리형 디바이스 : PRO, LUX, ALPHA + If type = typeList.prodSet Then singleRun = True End If End If @@ -1809,7 +1806,7 @@ Public Class mainForm DBCmd = "SELECT Ct_Max_ShotCnt FROM " & applyCartDB & " WHERE Product_SN = '" & playCode & "'" Dim shotData As String = DBQueryScalar(DBCmd) If shotData <> "False" Then - If type = typeList.prodeye Then + If type = typeList.prodEye Then face = 0 eye = shotData Else @@ -1948,242 +1945,40 @@ Public Class mainForm Private Function serialPackCompare() As Boolean Dim commandStr As String - modelNum = Mid(playCode, 1, 1) - typeNum = Mid(playCode, 2, 1) - - If ckbNEWDB.Checked = True Then - Select Case modelNum - 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 + If playCode.Length = oldProdCodeLength Then '12자리 제품시리얼번호 + modelNum = Mid(playCode, 1, 1) + typeNum = Mid(playCode, 2, 1) + ElseIf playCode.Length = newProdCodeLength Then '16자리 제품시리얼번호 + modelNum = Mid(playCode, 1, 2) + typeNum = Mid(playCode, 15, 1) Else - Select Case modelNum - Case modelList.PRO - TDUseCompare = True + errorOut("시리얼번호오류") + errorGen("잘못된 시리얼 번호입니다.") + Return False + End If - 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 - End Select + DBCmd = "SELECT TDUseYn FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNum & "' LIMIT 1" + If DBQueryReader(DBCmd) Then + If sqlDataQuery(0) = "Y" Then + TDUseCompare = True + Else + TDUseCompare = False + End If + Else + TDUseCompare = False - Case modelList.LUX - TDUseCompare = True + errorOut("등록오류") + errorGen("존재하지 않는 모델 번호입니다.") + Return False + End If - 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 - - Select Case typeNum - 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 - - errorOut("등록오류") - errorGen("존재하지 않는 모델 번호입니다.") - Return False - End Select + 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 DBCmd = "SELECT COUNT(" & commandStr & ") FROM " & applySalesDB & @@ -2336,141 +2131,45 @@ Public Class mainForm Private Function shotComparison() As Boolean Dim runCount As Int32 = 0 - Dim nonDataSwitch As Boolean = False - Dim doCount As Int16 = 0 setFace = 0 setEye = 0 Dim faceCShot 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 - setFace = setInfo(setInfoList.midshot) - setEye = setInfo(setInfoList.botshot) - Else - If setInfo(setInfoList.topSerial) <> "NULL" Then - setFace = setInfo(setInfoList.topshot) - setEye = "0" - ElseIf setInfo(setInfoList.midSerial) <> "NULL" Then - setFace = "0" - setEye = setInfo(setInfoList.midshot) - ElseIf setInfo(setInfoList.botSerial) <> "NULL" Then - setFace = setInfo(setInfoList.botshot) - setEye = "0" - Else - setFace = "0" - setEye = "0" - End If - End If - - faceCShot = setFace - eyeCshot = setEye + If setInfo(setInfoList.topSerial) <> "NULL" And setInfo(setInfoList.midSerial) <> "NULL" And setInfo(setInfoList.botSerial) <> "NULL" Then + setFace = setInfo(setInfoList.midshot) + setEye = setInfo(setInfoList.botshot) + Else + If setInfo(setInfoList.topSerial) <> "NULL" Then + setFace = setInfo(setInfoList.topshot) + setEye = "0" + ElseIf setInfo(setInfoList.midSerial) <> "NULL" Then + setFace = "0" + setEye = setInfo(setInfoList.midshot) + ElseIf setInfo(setInfoList.botSerial) <> "NULL" Then + setFace = setInfo(setInfoList.botshot) + setEye = "0" 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 - + setFace = "0" + setEye = "0" End If - - For i = 0 To ScanArray.GetLength(1) - 1 - If ScanArray(scanList.faceshot, i) = faceCShot And ScanArray(scanList.eyeshot, i) = eyeCshot Then - runCount = runShotFunc(i, runCount) - nonDataSwitch = True - End If - - If runCount = -1 Then - errorOut("등록오류") - errorGen("샷 수 확인 중 오류가 발생하였습니다.") - Return True - End If - 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 + faceCShot = setFace + eyeCshot = setEye + + For i = 0 To ScanArray.GetLength(1) - 1 + If ScanArray(scanList.faceshot, i) = faceCShot And ScanArray(scanList.eyeshot, i) = eyeCshot Then + runCount = runShotFunc(i, runCount) + End If + + If runCount = -1 Then + errorOut("등록오류") + errorGen("샷 수 확인 중 오류가 발생하였습니다.") + Return True + End If + Next + Return False End Function @@ -2517,26 +2216,6 @@ Public Class mainForm End If 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 errorOut("등록오류") errorGen("해당 샷 수와 맞는 제품 데이터가 존재하지 않습니다.") @@ -2546,116 +2225,6 @@ Public Class mainForm Return True 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 If runcount = 0 Then ReDim scanCode(runcount) @@ -2825,6 +2394,7 @@ Public Class mainForm ", Effect_Cnt = '" & prodInCount(prodDB.effect) & "'" & ", EffectV3_Cnt = '" & prodInCount(prodDB.effectV3) & "'" & ", MAXIMUM_ALPHA_Cnt = '" & prodInCount(prodDB.maximumAlpha) & "'" & + ", Optimum_Cnt = '" & prodInCount(prodDB.optimum) & "'" & ", Mask5Cnt = '" & comInCount(comDB.mask5) & "'" & ", Mask10Cnt = '" & comInCount(comDB.mask10) & "'" & ", HairBandCnt = '" & comInCount(comDB.hairband) & "'" & @@ -3007,6 +2577,7 @@ Public Class mainForm ", Effect_Serial = '" & prodInSerial(prodDB.effect) & "'" & ", EffectV3_Serial = '" & prodInSerial(prodDB.effectV3) & "'" & ", MAXIMUM_ALPHA_SN = '" & prodInSerial(prodDB.maximumAlpha) & "'" & + ", Optimum_Serial = '" & prodInSerial(prodDB.optimum) & "'" & " WHERE PackingCode = '" & packingCode & "'" '신규제품추가 : 추가한 제품의 시리얼번호 업데이트 쿼리 추가 If DBCommand(DBCmd) Then @@ -3279,6 +2850,7 @@ Public Class mainForm , EffectCnt , EffectV3Cnt , MAXIMUMALPHACnt + , OptimumCnt , Mask5Cnt , Mask10Cnt , HairBandCnt @@ -3403,6 +2975,7 @@ Public Class mainForm , APEffectCnt , APEffectV3Cnt , APMAXIMUMALPHACnt + , APOptimumCnt , APMask5Cnt , APMask10Cnt , APHairBandCnt @@ -3526,6 +3099,7 @@ Public Class mainForm , AWEffectCnt , AWEffectV3Cnt , AWMAXIMUMALPHACnt + , AWOptimumCnt , AWMask5Cnt , AWMask10Cnt , AWHairBandCnt @@ -3744,6 +3318,9 @@ Public Class mainForm sb.Append(",EffectV3_Serial") sb.Append(",MAXIMUM_ALPHA_Cnt") sb.Append(",MAXIMUM_ALPHA_SN") + sb.Append(",Optimum_Cnt") + sb.Append(",Optimum_Serial") + '신규제품추가 : 추가한 prodDB 에 해당하는 jomtSalesPackingTbl 에 생성한 컬럼명 추가 ElseIf target = saveCountName Then sb.Append("TestDate") sb.Append(",Packing_Count") @@ -3764,6 +3341,8 @@ Public Class mainForm sb.Append(",Effect_Cnt") sb.Append(",EffectV3_Cnt") sb.Append(",MAXIMUM_ALPHA_Cnt") + sb.Append(",Optimum_Serial") + '신규제품추가 End If For i = 0 To comDB_max_index @@ -4524,15 +4103,11 @@ Public Class mainForm End If If choiceData <> Nothing Then - If IsNumeric(selectData) Then - If Val(choiceData) > Val(selectData) Then - choiceData = selectData - End If - End If - Else - If IsNumeric(selectData) Then + If choiceData > selectData Then choiceData = selectData End If + Else + choiceData = selectData End If Next End If @@ -4541,7 +4116,7 @@ Public Class mainForm If choiceData = Nothing Then Return orderCode Else - If choiceData.Length = prodCodeLength Then + If choiceData.Length = oldProdCodeLength Or choiceData.Length = newProdCodeLength Then Return choiceData Else Return orderCode @@ -4716,7 +4291,7 @@ Public Class mainForm Private Function codeParsing() As String Try - If playCode.Length >= stateLength Then + If playCode.Length >= stateLength And playCode.Length <> newProdCodeLength Then setCodeUse = False @@ -4735,7 +4310,7 @@ Public Class mainForm End If Else If orderSwitch = True Then - If playCode.Length = prodCodeLength Then + If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Then Return "PRODSCAN" ElseIf playCode.Length > comCodeLength Then Return "COMSCAN" @@ -4859,9 +4434,16 @@ Public Class mainForm End Function Private Function serialSearch() As Boolean + Dim deviceTypeCode As String = "" - If modelNum = modelList.PRO Or modelNum = modelList.LUX Or modelNum = modelList.ALPHA Then - If typeNum = typeList.prodset_V1 Then + DBCmd = "SELECT DeviceTypeCode FROM " & ApplyModelInfoDB & " WHERE ModelCode = '" & modelNum & "' LIMIT 1" + + 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 & "'" If DBQueryReader(DBCmd) Then If sqlDataQuery.Length = serialCount - 1 Then @@ -4878,12 +4460,12 @@ Public Class mainForm errorGen("제품의 정보 입력 데이터가 존재하지 않습니다. 정보입력을 진행하여 주십시오.") Return False End If - ElseIf typeNum = typeList.prodface_V2 Then + ElseIf typeNum = typeList.prodFace Then setInfo(setInfoList.topSerial) = playCode setInfo(setInfoList.midSerial) = "NULL" setInfo(setInfoList.botSerial) = "NULL" - ElseIf typeNum = typeList.prodeye Then + ElseIf typeNum = typeList.prodEye Then setInfo(setInfoList.topSerial) = "NULL" setInfo(setInfoList.midSerial) = playCode setInfo(setInfoList.botSerial) = "NULL" @@ -4965,7 +4547,12 @@ Public Class mainForm End If 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 & "'" If DBQueryReader(DBCmd) Then diff --git a/OrderPackingProcessor/mySQLAddress.vb b/OrderPackingProcessor/mySQLAddress.vb index 711b256..b33cf01 100644 --- a/OrderPackingProcessor/mySQLAddress.vb +++ b/OrderPackingProcessor/mySQLAddress.vb @@ -34,6 +34,9 @@ Private Const MainNonTDDB As String = "jomtTesterDB.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 applySalesDB As String = mainSalesDB Public applyCountDB As String = mainCountDB @@ -45,6 +48,7 @@ Public applyPackEvent As String = mainPackEvent Public applyPKCodeDB As String = mainPKCodeDB Public applyNonTDDB As String = MainNonTDDB + Public ApplyModelInfoDB As String = mainModelInfoDB Public applyPackDB As String = testPackDB Public applyHistoryDB As String = testHistoryDB @@ -79,6 +83,7 @@ effect effectV3 maximumAlpha + optimum '신규제품추가 : 추가하는 품목의 변수 추가 End Enum Public prodDB_max_index As Integer = [Enum].GetNames(GetType(prodDB)).Length - 1 @@ -248,6 +253,7 @@ countCommand(prodDB.effect) = "EffectCnt" countCommand(prodDB.effectV3) = "EffectV3Cnt" countCommand(prodDB.maximumAlpha) = "MAXIMUMALPHACnt" + countCommand(prodDB.optimum) = "OptimumCnt" '신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 에 생성한 일반동작 컬럼명 추가 countCommand(prodInCount.Length + comDB.mask5) = "Mask5Cnt" @@ -374,6 +380,7 @@ countCommand(prodDB.effect) = "APEffectCnt" countCommand(prodDB.effectV3) = "APEffectV3Cnt" countCommand(prodDB.maximumAlpha) = "APMAXIMUMALPHACnt" + countCommand(prodDB.optimum) = "APOptimumCnt" '신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 에 생성한 자동화동작(포장) 컬럼명 추가 countCommand(prodInCount.Length + comDB.mask5) = "APMask5Cnt" @@ -500,6 +507,7 @@ countCommand(prodDB.effect) = "AWEffectCnt" countCommand(prodDB.effectV3) = "AWEffectV3Cnt" countCommand(prodDB.maximumAlpha) = "AWMAXIMUMALPHACnt" + countCommand(prodDB.optimum) = "AWOptimumCnt" '신규제품추가 : 추가한 prodDB 수량을 DB에 저장하기 위해 jomtPackingCount 에 생성한 자동화동작(무게측정) 컬럼명 추가 countCommand(prodInCount.Length + comDB.mask5) = "AWMask5Cnt" @@ -627,5 +635,7 @@ prodPackCommand(prodDB.effect) = "Effect_Serial" prodPackCommand(prodDB.effectV3) = "EffectV3_Serial" prodPackCommand(prodDB.maximumAlpha) = "MAXIMUM_ALPHA_SN" + prodPackCommand(prodDB.optimum) = "Optimum_Serial" + '신규제품추가 : 추가한 prodDB 시리얼번호를 DB에 저장하기 위해 jomtSalesPackingTbl 에 생성한 시리얼번호 컬럼명 추가 End Sub End Module