123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- Option Strict Off
- Public Class 盤盈盤損控制表
- ReadOnly ds2 As New DataSet
- Dim EDR As Integer = 0 : Dim ESTR As String
- Private Sub Set_清單()
- 盤盈損清單_dgv.DataSource = Nothing : ds2.Clear()
- 盤盈損清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 盤盈損清單_dgv.ColumnHeadersHeight = 40
- 盤盈損清單_dgv.AllowUserToAddRows = False
- SQL_盤盈盤損控制表清單()
- da.Fill(ds2) : 盤盈損清單_dgv.DataSource = ds2.Tables(0) : conn.Close()
-
- 盤盈損清單_dgv.Columns(0).FillWeight = 100 : 盤盈損清單_dgv.Columns(1).Visible = False : 盤盈損清單_dgv.Columns(2).FillWeight = 100 : 盤盈損清單_dgv.Columns(3).FillWeight = 300
- 盤盈損清單_dgv.Columns(4).FillWeight = 150 : 盤盈損清單_dgv.Columns(5).FillWeight = 150 : 盤盈損清單_dgv.Columns(6).FillWeight = 100 : 盤盈損清單_dgv.Columns(7).FillWeight = 100
- 盤盈損清單_dgv.Columns(8).FillWeight = 100 : 盤盈損清單_dgv.Columns(9).FillWeight = 100 : 盤盈損清單_dgv.Columns(10).FillWeight = 100 : 盤盈損清單_dgv.Columns(11).FillWeight = 100
-
- 盤盈損清單_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 盤盈損清單_dgv.Columns(7).DefaultCellStyle.Format = "#,##0" : 盤盈損清單_dgv.Columns(8).DefaultCellStyle.Format = "#,##0"
- 盤盈損清單_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
- 盤盈損清單_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 盤盈損清單_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 盤盈損清單_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 盤盈損清單_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 盤盈損清單_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 盤盈損清單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 盤盈損清單_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 盤盈損清單_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
-
- 盤盈損清單_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 盤盈損清單_dgv.Columns(0).ReadOnly = True : 盤盈損清單_dgv.Columns(3).ReadOnly = True : 盤盈損清單_dgv.Columns(4).ReadOnly = True : 盤盈損清單_dgv.Columns(5).ReadOnly = True
- 盤盈損清單_dgv.Columns(9).ReadOnly = True : 盤盈損清單_dgv.Columns(10).ReadOnly = True : 盤盈損清單_dgv.Columns(2).ReadOnly = True : 盤盈損清單_dgv.Columns(11).ReadOnly = True
-
- For i As Integer = 0 To 盤盈損清單_dgv.Rows.Count - 1
- If 盤盈損清單_dgv.Rows(i).Cells("庫存").Value.ToString = "" Then : 盤盈損清單_dgv.Rows(i).Cells("庫存").Value = 0 : End If
- If 盤盈損清單_dgv.Rows(i).Cells("加權成本_台幣").Value.ToString = "" Then : 盤盈損清單_dgv.Rows(i).Cells("加權成本_台幣").Value = 0 : End If
- 盤盈損清單_dgv.Rows(i).Cells("盤盈數量").Value = 0 : 盤盈損清單_dgv.Rows(i).Cells("盤損數量").Value = 0 : 盤盈損清單_dgv.Rows(i).Cells("狀態").Value = ""
- Next
- End Sub
- Private Sub ComboBox2下拉表單資料載入()
- SQL_倉名下拉清單()
- 明細表_dgv.Items.Clear() : While (dr.Read()) : 明細表_dgv.Items.Add(dr("倉名")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 明細表_dgv.SelectedIndexChanged
- PA = 明細表_dgv.Text : SQL_倉名編號取得()
- If dr.Read() Then : 倉庫編號_tb.Text = dr("倉名編號") : End If : conn.Close() : Set_清單()
- End Sub
- Private Sub 盤盈盤損控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- ComboBox2下拉表單資料載入() : 明細表_dgv.SelectedIndex = 0
- End Sub
- Private Sub DataGridView3_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 盤盈損清單_dgv.CellEndEdit
- If Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤盈數量").Value) = 0 And Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value) = 0 Then : Else
- If Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("加權成本_台幣").Value) = 0 Then
- MsgBox("所選擇的料號系統中無交易紀錄,如需修改盤盈損數量,請先給予成本金額")
- 盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤盈數量").Value = 0 : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value = 0 : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("狀態").Value = ""
- Exit Sub
- End If
- If Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("庫存").Value) < Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value) Then
- MsgBox("盤損數量不可能大於庫存數量")
- 盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤盈數量").Value = 0 : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value = 0 : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("狀態").Value = ""
- Exit Sub
- End If
- If Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤盈數量").Value) > 0 And Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value) > 0 Then
- MsgBox("盤盈與盤損只可能存在一個")
- 盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤盈數量").Value = 0 : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value = 0 : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("狀態").Value = ""
- Exit Sub
- End If
- If Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤盈數量").Value) > 0 Then : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("狀態").Value = "盤盈入庫"
- ElseIf Val(盤盈損清單_dgv.Rows(e.RowIndex).Cells("盤損數量").Value) > 0 Then : 盤盈損清單_dgv.Rows(e.RowIndex).Cells("狀態").Value = "盤損出庫"
- End If
- End If
- End Sub
- Private Sub DataGridView3_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 盤盈損清單_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = 盤盈損清單_dgv.Rows.Count - 1 Then : Exit Sub
- Else
- If 盤盈損清單_dgv(0, e.RowIndex).Value.ToString <> 盤盈損清單_dgv(0, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(盤盈損清單_dgv.RowHeadersVisible, 盤盈損清單_dgv.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 盤盈損清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 盤盈損清單_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
- End If
- End If
- End Sub
- Private Sub Set_日期格式轉換()
- If 單據號碼_tb.Text = "" Then
- If 非當天日期_ch.Checked = False Then
- DTP = Format(Today(), "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd") : DTP2 = Format(調整日期_dtp.Value, "yyyy/MM/dd")
- Else
- DTP = Format(調整日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(調整日期_dtp.Value, "yyyyMMdd") : DTP2 = Format(調整日期_dtp.Value, "yyyy/MM/dd")
- End If
- Else
- DTP = Format(調整日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(調整日期_dtp.Value, "yyyyMMdd") : DTP2 = Format(調整日期_dtp.Value, "yyyy/MM/dd")
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 開盤盈損單_bt.Click
- '----------------------自动生成單據編號-------------------------------------------------------------------------
- Dim NUM1 As Integer : Set_日期格式轉換()
- For i As Integer = 1 To 999
- NUM1 = 0 + i
- If NUM1 < 10 Then : 單據號碼_tb.Text = "WD-" & DTP1 & "-00" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 單據號碼_tb.Text = "WD-" & DTP1 & "-0" & NUM1
- ElseIf NUM1 > 99 Then : 單據號碼_tb.Text = "WD-" & DTP1 & "-" & NUM1 : End If
- PA1 = 單據號碼_tb.Text : SQL_倉儲明細表生成單據編號()
- If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
- Next
-
- For i As Integer = 0 To 盤盈損清單_dgv.Rows.Count - 1
- 資料數 = 盤盈損清單_dgv.Rows.Count : MyModule1.進度條()
- If 盤盈損清單_dgv.Rows(i).Cells("狀態").Value = "" Then : Else
- SQL_倉儲明細表流水號最後一筆()
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("資料流水號").ToString, 8)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1
- If EDR < 10 Then : ESTR = "WD" & "0000000" & EDR
- ElseIf EDR > 9 And EDR < 100 Then : ESTR = "WD" & "000000" & EDR
- ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "WD" & "00000" & EDR
- ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "WD" & "0000" & EDR
- ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "WD" & "000" & EDR
- ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "WD" & "00" & EDR
- ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "WD" & "0" & EDR
- ElseIf EDR > 9999999 Then : ESTR = "WD" & EDR : End If
- If 盤盈損清單_dgv.Rows(i).Cells("狀態").Value = "盤損出庫" Then
- PA1 = ESTR : PA2 = 單據號碼_tb.Text : PA3 = "FI00000000" : PA4 = 盤盈損清單_dgv.Rows(i).Cells("料號").Value : NU1 = 盤盈損清單_dgv.Rows(i).Cells("加權成本_台幣").Value : NU2 = 1
- NU3 = 0 : NU4 = 盤盈損清單_dgv.Rows(i).Cells("盤損數量").Value : PA5 = "盤損出庫" : PA6 = DTP : PA7 = "" : NU5 = 0 : PA8 = 倉庫編號_tb.Text : PA9 = DTP2
- SQL_倉儲明細表新增() : conn.Close()
- ElseIf 盤盈損清單_dgv.Rows(i).Cells("狀態").Value = "盤盈入庫" Then
- PA1 = 盤盈損清單_dgv.Rows(i).Cells("料號").Value : SQL_物料資料庫成本查詢()
- If dr.Read() Then
- If dr("成本") = 0 Then : NU1 = 盤盈損清單_dgv.Rows(i).Cells("加權成本_台幣").Value : PA1 = 盤盈損清單_dgv.Rows(i).Cells("料號").Value : SQL_物料資料庫成本修改() : conn.Close()
- Else : conn.Close() : End If
- End If
- PA1 = ESTR : PA2 = 單據號碼_tb.Text : PA3 = "FI00000000" : PA4 = 盤盈損清單_dgv.Rows(i).Cells("料號").Value : NU1 = 盤盈損清單_dgv.Rows(i).Cells("加權成本_台幣").Value : NU2 = 1
- NU3 = 盤盈損清單_dgv.Rows(i).Cells("盤盈數量").Value : NU4 = 0 : PA5 = "盤盈入庫" : PA6 = DTP : PA7 = "" : NU5 = 0 : PA8 = 倉庫編號_tb.Text : PA9 = DTP2
- SQL_倉儲明細表新增() : conn.Close()
- End If
- End If
- Next : MAOJI_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 : MsgBox("盤盈損單據開立完成,請到盤盈損單據確認區域確認單據正確與否,並完成出存調整。")
- End Sub
- End Class
|