123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- Imports System.Data.SqlClient
- Imports System.Reflection
- Public Class Frm_chem_real_stock
- Dim cmd As New SqlCommand
- Dim da As New SqlDataAdapter
- Dim dt As New DataTable
-
- Dim sql As String
- Private Sub Frm_chem_real_stock_Load(sender As Object, e As EventArgs) Handles MyBase.Load
-
-
- Dim type As Type = DGV1.GetType()
- Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
- pi.SetValue(DGV1, True, Nothing)
-
-
-
-
-
-
- Dim conn As New SqlConnection
- Dim DT1 As New DataTable
- Dim DT2 As New DataTable
- Dim DT3 As New DataTable
- ' connstring = "Data Source=127.0.0.1;Persist Security Info=True;User ID=sa;Password=Lafayette11;Initial Catalog=maindb_hy2014"
- conn.ConnectionString = connstring
- conn.Open()
-
- cmd.Connection = conn
-
-
- sql = "SELECT RT_SYS_CHEM_MAIN.name AS 品名, RT_SYS_CHEM_MAIN.price AS 单价, RT_SYS_CHEM_MAIN.CLASS1 AS 分类, " &
- " RT_SYS_CHEM_MAIN.supplier AS 供应商, RT_SYS_CHEM_MAIN.origin AS 产地, " &
- " CASE WHEN SUM(RT_SYS_CHEM_OUT.WEIGHT) IS NULL THEN 0 ELSE CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) " &
- " AS numeric(10, 0)) END AS 用量 " &
- " FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN " &
- " RT_SYS_CHEM_OUT ON RT_SYS_CHEM_MAIN.name = RT_SYS_CHEM_OUT.NAME " &
- " WHERE (YEAR(RT_SYS_CHEM_OUT.DATE) = 2019) AND (MONTH(RT_SYS_CHEM_OUT.DATE) = 8) " &
- " GROUP BY RT_SYS_CHEM_MAIN.name, RT_SYS_CHEM_MAIN.price, RT_SYS_CHEM_MAIN.CLASS1, " &
- " RT_SYS_CHEM_MAIN.supplier, RT_SYS_CHEM_MAIN.origin " &
- " ORDER BY 品名 "
-
-
-
- sql = "SELECT name AS 品名, price AS 单价, CLASS1 AS 分类, supplier AS 供应商, origin AS 产地 FROM RT_SYS_CHEM_MAIN ORDER BY 品名"
-
-
- sql = "SELECT NAME as 化料名称, CLASS1 as 分类,class2 as 海关, supplier as 供应商,origin as 产地,price as 单价,price_usd as 美金, stock1 as 库存1, stock2 as 库存2, stock3 as 库存3, 合计, 预估用量, [5] AS [5月], [6] AS [6月], [7] AS [7月] FROM
- (SELECT MONTH(RT_SYS_CHEM_OUT.DATE) AS 月份, RT_SYS_CHEM_OUT.NAME, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) AS numeric(10, 0)) AS 本月领料, RT_SYS_CHEM_MAIN.CLASS1,RT_SYS_CHEM_MAIN.class2, CASE WHEN new_price Is NULL THEN CAST(RT_SYS_CHEM_MAIN.price AS numeric(10, 2)) ELSE CAST(new_price AS numeric(10, 2)) END AS price,price_usd, rt_chem_stock_month1.stock1, rt_chem_stock_month1.stock2, rt_chem_stock_month1.stock3, rt_chem_stock_month1.stock1 + rt_chem_stock_month1.stock2 + rt_chem_stock_month1.stock3 AS 合计, CASE WHEN RT_RETAN_RCP_EVA.QTY Is NULL THEN 0 ELSE RT_RETAN_RCP_EVA.QTY END AS 预估用量, RT_SYS_CHEM_MAIN.supplier, RT_SYS_CHEM_MAIN.origin FROM RT_SYS_CHEM_OUT
- LEFT OUTER JOIN RT_RETAN_RCP_EVA ON RT_SYS_CHEM_OUT.NAME = RT_RETAN_RCP_EVA.NAME LEFT OUTER JOIN rt_chem_stock_month1 ON RT_SYS_CHEM_OUT.NAME = rt_chem_stock_month1.name LEFT OUTER JOIN RT_SYS_CHEM_MAIN ON RT_SYS_CHEM_OUT.NAME = RT_SYS_CHEM_MAIN.name WHERE (MONTH(RT_SYS_CHEM_OUT.DATE) = 6) Or (MONTH(RT_SYS_CHEM_OUT.DATE) = 7) Or (MONTH(RT_SYS_CHEM_OUT.DATE) = 5) GROUP BY RT_SYS_CHEM_OUT.NAME, RT_SYS_CHEM_MAIN.CLASS1,class2,price_usd, RT_SYS_CHEM_MAIN.price, RT_SYS_CHEM_MAIN.new_price, rt_chem_stock_month1.stock1, rt_chem_stock_month1.stock2, rt_chem_stock_month1.stock3, RT_RETAN_RCP_EVA.QTY, MONTH(RT_SYS_CHEM_OUT.DATE), RT_SYS_CHEM_MAIN.supplier, RT_SYS_CHEM_MAIN.origin)
- AS p PIVOT ( sum(本月领料) FOR 月份 IN ([5],[6], [7])) AS q "
-
- cmd.CommandText = sql
-
- da.SelectCommand = cmd
- da.Fill(dt)
-
-
- dt.Columns.Add("期初库存")
- dt.Columns.Add("外购入库")
- dt.Columns.Add("保税入库")
- 'dt.Columns.Add("保税调拨")
- 'dt.Columns.Add("可慕调拨")
- dt.Columns.Add("调拨出库")
- dt.Columns.Add("领料")
- dt.Columns.Add("应存")
- dt.Columns.Add("损盈亏")
-
- Dim dr As SqlDataReader
-
- For x As Integer = 0 To dt.Rows.Count - 1
-
- sql = "SELECT stock1+stock2+stock3 as 合计 from rt_chem_stock_month1 where name=N'" & dt.Rows(x).Item("品名") & "'"
-
- cmd.CommandText = sql
- dr = cmd.ExecuteReader
- If dr.Read Then
- dt.Rows(x).Item("期初库存") = dr("合计").ToString
- Else
- dt.Rows(x).Item("期初库存") = 0
- End If
- dr.Close()
-
-
- sql = "select case when sum(weight) is null then 0 else cast(sum(weight) as numeric(10,0)) end as 用量 from rt_sys_chem_out where month(date)=8 and name=N'" & dt.Rows(x).Item("品名") & "'" '-----领料
-
- cmd.CommandText = sql
- dr = cmd.ExecuteReader
- If dr.Read Then
- dt.Rows(x).Item("领料") = dr("用量").ToString
-
- Else
- dt.Rows(x).Item("领料") = 0
- End If
- dr.Close()
-
-
- sql = "select cast(sum(weight) as numeric(10,0)) as 入库数量 from rt_chem_s_in_price where month(date)=8 and dep<> N'保税仓-R' and name=N'" & dt.Rows(x).Item("品名") & "'" '-----外购入库
-
- cmd.CommandText = sql
- dr = cmd.ExecuteReader
- If dr.Read Then
- dt.Rows(x).Item("外购入库") = dr("入库数量").ToString
- Else
- dt.Rows(x).Item("外购入库") = 0
- End If
- dr.Close()
-
-
- sql = "select cast(sum(weight) as numeric(10,0)) as 入库数量 from rt_chem_s_in_price where month(date)=8 and and dep = N'保税仓-R' and name=N'" & dt.Rows(x).Item("品名") & "'" '-----保税入库
-
- cmd.CommandText = sql
- dr = cmd.ExecuteReader
- If dr.Read Then
- dt.Rows(x).Item("保税入库") = dr("入库数量").ToString
- Else
- dt.Rows(x).Item("保税入库") = 0
- End If
- dr.Close()
-
-
- 'sql = "select cast(sum(weight) as numeric(10,0)) as 调拨数量 from rt_sys_chem_IN_L where wh_out=N'保税仓/赤湖' and month(date)=7 and name=N'" & dt.Rows(x).Item("品名") & "'" '-----保税调拨
-
- 'cmd.CommandText = sql
- 'dr = cmd.ExecuteReader
- 'If dr.Read Then
- ' dt.Rows(x).Item("保税调拨") = dr("调拨数量").ToString
- 'Else
- ' dt.Rows(x).Item("保税调拨") = 0
- 'End If
- 'dr.Close()
-
-
- 'sql = "select cast(sum(weight) as numeric(10,0)) as 调拨数量 from rt_sys_chem_IN_L where wh_out=N'外购化料仓/可慕' and month(date)=7 and name=N'" & dt.Rows(x).Item("品名") & "'" '-----可慕调拨
-
- 'cmd.CommandText = sql
- 'dr = cmd.ExecuteReader
- 'If dr.Read Then
- ' dt.Rows(x).Item("可慕调拨") = dr("调拨数量").ToString
- 'Else
- ' dt.Rows(x).Item("可慕调拨") = 0
- 'End If
- 'dr.Close()
-
- sql = "select cast(sum(weight) as numeric(10,0)) as 调拨数量 from rt_sys_chem_OUT_DB where month(date)=8 and name=N'" & dt.Rows(x).Item("品名") & "'" '-----调拨出库
-
- cmd.CommandText = sql
- dr = cmd.ExecuteReader
- If dr.Read Then
- dt.Rows(x).Item("调拨出库") = dr("调拨数量").ToString
- Else
- dt.Rows(x).Item("调拨出库") = 0
- End If
- dr.Close()
-
-
-
-
- dt.Rows(x).Item("应存") = Val(dt.Rows(x).Item("期初库存").ToString) + Val(dt.Rows(x).Item("外购入库").ToString) + Val(dt.Rows(x).Item("保税入库").ToString) - Val(dt.Rows(x).Item("领料").ToString) - Val(dt.Rows(x).Item("调拨出库").ToString)
- ' dt.Rows(x).Item("损盈亏") = Val(dt.Rows(x).Item("期未盘点").ToString) - Val(dt.Rows(x).Item("应存").ToString)
- Next
-
- DGV1.DataSource = dt
-
-
-
- dgv1.Columns(0).Width = 180
- dgv1.Columns(1).Width = 80
- dgv1.Columns(2).Width = 100
- 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
- dgv1.Columns(10).Width = 80
- dgv1.Columns(11).Width = 80
- 'DGV1.Columns(12).Width = 80
- 'DGV1.Columns(13).Width = 100
- 'DGV1.Columns(14).Width = 100
- 'DGV1.Columns(15).Width = 80
-
-
-
- End Sub
- End Class
|