1. 보급형 체험단 추가로 key에 중복 88코드 입력되는 오류, 중복 제거해 해결

2. db 업데이트 기준 보급형 orderDB의 genuine_date가 null인 데이터는 모두 업데이트(이전에는 업데이트 이전에 genuine_date가 null인경우는 계속 null로 남음)
3. 버전 1.1.6
This commit is contained in:
hyelinjung 2026-02-24 17:52:46 +09:00
parent ac76e44b2e
commit fb3bbdf43d
2 changed files with 15 additions and 14 deletions

View File

@ -5,7 +5,7 @@ Imports MySql.Data.MySqlClient
Public Class mainform
Private Sub mainform_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Text = "DUALSONIC Authentication Register Program Ver 1.1.5"
Me.Text = "DUALSONIC Authentication Register Program Ver 1.1.6"
lowProdListLoad()
End Sub

View File

@ -37,7 +37,7 @@ Module mySQLModule
End Function
Public Sub lowProdList(dic As Dictionary(Of String, String))
Using Conn As MySqlConnection = GetDBConn()
Dim cmd As New MySqlCommand("SELECT 88_Code, ModelNum, ColorNum FROM jomtTesterDB.jomtProdList WHERE 88_Code IS NOT NULL", Conn)
Dim cmd As New MySqlCommand("SELECT distinct 88_Code, ModelNum, ColorNum FROM jomtTesterDB.jomtProdList WHERE 88_Code IS NOT NULL", Conn)
Using reader As MySqlDataReader = cmd.ExecuteReader()
While reader.Read
@ -53,7 +53,7 @@ Module mySQLModule
Dim getSerialCmd As New MySqlCommand("SELECT Serial_Number,Order_Code FROM jomtOrderDB.jomtOrderTbl
WHERE Invoice_Number IS NOT NULL
AND Serial_Number IS NOT NULL
AND ((LEFT(Serial_Number,1) < '8' AND LENGTH(Serial_Number) > 11 ) OR Serial_Number in (SELECT 88_Code FROM jomtTesterDB.jomtProdList WHERE 88_Code IS NOT NULL))
AND ((LEFT(Serial_Number,1) < '8' AND LENGTH(Serial_Number) > 11 ) OR Serial_Number in (SELECT distinct 88_Code FROM jomtTesterDB.jomtProdList WHERE 88_Code IS NOT NULL))
AND genuine_date is null
AND Shipment_Date = @date", conn)
@ -336,28 +336,29 @@ Module mySQLModule
orderParams.Add("@ord" & i)
Next
Dim orderInClause As String = String.Join(", ", orderParams)
Dim serialInClause As String
Dim queryOrder As String
If serialFilterList.Count > 0 Then
Dim serialInClause As String = ""
'' 조건 충족 : Serial_Number IN으로 주문 테이블 업데이트
If serialFilterList.Count > 0 AndAlso productSnList.Count > 0 Then
Dim serialParams As New List(Of String)
For i As Integer = 0 To serialFilterList.Count - 1
serialParams.Add("@sno" & i)
Next
serialInClause = String.Join(", ", serialParams)
queryOrder = "UPDATE jomtOrderDB.jomtOrderTbl SET genuine_date = NOW() WHERE Order_Code IN (" & orderInClause & ") AND ((LEFT(Serial_Number,1) < '8' AND LENGTH(Serial_Number) > 11) OR Serial_Number IN (" & serialInClause & "))"
Else
queryOrder = "UPDATE jomtOrderDB.jomtOrderTbl SET genuine_date = NOW() WHERE Order_Code IN (" & orderInClause & ") AND (LEFT(Serial_Number,1) < '8' AND LENGTH(Serial_Number) > 11)"
Dim queryBySerial As String = "UPDATE jomtOrderDB.jomtOrderTbl SET genuine_date = NOW() WHERE Serial_Number IN (" & serialInClause & ") and genuine_date is null"
Using cmd As New MySqlCommand(queryBySerial, conn)
For i As Integer = 0 To serialFilterList.Count - 1
cmd.Parameters.AddWithValue("@sno" & i, serialFilterList(i))
Next
cmd.ExecuteNonQuery()
End Using
End If
'' 공통: Order_Code IN + 시리얼 형식 조건으로 주문 테이블 업데이트
Dim queryOrder As String = "UPDATE jomtOrderDB.jomtOrderTbl SET genuine_date = NOW() WHERE Order_Code IN (" & orderInClause & ") AND (LEFT(Serial_Number,1) < '8' AND LENGTH(Serial_Number) > 11)"
Using cmd As New MySqlCommand(queryOrder, conn)
For i As Integer = 0 To orderList.Count - 1
cmd.Parameters.AddWithValue("@ord" & i, orderList(i))
Next
If serialFilterList.Count > 0 Then
For i As Integer = 0 To serialFilterList.Count - 1
cmd.Parameters.AddWithValue("@sno" & i, serialFilterList(i))
Next
End If
cmd.ExecuteNonQuery()
End Using
End Using