From 4b0b69a004a8d870887a37a1e92086545d36249e Mon Sep 17 00:00:00 2001 From: hyelinjung Date: Wed, 1 Apr 2026 11:52:01 +0900 Subject: [PATCH] =?UTF-8?q?1.=20=EA=B0=99=EC=9D=80=20prodCode=EC=A7=80?= =?UTF-8?q?=EB=A7=8C=20=EB=8B=A4=EB=A5=B8=20itemCode=EA=B0=80=20=EB=91=90?= =?UTF-8?q?=20=EA=B0=9C=20=EC=9D=B4=EC=83=81=20=EC=A1=B4=EC=9E=AC=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EA=B2=BD=EC=9A=B0=20=EC=88=98=EB=9F=89=EC=9D=B4?= =?UTF-8?q?=EC=8A=88=EB=A1=9C=20=ED=8F=AC=EC=9E=A5=EB=B6=88=EA=B0=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=202.=20=EB=B2=84=EC=A0=84=203.0.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OrderPackingProcessor/mainForm.vb | 40 ++++++++++++++++++------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/OrderPackingProcessor/mainForm.vb b/OrderPackingProcessor/mainForm.vb index a3dcdb7..1cef939 100644 --- a/OrderPackingProcessor/mainForm.vb +++ b/OrderPackingProcessor/mainForm.vb @@ -8,7 +8,7 @@ Imports Newtonsoft.Json.Linq Public Class mainForm Public projectName As String = "OrderPackingProcessor Ver." - Public projectVer As String = "3.0.8" + Public projectVer As String = "3.0.9" Private apiItemOutURL As String = "item-outflows/page" @@ -164,6 +164,7 @@ Public Class mainForm Private apiSearch As String = "createdAtFrom" Public prodArray(,) As String Private apiArray(,) As String + Private donePkList As New List(Of Integer) ''포장 끝난 itemCode 인덱스 ''DB 제품 검색 관련 Private ScanArray(,) As String @@ -249,7 +250,7 @@ Public Class mainForm Private defaultData(defaultList.refer) As String ''보급형 88코드 - Private lowProdList As New Dictionary(Of String, String) ''key: itemcode value: 88_Code + Private lowProdList As New HashSet(Of String) ''value: 88_Code '' 세트코드 Private setCodeUse As Boolean = False ''세트 코드 번호를 사용했냐 안했냐 구분 @@ -316,14 +317,10 @@ Public Class mainForm 'Me.WindowState = FormWindowState.Maximized End Sub Private Sub loadLowProdBarcode() '' 보급형 88 코드 가지고 오기 - Dim queryFlag = 0 - Dim cmd = "SELECT 88_Code,itemCode FROM " & applyPlistDB & " WHERE 88_Code IS NOT NULL" + Dim cmd = "SELECT 88_Code FROM " & applyPlistDB & " WHERE 88_Code IS NOT NULL" If DBQueryReader(cmd) Then For i = 0 To sqlDataQuery.Length - 1 - If i Mod 2 = 1 Then - lowProdList.Add(sqlDataQuery(queryFlag), sqlDataQuery(queryFlag - 1)) - End If - queryFlag += 1 + lowProdList.Add(sqlDataQuery(i)) Next End If End Sub @@ -489,7 +486,7 @@ Public Class mainForm Return "NONORDER" End If Else - If lowProdList.ContainsValue(playCode) Then + If lowProdList.Contains(playCode) Then Return "CHECKERROR" End If If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Then @@ -3648,15 +3645,16 @@ Public Class mainForm Const regType As Int16 = 0 Try For i = 0 To prodArray.GetLength(1) - 1 + If donePkList.Contains(i) Then Continue For For n = 0 To scanCode.Length - 1 If prodArray(itemCode.code, i) = scanCode(n) Then '' instr 에서 식으로 변경 - If prodArray(itemCode.count, i) = prodArray(itemCode.chkCount, i) Then - errorOut("등록오류") - errorGen("더이상 포장할 필요가 없는 제품입니다.") - Return False - End If + 'If prodArray(itemCode.count, i) = prodArray(itemCode.chkCount, i) Then + ' errorOut("등록오류") + ' errorGen("더이상 포장할 필요가 없는 제품입니다.") + ' Return False + 'End If If prodScanCompare(i) Then errorOut("등록오류") @@ -3676,6 +3674,7 @@ Public Class mainForm txbArrayList(i, txbNameList.name).ForeColor = Color.Black txbArrayList(i, txbNameList.nowCount).ForeColor = Color.Black txbArrayList(i, txbNameList.targetCount).ForeColor = Color.Black + donePkList.Add(i) Else txbArrayList(i, txbNameList.targetCount).ForeColor = Color.Blue End If @@ -3709,6 +3708,15 @@ Public Class mainForm Next Next + For Each scanData As String In scanCode + For Each b As Integer In donePkList + If prodArray(itemCode.code, b) = scanData Then + errorOut("등록오류") + errorGen("더이상 포장할 필요가 없는 제품입니다.") + Return False + End If + Next + Next errorOut("등록오류") errorGen("포장 품목에 존재하지 않는 제품입니다.") Return False @@ -3751,7 +3759,7 @@ Public Class mainForm Else If orderSwitch = True Then - If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Or lowProdList.ContainsValue(playCode) Then + If playCode.Length = oldProdCodeLength Or playCode.Length = newProdCodeLength Or lowProdList.Contains(playCode) Then Return "PRODSCAN" ElseIf playCode.Length > comCodeLength Then Return "COMSCAN" @@ -4091,7 +4099,7 @@ Public Class mainForm Try Dim dataCount As Int16 = 0 Dim codeExist As Boolean = False - + donePkList.Clear() ReDim prodArray(itemCode.id, 0) ReDim apiData(apiDataList.address)