123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 |
- Imports System.Data.SqlClient
- Imports System.Net
-
- Public Class frm_Chem_cert
-
-
- 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_cert_Load(sender As Object, e As EventArgs) Handles MyBase.Load
-
- conn.ConnectionString = connstring
- conn.Open()
-
- cmd.Connection = conn
-
-
-
-
-
- sql = "select date from RT_CHEM_STOCK_MONTH2 group by date order by date desc"
-
- cmd.CommandText = sql
-
-
-
-
- da.SelectCommand = cmd
-
-
- da.Fill(dt)
- dgv1.DataSource = dt
- dgv1.RowHeadersWidth = 5
-
- dgv1.RowHeadersVisible = False
-
-
- sql = "SELECT CAST(YEAR(DATE) AS varchar) + '年' + CAST(MONTH(DATE) AS varchar) + '月' AS Expr1
- FROM RT_CHEM_IN_PRICE
- GROUP BY YEAR(DATE), MONTH(DATE)
- ORDER BY expr1 DESC"
-
- cmd.CommandText = sql
-
-
- dt = New DataTable
-
- da.Fill(dt)
-
- For x As Integer = 0 To dt.Rows.Count - 1
-
- chkb1.Items.Add(dt(x).Item(0))
-
- Next
-
-
- sql = "SELECT CAST(YEAR(DATE) AS varchar) + '年' + CAST(MONTH(DATE) AS varchar) + '月' AS Expr1
- FROM RT_CHEM_s_IN_PRICE
- GROUP BY YEAR(DATE), MONTH(DATE)
- ORDER BY expr1 DESC"
-
- cmd.CommandText = sql
-
-
- dt = New DataTable
-
- da.Fill(dt)
-
- For x As Integer = 0 To dt.Rows.Count - 1
-
- chkb2.Items.Add(dt(x).Item(0))
-
- Next
-
-
-
-
- For x As Integer = 0 To 11
- ListBox1.Items.Add(x + 1)
- Next
-
-
-
-
- End Sub
-
- Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv1.CellContentClick
-
-
-
-
-
-
- End Sub
-
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
-
-
- sql = "SELECT CASE WHEN S.ZDHC_NAME IS NULL THEN s.化工品名 ELSE S.NAME1 END AS 化工品名, s.库存数量, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) AS numeric(10, 0)) AS 用量, s.国购, s.进口, s.supplier as 供应商, s.mfg as 生产商, s.type as 类别, s.dep as 使用部门, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas as 成份及CAS号,S.ZDHC_NAME AS ZDHC_NAME,S.NAME1 FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险, RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害, RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体, RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas ,RT_CHEM_MSDS.ZDHC_NAME,RT_CHEM_MSDS.NAME1 FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY) END AS 进口 FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名, SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3) AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购 FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN (SELECT NAME, SUM(QTY) AS qty FROM RT_CHEM_IN_PRICE WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", '')) GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty ORDER BY 化工品名) AS p LEFT OUTER JOIN (SELECT MATL_NAME, QTY, DATE FROM RT_CHEM_S_IN_PRICE WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r left outer JOIN RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name ) AS s LEFT OUTER JOIN RT_SYS_CHEM_OUT ON s.化工品名 = RT_SYS_CHEM_OUT.NAME WHERE (RT_SYS_CHEM_OUT.DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (RT_SYS_CHEM_OUT.DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", '')) GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas, s.ZDHC_NAME,S.NAME1"
-
-
- sql = "SELECT CASE WHEN len(S.ZDHC_NAME)<1 THEN s.化工品名 ELSE S.ZDHC_NAME END AS 化工品名, CASE WHEN SUM(z.qty) IS NULL
- THEN 0 ELSE CAST(SUM(z.qty) AS numeric(10, 0)) END AS 用量, s.库存数量, s.国购, s.进口, s.supplier AS 供应商,
- s.mfg AS 生产商, s.type AS 类别, s.dep AS 使用部门
- FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type,
- RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险,
- RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害,
- RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体,
- RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas,
- RT_CHEM_MSDS.ZDHC_NAME, RT_CHEM_MSDS.name1
- FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY)
- END AS 进口
- FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名,
- SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3)
- AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购
- FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN
- (SELECT NAME, SUM(QTY) AS qty
- FROM RT_CHEM_IN_PRICE
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))
- GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME
- WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "')
- GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty
- ORDER BY 化工品名) AS p LEFT OUTER JOIN
- (SELECT MATL_NAME, QTY, DATE
- FROM RT_CHEM_S_IN_PRICE
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME
- GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r LEFT OUTER JOIN
- RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name) AS s LEFT OUTER JOIN
- (SELECT NAME, SUM(WEIGHT) AS qty
- FROM RT_SYS_CHEM_OUT
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))
- GROUP BY NAME) AS z ON s.化工品名 = z.NAME
- GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.ZDHC_NAME, s.name1
- ORDER BY 化工品名"
-
-
-
- cmd.CommandText = sql
-
- dt = New DataTable
-
- da.SelectCommand = cmd
-
- da.Fill(dt)
-
-
- dgv2.DataSource = dt
-
-
-
-
- xlApp = CreateObject("Excel.Application")
-
-
-
- xlBook = xlApp.Workbooks.Add
-
- xlApp.Visible = True
- 'xlApp.DisplayAlerts = False
-
- xlBook.Activate()
- xlBook.Parent.Windows(1).Visible = True
-
-
-
- xlSheet = xlBook.Worksheets.Add
-
- xlSheet.Activate()
-
-
-
-
-
- dgv2.SelectAll()
- Me.dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
-
- Clipboard.SetDataObject(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString))
- System.Threading.Thread.Sleep(200)
-
- xlApp.Cells(2, 2).Select()
-
-
-
- If IsDBNull(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString)) Then
-
-
- Else
- xlSheet.PasteSpecial()
- Clipboard.SetDataObject(DBNull.Value)
-
-
- End If
-
-
- End Sub
-
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- 'sql = "SELECT s.化工品名, s.库存数量, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) AS numeric(10, 0)) AS 用量, s.国购, s.进口, s.supplier as 供应商, s.mfg as 生产商, s.type as 类别, s.dep as 使用部门, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas as 成份及CAS号 FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险, RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害, RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体, RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY) END AS 进口 FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名, SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3) AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购 FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN (SELECT NAME, SUM(QTY) AS qty FROM RT_CHEM_IN_PRICE WHERE (DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') + 1 - " & ListBox1.Text & ", '')) GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty ORDER BY 化工品名) AS p LEFT OUTER JOIN (SELECT MATL_NAME, QTY, DATE FROM RT_CHEM_S_IN_PRICE WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r left outer JOIN RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name where serial=1) AS s LEFT OUTER JOIN RT_SYS_CHEM_OUT ON s.化工品名 = RT_SYS_CHEM_OUT.NAME WHERE (RT_SYS_CHEM_OUT.DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (RT_SYS_CHEM_OUT.DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') +1- " & ListBox1.Text & ", '')) GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas"
-
-
- sql = "SELECT s.化工品名, s.库存数量, case when SUM(zz.WEIGHT) is null then 0 else CAST(SUM(zz.WEIGHT) AS numeric(10, 0)) end AS 用量, s.国购, s.进口, s.supplier as 供应商, s.mfg as 生产商, s.type as 类别, s.dep as 使用部门, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas as 成份及CAS号 FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险, RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害, RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体, RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY) END AS 进口 FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名, SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3) AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购 FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN (SELECT NAME, SUM(QTY) AS qty FROM RT_CHEM_IN_PRICE WHERE (DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') + 1 - " & ListBox1.Text & ", '')) GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty ORDER BY 化工品名) AS p LEFT OUTER JOIN (SELECT MATL_NAME, QTY, DATE FROM RT_CHEM_S_IN_PRICE WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r left outer JOIN RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name where serial=1) AS s LEFT OUTER JOIN (select name,weight from RT_SYS_CHEM_OUT WHERE (RT_SYS_CHEM_OUT.DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (RT_SYS_CHEM_OUT.DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') +1- " & ListBox1.Text & ", ''))) as zz on s.化工品名=zz.NAME GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas"
-
-
-
- cmd.CommandText = sql
-
- dt = New DataTable
-
- da.SelectCommand = cmd
-
- da.Fill(dt)
-
-
- dgv2.DataSource = dt
-
-
-
-
- xlApp = CreateObject("Excel.Application")
-
-
-
- xlBook = xlApp.Workbooks.Add
-
- xlApp.Visible = True
- 'xlApp.DisplayAlerts = False
-
- xlBook.Activate()
- xlBook.Parent.Windows(1).Visible = True
-
-
-
- xlSheet = xlBook.Worksheets.Add
-
- xlSheet.Activate()
-
-
-
-
-
- dgv2.SelectAll()
- Me.dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
-
- Clipboard.SetDataObject(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString))
- System.Threading.Thread.Sleep(200)
-
- xlApp.Cells(2, 2).Select()
-
-
-
- If IsDBNull(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString)) Then
-
-
- Else
- xlSheet.PasteSpecial()
- Clipboard.SetDataObject(DBNull.Value)
-
-
- End If
- End Sub
-
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
-
- sql = "SELECT CASE WHEN len(S.ZDHC_NAME)<1 THEN s.name1 ELSE S.ZDHC_NAME END AS 化工品名,
- s.mfg AS 生产商, s.supplier AS 供应商, CASE WHEN SUM(z.qty) IS NULL THEN 0 ELSE CAST(SUM(z.qty) AS numeric(10, 0)) END AS 用量, s.库存数量, s.国购, s.进口,
- s.mfg AS 生产商, s.type AS 类别, s.dep AS 使用部门
- FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type,
- RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险,
- RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害,
- RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体,
- RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas,
- RT_CHEM_MSDS.ZDHC_NAME, RT_CHEM_MSDS.name1
- FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY)
- END AS 进口
- FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名,
- SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3)
- AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购
- FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN
- (SELECT NAME, SUM(QTY) AS qty
- FROM RT_CHEM_IN_PRICE
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))
- GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME
- WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "')
- GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty
- ORDER BY 化工品名) AS p LEFT OUTER JOIN
- (SELECT MATL_NAME, QTY, DATE
- FROM RT_CHEM_S_IN_PRICE
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME
- GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r LEFT OUTER JOIN
- RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name) AS s LEFT OUTER JOIN
- (SELECT NAME, SUM(WEIGHT) AS qty
- FROM RT_SYS_CHEM_OUT
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))
- GROUP BY NAME) AS z ON s.化工品名 = z.NAME
- where s.type<>N'基础化工' GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.ZDHC_NAME, s.name1 ORDER BY 化工品名"
-
- sql = "SELECT CASE WHEN len(S.ZDHC_NAME)<1 THEN s.name1 ELSE S.ZDHC_NAME END AS 化工品名,s.mfg AS 生产商, s.supplier AS 供应商, CASE WHEN SUM(z.qty) IS NULL THEN 0 ELSE CAST(SUM(z.qty) AS numeric(10, 2)) END AS 用量, s.库存数量, s.国购, s.进口, s.mfg AS 生产商, s.type AS 类别, s.dep AS 使用部门,s.zdhc_code FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险, RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害, RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体, RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas, RT_CHEM_MSDS.ZDHC_NAME, RT_CHEM_MSDS.name1,RT_CHEM_MSDS.zdhc_code FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY) END AS 进口 FROM
- (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名, SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3) AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购 FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN (SELECT NAME, SUM(QTY) AS qty FROM RT_CHEM_IN_PRICE WHERE (DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text - 1 & ", '')) GROUP BY NAME) AS x
- ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty ORDER BY 化工品名) AS p
- LEFT OUTER JOIN (SELECT MATL_NAME, QTY, DATE FROM RT_CHEM_S_IN_PRICE WHERE (DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text - 1 & ", ''))) AS q ON p.化工品名 = q.MATL_NAME GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r LEFT OUTER JOIN RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name) AS s LEFT OUTER JOIN (SELECT NAME, SUM(WEIGHT) AS qty FROM RT_SYS_CHEM_OUT WHERE (DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text - 1 & ", '')) GROUP BY NAME) AS z
- ON s.化工品名 = z.NAME GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.ZDHC_NAME,s.zdhc_code, s.name1 ORDER BY 化工品名"
-
-
-
- cmd.CommandText = sql
-
- dt = New DataTable
-
- da.SelectCommand = cmd
-
- da.Fill(dt)
-
- Dim col As DataColumn
-
- col = dt.Columns.Add("1")
- col.SetOrdinal(3)
- col = dt.Columns.Add("2")
- col.SetOrdinal(5)
- col = dt.Columns.Add("3")
- col.SetOrdinal(5)
- col = dt.Columns.Add("4")
- col.SetOrdinal(5)
- col = dt.Columns.Add("5")
- col.SetOrdinal(5)
- col = dt.Columns.Add("6")
- col.SetOrdinal(5)
- col = dt.Columns.Add("7")
- col.SetOrdinal(5)
-
-
-
-
-
- dgv2.DataSource = dt
-
-
-
-
- xlApp = CreateObject("Excel.Application")
-
-
-
- xlBook = xlApp.Workbooks.Add
-
- xlApp.Visible = True
- 'xlApp.DisplayAlerts = False
-
- xlBook.Activate()
- xlBook.Parent.Windows(1).Visible = True
-
-
-
- xlSheet = xlBook.Worksheets.Add
-
- xlSheet.Activate()
-
-
-
-
-
- dgv2.SelectAll()
- Me.dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
-
- Clipboard.SetDataObject(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString))
- System.Threading.Thread.Sleep(200)
-
- xlApp.Cells(2, 2).Select()
-
-
-
- If IsDBNull(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString)) Then
-
-
- Else
- xlSheet.PasteSpecial()
- Clipboard.SetDataObject(DBNull.Value)
-
-
- End If
-
-
- End Sub
-
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 'higg
-
- sql = "SELECT s.化工品名, s.库存数量, case when SUM(zz.WEIGHT) is null then 0 else CAST(SUM(zz.WEIGHT) AS numeric(10, 0)) end AS 用量, s.国购, s.进口, s.supplier as 供应商, s.zdhc as zdhc, s.mfg as 生产商, s.type as 类别1,s.type1 as 类别2, s.dep as 使用部门, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体,s.氧化性物质, s.易燃物, s.cas as 成份及CAS号,s.chemiq as 功能 FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier,RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type, RT_CHEM_MSDS.dep,RT_CHEM_MSDS.zdhc, RT_CHEM_MSDS.d6 AS 有毒物质, RT_CHEM_MSDS.d7 AS 注意危险, RT_CHEM_MSDS.d5 AS 腐蚀性物质, RT_CHEM_MSDS.d1 AS 爆炸物, RT_CHEM_MSDS.d8 AS 健康危害, RT_CHEM_MSDS.d9 AS 水生生物毒性, RT_CHEM_MSDS.d4 AS 压力下气体,RT_CHEM_MSDS.d3 AS 氧化性物质, RT_CHEM_MSDS.d2 AS 易燃物, RT_CHEM_MSDS.cas,RT_CHEM_MSDS.type1,RT_CHEM_MSDS.chemiq FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY) END AS 进口 FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名, SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3) AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购 FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN (SELECT NAME, SUM(QTY) AS qty FROM RT_CHEM_IN_PRICE WHERE qty>0 and ( DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') + 1 - " & ListBox1.Text & ", '')) GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty ORDER BY 化工品名) AS p LEFT OUTER JOIN (SELECT MATL_NAME, QTY, DATE FROM RT_CHEM_S_IN_PRICE WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r left outer JOIN RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name ) AS s LEFT OUTER JOIN (select name,weight from RT_SYS_CHEM_OUT WHERE (RT_SYS_CHEM_OUT.DATE <= DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (RT_SYS_CHEM_OUT.DATE >= DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') +1- " & ListBox1.Text & ", ''))) as zz on s.化工品名=zz.NAME GROUP BY s.化工品名,s.zdhc, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type,s.type1, s.dep, s.有毒物质, s.注意危险, s.腐蚀性物质, s.爆炸物, s.健康危害, s.水生生物毒性, s.压力下气体, s.氧化性物质, s.易燃物, s.cas,s.chemiq"
-
-
-
- cmd.CommandText = sql
-
- dt = New DataTable
-
- da.SelectCommand = cmd
-
- da.Fill(dt)
-
-
-
- dt.Columns.Add("最后入库", Type.GetType("System.DateTime"))
- dt.Columns.Add("有效日期", Type.GetType("System.DateTime"))
-
- dt.Columns.Add("批号")
-
-
- For x As Integer = 0 To dt.Rows.Count - 1
-
- If dt.Rows(x).Item("化工品名") = "LB-4602" Then
- Dim aa As Integer = 0
- End If
-
-
- sql = "select date from rt_chem_in_price where name=N'" & dt.Rows(x).Item("化工品名") & "' and qty>0 order by date desc"
- cmd.CommandText = sql
-
- If (cmd.ExecuteScalar) Is Nothing Then
-
- Else
- dt.Rows(x).Item("最后入库") = cmd.ExecuteScalar
- dt.Rows(x).Item("有效日期") = DateAdd("yyyy", 2, cmd.ExecuteScalar)
-
- sql = "select comment from rt_chem_in_price where name=N'" & dt.Rows(x).Item("化工品名") & "' and qty>0 order by date desc"
- cmd.CommandText = sql
-
- If IsDBNull(cmd.ExecuteScalar) Then
-
-
- Dim dd() As String
-
-
- dd = Split(dt.Rows(x).Item("最后入库"), "/")
-
- Dim my_lot As String = ""
-
-
- For y As Integer = 0 To UBound(dd) - 1
- my_lot = my_lot & dd(y)
- Next
-
-
- dt.Rows(x).Item("批号") = my_lot
-
-
- Else
-
- dt.Rows(x).Item("批号") = cmd.ExecuteScalar.ToString
- End If
-
-
-
-
-
- End If
-
-
-
- Next
-
-
- For x As Integer = 0 To dt.Rows.Count - 1
-
- sql = "select date from rt_chem_s_in_price where matl_name=N'" & dt.Rows(x).Item("化工品名") & "' and qty>0 order by date desc"
- cmd.CommandText = sql
-
- If (cmd.ExecuteScalar) Is Nothing Then
-
- Else
-
-
- If IsDBNull(dt.Rows(x).Item("最后入库")) Then
-
- dt.Rows(x).Item("最后入库") = cmd.ExecuteScalar
- dt.Rows(x).Item("有效日期") = DateAdd("yyyy", 2, cmd.ExecuteScalar)
-
-
- Else
-
- If dt.Rows(x).Item("最后入库") > cmd.ExecuteScalar Then
-
- Else
- dt.Rows(x).Item("最后入库") = cmd.ExecuteScalar
- dt.Rows(x).Item("有效日期") = DateAdd("yyyy", 2, cmd.ExecuteScalar)
- End If
-
-
-
-
- End If
-
-
-
-
-
- End If
-
-
-
- Next
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dgv2.DataSource = dt
-
-
-
-
- xlApp = CreateObject("Excel.Application")
-
-
-
- xlBook = xlApp.Workbooks.Add
-
- xlApp.Visible = True
- 'xlApp.DisplayAlerts = False
-
- xlBook.Activate()
- xlBook.Parent.Windows(1).Visible = True
-
-
-
- xlSheet = xlBook.Worksheets.Add
-
- xlSheet.Activate()
-
-
-
-
-
- dgv2.SelectAll()
- Me.dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
-
- Clipboard.SetDataObject(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString))
- System.Threading.Thread.Sleep(200)
-
- xlApp.Cells(2, 2).Select()
-
-
-
- If IsDBNull(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString)) Then
-
-
- Else
- xlSheet.PasteSpecial()
- Clipboard.SetDataObject(DBNull.Value)
-
-
- End If
-
-
- End Sub
-
- Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
- sql = "SELECT CASE WHEN len(S.ZDHC_NAME)<1 THEN s.name1 ELSE S.ZDHC_NAME END AS 化工品名,
- s.mfg AS 生产商, s.supplier AS 供应商, CASE WHEN SUM(z.qty) IS NULL THEN 0 ELSE CAST(SUM(z.qty) AS numeric(10, 0)) END AS 用量, s.库存数量, s.国购, s.进口,
- s.mfg AS 生产商, s.type AS 类别, s.dep AS 使用部门
- FROM (SELECT r.化工品名, r.库存数量, r.国购, r.进口, RT_CHEM_MSDS.supplier, RT_CHEM_MSDS.mfg, RT_CHEM_MSDS.type,
- RT_CHEM_MSDS.dep, RT_CHEM_MSDS.d1 AS 有毒物质, RT_CHEM_MSDS.d2 AS 注意危险,
- RT_CHEM_MSDS.d3 AS 腐蚀性物质, RT_CHEM_MSDS.d4 AS 爆炸物, RT_CHEM_MSDS.d5 AS 健康危害,
- RT_CHEM_MSDS.d6 AS 水生生物毒性, RT_CHEM_MSDS.d7 AS 压力下气体,
- RT_CHEM_MSDS.d8 AS 氧化性物质, RT_CHEM_MSDS.d9 AS 易燃物, RT_CHEM_MSDS.cas,
- RT_CHEM_MSDS.ZDHC_NAME, RT_CHEM_MSDS.name1
- FROM (SELECT p.化工品名, p.库存数量, p.国购, CASE WHEN SUM(q.QTY) IS NULL THEN 0 ELSE SUM(q.QTY)
- END AS 进口
- FROM (SELECT TOP (100) PERCENT RT_CHEM_STOCK_MONTH2.NAME AS 化工品名,
- SUM(RT_CHEM_STOCK_MONTH2.STOCK1 + RT_CHEM_STOCK_MONTH2.STOCK2 + RT_CHEM_STOCK_MONTH2.STOCK3)
- AS 库存数量, CASE WHEN x.qty IS NULL THEN 0 ELSE x.qty END AS 国购
- FROM RT_CHEM_STOCK_MONTH2 LEFT OUTER JOIN
- (SELECT NAME, SUM(QTY) AS qty
- FROM RT_CHEM_IN_PRICE
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))
- GROUP BY NAME) AS x ON RT_CHEM_STOCK_MONTH2.NAME = x.NAME
- WHERE (YEAR(RT_CHEM_STOCK_MONTH2.date) = '" & Year(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "') AND (MONTH(RT_CHEM_STOCK_MONTH2.date) = '" & Month(dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value) & "')
- GROUP BY RT_CHEM_STOCK_MONTH2.NAME, x.NAME, x.qty
- ORDER BY 化工品名) AS p LEFT OUTER JOIN
- (SELECT MATL_NAME, QTY, DATE
- FROM RT_CHEM_S_IN_PRICE
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))) AS q ON p.化工品名 = q.MATL_NAME
- GROUP BY p.化工品名, p.库存数量, p.国购, q.MATL_NAME) AS r LEFT OUTER JOIN
- RT_CHEM_MSDS ON r.化工品名 = RT_CHEM_MSDS.sys_name) AS s LEFT OUTER JOIN
- (SELECT NAME, SUM(WEIGHT) AS qty
- FROM RT_SYS_CHEM_OUT
- WHERE (DATE < DATEADD(day, DATEDIFF(day, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "'), '')) AND (DATE > DATEADD(month, DATEDIFF(month, '', '" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("date").Value & "') - " & ListBox1.Text & ", ''))
- GROUP BY NAME) AS z ON s.化工品名 = z.NAME
- where s.type<>N'基础化工'
- GROUP BY s.化工品名, s.库存数量, s.国购, s.进口, s.supplier, s.mfg, s.type, s.dep, s.ZDHC_NAME, s.name1
- ORDER BY 化工品名"
-
- sql = "SELECT RT_CHEM_MSDS.type, RT_CHEM_MSDS.type1, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) AS numeric(10, 1)) AS 数量
- 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 BETWEEN '" & DateTimePicker1.Value & "' AND '" & DateTimePicker2.Value & "') GROUP BY RT_CHEM_MSDS.type, RT_CHEM_MSDS.type1"
-
-
-
- cmd.CommandText = sql
-
- dt = New DataTable
-
- da.SelectCommand = cmd
-
- da.Fill(dt)
-
-
-
- dgv2.DataSource = dt
-
-
-
-
- xlApp = CreateObject("Excel.Application")
-
-
-
- xlBook = xlApp.Workbooks.Add
-
- xlApp.Visible = True
- 'xlApp.DisplayAlerts = False
-
- xlBook.Activate()
- xlBook.Parent.Windows(1).Visible = True
-
-
-
- xlSheet = xlBook.Worksheets.Add
-
- xlSheet.Activate()
-
-
-
-
-
- dgv2.SelectAll()
- Me.dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
-
- Clipboard.SetDataObject(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString))
- System.Threading.Thread.Sleep(200)
-
- xlApp.Cells(2, 2).Select()
-
-
-
- If IsDBNull(dgv2.GetClipboardContent().GetData(DataFormats.Text.ToString)) Then
-
-
- Else
- xlSheet.PasteSpecial()
- Clipboard.SetDataObject(DBNull.Value)
-
-
- End If
- End Sub
- End Class
|