대량포장 출하정보 매핑하여 MES에 업로드 시에 시리얼번호리스트, 송장번호가 각각 매핑되도록 수정

This commit is contained in:
KwakJooYoung 2025-09-29 11:36:05 +09:00
parent 932466975c
commit c915111a3f

View File

@ -5,7 +5,7 @@ Imports Newtonsoft.Json.Linq
Public Class frm_Main
Public programName As String = "DUALSONIC Mapping Or Search Program Ver. "
Private programVer As String = "1.1.0"
Private programVer As String = "1.2.0"
Private apiItemOutURL As String = "item-outflows/page"
@ -57,6 +57,7 @@ Public Class frm_Main
face
eye
id_Serial '' 전표 : api id 코드, 맵핑 : 제품 시리얼 번호
invoice
pk_Type '' 전표 : pk 코드, 맵핑 : 물품 타입(완제품 혹은 구성품)
type '' 정보 종합 물품 타입 저장
@ -77,6 +78,7 @@ Public Class frm_Main
Private ChkItemSet(,) As String '' 전표 데이터
Private packItemSet(,) As String '' 패킹 데이터
Private apiItemSet(,) As String '' api 등록용 데이터 백업 배열
Private mapping_list As New List(Of Object)
Private btnArrayList(,) As Button
@ -659,6 +661,12 @@ Public Class frm_Main
txbLeftOver.Text = LeftOverCount
txbLeftOver.ForeColor = Color.Red
For i = 0 To packItemSet.GetLength(1) - 1
packItemSet(itemInfoList.invoice, i) = codeData
Next
mapping_list.Add(packItemSet)
If RequestCount = WorkCount Then
invSuccess = True
Else
@ -1605,15 +1613,15 @@ Public Class frm_Main
For i = 0 To pSerialList_max_index
Dim restData As String = pSerialData(i)
If restData <> "0" Then
slashNum = UBound(Split(restData, ","))
slashNum = UBound(Split(restData, "/"))
For slash = 0 To slashNum
Dim serialData As String
If slash = slashNum Then
serialData = restData
Else
serialData = Mid(restData, 1, InStr(restData, ",") - 1) '' 302308110335
restData = Mid(restData, InStr(restData, ",") + 1, restData.Length)
serialData = Mid(restData, 1, InStr(restData, "/") - 1) '' 302308110335
restData = Mid(restData, InStr(restData, "/") + 1, restData.Length)
End If
For chk = 0 To itemInfoList.pk_Type
@ -1791,7 +1799,7 @@ Public Class frm_Main
Const rowCount As Int16 = 2
Dim colorNumber As String = Mid(serialData, colorPosition, 1)
DBCmd = "SELECT ItemCode,ItemName FROM " & applyPlistDB & " WHERE ModelNum = '" & modelNumber & "' AND TypeNum = '" & typeNumber & "' AND FaceShot = '" & tempFaceShot & "' AND EyeShot = '" & tempEyeShot & "' AND ColorNum = '" & colorNumber & "'"
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"
If DBQueryReader(DBCmd) Then
For i = 0 To sqlDataQuery.Length - 1
@ -3036,28 +3044,26 @@ Public Class frm_Main
Private Function apiMassSave() As Boolean
Dim jsonData As String = String.Empty
Dim apiResult As String = String.Empty
Dim SerialSet As String = String.Empty
Dim jsonData As String
Dim apiResult As String
Dim packItemSet(,) As String
Dim serial_number As String
For i = 0 To ChkItemSet.GetLength(1) - 1
If ChkItemSet(itemInfoList.id_Serial, i) <> String.Empty And ChkItemSet(itemInfoList.id_Serial, i) <> "" Then
SerialSet = ChkItemSet(itemInfoList.id_Serial, i)
Exit For
End If
Next
For i = 0 To mapping_list.Count - 1
packItemSet = mapping_list(i)
serial_number = ""
For i = RequestCount - 1 To 0 Step -1
Dim SaveSerial As String = String.Empty
If i = 0 Then
SaveSerial = Mid(SerialSet, 1, SerialSet.Length)
Else
SaveSerial = Mid(SerialSet, 1, InStr(SerialSet, "/") - 1)
SerialSet = Mid(SerialSet, InStr(SerialSet, "/") + 1, SerialSet.Length)
End If
For j = 0 To packItemSet.GetLength(1) - 1
If packItemSet(itemInfoList.id_Serial, j) <> Nothing And packItemSet(itemInfoList.id_Serial, j) <> "" Then
If serial_number = "" Then
serial_number = packItemSet(itemInfoList.id_Serial, j)
Else
serial_number = serial_number & "/" & packItemSet(itemInfoList.id_Serial, j)
End If
End If
Next
jsonData = "{""expectedOutCount"": 1,""serialNumber"":""" & SaveSerial & """,""invoiceNumber"":""" & txbLabelCode.Text & """}"
jsonData = "{""expectedOutCount"": 1,""serialNumber"":""" & serial_number & """,""invoiceNumber"":""" & packItemSet(itemInfoList.invoice, 0) & """}"
apiResult = apiRequest_PUT(jsonData, SetIdCode(i))