123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- Imports System.IO
- Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
- Imports Microsoft.Office.Interop.Excel.Constants
- Imports Microsoft.Office.Interop.Excel.XlBordersIndex
- Imports Microsoft.Office.Interop.Excel.XlLineStyle
- Imports Microsoft.Office.Interop.Excel.XlBorderWeight
- Imports Microsoft.Office.Interop.Excel.XlThemeFont
- Imports Microsoft.Office.Interop.Excel.XlThemeColor
- Imports Microsoft.Office.Interop.Excel.XlWindowState
- Imports Microsoft.Office.Interop.Excel
- Imports PdfSharp.Pdf
- Imports PdfSharp.Pdf.IO
- Public Class 採購單付款確認
- Dim 已付款 As Boolean
- Dim 新項次, 採購單號, 物料規格, 新流水1 As String
- Dim NUM1, NSD1 As Integer
- Dim xlApp As Microsoft.Office.Interop.Excel.Application : Dim xlBook As Microsoft.Office.Interop.Excel.Workbook : Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
- Private Sub 語言轉換讀取()
- If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
- Me.Text = 系統語言字典("H001-113-" & 語言)
- 表頭(11) = 系統語言字典("H206-112-" & 語言) : 表頭(12) = 系統語言字典("H206-106-" & 語言) : 表頭(15) = 系統語言字典("H206-114-" & 語言)
- 表頭(134) = 系統語言字典("H206-104-" & 語言) : 表頭(13) = 系統語言字典("H206-108-" & 語言) : 表頭(14) = 系統語言字典("H206-109-" & 語言)
- 表頭(16) = 系統語言字典("H206-110-" & 語言) : 表頭(26) = 系統語言字典("H206-111-" & 語言) : 表頭(27) = 系統語言字典("H206-105-" & 語言)
- 表頭(19) = 系統語言字典("H206-103-" & 語言) : 表頭(10) = 系統語言字典("H213-101-" & 語言) : 表頭(17) = 系統語言字典("H299-109-" & 語言)
- 表頭(18) = 系統語言字典("H206-107-" & 語言) : 表頭(20) = 系統語言字典("H311-100-" & 語言) : 表頭(21) = 系統語言字典("H311-101-" & 語言)
- 表頭(22) = 系統語言字典("H311-102-" & 語言) : 表頭(23) = 系統語言字典("H204-116-" & 語言) : 表頭(24) = 系統語言字典("H201-124-" & 語言)
- 表頭(25) = 系統語言字典("H311-103-" & 語言) : 表頭(28) = 系統語言字典("H311-104-" & 語言) : 未付款_bt.Text = 系統語言字典("H311-105-" & 語言)
- 已付款_bt.Text = 系統語言字典("H311-106-" & 語言) : Label16.Text = 系統語言字典("H311-107-" & 語言)
- End Sub
- Private Sub Set_清單1()
- Dim ds1 As New DataSet : 清單_dgv.DataSource = Nothing : ds1.Clear()
- 清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 清單_dgv.ColumnHeadersHeight = 50 : 清單_dgv.AllowUserToAddRows = False : 清單_dgv.RowTemplate.Height = 35
- If 已付款 = False Then
- SQL2 = "(採購單控制表.已出納 IS NULL OR 採購單控制表.已出納 = 0)"
- Else
- SQL2 = "(採購單控制表.已出納 = 1)"
- End If
- SQL_採購未付款清單() : da.Fill(ds1) : 清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 清單_dgv.Columns(0).FillWeight = 150 : 清單_dgv.Columns(1).FillWeight = 200 : 清單_dgv.Columns(2).FillWeight = 50 : 清單_dgv.Columns(3).FillWeight = 50
- 清單_dgv.Columns(4).FillWeight = 130 : 清單_dgv.Columns(表頭(28)).FillWeight = 50
- Dim indexArray() As Integer = {2, 3, 5, 6, 7}
- For Each index As Integer In indexArray
- 清單_dgv.Columns(index).DefaultCellStyle.Format = "#,##0"
- 清單_dgv.Columns(index).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 清單_dgv.Columns(index).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- Next
- For i As Integer = 0 To 清單_dgv.Rows.Count - 1
- 清單_dgv.Rows(i).Cells(表頭(21)).Value = 清單_dgv.Rows(i).Cells(表頭(20)).Value / 100 * 清單_dgv.Rows(i).Cells("DISC").Value
- 清單_dgv.Rows(i).Cells(表頭(22)).Value = (清單_dgv.Rows(i).Cells(表頭(20)).Value - 清單_dgv.Rows(i).Cells(表頭(21)).Value) * 清單_dgv.Rows(i).Cells("PPN").Value / 100
- Next
- Dim mycol1 As DataGridViewImageColumn = 清單_dgv.Columns(表頭(28)) : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom
- For I As Integer = 0 To 清單_dgv.Rows.Count - 1
- If 已付款 = False Then
- 清單_dgv.Rows(I).Cells(表頭(28)).Value = My.Resources.visa_2
- Else
- 清單_dgv.Rows(I).Cells(表頭(28)).Value = My.Resources.Close
- End If
- Next
- End Sub
- Private Sub Set_採購單清單()
- Dim ds As New DataSet : 明細_dgv.DataSource = Nothing : ds.Clear()
- 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 明細_dgv.ColumnHeadersHeight = 25
- 明細_dgv.AllowUserToAddRows = False
- If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then : 明細_dgv.RowTemplate.Height = 65
- ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 45
- ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 25 : End If
-
- PA10 = 採購單號 : SQL_採購單明細表()
- da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
-
- 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 50 : 明細_dgv.Columns(3).FillWeight = 250 : 明細_dgv.Columns(4).FillWeight = 250
- 明細_dgv.Columns(5).FillWeight = 150 : 明細_dgv.Columns(6).FillWeight = 80 : 明細_dgv.Columns(7).FillWeight = 80 : 明細_dgv.Columns(8).FillWeight = 80
- 明細_dgv.Columns(9).FillWeight = 80 : 明細_dgv.Columns(10).Visible = False : 明細_dgv.Columns(11).Visible = False : 明細_dgv.Columns(12).Visible = False
- 明細_dgv.Columns(13).Visible = False : 明細_dgv.Columns(14).Visible = False : 明細_dgv.Columns(15).Visible = False : 明細_dgv.Columns(16).Visible = False
- 明細_dgv.Columns(17).Visible = False : 明細_dgv.Columns(18).Visible = False : 明細_dgv.Columns(19).Visible = False : 明細_dgv.Columns(20).Visible = False
- 明細_dgv.Columns(21).Visible = False : 明細_dgv.Columns(22).Visible = False : 明細_dgv.Columns(23).Visible = False : 明細_dgv.Columns(24).FillWeight = 90
- 明細_dgv.Columns(25).FillWeight = 80 : 明細_dgv.Columns("KEY").Visible = False : 明細_dgv.Columns("OUP").FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 80
- 明細_dgv.Columns(26).FillWeight = 80 : 明細_dgv.Columns("SP%").FillWeight = 80
- 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
- 明細_dgv.Columns("OUP").DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(15).DefaultCellStyle.Format = "#,##0"
- 明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 明細_dgv.Columns("OUP").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns("OUP").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
-
- 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(3).ReadOnly = True : 明細_dgv.Columns(4).ReadOnly = True
- 明細_dgv.Columns(表頭(16)).ReadOnly = True : 明細_dgv.Columns(表頭(27)).ReadOnly = True : 明細_dgv.Columns("OUP").ReadOnly = True : 明細_dgv.Columns("SP%").ReadOnly = True
-
- If 低網速模式 = False Then
- 明細_dgv.Columns(28).FillWeight = 80 : 明細_dgv.Columns("Image").Visible = True
- Dim mycol As DataGridViewImageColumn = 明細_dgv.Columns("Image")
- mycol.ImageLayout = DataGridViewImageCellLayout.Zoom
- Else
- If 明細_dgv.Columns.Count = 29 Then
- 明細_dgv.Columns("Image").Visible = False
- End If
- End If
- 新項次 = "00"
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- 明細_dgv.Columns("OUP").DefaultCellStyle.Format = "#,0"
- NUM1 = Double.Parse(新項次) + 1
- If NUM1 < 10 Then : 新項次 = "0" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
- End If
- 明細_dgv.Rows(i).Cells(表頭(11)).Value = 新項次
-
- '-------------------------規格合併呈現----------------------------------------------------------------------------------------------------------------------------------------
- If i = 0 Then
- AAA1 = "" : AAA2 = "" : AAA3 = "" : AAA4 = "" : AAA5 = "" : AAA6 = "" : AAA7 = "" : AAA8 = ""
- PA3 = 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value
- SQL_規格庫抬頭讀取()
- If dr.Read() Then
- AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8")
- End If
- conn.Close()
- Else
- If 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value.ToString <> 明細_dgv.Rows(i - 1).Cells("規格庫抬頭指定").Value.ToString Then
- AAA1 = "" : AAA2 = "" : AAA3 = "" : AAA4 = "" : AAA5 = "" : AAA6 = "" : AAA7 = "" : AAA8 = ""
- PA3 = 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value
- SQL_規格庫抬頭讀取()
- If dr.Read() Then
- AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8")
- End If
- conn.Close()
- End If
- End If
- Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
- If 詳細資料2_ch.Checked = True Then
- If 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" Then
- ZA1 = AAA1 & "=" & 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 物料規格 = ZA1 : End If
- If 明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : ZA2 = AAA2 & "=" & 明細_dgv.Rows(i).Cells("A2").Value
- If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
- If 明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : ZA3 = AAA3 & "=" & 明細_dgv.Rows(i).Cells("A3").Value
- If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
- If 明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : ZA4 = AAA4 & "=" & 明細_dgv.Rows(i).Cells("A4").Value
- If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
- If 明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : ZA5 = AAA5 & "=" & 明細_dgv.Rows(i).Cells("A5").Value
- If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
- If 明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : ZA6 = AAA6 & "=" & 明細_dgv.Rows(i).Cells("A6").Value
- If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
- If 明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : ZA7 = AAA7 & "=" & 明細_dgv.Rows(i).Cells("A7").Value
- If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
- If 明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : ZA8 = AAA8 & "=" & 明細_dgv.Rows(i).Cells("A8").Value
- If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
- Else
- If 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" Then : ZA1 = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 物料規格 = ZA1 : End If
- If 明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then
- ZA2 = 明細_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
- If 明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then
- ZA3 = 明細_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
- If 明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then
- ZA4 = 明細_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
- If 明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then
- ZA5 = 明細_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
- If 明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then
- ZA6 = 明細_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
- If 明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then
- ZA7 = 明細_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
- If 明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then
- ZA8 = 明細_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
- End If
- 明細_dgv.Rows(i).Cells(表頭(13)).Value = 物料規格
- '--------------取得歷史單價------------------------------------------------------------------------------------------
- PA = 明細_dgv.Rows(i).Cells("料號").Value
- Set_單價()
- If 價錢_dgv.Rows.Count = 0 Then
- 明細_dgv.Rows(i).Cells("OUP").Value = 0
- Else
- 明細_dgv.Rows(i).Cells("OUP").Value = 價錢_dgv.Rows(0).Cells("單價").Value
- End If
- Next i
- 價格() ': 總金額計算()
- End Sub
- Private Sub Set_單價()
- Dim ds6 As New DataSet : 價錢_dgv.DataSource = Nothing : ds6.Clear()
- 價錢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 價錢_dgv.ColumnHeadersHeight = 25
- 價錢_dgv.AllowUserToAddRows = False
-
- If 日期_rb.Checked = False And 單價_rb.Checked = True Then : SQL_加權平均()
- ElseIf 日期_rb.Checked = True And 單價_rb.Checked = False Then : SQL_最近日期() : End If
- da.Fill(ds6) : 價錢_dgv.DataSource = ds6.Tables(0) : conn.Close()
- End Sub
- Private Sub 價格()
- Dim 差異, 比對 As Double
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- If 明細_dgv.Rows(i).Cells("OUP").Value = 0 And 明細_dgv.Rows(i).Cells(表頭(26)).Value = 0 Then
- If 深色風格 = False Then
- 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
- Else
- 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Navy
- End If
- 明細_dgv.Rows(i).Cells("SP%").Value = "0 % →"
- ElseIf 明細_dgv.Rows(i).Cells(表頭(26)).Value = 0 And 明細_dgv.Rows(i).Cells("OUP").Value <> 0 Then
- If 深色風格 = False Then
- 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
- Else
- 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Navy
- End If
- 明細_dgv.Rows(i).Cells("SP%").Value = "0 % →"
- ElseIf 明細_dgv.Rows(i).Cells("OUP").Value <> 0 And 明細_dgv.Rows(i).Cells(表頭(26)).Value <> 0 Then
- 差異 = 明細_dgv.Rows(i).Cells(表頭(26)).Value - 明細_dgv.Rows(i).Cells("OUP").Value : 比對 = 差異 / 明細_dgv.Rows(i).Cells(表頭(26)).Value * 100
- If 比對 > 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % ↗" : 比對 *= 1
- ElseIf 比對 < 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % ↘" : 比對 *= -1
- ElseIf 比對 = 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % →" : End If
- If 深色風格 = False Then
- If 比對 < 比例1 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
- ElseIf 比對 > 比例1 And 比對 < 比例2 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
- ElseIf 比對 > 比例2 And 比對 < 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
- ElseIf 比對 >= 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
- Else
- If 比對 < 比例1 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DimGray
- ElseIf 比對 > 比例1 And 比對 < 比例2 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
- ElseIf 比對 > 比例2 And 比對 < 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
- ElseIf 比對 >= 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple : End If
- End If
- End If
- Next
- End Sub
- Private Sub 採購單付款確認_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 風格() : H(311) = True : 介面 = "H311" : 語言轉換讀取() : 顯示說明(999, True)
- Panel1.SendToBack() : 視窗2_pl.Visible = False : 單價_rb.Checked = True
-
- MyMod.清單字體大小調整()
- 明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- 清單_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- End Sub
- Private Sub 採購單付款確認_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
- 已付款 = False : Set_清單1()
- End Sub
- Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
- H(311) = True : 介面 = "H311" : 語言轉換讀取() : Set_清單1()
- End Sub
- Private Sub 採購單付款確認_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
- H(311) = False : MyMod.虛擬桌面開啟()
- End Sub
- Private Sub 系統說明_bt_Click(sender As Object, e As EventArgs) Handles 系統說明_bt.Click
- 介面 = "H311" : WEB說明頁面.Show()
- End Sub
- Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
- timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
- timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 清單_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 清單_dgv.MouseUp
- 'If 清單_dgv.SelectedCells.Count = 1 Then : MsgBox(清單_dgv.SelectedCells(0).ColumnIndex & " " & 清單_dgv.SelectedCells(0).RowIndex) : End If
- If 清單_dgv.SelectedCells.Count > 0 Then
- If 清單_dgv.SelectedCells(0).ColumnIndex = 4 Then
- 採購單號 = 清單_dgv.Rows(清單_dgv.SelectedCells(0).RowIndex).Cells(表頭(18)).Value.ToString : Set_採購單清單()
- Dim X1, Y1, X2, Y2, X3, Y3 As Integer : X1 = Me.Size.Width : Y1 = Me.Size.Height : X2 = 視窗2_pl.Size.Width : Y2 = 視窗2_pl.Size.Height
- Y3 = (Y1 - Y2) / 2 : X3 = (X1 - X2) / 2
- 視窗2_pl.Location = New System.Drawing.Point(X3, Y3) : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront()
- ElseIf 清單_dgv.SelectedCells(0).ColumnIndex = 11 Then
- PA11 = 清單_dgv.Rows(清單_dgv.SelectedCells(0).RowIndex).Cells(表頭(18)).Value.ToString
- '-------------採購控制表出納狀態修改-----------------------------------------------------------------------
- If 已付款 = False Then : PA20 = "1" : Else : PA20 = "0" : End If : SQL_採購單控制表_出納()
- Set_清單1()
- End If
- End If
- End Sub
- Private Sub Set_日期格式轉換1()
- DTP = Strings.Format(Today(), "yyyy/MM/dd") : DTP1 = Strings.Format(Today(), "yyyyMMdd")
- End Sub
- 'Private Sub Set_轉財務收支()
- ' Dim NUM1 As Integer : Set_日期格式轉換1() : PA40 = "" : PA41 = ""
- ' For i As Integer = 1 To 999 : NUM1 = 0 + i
- ' If NUM1 < 10 Then : PA = "OE-" & DTP1 & "-00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA = "OE-" & DTP1 & "-0" & NUM1
- ' ElseIf NUM1 > 99 Then : PA = "OE-" & DTP1 & "-" & NUM1 : End If : conn.Close() : PA2 = ""
- ' SQL_營運成本收支單申請_查詢第一筆公帳支付單號() : If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
- ' Next : SQL_營運成本收支單申請_新增一筆財務收支控制表1() : conn.Close()
- ' Set_流水號()
- ' PA13 = "0" : PA15 = PA
- ' SQL_營運成本收支單申請_查詢最後一筆公帳支付單號()
- ' If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close() : NUM1 = Double.Parse(新項次) + 1
- ' If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If : PA11 = 新項次
- ' SQL_新增財務收支明細表資料1()
- 'End Sub
- 'Private Sub Set_流水號()
- ' Dim NUM1 As Integer
- ' For NUM1 = 0 To 99
- ' Dim d As String : Dim f As String : Dim g As Integer = 1
- ' If Month(Now) < 10 Then : d = "0" & CStr(Month(Now)) : Else : d = CStr(Month(Now)) : End If
- ' If Now.Day() < 10 Then : f = "0" & CStr(Now.Day()) : Else : f = CStr(Now.Day()) : End If
- ' If NUM1 < 10 Then : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & "0" & NUM1
- ' Else : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & NUM1 : End If : PA19 = 新流水1
- ' SQL_營運成本收支單申請_查詢收支單公帳流水號()
- ' If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 99 : End If
- ' Next
- 'End Sub
- Private Sub 未付款_bt_Click(sender As Object, e As EventArgs) Handles 未付款_bt.Click
- 已付款 = False : Set_清單1()
- End Sub
- Private Sub 已付款_bt_Click(sender As Object, e As EventArgs) Handles 已付款_bt.Click
- 已付款 = True : Set_清單1()
- End Sub
- Private Sub 列印成EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.Click
- If 清單_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H205-125-" & 語言), 1) : Else
- xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
- xlApp.Visible = True
- xlApp.DisplayAlerts = True
- xlApp.Application.WindowState = xlMaximized
- xlBook = xlApp.Workbooks.Add
- xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : xlApp.Sheets(1).Name = "付款確認表"
- xlBook.Activate() : xlSheet.Activate()
-
- NSD1 = 0
- xlSheet.Cells(2, 1) = 系統語言字典("H001-113-" & 語言)
- If 已付款 = False Then : xlSheet.Cells(3, 1) = 系統語言字典("H311-105-" & 語言) : Else : xlSheet.Cells(3, 1) = 系統語言字典("H311-106-" & 語言) : End If
- xlSheet.Cells(4, 1) = 表頭(10) : xlSheet.Cells(4, 2) = 表頭(17) : xlSheet.Cells(4, 3) = "DISC" : xlSheet.Cells(4, 4) = "PPN"
- xlSheet.Cells(4, 5) = 表頭(18) : xlSheet.Cells(4, 6) = 表頭(20) : xlSheet.Cells(4, 7) = 表頭(21) : xlSheet.Cells(4, 8) = 表頭(22)
- xlSheet.Cells(4, 9) = 表頭(23) : xlSheet.Cells(4, 10) = 表頭(24) : xlSheet.Cells(4, 11) = 表頭(25)
- For i As Integer = 0 To 清單_dgv.Rows.Count - 1
- xlSheet.Cells(5 + i, 1) = 清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString : xlSheet.Cells(5 + i, 2) = 清單_dgv.Rows(i).Cells(表頭(17)).Value.ToString
- xlSheet.Cells(5 + i, 3) = 清單_dgv.Rows(i).Cells("DISC").Value.ToString : xlSheet.Cells(5 + i, 4) = 清單_dgv.Rows(i).Cells("PPN").Value.ToString
- xlSheet.Cells(5 + i, 5) = 清單_dgv.Rows(i).Cells(表頭(18)).Value.ToString : xlSheet.Cells(5 + i, 6) = 清單_dgv.Rows(i).Cells(表頭(20)).Value.ToString
- xlSheet.Cells(5 + i, 7) = 清單_dgv.Rows(i).Cells(表頭(21)).Value.ToString : xlSheet.Cells(5 + i, 8) = 清單_dgv.Rows(i).Cells(表頭(22)).Value.ToString
- xlSheet.Cells(5 + i, 9) = 清單_dgv.Rows(i).Cells(表頭(23)).Value.ToString : xlSheet.Cells(5 + i, 10) = 清單_dgv.Rows(i).Cells(表頭(24)).Value.ToString
- xlSheet.Cells(5 + i, 11) = 清單_dgv.Rows(i).Cells(表頭(25)).Value.ToString : NSD1 += 1
- Next : AA(xlApp, xlSheet) : CC(xlApp, xlSheet)
- '-------------轉換成PDF---------------------------------------------------------------------
- Dim SERT As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
- xlBook.Sheets(1).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\" & 系統語言字典("H001-113-" & 語言) & "_付款確認表.pdf", XlFixedFormatQuality.xlQualityStandard, True)
- '-------------關閉EXCEL---------------------------------------------------------------------
- xlApp.Cells.Select() : xlApp.Application.WindowState = xlMinimized
- xlBook.Close(False)
- Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
- Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
- Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
- xlApp.Quit() : xlSheet = Nothing : xlBook = Nothing : xlApp = Nothing : GC.Collect()
- MGB(系統語言字典("H508-121-" & 語言), 1)
- End If
- End Sub
- Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
- Return CType(xlBook.Worksheets.Add, Worksheet)
- End Function
- Private Sub AA(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
- xlSheet.Columns("A:K").Select : myExcel.Columns("A:K").EntireColumn.AutoFit
- xlSheet.Columns("F:H").Select : myExcel.Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
- xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 95
- xlSheet.Range("A2:K2").Select()
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
- .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
- xlSheet.Range("A3:K3").Select()
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
- .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
-
- xlSheet.Range("A4:K4").Select()
- With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorLight2 : .TintAndShade = 0.799981688894314
- .PatternTintAndShade = 0 : End With
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
- xlSheet.Range("A5:K" & NSD1 + 4).Select()
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
-
- Dim 攔寬 As Single
- xlSheet.Rows("4:4").Select : xlSheet.Rows("4:4").EntireRow.AutoFit
- 攔寬 = xlSheet.Rows("4:4").RowHeight
- xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 攔寬 + 20
-
- xlSheet.Rows("5:" & NSD1 + 4).Select : xlSheet.Rows("5:" & NSD1 + 4).EntireRow.AutoFit
- For i As Integer = 5 To NSD1 + 4
- xlSheet.Rows(i & ":" & i).Select
- 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight
- xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 15
- Next
-
- xlSheet.Range("L1").Select() : myExcel.Application.PrintCommunication = False
- With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "$1:$4" : .PrintTitleColumns = "" : End With
- myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "$A:$K" : myExcel.Application.PrintCommunication = False
- With myExcel.ActiveSheet.PageSetup : .LeftHeader = "" : .CenterHeader = "" : .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "第 &P 頁,共 &N 頁"
- .RightFooter = "" : .LeftMargin = myExcel.Application.InchesToPoints(0.25) : .RightMargin = myExcel.Application.InchesToPoints(0.25)
- .TopMargin = myExcel.Application.InchesToPoints(0.75) : .BottomMargin = myExcel.Application.InchesToPoints(0.75)
- .HeaderMargin = myExcel.Application.InchesToPoints(0.3) : .FooterMargin = myExcel.Application.InchesToPoints(0.3)
- .PrintHeadings = False : .PrintGridlines = False : .CenterHorizontally = False : .CenterVertically = False
- .Draft = False : .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = 0
- .OddAndEvenPagesHeaderFooter = False : .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True
- .EvenPage.LeftHeader.Text = "" : .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = ""
- .EvenPage.CenterFooter.Text = "" : .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = ""
- .FirstPage.RightHeader.Text = "" : .FirstPage.LeftFooter.Text = "" : .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = ""
- End With : myExcel.Application.PrintCommunication = True
- End Sub
- Private Sub CC(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
- Clipboard.SetDataObject(合約報價單.PictureBox1.Image)
- xlSheet.Range("B1").Select()
- myExcel.ActiveSheet.Pictures.Paste.Select
- myExcel.Selection.ShapeRange.Height = 93
- myExcel.Selection.ShapeRange.IncrementLeft(0)
- myExcel.Selection.ShapeRange.IncrementTop(0)
- End Sub
- '----------------------自創視窗滑鼠拖曳功能---------------------------------------------------------------------------------------------------------
- Dim OldX, OldY As Long : Dim drag As Boolean
- Private Sub CanceL2_bt_Click(sender As Object, e As EventArgs) Handles CanceL2_bt.Click
- If 視窗2_pl.Visible = False Then : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront() : Else
- 視窗2_pl.Visible = False : End If
- End Sub
- Private Sub 視窗2_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub 視窗2_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseMove
- If drag Then : 視窗2_pl.Left = 視窗2_pl.Left + e.X - OldX : 視窗2_pl.Top = 視窗2_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub 視窗2_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseUp
- drag = False
- End Sub
-
- Private Sub 風格()
- If 深色風格 = False Then
- Me.BackColor = SystemColors.Control : 視窗2_pl.BackColor = SystemColors.Control : Panel3.BackColor = Color.White
- '----------------黑-------------------------------------------
- 語轉扭_bt.BackColor = Color.White : 語轉扭_bt.ForeColor = Color.Black : 系統說明_bt.BackColor = Color.White
- 已付款_bt.BackColor = Color.White : 已付款_bt.ForeColor = Color.Black : 未付款_bt.BackColor = Color.White : 未付款_bt.ForeColor = Color.Black
- 列印成EXCEL_bt.BackColor = Color.White
- 清單_dgv.EnableHeadersVisualStyles = True : 清單_dgv.BackgroundColor = Color.White : 清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 清單_dgv.DefaultCellStyle.BackColor = Color.White : 清單_dgv.DefaultCellStyle.ForeColor = Color.Black
- 明細_dgv.EnableHeadersVisualStyles = True : 明細_dgv.BackgroundColor = Color.White : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 明細_dgv.DefaultCellStyle.BackColor = Color.White : 明細_dgv.DefaultCellStyle.ForeColor = Color.Black
- Else
- Me.BackColor = Color.Black : 視窗2_pl.BackColor = Color.White : Panel3.BackColor = Color.Black
- '----------------黑-------------------------------------------
- 語轉扭_bt.BackColor = Color.DimGray : 語轉扭_bt.ForeColor = Color.White : 系統說明_bt.BackColor = Color.DimGray
- 已付款_bt.BackColor = Color.DimGray : 已付款_bt.ForeColor = Color.White : 未付款_bt.BackColor = Color.DimGray : 未付款_bt.ForeColor = Color.White
- 列印成EXCEL_bt.BackColor = Color.DimGray
- 清單_dgv.EnableHeadersVisualStyles = False : 清單_dgv.BackgroundColor = Color.DimGray : 清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 清單_dgv.DefaultCellStyle.BackColor = Color.Black : 清單_dgv.DefaultCellStyle.ForeColor = Color.White
- 明細_dgv.EnableHeadersVisualStyles = False : 明細_dgv.BackgroundColor = Color.DimGray : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 明細_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.ForeColor = Color.White
- End If
- End Sub
- End Class
|