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