Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Frm_RETAN_Evaluation.vb 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516
  1. Imports System.Data.SqlClient
  2. Imports System.Reflection
  3. 'Imports Excel = Microsoft.Office.Interop.Excel
  4. Public Class Frm_RETAN_Evaluation
  5. Dim cmd As New SqlCommand
  6. Dim da As New SqlDataAdapter
  7. Dim dt As New DataTable
  8. Dim sql As String
  9. 'Dim xlApp As Excel.Application
  10. 'Dim xlBook As Excel.Workbook
  11. 'Dim xlSheet As Excel.Worksheet
  12. Private Sub Frm_RETAN_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  13. ListBox1.Items.Add("客户:076")
  14. ListBox1.Items.Add("颜色:黑色")
  15. ListBox1.Items.Add("卡号:XXXXXXXXXX")
  16. ListBox1.Items.Add("鼓号:10")
  17. ListBox1.Items.Add("蓝皮重:1500 KG")
  18. ListBox1.Items.Add("化工品名:2400")
  19. ListBox1.Items.Add("化工重量:60 kg")
  20. ListBox1.Items.Add("化工比例:4%")
  21. ListBox1.Items.Add("打印时间:2019/7/12 12:00 AM")
  22. ListBox1.Items.Add("技术员:XXX")
  23. ListBox1.Items.Add("打印人员:XXX")
  24. Dim type As Type = DGV1.GetType()
  25. Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  26. pi.SetValue(DGV1, True, Nothing)
  27. Dim type1 As Type = DGV2.GetType()
  28. Dim pi1 As PropertyInfo = type1.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  29. pi1.SetValue(DGV2, True, Nothing)
  30. Dim conn As New SqlConnection
  31. conn.ConnectionString = connstring
  32. conn.Open()
  33. cmd.Connection = conn
  34. DGV1.EnableHeadersVisualStyles = False
  35. DGV1.ColumnHeadersDefaultCellStyle.ForeColor = Color.Blue
  36. DGV2.EnableHeadersVisualStyles = False
  37. DGV2.ColumnHeadersDefaultCellStyle.ForeColor = Color.Blue
  38. DGV1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
  39. DGV2.SelectionMode = DataGridViewSelectionMode.FullRowSelect
  40. End Sub
  41. Private Sub set_grid()
  42. DGV1.Columns(0).Width = 100
  43. DGV1.Columns(1).Width = 100
  44. DGV1.Columns(2).Width = 150
  45. DGV1.Columns(3).Width = 80
  46. DGV1.Columns(4).Width = 65
  47. DGV2.Columns(0).Width = 150
  48. DGV2.Columns(1).Width = 80
  49. DGV2.Columns(2).Width = 65
  50. End Sub
  51. Private Sub btn_cal_Click(sender As Object, e As EventArgs) Handles btn_cal.Click
  52. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox1.Text & "' WHERE (RCP_NAME = N'苏_黑色打底')"
  53. cmd.CommandText = sql
  54. cmd.ExecuteScalar()
  55. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox2.Text & "' WHERE (RCP_NAME = N'苏_黑色套染')"
  56. cmd.CommandText = sql
  57. cmd.ExecuteScalar()
  58. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox3.Text & "' WHERE (RCP_NAME = N'苏_黑PU')"
  59. cmd.CommandText = sql
  60. cmd.ExecuteScalar()
  61. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox4.Text & "' WHERE (RCP_NAME = N'苏_白PU')"
  62. cmd.CommandText = sql
  63. cmd.ExecuteScalar()
  64. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox5.Text & "' WHERE (RCP_NAME = N'刘_彩色浅色')"
  65. cmd.CommandText = sql
  66. cmd.ExecuteScalar()
  67. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox6.Text & "' WHERE (RCP_NAME = N'刘_彩色深色')"
  68. cmd.CommandText = sql
  69. cmd.ExecuteScalar()
  70. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox7.Text & "' WHERE (RCP_NAME = N'宁_彩色浅色')"
  71. cmd.CommandText = sql
  72. cmd.ExecuteScalar()
  73. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox8.Text & "' WHERE (RCP_NAME = N'宁_彩色深色')"
  74. cmd.CommandText = sql
  75. cmd.ExecuteScalar()
  76. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox9.Text & "' WHERE (RCP_NAME = N'郑_彩色')"
  77. cmd.CommandText = sql
  78. cmd.ExecuteScalar()
  79. sql = "UPDATE RT_RETAN_RCP SET WEIGHT = '" & TextBox10.Text & "' WHERE (RCP_NAME = N'郑_高丝光')"
  80. cmd.CommandText = sql
  81. cmd.ExecuteScalar()
  82. txt_total_drum.Text = Val(TextBox1.Text) + Val(TextBox3.Text) + Val(TextBox4.Text) + Val(TextBox5.Text) + Val(TextBox6.Text) + Val(TextBox7.Text) + Val(TextBox8.Text) + Val(TextBox9.Text) + Val(TextBox10.Text) + +Val(TextBox11.Text) + Val(TextBox15.Text) + Val(TextBox16.Text)
  83. txt_total_W.Text = Val(txt_total_drum.Text) * Val(txt_weight.Text) * Val(txt_day.Text)
  84. Dim dt As New DataTable
  85. sql = "Select tech As 技术员,rcp_name As 工艺名称, chem As 化料品名, percentage As 百分比, weight As 鼓数 FROM RT_RETAN_RCP"
  86. cmd.CommandText = sql
  87. da.SelectCommand = cmd
  88. da.Fill(dt)
  89. dt.Columns.Add("单价")
  90. dt.Columns.Add("供应商")
  91. dt.Columns.Add("产地")
  92. Dim DR As SqlDataReader
  93. For X As Integer = 0 To dt.Rows.Count - 1
  94. sql = "Select 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 单价,supplier as 供应商,origin as 产地 From RT_SYS_CHEM_main Where Name = N'" & dt.Rows(X).Item("化料品名") & "'"
  95. cmd.CommandText = sql
  96. DR = cmd.ExecuteReader
  97. If DR.Read() Then
  98. dt.Rows(X).Item("单价") = DR("单价").ToString
  99. dt.Rows(X).Item("供应商") = DR("供应商").ToString
  100. dt.Rows(X).Item("产地") = DR("产地").ToString
  101. End If
  102. DR.Close()
  103. Next
  104. DGV1.DataSource = dt
  105. Dim dt2 As New DataTable
  106. sql = "SELECT CHEM as 化料品名,CAST(SUM(PERCENTAGE*WEIGHT)/ " & txt_total_drum.Text & " AS NUMERIC(10,2)) AS 百分比,CAST(SUM(PERCENTAGE*WEIGHT)/" & txt_total_drum.Text & "/100* " & txt_total_W.Text & " AS NUMERIC(10,0)) as 用量 FROM RT_RETAN_RCP GROUP BY CHEM"
  107. cmd.CommandText = sql
  108. da.SelectCommand = cmd
  109. da.Fill(dt2)
  110. DGV2.DataSource = dt2
  111. 'dt2.Columns.Add("年")
  112. 'dt2.Columns.Add("3月")
  113. 'dt2.Columns.Add("4月")
  114. 'dt2.Columns.Add("5月")
  115. dt2.Columns.Add("單價")
  116. dt2.Columns.Add("3月用量")
  117. dt2.Columns.Add("4月用量")
  118. dt2.Columns.Add("5月用量")
  119. dt2.Columns.Add("6月用量")
  120. 'dt2.Columns.Add("月笔数")
  121. 'dt2.Columns.Add("月百分比")
  122. dt2.Columns.Add("分类")
  123. dt2.Columns.Add("日期")
  124. dt2.Columns.Add("库存1")
  125. dt2.Columns.Add("库存2")
  126. dt2.Columns.Add("库存3")
  127. dt2.Columns.Add("合计库存")
  128. sql = "SELECT SUM(Expr1) AS Expr1 FROM(SELECT RCP_NAME, AVG(WEIGHT) AS Expr1 From RT_RETAN_RCP Group By RCP_NAME) AS derivedtbl_1 Where (Not (RCP_NAME Like '%套染%'))"
  129. cmd.CommandText = sql
  130. txt_total_SF.Text = Math.Round(cmd.ExecuteScalar * Val(txt_day.Text) * Val(txt_weight.Text) * 5.4, 0)
  131. txt_wb.Text = Math.Round(Val(txt_total_W.Text) / 0.37, 0)
  132. set_grid()
  133. 'Dim DR As SqlDataReader
  134. For X As Integer = 0 To DGV2.Rows.Count - 2
  135. sql = "Select class1 From RT_SYS_CHEM_main Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "'"
  136. cmd.CommandText = sql
  137. DR = cmd.ExecuteReader
  138. If DR.Read() Then
  139. dt2.Rows(X).Item("分类") = DR("class1").ToString
  140. End If
  141. DR.Close()
  142. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "' AND MONTH(DATE)=3 Group By YEAR(Date), MONTH(Date), Name Order By 化料品名, 年, 月"
  143. cmd.CommandText = sql
  144. DR = cmd.ExecuteReader
  145. If DR.Read() Then
  146. dt2.Rows(X).Item("3月用量") = DR("用量KG").ToString
  147. End If
  148. DR.Close()
  149. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "' AND MONTH(DATE)=4 Group By YEAR(Date), MONTH(Date), Name Order By 化料品名, 年, 月"
  150. cmd.CommandText = sql
  151. DR = cmd.ExecuteReader
  152. If DR.Read() Then
  153. dt2.Rows(X).Item("4月用量") = DR("用量KG").ToString
  154. End If
  155. DR.Close()
  156. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "' AND MONTH(DATE)=5 Group By YEAR(Date), MONTH(Date), Name Order By 化料品名, 年, 月"
  157. cmd.CommandText = sql
  158. DR = cmd.ExecuteReader
  159. If DR.Read() Then
  160. dt2.Rows(X).Item("5月用量") = DR("用量KG").ToString
  161. End If
  162. DR.Close()
  163. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "' AND MONTH(DATE)=6 Group By YEAR(Date), MONTH(Date), Name Order By 化料品名, 年, 月"
  164. cmd.CommandText = sql
  165. DR = cmd.ExecuteReader
  166. If DR.Read() Then
  167. dt2.Rows(X).Item("6月用量") = DR("用量KG").ToString
  168. End If
  169. DR.Close()
  170. sql = "SELECT NAME AS 品名, SUM(QTY1) AS 库存1,SUM(QTY2) AS 库存2, SUM(QTY3) AS 库存3, SUM(QTY1+QTY2+QTY3) AS 合计 FROM RT_CHEM_STOCK Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "' GROUP BY NAME"
  171. sql = "SELECT date,NAME AS 品名, SUM(STOCK1) AS 库存1,SUM(STOCK2) AS 库存2, SUM(STOCK3) AS 库存3, SUM(STOCK1+STOCK2+STOCK3) AS 合计 FROM RT_SYS_CHEM_MAIN Where Name = N'" & DGV2.Rows(X).Cells("化料品名").Value & "' GROUP BY NAME,date"
  172. cmd.CommandText = sql
  173. DR = cmd.ExecuteReader
  174. If DR.Read() Then
  175. dt2.Rows(X).Item("日期") = DR("date").ToString
  176. dt2.Rows(X).Item("库存1") = DR("库存1").ToString
  177. dt2.Rows(X).Item("库存2") = DR("库存2").ToString
  178. dt2.Rows(X).Item("库存3") = DR("库存3").ToString
  179. dt2.Rows(X).Item("合计库存") = DR("合计").ToString
  180. End If
  181. DR.Close()
  182. Next
  183. For X As Integer = 0 To DGV2.Rows.Count - 2
  184. sql = "update rt_sys_chem_main set rcp=1 where name= N'" & DGV2.Rows(X).Cells("化料品名").Value & "'"
  185. cmd.CommandText = sql
  186. cmd.ExecuteScalar()
  187. Next
  188. End Sub
  189. Private Sub DGV2_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV2.CellClick
  190. Dim DT As New DataTable
  191. Dim p() As String
  192. p = Split(DGV2.Rows(DGV2.CurrentRow.Index).Cells("化料品名").Value, " ")
  193. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name like N'%" & p(0) & "%' Group By YEAR(Date), MONTH(Date), Name Order By 化料品名, 年, 月"
  194. cmd.CommandText = sql
  195. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg, COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name = N'" & DGV2.Rows(DGV2.CurrentRow.Index).Cells("化料品名").Value & "' Group By YEAR(Date), MONTH(Date), Name Order By 年, 月 desc"
  196. cmd.CommandText = sql
  197. da.SelectCommand = cmd
  198. da.Fill(DT)
  199. DGV4.DataSource = DT
  200. Dim dt_tech As New DataTable
  201. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,p as 技术员, COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name = N'" & DGV2.Rows(DGV2.CurrentRow.Index).Cells("化料品名").Value & "' Group By YEAR(Date), MONTH(Date), Name,p Order By 年, 月 desc"
  202. cmd.CommandText = sql
  203. da.SelectCommand = cmd
  204. da.Fill(dt_tech)
  205. dgv_tech.DataSource = dt_tech
  206. Dim DT1 As New DataTable
  207. sql = "SELECT NAME AS 品名, QTY1 AS 库存1,QTY2 AS 库存2, QTY3 AS 库存3, QTY1+QTY2+QTY3 AS 合计 FROM RT_CHEM_STOCK Where Name = N'" & DGV2.Rows(DGV2.CurrentRow.Index).Cells("化料品名").Value & "'"
  208. sql = "SELECT date as 日期,NAME AS 品名, SUM(STOCK1) AS 库存1,SUM(STOCK2) AS 库存2, SUM(STOCK3) AS 库存3, SUM(STOCK1+STOCK2+STOCK3) AS 合计 FROM RT_SYS_CHEM_MAIN Where Name = N'" & DGV2.Rows(DGV2.CurrentRow.Index).Cells("化料品名").Value & "' GROUP BY NAME,date"
  209. cmd.CommandText = sql
  210. da.SelectCommand = cmd
  211. da.Fill(DT1)
  212. DGV3.DataSource = DT1
  213. Dim dt2 As New DataTable
  214. sql = "SELECT date as 日期,NAME AS 品名, SUM(STOCK1) AS 库存1,SUM(STOCK2) AS 库存2, SUM(STOCK3) AS 库存3, SUM(STOCK1+STOCK2+STOCK3) AS 合计 FROM RT_CHEM_stock_month1 Where Name = N'" & DGV2.Rows(DGV2.CurrentRow.Index).Cells("化料品名").Value & "' GROUP BY NAME,date"
  215. cmd.CommandText = sql
  216. da.SelectCommand = cmd
  217. da.Fill(dt2)
  218. DataGridView1.DataSource = dt2
  219. DGV4.Columns(0).Width = 60
  220. DGV4.Columns(1).Width = 40
  221. DGV4.Columns(2).Width = 150
  222. DGV4.Columns(3).Width = 70
  223. DGV4.Columns(4).Width = 65
  224. dgv_tech.Columns(0).Width = 60
  225. dgv_tech.Columns(1).Width = 40
  226. dgv_tech.Columns(2).Width = 130
  227. dgv_tech.Columns(3).Width = 70
  228. dgv_tech.Columns(4).Width = 60
  229. dgv_tech.Columns(5).Width = 65
  230. dgv_tech.Columns(6).Width = 65
  231. DGV3.Columns(0).Width = 100
  232. DGV3.Columns(1).Width = 100
  233. DGV3.Columns(2).Width = 65
  234. DGV3.Columns(3).Width = 65
  235. DGV3.Columns(4).Width = 65
  236. DataGridView1.Columns(0).Width = 100
  237. DataGridView1.Columns(1).Width = 100
  238. DataGridView1.Columns(2).Width = 65
  239. DataGridView1.Columns(3).Width = 65
  240. DataGridView1.Columns(4).Width = 65
  241. End Sub
  242. Private Sub DGV2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV2.CellContentClick
  243. End Sub
  244. Private Sub TextBox7_TextChanged(sender As Object, e As EventArgs) Handles TextBox7.TextChanged
  245. End Sub
  246. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  247. Dim mytxt As String = ""
  248. For x As Integer = 0 To ListBox1.Items.Count - 1
  249. mytxt = mytxt & vbCrLf & ListBox1.Items(x).ToString
  250. Next
  251. If Trim(mytxt) <> "" Then
  252. PictureBox1.Image = MakeQrCode(mytxt)
  253. End If
  254. System.Windows.Forms.Clipboard.SetDataObject(PictureBox1.Image, True) '复制到剪贴板
  255. 'Dim xlApp As Excel.Application = New Excel.Application()
  256. 'Dim xlBook As Excel.Workbook
  257. 'Dim xlSheet As Excel.Worksheet
  258. ' xlApp.Visible = True
  259. ' xlBook = xlApp.Workbooks().Add
  260. ' xlSheet = xlBook.Worksheets("工作表1")
  261. ' Dim range As Excel.Range = xlSheet.Range(xlApp.Cells(4, 1), xlApp.Cells(4, 1)) '粘贴图片的位置
  262. 'xlSheet.Paste(range, PictureBox1.Image) '将图片插入Excel
  263. End Sub
  264. Private Sub Button2_Click(sender As Object, e As EventArgs)
  265. Dim p As String
  266. p = InputBox("请输入字串")
  267. ListBox1.Items.Add(p)
  268. End Sub
  269. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  270. End Sub
  271. Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
  272. sql = "delete from rt_retan_rcp_eva"
  273. cmd.CommandText = sql
  274. cmd.ExecuteNonQuery()
  275. For X As Integer = 0 To DGV2.Rows.Count - 2
  276. sql = "insert into rt_retan_rcp_eva (name,percents,qty) values ( N'" & DGV2.Rows(X).Cells("化料品名").Value & "','" & DGV2.Rows(X).Cells("百分比").Value & "','" & DGV2.Rows(X).Cells("用量").Value & "')"
  277. cmd.CommandText = sql
  278. cmd.ExecuteNonQuery()
  279. Next x
  280. End Sub
  281. End Class