123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- Imports System.Data.SqlClient
- Imports System.Reflection
- Public Class Frm_BG_CHEM
- Dim cmd As New SqlCommand
- Dim da As New SqlDataAdapter
- Dim my_index1(3) As Integer
- Dim sql As String
- Dim conn As New SqlConnection
- Dim dgv() As DataGridView
- Dim lbl() As Label
- Private Sub Frm_BG_CHEM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- conn.ConnectionString = connstring
- conn.Open()
- cmd.Connection = conn
-
-
-
- End Sub
-
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
-
-
- Dim dt As New DataTable
-
-
- sql = "SELECT p.品名, p.单价, p.库存, p.化工分类, p.海关分类, p.供应商, p.产地, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT*1.5) AS numeric(10, 0)) AS 用量, YEAR(RT_SYS_CHEM_OUT.DATE) AS 年, MONTH(RT_SYS_CHEM_OUT.DATE) AS 月 FROM (SELECT TOP (100) PERCENT RT_SYS_CHEM_MAIN.name AS 品名, RT_SYS_CHEM_MAIN.price_usd AS 单价, RT_SYS_CHEM_MAIN.stock1 + RT_SYS_CHEM_MAIN.stock3 AS 库存,RT_SYS_CHEM_MAIN.CLASS1 AS 化工分类, RT_SYS_CHEM_MAIN.CLASS2 AS 海关分类,RT_SYS_CHEM_MAIN.supplier AS 供应商, RT_SYS_CHEM_MAIN.origin AS 产地, RT_BG_MTL_NAME.SERIAL AS no FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN RT_BG_MTL_NAME ON RT_SYS_CHEM_MAIN.CLASS2 = RT_BG_MTL_NAME.NAME WHERE (RT_SYS_CHEM_MAIN.CLASS2 IS NOT NULL) AND (RT_BG_MTL_NAME.SERIAL IS NOT NULL) AND (RT_SYS_CHEM_MAIN.origin IS NOT NULL)) AS p LEFT OUTER JOIN RT_SYS_CHEM_OUT ON p.品名 = RT_SYS_CHEM_OUT.NAME WHERE (YEAR(RT_SYS_CHEM_OUT.DATE) = 2019) AND (MONTH(RT_SYS_CHEM_OUT.DATE) = 12) GROUP BY p.品名, p.单价, p.库存, p.化工分类, p.海关分类, p.供应商, p.产地, YEAR(RT_SYS_CHEM_OUT.DATE), MONTH(RT_SYS_CHEM_OUT.DATE), p.no ORDER BY p.no,p.供应商,p.产地"
-
- cmd.CommandText = sql
- da.SelectCommand = cmd
- da.Fill(dt)
-
- dt.Columns.Add("本期用量")
- dt.Columns.Add("结存")
- dt.Columns.Add("尚馀")
- dt.Columns.Add("订货").SetOrdinal(8)
- dt.Columns.Add("本期进口").SetOrdinal(3)
-
-
-
-
- dt.Columns("本期用量").SetOrdinal(4)
- dt.Columns("结存").SetOrdinal(5)
- dt.Columns("用量").SetOrdinal(6)
- dt.Columns("尚馀").SetOrdinal(7)
-
-
- For x As Integer = 0 To dt.Rows.Count - 1
-
- sql = "select sum(qty) from rt_chem_s_in_price where year(date)='" & Year(dtp2.Value) & "' and month(date)='" & Month(dtp2.Value) & "' and matl_name =N'" & dt.Rows(x).Item("品名") & "'"
- cmd.CommandText = sql
-
- If IsDBNull(cmd.ExecuteScalar) Then
- dt.Rows(x).Item("本期进口") = 0
- Else
- dt.Rows(x).Item("本期进口") = cmd.ExecuteScalar
-
- End If
-
-
- sql = "select sum(qty) from rt_chem_container where received is null and name =N'" & dt.Rows(x).Item("品名") & "'"
- cmd.CommandText = sql
-
- If IsDBNull(cmd.ExecuteScalar) Then
- dt.Rows(x).Item("订货") = 0
- Else
- dt.Rows(x).Item("订货") = cmd.ExecuteScalar
-
- End If
-
-
-
-
-
- sql = "select cast(sum(weight) as numeric(10,0)) as weight from rt_sys_chem_out where year(date)='" & Year(dtp2.Value) & "' and month(date)='" & Month(dtp2.Value) & "' and name =N'" & dt.Rows(x).Item("品名") & "'"
- cmd.CommandText = sql
-
- If IsDBNull(cmd.ExecuteScalar) Then
-
- dt.Rows(x).Item("本期用量") = 0
- dt.Rows(x).Item("结存") = dt.Rows(x).Item("库存") + dt.Rows(x).Item("本期进口")
-
- Else
- dt.Rows(x).Item("本期用量") = cmd.ExecuteScalar
- dt.Rows(x).Item("结存") = dt.Rows(x).Item("库存") + dt.Rows(x).Item("本期进口") - dt.Rows(x).Item("本期用量")
- End If
-
- dt.Rows(x).Item("尚馀") = Math.Round(dt.Rows(x).Item("结存") / dt.Rows(x).Item("用量"), 1)
-
-
-
-
-
-
-
- Next
-
-
-
-
- dgv1.DataSource = dt
-
- dgv1.Columns(0).Width = 180
- dgv1.Columns(1).Width = 60
- dgv1.Columns(2).Width = 60
- dgv1.Columns(3).Width = 80
-
- dgv1.Columns(4).Width = 80
- dgv1.Columns(5).Width = 80
-
- dgv1.Columns(6).Width = 80
- dgv1.Columns(7).Width = 80
-
- dgv1.Columns(8).Width = 80
- dgv1.Columns(9).Width = 80
-
-
-
- End Sub
- End Class
|