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 Public Class mainform
Private Sub mainform_Load(sender As Object, e As EventArgs) Handles MyBase.Load 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() lowProdListLoad()
End Sub End Sub

View File

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