123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- Imports System.Data.SqlClient
-
- Public Class frm_Chem_Cert1
- Dim dt1 As New DataTable
- Dim sql As String
- Dim conn As New SqlConnection
- Dim cmd As New SqlCommand
- Dim xlApp As Microsoft.Office.Interop.Excel.Application
- Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
- Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
- Dim xlRange As Microsoft.Office.Interop.Excel.Range
- Dim PTCache As Microsoft.Office.Interop.Excel.PivotCache
- Dim PT As Microsoft.Office.Interop.Excel.PivotTable
- Dim da As New SqlDataAdapter
- Dim dt As New DataTable
-
- Dim io_type As String
- Dim my_excel_name As String = ""
- Dim a As Integer = 0
- Dim sql1 As String
- Dim sql2 As String
- Dim sql3 As String
- Dim sql4 As String
- Dim my_LL As String
- Private Sub frm_Chem_Cert1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
-
-
- conn.ConnectionString = connstring
- conn.Open()
-
- cmd.Connection = conn
-
-
-
- sql = "select name as 品名,cast(sum(weight) as numeric(10,0)) as 用量,type1 as 分类,type as 分类1,expr1 as 部门,supplier as 供应商 from (SELECT RT_SYS_CHEM_OUT.DATE, RT_SYS_CHEM_OUT.CHECKED, RT_SYS_CHEM_OUT.DEP, RT_SYS_CHEM_OUT.NO,
- RT_SYS_CHEM_OUT.WH, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_OUT.SPEC,
- RT_SYS_CHEM_OUT.UNIT, RT_SYS_CHEM_OUT.LOT, RT_SYS_CHEM_OUT.WEIGHT, RT_SYS_CHEM_OUT.QTY,
- RT_SYS_CHEM_OUT.PRICE, RT_SYS_CHEM_OUT.AMOUNT, RT_SYS_CHEM_OUT.P, RT_SYS_CHEM_OUT.CARD,
- RT_SYS_CHEM_OUT.DRUM, RT_SYS_CHEM_OUT.COMMENT, RT_SYS_CHEM_OUT.ORDER_A, RT_SYS_CHEM_OUT.ID,
- RT_CHEM_MSDS.type1, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep AS Expr1,RT_CHEM_MSDS.supplier
- FROM RT_SYS_CHEM_OUT LEFT OUTER JOIN
- RT_CHEM_MSDS ON RT_SYS_CHEM_OUT.NAME = RT_CHEM_MSDS.sys_name
- WHERE (RT_SYS_CHEM_OUT.DATE > '2023/3/1')) as p group by name,type1,type,expr1,supplier"
-
-
- cmd.CommandText = sql
- da.SelectCommand = cmd
-
-
- da.Fill(dt)
- dgv1.DataSource = dt
- dgv1.RowHeadersWidth = 20
-
- ' dgv1.RowHeadersVisible = False
-
- dgv1.Columns(0).Width = 180
- dgv1.Columns(5).Width = 150
-
-
-
-
-
- sql = "select type1 as 分类1,cast(sum(weight) as numeric(10,0)) as 用量,count(*) as 笔数,type as 分类,expr1 as 部门 from(select name,sum(weight) as weight,type1,type,expr1 from (SELECT RT_SYS_CHEM_OUT.DATE, RT_SYS_CHEM_OUT.CHECKED, RT_SYS_CHEM_OUT.DEP, RT_SYS_CHEM_OUT.NO,
- RT_SYS_CHEM_OUT.WH, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_OUT.SPEC,
- RT_SYS_CHEM_OUT.UNIT, RT_SYS_CHEM_OUT.LOT, RT_SYS_CHEM_OUT.WEIGHT, RT_SYS_CHEM_OUT.QTY,
- RT_SYS_CHEM_OUT.PRICE, RT_SYS_CHEM_OUT.AMOUNT, RT_SYS_CHEM_OUT.P, RT_SYS_CHEM_OUT.CARD,
- RT_SYS_CHEM_OUT.DRUM, RT_SYS_CHEM_OUT.COMMENT, RT_SYS_CHEM_OUT.ORDER_A, RT_SYS_CHEM_OUT.ID,
- RT_CHEM_MSDS.type1, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep AS Expr1
- FROM RT_SYS_CHEM_OUT LEFT OUTER JOIN
- RT_CHEM_MSDS ON RT_SYS_CHEM_OUT.NAME = RT_CHEM_MSDS.sys_name
- WHERE (RT_SYS_CHEM_OUT.DATE > '2023/3/1')) as p group by name,type1,type,expr1) as q group by type,type1,expr1"
-
- cmd.CommandText = sql
- da.SelectCommand = cmd
-
- dt = New DataTable
- da.Fill(dt)
- dgv2.DataSource = dt
- dgv2.RowHeadersWidth = 5
-
- dgv2.RowHeadersVisible = False
-
-
-
-
-
-
-
-
- sql = "select 供应商,count as 笔数,weight as 用量,cast(weight/sum(weight) over () as numeric(10,3))*100 as 用量比例,cast(count/sum(count) over () as numeric(10,3))*100 as 笔数比例 from (select supplier as 供应商,cast(count(*) as numeric(10,1)) as count,sum(weight) as weight from (select name,cast(sum(weight) as numeric(10,0)) as weight,type1,type,expr1,supplier from (SELECT RT_SYS_CHEM_OUT.DATE, RT_SYS_CHEM_OUT.CHECKED, RT_SYS_CHEM_OUT.DEP, RT_SYS_CHEM_OUT.NO,
- RT_SYS_CHEM_OUT.WH, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_OUT.SPEC,
- RT_SYS_CHEM_OUT.UNIT, RT_SYS_CHEM_OUT.LOT, RT_SYS_CHEM_OUT.WEIGHT, RT_SYS_CHEM_OUT.QTY,
- RT_SYS_CHEM_OUT.PRICE, RT_SYS_CHEM_OUT.AMOUNT, RT_SYS_CHEM_OUT.P, RT_SYS_CHEM_OUT.CARD,
- RT_SYS_CHEM_OUT.DRUM, RT_SYS_CHEM_OUT.COMMENT, RT_SYS_CHEM_OUT.ORDER_A, RT_SYS_CHEM_OUT.ID,
- RT_CHEM_MSDS.type1, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep AS Expr1,RT_CHEM_MSDS.supplier
- FROM RT_SYS_CHEM_OUT LEFT OUTER JOIN
- RT_CHEM_MSDS ON RT_SYS_CHEM_OUT.NAME = RT_CHEM_MSDS.sys_name
- WHERE (RT_SYS_CHEM_OUT.DATE > '2023/3/1') and RT_CHEM_MSDS.type <>N'基础化工') as p group by name,type1,type,expr1,supplier) as r group by supplier ) as s"
-
-
- cmd.CommandText = sql
- da.SelectCommand = cmd
-
- dt = New DataTable
- da.Fill(dt)
- dgv3.DataSource = dt
- dgv3.RowHeadersWidth = 30
-
- ' dgv3.RowHeadersVisible = False
-
- dgv3.Columns(0).Width = 150
- dgv3.Columns(1).Width = 80
-
-
-
-
- For x As Integer = 0 To 11
- ListBox1.Items.Add(x + 1)
- Next
-
-
-
- End Sub
-
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
-
-
- sql = "select name as 品名,cast(sum(weight) as numeric(10,0)) as 用量,type1 as 分类,type as 分类1,expr1 as 部门,supplier as 供应商 from (SELECT RT_SYS_CHEM_OUT.DATE, RT_SYS_CHEM_OUT.CHECKED, RT_SYS_CHEM_OUT.DEP, RT_SYS_CHEM_OUT.NO,
- RT_SYS_CHEM_OUT.WH, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_OUT.SPEC,
- RT_SYS_CHEM_OUT.UNIT, RT_SYS_CHEM_OUT.LOT, RT_SYS_CHEM_OUT.WEIGHT, RT_SYS_CHEM_OUT.QTY,
- RT_SYS_CHEM_OUT.PRICE, RT_SYS_CHEM_OUT.AMOUNT, RT_SYS_CHEM_OUT.P, RT_SYS_CHEM_OUT.CARD,
- RT_SYS_CHEM_OUT.DRUM, RT_SYS_CHEM_OUT.COMMENT, RT_SYS_CHEM_OUT.ORDER_A, RT_SYS_CHEM_OUT.ID,
- RT_SYS_CHEM_OUT.cp_id, RT_CHEM_MSDS.type1, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep AS Expr1,RT_CHEM_MSDS.supplier
- FROM RT_SYS_CHEM_OUT LEFT OUTER JOIN
- RT_CHEM_MSDS ON RT_SYS_CHEM_OUT.NAME = RT_CHEM_MSDS.sys_name
- WHERE (RT_SYS_CHEM_OUT.name like N'%" & TextBox1.Text & "%') and (RT_SYS_CHEM_OUT.DATE > '2023/3/1')) as p group by name,type1,type,expr1,supplier"
-
-
- cmd.CommandText = sql
- da.SelectCommand = cmd
-
- dt = New DataTable
-
- da.Fill(dt)
- dgv1.DataSource = dt
- dgv1.RowHeadersWidth = 5
-
- dgv1.RowHeadersVisible = False
-
- dgv1.Columns(0).Width = 180
- dgv1.Columns(5).Width = 150
-
-
- End Sub
-
- Private Sub dgv3_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv3.CellContentClick
-
-
- sql = "select supplier as 供应商,name as 品名,cast(sum(weight) as numeric(10,0)) as 用量,type1 as 分类,type as 分类1,expr1 as 部门 from (SELECT RT_SYS_CHEM_OUT.DATE, RT_SYS_CHEM_OUT.CHECKED, RT_SYS_CHEM_OUT.DEP, RT_SYS_CHEM_OUT.NO,
- RT_SYS_CHEM_OUT.WH, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_OUT.SPEC,
- RT_SYS_CHEM_OUT.UNIT, RT_SYS_CHEM_OUT.LOT, RT_SYS_CHEM_OUT.WEIGHT, RT_SYS_CHEM_OUT.QTY,
- RT_SYS_CHEM_OUT.PRICE, RT_SYS_CHEM_OUT.AMOUNT, RT_SYS_CHEM_OUT.P, RT_SYS_CHEM_OUT.CARD,
- RT_SYS_CHEM_OUT.DRUM, RT_SYS_CHEM_OUT.COMMENT, RT_SYS_CHEM_OUT.ORDER_A, RT_SYS_CHEM_OUT.ID,
- RT_CHEM_MSDS.type1, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep AS Expr1,RT_CHEM_MSDS.supplier
- FROM RT_SYS_CHEM_OUT LEFT OUTER JOIN
- RT_CHEM_MSDS ON RT_SYS_CHEM_OUT.NAME = RT_CHEM_MSDS.sys_name
- WHERE (RT_SYS_CHEM_OUT.DATE > '2023/3/1') and RT_CHEM_MSDS.supplier=N'" & dgv3.Rows(dgv3.CurrentCell.RowIndex).Cells("供应商").Value & "' ) as p group by name,type1,type,expr1,supplier"
-
-
- ' sql = "SELECT TOP (200) RT_SYS_CHEM_OUT.DATE, RT_SYS_CHEM_OUT.CHECKED, RT_SYS_CHEM_OUT.DEP, RT_SYS_CHEM_OUT.NO,
- ' RT_SYS_CHEM_OUT.WH, RT_SYS_CHEM_OUT.CODE, RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_OUT.SPEC,
- ' RT_SYS_CHEM_OUT.UNIT, RT_SYS_CHEM_OUT.LOT, RT_SYS_CHEM_OUT.WEIGHT, RT_SYS_CHEM_OUT.QTY,
- ' RT_SYS_CHEM_OUT.PRICE, RT_SYS_CHEM_OUT.AMOUNT, RT_SYS_CHEM_OUT.P, RT_SYS_CHEM_OUT.CARD,
- ' RT_SYS_CHEM_OUT.DRUM, RT_SYS_CHEM_OUT.COMMENT, RT_SYS_CHEM_OUT.ORDER_A, RT_SYS_CHEM_OUT.ID,
- ' RT_SYS_CHEM_OUT.cp_id, RT_CHEM_MSDS.type1, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep AS Expr1
- 'FROM RT_SYS_CHEM_OUT LEFT OUTER JOIN
- ' RT_CHEM_MSDS ON RT_SYS_CHEM_OUT.NAME = RT_CHEM_MSDS.sys_name
- 'WHERE (RT_SYS_CHEM_OUT.DATE > '2023/3/1') and RT_CHEM_MSDS.supplier=N'" & dgv3.Rows(dgv3.CurrentCell.RowIndex).Cells("供应商").Value & "'"
-
-
- cmd.CommandText = sql
- da.SelectCommand = cmd
-
- dt = New DataTable
-
- da.Fill(dt)
- dgv4.DataSource = dt
- dgv4.RowHeadersWidth = 20
-
- dgv4.RowHeadersVisible = False
-
- dgv4.Columns(0).Width = 150
- dgv4.Columns(1).Width = 180
- dgv4.Columns(5).Width = 150
-
-
- End Sub
-
- Private Sub dgv3_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles dgv3.CellEnter
-
-
-
-
- End Sub
- End Class
|