1] 신규 아이템 추가시 프로그램 수정 없이 처리할 수 있도록 로직 수정

2] 버전 2.0.0 업데이트
This commit is contained in:
KwakJooYoung 2025-12-08 09:40:00 +09:00
parent a3a9c4a400
commit c01a048faf

View File

@ -1,53 +1,14 @@
'Imports System.Data.OleDb Imports System.ComponentModel
'Imports System.Reflection
Imports System.ComponentModel
Imports System.IO.Ports Imports System.IO.Ports
Imports Microsoft.Office.Core Imports Microsoft.Office.Core
Imports Excel = Microsoft.Office.Interop.Excel Imports Excel = Microsoft.Office.Interop.Excel
''Imports Microsoft.Office.Interop
Public Class frmMySqlTest Public Class frmMySqlTest
Private Enum basic_info
Private Enum typeList 'packing info
prodset_V1
prodface_V2
prodeye
prodbody
'신규제품추가 : 제품 시리얼 번호 두번째 자리와 동일하도록 업데이트
End Enum
Private Enum modelList
PRO = 1
LUX
MAXIMUM
ALPHA
ALTO
EFFECT
MAXIMUM_ALPHA
'신규제품추가 : 제품 시리얼 번호 첫번째 자리와 동일하도록 업데이트
End Enum
Private Enum data_set
packcode packcode
pack_date pack_date
set_serial
pro_fa_serial
lux_fa_serial
pro_ey_serial
lux_ey_serial
pro_bo_serial
lux_bo_serial
MAXIMUM_serial
Alpha_Serial
Alpha_fa_Serial
Alpha_ey_Serial
Alpha_bo_Serial
Alto_Serial
Effect_Serial
EffectV3_Serial
MAXIMUM_ALPHA_Serial
'신규제품추가 : 추가하는 품목의 변수 추가
pack_note pack_note
'order info
ordercode ordercode
order_name order_name
phone phone
@ -55,138 +16,18 @@ Public Class frmMySqlTest
invoice invoice
order_note order_note
End Enum End Enum
Private data_set_max_index As Integer = [Enum].GetNames(GetType(data_set)).Length - 1 Private basic_info_max_index As Integer = [Enum].GetNames(GetType(basic_info)).Length - 1
Private data_select(data_set_max_index) As String Private basic_data_select(basic_info_max_index) As String
Private Enum data_count Structure item_info
'product Dim item_type As String 'P:Product / C:Component
dummy_0 Dim prod_code As String
set_cnt = 1 ' Pro_Set, Lux_Set Dim sales_packing_cnt_col_nm As String
dummy_2 Dim sales_packing_serial_col_nm As String
proface_cnt = 3 Dim cnt As String
luxface_cnt Dim serial As String
proeye_cnt End Structure
luxeye_cnt Private item_data_list As New ArrayList
probody_cnt
luxbody_cnt
maximum_cnt
alphaSet_cnt
alphaFace_cnt
alphaEye_cnt
alphaBody_cnt
alto_cnt
effect_cnt
effectV3_cnt
maximumAlpha_cnt
'신규제품추가 : 추가하는 품목의 변수 추가
'component
mask5
mask10
hairband
gel
minigel
ample
cream
umb
fen
charger
cable
toner
problack
probeige
prored
propink
maxblack
maxapr
maxmint
maxbeige
soothing
car0
car1
car2
car3
car4
car5
car6
bag
cosbag
dustbag
maxPurple
proSnakeBlack
kollagen
kollagenset
kollagen_P
kollagenset_P
cleansingWater
tonerPad
maxSaffianoBK
hologram1
hologram3
hologram5
caseSaffianoPp
maxYellow
Kollagen_Pe1
Kollagen_Pe3
Kollagen_Pe5
ATCircleCase
APSquareCase
maxPeach
massageSoothing
maxSMint
meshpouch
firmingAmp
hyaluronicAmp
nightshot
morningshot
casemaxwoodi
Elicolltoner
Elicollamp
Elicollcream
Elihyaltoner
Elihyalamp
Elihyalcream
Dayshot
Beautyshopbag
Gummy
Stickjelly
Newyearbag
Emsbelt
Beltbag
Dayshot2
Elixir
Elixirpremium
Emsbeltcontrollset
FabricBag
Goldshopbag
MorNigshotset
CTBox
ElesqLiftingToner
ElesqLiftingCeam
ElesqLiftingECream
ElesqLiftingAmp
ElesqAquaToner
ElesqAquaCeam
ElesqAquaECream
ElesqAquaAmp
car8
keyring
DoenaLiftingToner
DoenaLiftingAmp
DoenaLiftingCream
FirmingCollagenGel
keyringSally
beautykitHairband
beautykitMirrorS
beautykitMirrorL
bloomingMoistureGel150
firmingCollagenGel150
tweedCase
bloomingMoistureGel250
'신규구성품추가 : 추가하는 품목의 변수 추가
End Enum
Private data_count_max_index As Integer = [Enum].GetNames(GetType(data_count)).Length - 1
Private data_cnt(data_count_max_index) As String
Private cmd As String Private cmd As String
Private dbcmd As String Private dbcmd As String
@ -207,11 +48,15 @@ Public Class frmMySqlTest
Public InputCnt As Long Public InputCnt As Long
Public InputCntVal As Integer = 10 Public InputCntVal As Integer = 10
Public OldSerialNumberLength As Integer = 12
Public NewSerialNumberLength As Integer = 16
Private command_serial As String Private command_serial As String
Private command_count As String Private command_count As String
Private product_serial_type As String Private product_serial_type As String
Private all_serial_list As New List(Of String) Private all_serial_list As New List(Of String)
Private query_product As String
Private query_component As String
Private Sub SetInputCnt() Private Sub SetInputCnt()
InputCnt = InputCntVal InputCnt = InputCntVal
@ -262,32 +107,82 @@ Public Class frmMySqlTest
End Sub End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
setItemData()
txb_clear() txb_clear()
' DataGridView를 선택하면 전체 한줄이 선택되게 됩니다. ' DataGridView를 선택하면 전체 한줄이 선택되게 됩니다.
dgv_pack_item.SelectionMode = DataGridViewSelectionMode.FullRowSelect dgv_pack_item.SelectionMode = DataGridViewSelectionMode.FullRowSelect
txbPacking.Focus() txbPacking.Focus()
End Sub End Sub
'Private Sub size_est() Private Sub setItemData()
' Dim width, height As Integer dbcmd = "SELECT CAST(ProdCode AS CHAR), SalesPackingCntColNm, SalesPackingSerialColNm FROM " & prod_table & " WHERE ProdCode <> 2 GROUP BY ProdCode ORDER BY ProdCode asc;"
If DBQueryReader(dbcmd) Then
Dim RowCount As Int16 = (sqlDataQuery.Length / 3) - 1
Dim dataSetCount As Int32 = 0
Dim item_data As item_info
' Me.Hide() For row = 0 To RowCount
' Me.WindowState = FormWindowState.Maximized item_data.item_type = "P"
For col = 0 To 2
If col = 0 Then
item_data.prod_code = sqlDataQuery(dataSetCount)
ElseIf col = 1 Then
item_data.sales_packing_cnt_col_nm = sqlDataQuery(dataSetCount)
ElseIf col = 2 Then
item_data.sales_packing_serial_col_nm = sqlDataQuery(dataSetCount)
End If
dataSetCount += 1
Next
item_data_list.Add(item_data)
Next
End If
' width = Val(Me.Width) dbcmd = "SELECT CAST(ProdCode AS CHAR), SalesPackingCntColNm FROM " & component_table & " GROUP BY ProdCode ORDER BY ProdCode asc;"
' height = Val(Me.Height) If DBQueryReader(dbcmd) Then
Dim RowCount As Int16 = (sqlDataQuery.Length / 2) - 1
Dim dataSetCount As Int32 = 0
Dim item_data As item_info
' Me.MaximumSize = New Size(width, height) For row = 0 To RowCount
' Me.Width = width item_data.item_type = "C"
' Me.Height = height For col = 0 To 1
If col = 0 Then
item_data.prod_code = sqlDataQuery(dataSetCount)
ElseIf col = 1 Then
item_data.sales_packing_cnt_col_nm = sqlDataQuery(dataSetCount)
End If
dataSetCount += 1
Next
item_data_list.Add(item_data)
Next
End If
' Me.Show() '제품 정보 조회 쿼리 생성
' Me.Refresh() query_product = Nothing
For Each item_data As item_info In item_data_list
If item_data.item_type = "P" Then
If query_product = Nothing Then
query_product = "'" & item_data.prod_code & "', IFNULL(" & item_data.sales_packing_serial_col_nm & ",'NULL'), IFNULL(" & item_data.sales_packing_cnt_col_nm & ",'0')"
Else
query_product = query_product & ",'" & item_data.prod_code & "', IFNULL(" & item_data.sales_packing_serial_col_nm & ",'NULL'), IFNULL(" & item_data.sales_packing_cnt_col_nm & ",'0')"
End If
End If
Next
'구성품 정보 조회 쿼리 생성
query_component = Nothing
For Each item_data As item_info In item_data_list
If item_data.item_type = "C" Then
If query_component = Nothing Then
query_component = "'" & item_data.prod_code & "', IFNULL(" & item_data.sales_packing_cnt_col_nm & ",'0')"
Else
query_component = query_component & ",'" & item_data.prod_code & "', IFNULL(" & item_data.sales_packing_cnt_col_nm & ",'0')"
End If
End If
Next
End Sub
'End Sub
Private Sub clearVariable() Private Sub clearVariable()
command_serial = Nothing command_serial = Nothing
command_count = Nothing command_count = Nothing
@ -299,12 +194,13 @@ Public Class frmMySqlTest
dgv_pack_item.Rows.Clear() dgv_pack_item.Rows.Clear()
dgv_pack_item.Refresh() dgv_pack_item.Refresh()
For i = 0 To data_set_max_index For i = 0 To basic_info_max_index
data_select(i) = "NULL" basic_data_select(i) = "NULL"
Next Next
For i = 0 To data_count_max_index For Each item_data As item_info In item_data_list
data_cnt(i) = "0" item_data.cnt = 0
item_data.serial = Nothing
Next Next
End Sub End Sub
@ -312,117 +208,24 @@ Public Class frmMySqlTest
Dim modelNum As String = Mid(serial, 1, 1) Dim modelNum As String = Mid(serial, 1, 1)
Dim typeNum As String = Mid(serial, 2, 1) Dim typeNum As String = Mid(serial, 2, 1)
Select Case modelNum If serial.Length = OldSerialNumberLength Then
Case modelList.PRO modelNum = Mid(serial, 1, 1)
Select Case typeNum typeNum = Mid(serial, 2, 1)
Case typeList.prodset_V1 Else
command_serial = "Main_Product_SN" modelNum = Mid(serial, 1, 2)
command_count = "Set_Cnt" typeNum = Mid(serial, 15, 1)
product_serial_type = data_set.set_serial End If
Case typeList.prodface_V2
command_serial = "Pro_Face_Serial"
command_count = "Pro_CT_FaceCnt"
product_serial_type = data_set.pro_fa_serial
Case typeList.prodeye
command_serial = "Pro_Eye_Serial"
command_count = "Pro_CT_EYE_Cnt"
product_serial_type = data_set.pro_ey_serial
Case typeList.prodbody
command_serial = "Pro_Body_Serial"
command_count = "Pro_CT_BodyCnt"
product_serial_type = data_set.pro_bo_serial
End Select
Case modelList.LUX dbcmd = "SELECT SalesPackingSerialColNm, SalesPackingCntColNm, CAST(ProdCode AS CHAR) FROM " & prod_table & " WHERE ModelNum = " & modelNum & " AND TypeNum = " & typeNum & " LIMIT 1;"
Select Case typeNum If DBQueryReader(dbcmd) Then
Case typeList.prodset_V1 command_serial = sqlDataQuery(0)
command_serial = "Main_Product_SN" command_count = sqlDataQuery(1)
command_count = "Set_Cnt" product_serial_type = sqlDataQuery(2)
product_serial_type = data_set.set_serial
Case typeList.prodface_V2
command_serial = "Lux_Face_Serial"
command_count = "Lux_CT_FaceCnt"
product_serial_type = data_set.lux_fa_serial
Case typeList.prodeye
command_serial = "Lux_Eye_Serial"
command_count = "Lux_CT_EYE_Cnt"
product_serial_type = data_set.lux_ey_serial
Case typeList.prodbody
command_serial = "Lux_Body_Serial"
command_count = "Lux_CT_BodyCnt"
product_serial_type = data_set.lux_bo_serial
End Select
Case modelList.MAXIMUM
Select Case typeNum
Case typeList.prodset_V1
command_serial = "MAXIMUM_SN"
command_count = "MAXIMUM_Cnt"
product_serial_type = data_set.MAXIMUM_serial
Case typeList.prodface_V2
command_serial = "MAXIMUM_SN"
command_count = "MAXIMUM_Cnt"
product_serial_type = data_set.MAXIMUM_serial
End Select
Case modelList.ALPHA
Select Case typeNum
Case typeList.prodset_V1
command_serial = "Alpha_Set_Serial"
command_count = "Alpha_Set_Cnt"
product_serial_type = data_set.Alpha_Serial
Case typeList.prodface_V2
command_serial = "Alpha_Face_Serial"
command_count = "Alpha_Face_Cnt"
product_serial_type = data_set.Alpha_fa_Serial
Case typeList.prodeye
command_serial = "Alpha_Eye_Serial"
command_count = "Alpha_Eye_Cnt"
product_serial_type = data_set.Alpha_ey_Serial
Case typeList.prodbody
command_serial = "Alpha_Body_Serial"
command_count = "Alpha_Body_Cnt"
product_serial_type = data_set.Alpha_bo_Serial
End Select
Case modelList.ALTO
Select Case typeNum
Case typeList.prodset_V1
command_serial = "Alto_Serial"
command_count = "Alto_Cnt"
product_serial_type = data_set.Alto_Serial
End Select
Case modelList.EFFECT
Select Case typeNum
Case typeList.prodset_V1
command_serial = "Effect_Serial"
command_count = "Effect_Cnt"
product_serial_type = data_set.Effect_Serial
Case typeList.prodbody
command_serial = "EffectV3_Serial"
command_count = "EffectV3_Cnt"
product_serial_type = data_set.EffectV3_Serial
End Select
Case modelList.MAXIMUM_ALPHA
Select Case typeNum
Case typeList.prodset_V1
command_serial = "MAXIMUM_ALPHA_SN"
command_count = "MAXIMUM_ALPHA_Cnt"
product_serial_type = data_set.MAXIMUM_ALPHA_Serial
End Select
'신규제품추가 : 추가한 제품의 case 업데이트
End Select
If command_serial <> Nothing Then
dbcmd = "SELECT PackingCode FROM " & sales_table & " WHERE " & command_serial & " LIKE '%" & serial & "%'" dbcmd = "SELECT PackingCode FROM " & sales_table & " WHERE " & command_serial & " LIKE '%" & serial & "%'"
If DBQueryReader(dbcmd) Then If DBQueryReader(dbcmd) Then
Return sqlDataQuery(0) Return sqlDataQuery(0)
End If End If
End If End If
Return Nothing Return Nothing
@ -446,18 +249,18 @@ Public Class frmMySqlTest
clearVariable() clearVariable()
'시리얼번호를 포함하고 있는 패킹코드 검색 '시리얼번호를 포함하고 있는 패킹코드 검색
If Len(txbPacking.Text) = 12 Then If Len(txbPacking.Text) = OldSerialNumberLength Or Len(txbPacking.Text) = NewSerialNumberLength Then
packing_code = select_packingCode(txbPacking.Text) packing_code = select_packingCode(txbPacking.Text)
End If End If
If db_select(packing_code) Then If packing_code <> Nothing And db_select(packing_code) Then
If item_out() Then If item_out() Then
txb_pack_code.Text = data_select(data_set.packcode) txb_pack_code.Text = basic_data_select(basic_info.packcode)
txb_pack_date.Text = data_select(data_set.pack_date) txb_pack_date.Text = basic_data_select(basic_info.pack_date)
txb_state_code.Text = data_select(data_set.ordercode) txb_state_code.Text = basic_data_select(basic_info.ordercode)
txb_state_date.Text = data_select(data_set.ship_date) txb_state_date.Text = basic_data_select(basic_info.ship_date)
txb_state_name.Text = data_select(data_set.order_name) txb_state_name.Text = basic_data_select(basic_info.order_name)
txb_invoice.Text = data_select(data_set.invoice) txb_invoice.Text = basic_data_select(basic_info.invoice)
End If End If
If all_serial_list.Count > 1 Then If all_serial_list.Count > 1 Then
@ -474,26 +277,9 @@ Public Class frmMySqlTest
End Sub End Sub
Private Function db_select(packing_code As String) As Boolean Private Function db_select(packing_code As String) As Boolean
'패킹, 주문 기본정보 조회
dbcmd = "SELECT IFNULL(sale.PackingCode,'NULL') dbcmd = "SELECT IFNULL(sale.PackingCode,'NULL')
, IFNULL(sale.`Data`,'NULL') , IFNULL(sale.`Data`,'NULL')
, IFNULL(sale.Main_Product_SN,'NULL')
, IFNULL(sale.Pro_Face_Serial,'NULL')
, IFNULL(sale.Lux_Face_Serial,'NULL')
, IFNULL(sale.Pro_Eye_Serial,'NULL')
, IFNULL(sale.Lux_Eye_Serial,'NULL')
, IFNULL(sale.Pro_Body_Serial,'NULL')
, IFNULL(sale.Lux_Body_Serial,'NULL')
, IFNULL(sale.MAXIMUM_SN,'NULL')
, IFNULL(sale.Alpha_Set_Serial,'NULL')
, IFNULL(sale.Alpha_Face_Serial,'NULL')
, IFNULL(sale.Alpha_Eye_Serial,'NULL')
, IFNULL(sale.Alpha_Body_Serial,'NULL')
, IFNULL(sale.Alto_Serial,'NULL')
, IFNULL(sale.Effect_Serial,'NULL')
, IFNULL(sale.EffectV3_Serial,'NULL')
, IFNULL(sale.MAXIMUM_ALPHA_SN,'NULL')
, IFNULL(sale.note, '') , IFNULL(sale.note, '')
, IFNULL(otb.Order_Code,'NULL') , IFNULL(otb.Order_Code,'NULL')
@ -502,190 +288,118 @@ Public Class frmMySqlTest
, IFNULL(otb.Shipment_Date,'NULL') , IFNULL(otb.Shipment_Date,'NULL')
, IFNULL(otb.Invoice_Number,'NULL') , IFNULL(otb.Invoice_Number,'NULL')
, IFNULL(otb.note,'') , IFNULL(otb.note,'')
, IFNULL(sale.Set_Cnt,'0')
, '0'
, IFNULL(sale.Pro_CT_FaceCnt,'0')
, IFNULL(sale.Lux_CT_FaceCnt,'0')
, IFNULL(sale.Pro_CT_EYE_Cnt,'0')
, IFNULL(sale.Lux_CT_EYE_Cnt,'0')
, IFNULL(sale.Pro_CT_BodyCnt,'0')
, IFNULL(sale.Lux_CT_BodyCnt,'0')
, IFNULL(sale.MAXIMUM_Cnt,'0')
, IFNULL(sale.Alpha_Set_Cnt,'0')
, IFNULL(sale.Alpha_Face_Cnt,'0')
, IFNULL(sale.Alpha_Eye_Cnt,'0')
, IFNULL(sale.Alpha_Body_Cnt,'0')
, IFNULL(sale.Alto_Cnt,'0')
, IFNULL(sale.Effect_Cnt,'0')
, IFNULL(sale.EffectV3_Cnt,'0')
, IFNULL(sale.MAXIMUM_ALPHA_Cnt,'0')
, IFNULL(sale.Mask5Cnt,'0')
, IFNULL(sale.Mask10Cnt,'0')
, IFNULL(sale.HairBandCnt,'0')
, IFNULL(sale.GelCnt,'0')
, IFNULL(sale.MiniGelCnt,'0')
, IFNULL(sale.AmpleCnt,'0')
, IFNULL(sale.CreamCnt,'0')
, IFNULL(sale.UmbrellaCnt,'0')
, IFNULL(sale.FenCnt,'0')
, IFNULL(sale.ChargerCnt,'0')
, IFNULL(sale.CableCnt,'0')
, IFNULL(sale.TonerCnt,'0')
, IFNULL(sale.Case_PRO_Black,'0')
, IFNULL(sale.Case_PRO_Beige,'0')
, IFNULL(sale.Case_PRO_Red,'0')
, IFNULL(sale.Case_PRO_Pink,'0')
, IFNULL(sale.Case_MAX_Black,'0')
, IFNULL(sale.Case_MAX_Apr,'0')
, IFNULL(sale.Case_MAX_Mint,'0')
, IFNULL(sale.Case_MAX_Beige,'0')
, IFNULL(sale.SoothingGelCnt,'0')
, IFNULL(sale.Carton0_Cnt,'0')
, IFNULL(sale.Carton1_Cnt,'0')
, IFNULL(sale.Carton2_Cnt,'0')
, IFNULL(sale.Carton3_Cnt,'0')
, IFNULL(sale.Carton4_Cnt,'0')
, IFNULL(sale.Carton5_Cnt,'0')
, IFNULL(sale.Carton6_Cnt,'0')
, IFNULL(sale.Shopbag_Cnt,'0')
, IFNULL(sale.CosShopbag_Cnt,'0')
, IFNULL(sale.DustBagCnt,'0')
, IFNULL(sale.Case_MAX_Purple,'0')
, IFNULL(sale.Case_PRO_SnakeBlakc,'0')
, IFNULL(sale.KollagenCnt,'0')
, IFNULL(sale.KollagenSetCnt,'0')
, IFNULL(sale.Kollagen_PCnt,'0')
, IFNULL(sale.KollagenSet_PCnt,'0')
, IFNULL(sale.CleansingWaterCnt,'0')
, IFNULL(sale.TonerPadCnt,'0')
, IFNULL(sale.Case_MAX_SafBK_Cnt,'0')
, IFNULL(sale.Hologram_1Cnt,'0')
, IFNULL(sale.Hologram_3Cnt,'0')
, IFNULL(sale.Hologram_5Cnt,'0')
, IFNULL(sale.Case_MAX_SafPp_Cnt,'0')
, IFNULL(sale.Case_MAX_Yellow,'0')
, IFNULL(sale.Kollagen_Pe1Cnt,'0')
, IFNULL(sale.Kollagen_Pe3Cnt,'0')
, IFNULL(sale.Kollagen_Pe5Cnt,'0')
, IFNULL(sale.ATCircleCaseCnt,'0')
, IFNULL(sale.APSquareCaseCnt,'0')
, IFNULL(sale.Case_MAX_Peach,'0')
, IFNULL(sale.MasSoothingCnt,'0')
, IFNULL(sale.Case_MAX_SMintCnt,'0')
, IFNULL(sale.MeshPouchCnt,'0')
, IFNULL(sale.FirmingAmpCnt,'0')
, IFNULL(sale.HyaluronicAmpCnt,'0')
, IFNULL(sale.nightshotcnt,'0')
, IFNULL(sale.morningshotcnt,'0')
, IFNULL(sale.casemaxwoodicnt,'0')
, IFNULL(sale.Elicolltonercnt,'0')
, IFNULL(sale.Elicollampcnt,'0')
, IFNULL(sale.Elicollcreamcnt,'0')
, IFNULL(sale.Elihyaltonercnt,'0')
, IFNULL(sale.Elihyalampcnt,'0')
, IFNULL(sale.Elihyalcreamcnt,'0')
, IFNULL(sale.Dayshotcnt,'0')
, IFNULL(sale.Beautyshopbagcnt,'0')
, IFNULL(sale.Gummycnt,'0')
, IFNULL(sale.stickjellycnt,'0')
, IFNULL(sale.Newyearbagcnt,'0')
, IFNULL(sale.Emsbeltcnt,'0')
, IFNULL(sale.Beltbagcnt,'0')
, IFNULL(sale.Dayshot2cnt,'0')
, IFNULL(sale.Elixircnt,'0')
, IFNULL(sale.Elixirpremiumcnt,'0')
, IFNULL(sale.Emsbeltcontrollsetcnt,'0')
, IFNULL(sale.FabricBagcnt,'0')
, IFNULL(sale.Goldshopbagcnt,'0')
, IFNULL(sale.MorNigshotsetcnt,'0')
, IFNULL(sale.CTBoxcnt,'0')
, IFNULL(sale.ElesqLiftingTonercnt,'0')
, IFNULL(sale.ElesqLiftingCeamcnt,'0')
, IFNULL(sale.ElesqLiftingECreamcnt,'0')
, IFNULL(sale.ElesqLiftingAmpcnt,'0')
, IFNULL(sale.ElesqAquaTonercnt,'0')
, IFNULL(sale.ElesqAquaCeamcnt,'0')
, IFNULL(sale.ElesqAquaECreamcnt,'0')
, IFNULL(sale.ElesqAquaAmpcnt,'0')
, IFNULL(sale.Carton8_Cnt,'0')
, IFNULL(sale.KeyringCnt,'0')
, IFNULL(sale.DoenaLiftingTonercnt,'0')
, IFNULL(sale.DoenaLiftingAmpcnt,'0')
, IFNULL(sale.DoenaLiftingCreamcnt,'0')
, IFNULL(sale.FirmingCollagenGelcnt,'0')
, IFNULL(sale.KeyringSallyCnt,'0')
, IFNULL(sale.BeautykitHairbandCnt,'0')
, IFNULL(sale.BeautykitMirrorSCnt,'0')
, IFNULL(sale.BeautykitMirrorLCnt,'0')
, IFNULL(sale.BloomingMoistureGel150Cnt,'0')
, IFNULL(sale.FirmingCollagenGel150Cnt,'0')
, IFNULL(sale.TweedCaseCnt,'0')
, IFNULL(sale.BloomingMoistureGel250Cnt,'0')
FROM " & sales_db & " AS sale LEFT JOIN " & order_db & " AS otb ON sale.PackingCode = otb.Packing_Code FROM " & sales_db & " AS sale LEFT JOIN " & order_db & " AS otb ON sale.PackingCode = otb.Packing_Code
WHERE sale.PackingCode = '" & packing_code & "' GROUP BY sale.PackingCode" '신규제품추가/신규구성품추가 : 추가하는 품목의 시리얼, 개수 조회 추가 WHERE sale.PackingCode = '" & packing_code & "' GROUP BY sale.PackingCode"
If DBQueryReader(dbcmd) Then If DBQueryReader(dbcmd) Then
For i = 0 To basic_info_max_index
For i = 0 To data_set_max_index basic_data_select(i) = sqlDataQuery(i)
data_select(i) = sqlDataQuery(i)
Next Next
For i = 1 To data_count_max_index
data_cnt(i) = sqlDataQuery(data_set_max_index + i)
Next
'모든 제품의 시리얼번호를 검색
For i = data_set.set_serial To data_set.pack_note - 1
If data_select(i) <> "NULL" Then
Dim serial_array() As String = data_select(i).Split("/")
For j = 0 To serial_array.Length - 1
If Len(serial_array(j)) <> 0 Then
all_serial_list.Add(serial_array(j))
End If
Next
End If
Next
Return True
Else Else
Return False Return False
End If End If
'제품 정보 조회
dbcmd = "SELECT " & query_product & " FROM " & sales_db & " WHERE PackingCode = '" & packing_code & "'"
If DBQueryReader(dbcmd) Then
Dim RowCount As Int16 = (sqlDataQuery.Length / 3) - 1
Dim dataSetCount As Int32 = 0
Dim prod_code As String
Dim serial As String
Dim cnt As String
For row = 0 To RowCount
For col = 0 To 2
If col = 0 Then
prod_code = sqlDataQuery(dataSetCount)
ElseIf col = 1 Then
serial = sqlDataQuery(dataSetCount)
ElseIf col = 2 Then
cnt = sqlDataQuery(dataSetCount)
End If
dataSetCount += 1
Next
For i = 0 To item_data_list.Count - 1
Dim item_data As item_info = item_data_list(i)
If item_data.item_type = "P" And item_data.prod_code = prod_code Then
item_data.serial = serial
item_data.cnt = cnt
item_data_list(i) = item_data
'모든 제품의 시리얼번호를 검색
If serial <> "NULL" Then
Dim serial_array() As String = serial.Split("/")
For j = 0 To serial_array.Length - 1
If Len(serial_array(j)) <> 0 Then
all_serial_list.Add(serial_array(j))
End If
Next
End If
Exit For
End If
Next
Next
End If
'구성품 정보 조회
dbcmd = "SELECT " & query_component & " FROM " & sales_db & " WHERE PackingCode = '" & packing_code & "'"
If DBQueryReader(dbcmd) Then
Dim RowCount As Int16 = (sqlDataQuery.Length / 2) - 1
Dim dataSetCount As Int32 = 0
Dim prod_code As String
Dim cnt As String
For row = 0 To RowCount
For col = 0 To 1
If col = 0 Then
prod_code = sqlDataQuery(dataSetCount)
ElseIf col = 1 Then
cnt = sqlDataQuery(dataSetCount)
End If
dataSetCount += 1
Next
For i = 0 To item_data_list.Count - 1
Dim item_data As item_info = item_data_list(i)
If item_data.item_type = "C" And item_data.prod_code = prod_code Then
item_data.cnt = cnt
item_data_list(i) = item_data
Exit For
End If
Next
Next
End If
Return True
End Function End Function
Private Function item_out() As Boolean Private Function item_out() As Boolean
Dim item_name, item_serial As String Dim item_name As String
Dim dgv_switch As Boolean Dim dgv_switch As Boolean
Try Try
For Each item_data As item_info In item_data_list
For i = 0 To data_count_max_index
dgv_switch = False dgv_switch = False
item_name = Nothing item_name = Nothing
item_serial = Nothing
If data_cnt(i) > 0 Then If item_data.cnt > 0 Then
If i = data_count.set_cnt Then 'Pro_Set, Lux_Set If item_data.item_type = "P" And item_data.prod_code = "1" Or item_data.prod_code = "2" Then 'Pro_Set, Lux_Set
If Mid(data_select(data_set.set_serial), 1, 2) = "10" Then If Mid(item_data.serial, 1, 2) = "10" Then
item_name = "DUALSONIC Pro 1Set (KR)" item_name = "DUALSONIC Pro 1Set (KR)"
Else Else
item_name = "DUALSONIC Lux 1Set (KR)" item_name = "DUALSONIC Lux 1Set (KR)"
End If End If
ElseIf item_data.item_type = "P" Then
item_serial = data_select(data_set.set_serial) dbcmd = "SELECT ItemName FROM " & prod_db & " WHERE ProdCode = '" & item_data.prod_code & "' AND ItemName NOT LIKE '%체험%' LIMIT 1"
ElseIf i < data_count.mask5 Then
dbcmd = "SELECT ItemName FROM " & prod_db & " WHERE ProdCode = '" & i & "' AND ItemName NOT LIKE '%체험%' LIMIT 1"
If DBQueryReader(dbcmd) Then If DBQueryReader(dbcmd) Then
item_name = sqlDataQuery(0) item_name = sqlDataQuery(0)
End If End If
item_serial = data_select(i)
Else Else
dbcmd = "SELECT ItemName FROM " & component_db & " WHERE ProdCode = '" & (i - data_count.mask5) & "' LIMIT 1" dbcmd = "SELECT ItemName FROM " & component_db & " WHERE ProdCode = '" & item_data.prod_code & "' LIMIT 1"
If DBQueryReader(dbcmd) Then If DBQueryReader(dbcmd) Then
item_name = sqlDataQuery(0) item_name = sqlDataQuery(0)
@ -696,11 +410,10 @@ Public Class frmMySqlTest
End If End If
If dgv_switch = True Then If dgv_switch = True Then
dgv_pack_item.Rows.Add(item_name, data_cnt(i), item_serial) dgv_pack_item.Rows.Add(item_name, item_data.cnt, item_data.serial)
End If End If
Next Next
Return True Return True
Catch ex As Exception Catch ex As Exception
@ -715,13 +428,6 @@ Public Class frmMySqlTest
txbPacking.BackColor = Color.White txbPacking.BackColor = Color.White
End Sub End Sub
' Private Sub txbPacking_KeyDown(ByVal sender As Object, e As KeyEventArgs) Handles txbPacking.KeyDown
'If e.KeyCode = Keys.KeyCode.Return Then
' btnReadDB_Click(sender, e)
' End If
' End Sub
Private Sub txbPacking_KeyDown(ByVal sender As Object, e As KeyEventArgs) Handles txbPacking.KeyDown Private Sub txbPacking_KeyDown(ByVal sender As Object, e As KeyEventArgs) Handles txbPacking.KeyDown
If e.KeyCode = Keys.Return Then If e.KeyCode = Keys.Return Then
btnReadDB_Click(sender, EventArgs.Empty) btnReadDB_Click(sender, EventArgs.Empty)
@ -779,12 +485,18 @@ Public Class frmMySqlTest
msg_cnt = MsgBox("패킹에 포함된 시리얼번호를 삭제하시겠습니까?", vbExclamation + vbOKCancel) msg_cnt = MsgBox("패킹에 포함된 시리얼번호를 삭제하시겠습니까?", vbExclamation + vbOKCancel)
If msg_cnt = 1 Then If msg_cnt = 1 Then
'STEP_01 : jomtTesterDB.jomtSalesPackingTbl 테이블 시리얼번호 삭제 'STEP_01 : jomtTesterDB.jomtSalesPackingTbl 테이블 시리얼번호 삭제
Dim remain_serial_data() As String = data_select(product_serial_type).Replace(txbPacking.Text, "").Split("/") Dim remain_serial_data() As String
Dim update_serial_str As String = "" Dim update_serial_str As String = ""
Dim update_serial_cnt As UInt16 = 0 Dim update_serial_cnt As UInt16 = 0
Dim update_note_str As String = data_select(data_set.pack_note) Dim update_note_str As String = basic_data_select(basic_info.pack_note)
For Each item_data As item_info In item_data_list
If item_data.item_type = "P" And item_data.prod_code = product_serial_type Then
remain_serial_data = item_data.serial.Replace(txbPacking.Text, "").Split("/")
Exit For
End If
Next
For i = 0 To remain_serial_data.Length - 1 For i = 0 To remain_serial_data.Length - 1
If Len(remain_serial_data(i)) <> 0 Then If Len(remain_serial_data(i)) <> 0 Then
@ -822,7 +534,7 @@ Public Class frmMySqlTest
remain_serial_data = sqlDataQuery(0).Replace(txbPacking.Text, "").Split("/") remain_serial_data = sqlDataQuery(0).Replace(txbPacking.Text, "").Split("/")
update_serial_str = "" update_serial_str = ""
update_serial_cnt = 0 update_serial_cnt = 0
update_note_str = data_select(data_set.order_note) update_note_str = basic_data_select(basic_info.order_note)
For i = 0 To remain_serial_data.Length - 1 For i = 0 To remain_serial_data.Length - 1
If Len(remain_serial_data(i)) <> 0 Then If Len(remain_serial_data(i)) <> 0 Then
@ -912,7 +624,6 @@ Public Class frmMySqlTest
End Sub End Sub
Private Sub btn_delete_Click(sender As Object, e As EventArgs) Handles btn_delete.Click Private Sub btn_delete_Click(sender As Object, e As EventArgs) Handles btn_delete.Click
Dim msg_cnt As Int16 Dim msg_cnt As Int16
Dim serial_data As String Dim serial_data As String
@ -945,13 +656,9 @@ Public Class frmMySqlTest
MsgBox("데이터베이스 안에 전표 데이터가 존재하지 않습니다. 데이터를 확인하여 주십시오.", vbCritical) MsgBox("데이터베이스 안에 전표 데이터가 존재하지 않습니다. 데이터를 확인하여 주십시오.", vbCritical)
End If End If
Else Else
MsgBox("삭제가 취소되었습니다.", vbInformation) MsgBox("삭제가 취소되었습니다.", vbInformation)
End If End If
Else Else
If all_serial_list.Count > 1 Then If all_serial_list.Count > 1 Then
@ -992,26 +699,9 @@ Public Class frmMySqlTest
dbcmd = "UPDATE " & sales_db & dbcmd = "UPDATE " & sales_db &
" SET PackingCode = 'null_" & txb_pack_code.Text & "' " SET PackingCode = 'null_" & txb_pack_code.Text & "'
, Main_Product_SN = NULL , " & command_serial & " = NULL
, Main_FACE_SN = NULL
, Main_EYE_SN = NULL
, Pro_Face_Serial = NULL
, Pro_Eye_Serial = NULL
, Pro_Body_Serial = NULL
, Lux_Face_Serial = NULL
, Lux_Eye_Serial = NULL
, Lux_Body_Serial = NULL
, MAXIMUM_SN = NULL
, Alpha_Set_Serial = NULL
, Alpha_Face_Serial = NULL
, Alpha_Eye_Serial = NULL
, Alpha_Body_Serial = NULL
, Alto_Serial = NULL
, Effect_Serial = NULL
, EffectV3_Serial = NULL
, MAXIMUM_ALPHA_SN = NULL
, note = '" & serial & "' , note = '" & serial & "'
WHERE PackingCode = '" & txb_pack_code.Text & "'" '신규제품추가 : 추가하는 품목의 변수 추가 WHERE PackingCode = '" & txb_pack_code.Text & "'"
If DBCommand(dbcmd) Then If DBCommand(dbcmd) Then
Return True Return True
End If End If
@ -1033,8 +723,8 @@ Public Class frmMySqlTest
End If End If
Next Next
If Len(data_select(data_set.pack_note)) > 0 Then If Len(basic_data_select(basic_info.pack_note)) > 0 Then
serial_data = data_select(data_set.pack_note) & "," & serial_data serial_data = basic_data_select(basic_info.pack_note) & "," & serial_data
End If End If
Return serial_data Return serial_data