No Description
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_AC.vb 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. Imports System.Data.SqlClient
  2. Imports System.Reflection
  3. Public Class Frm_AC
  4. Dim cmd As New SqlCommand
  5. Dim da As New SqlDataAdapter
  6. Dim sql As String
  7. Dim conn As New SqlConnection
  8. Private Sub Frm_AC_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  9. Dim type As Type = DGV1.GetType()
  10. Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  11. pi.SetValue(DGV1, True, Nothing)
  12. conn.ConnectionString = connstring
  13. conn.Open()
  14. cmd.Connection = conn
  15. ListBox1.Items.Add("蓝湿牛二层皮")
  16. ListBox1.Items.Add("制革染料")
  17. ListBox1.Items.Add("无机鞣料")
  18. ListBox1.Items.Add("有机鞣料")
  19. ListBox1.Items.Add("皮革整理剂")
  20. ListBox1.Items.Add("表面活性剂")
  21. ListBox1.Items.Add("合成油脂")
  22. ListBox1.Items.Add("聚氨酯混合液")
  23. ListBox1.Items.Add("皮革促进剂")
  24. ListBox1.Items.Add("合成油脂(矿)")
  25. ListBox1.Items.Add("复鞣助剂")
  26. ListBox1.Items.Add("PU树脂")
  27. ListBox1.Items.Add("牛二层皮1")
  28. ListBox1.Items.Add("牛二层皮2")
  29. ListBox1.Items.Add("牛二层皮3")
  30. ListBox1.Items.Add("牛二层皮4")
  31. ListBox1.Items.Add("牛二层皮5")
  32. ListBox1.Items.Add("牛二层皮6")
  33. ListBox1.Items.Add("PU牛二层皮")
  34. End Sub
  35. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
  36. Dim my_item As String
  37. If Not (ListBox1.Items(ListBox1.SelectedIndex) Like "*蓝湿*") And ListBox1.Items(ListBox1.SelectedIndex) Like "*牛二层*" Then
  38. Select Case ListBox1.Items(ListBox1.SelectedIndex)
  39. Case "牛二层皮1"
  40. my_item = "牛二层反绒皮"
  41. Case "牛二层皮2"
  42. my_item = "牛二层反绒皮2"
  43. Case "牛二层皮3"
  44. my_item = "牛二层反绒皮3"
  45. Case "牛二层皮4"
  46. my_item = "牛二层反绒皮4"
  47. Case "PU牛二层皮"
  48. my_item = "牛二层PU革"
  49. End Select
  50. sql = "SELECT DATE AS 日期, NO AS 单号, M_NAME AS 品名, QTY AS 数量,XNO AS 手册号 FROM RT_AC_finish_in WHERE (M_NAME =N'" & my_item & "') ORDER BY DATe,no"
  51. cmd.CommandText = sql
  52. da.SelectCommand = cmd
  53. Dim DT As New DataTable
  54. da.Fill(DT)
  55. DT.Columns.Add("期初").SetOrdinal(3)
  56. DT.Columns.Add("结存").SetOrdinal(5)
  57. Dim Q_BEGIN As Decimal = 0
  58. Select Case ListBox1.Items(ListBox1.SelectedIndex)
  59. Case "牛二层皮1"
  60. Q_BEGIN = Val(TXT_FM1.Text)
  61. Case "牛二层皮2"
  62. Q_BEGIN = Val(TXT_FM2.Text)
  63. Case "牛二层皮3"
  64. Q_BEGIN = Val(TXT_FM3.Text)
  65. Case "牛二层皮4"
  66. Q_BEGIN = Val(TXT_FM4.Text)
  67. Case "PU牛二层皮"
  68. Q_BEGIN = Val(TXT_PU_FINISH.Text)
  69. End Select
  70. Dim Q_END As Decimal = 0
  71. For X As Integer = 0 To DT.Rows.Count - 1
  72. DT.Rows(X).Item("期初") = Q_BEGIN
  73. If DT.Rows(X).Item("单号").ToString Like "*OUT*" Then
  74. DT.Rows(X).Item("结存") = Q_BEGIN - DT.Rows(X).Item("数量")
  75. Else
  76. DT.Rows(X).Item("结存") = Q_BEGIN + DT.Rows(X).Item("数量")
  77. End If
  78. 'DT.Rows(X).Item("结存") = Q_BEGIN + DT.Rows(X).Item("数量")
  79. Q_BEGIN = DT.Rows(X).Item("结存")
  80. Next
  81. DGV1.DataSource = DT
  82. Dim dt1 As New DataTable
  83. dt1.Columns.Add("日期")
  84. dt1.Columns.Add("单号")
  85. dt1.Columns.Add("品名")
  86. dt1.Columns.Add("期初")
  87. dt1.Columns.Add("数量")
  88. dt1.Columns.Add("结存")
  89. Dim myRow As DataRow
  90. For x As Integer = 0 To DT.Rows.Count - 1
  91. If Val(DT.Rows(x).Item("结存")) < 0 Then
  92. myRow = dt1.NewRow
  93. myRow(0) = DT.Rows(x).Item("日期")
  94. myRow(1) = DT.Rows(x).Item("单号")
  95. myRow(2) = DT.Rows(x).Item("品名")
  96. myRow(3) = DT.Rows(x).Item("期初")
  97. myRow(4) = DT.Rows(x).Item("数量")
  98. myRow(5) = DT.Rows(x).Item("结存")
  99. dt1.Rows.InsertAt(myRow, dt1.Rows.Count)
  100. End If
  101. Next
  102. dgv2.DataSource = dt1
  103. Else
  104. sql = "SELECT DATE AS 日期, NO AS 单号, M_NAME AS 品名, QTY AS 数量,XNO AS 手册号 FROM RT_AC_M_IN WHERE (M_NAME =N'" & ListBox1.Items(ListBox1.SelectedIndex) & "') ORDER BY DATE,no"
  105. cmd.CommandText = sql
  106. da.SelectCommand = cmd
  107. Dim DT As New DataTable
  108. da.Fill(DT)
  109. DT.Columns.Add("期初").SetOrdinal(3)
  110. DT.Columns.Add("结存").SetOrdinal(5)
  111. Dim Q_BEGIN As Decimal = 0
  112. Select Case ListBox1.Items(ListBox1.SelectedIndex)
  113. Case "蓝湿牛二层皮"
  114. Q_BEGIN = Val(TXT_WB.Text)
  115. Case "制革染料"
  116. Q_BEGIN = Val(TXT_DYE.Text)
  117. Case "无机鞣料"
  118. Q_BEGIN = Val(TXT_TAN_0.Text)
  119. Case "有机鞣料"
  120. Q_BEGIN = Val(TXT_TAN_1.Text)
  121. Case "皮革整理剂"
  122. Q_BEGIN = Val(TXT_AU.Text)
  123. Case "表面活性剂"
  124. Q_BEGIN = Val(TXT_AU1.Text)
  125. Case "合成油脂"
  126. Q_BEGIN = Val(TXT_OIL1.Text)
  127. Case "聚氨酯混合液"
  128. Q_BEGIN = Val(TXT_PU_FINISH.Text)
  129. Case "皮革促进剂"
  130. Q_BEGIN = Val(TXT_PU_AU.Text)
  131. Case "合成油脂(矿)"
  132. Q_BEGIN = Val(TXT_OIL0.Text)
  133. Case "复鞣助剂"
  134. Q_BEGIN = Val(TXT_TAN_2.Text)
  135. Case "PU树脂"
  136. Q_BEGIN = Val(TXT_PU.Text)
  137. End Select
  138. Dim Q_END As Decimal = 0
  139. For X As Integer = 0 To DT.Rows.Count - 1
  140. DT.Rows(X).Item("期初") = Q_BEGIN
  141. If DT.Rows(X).Item("单号").ToString Like "*OUT*" Then
  142. DT.Rows(X).Item("结存") = Q_BEGIN - DT.Rows(X).Item("数量")
  143. Else
  144. DT.Rows(X).Item("结存") = Q_BEGIN + DT.Rows(X).Item("数量")
  145. End If
  146. 'DT.Rows(X).Item("结存") = Q_BEGIN + DT.Rows(X).Item("数量")
  147. Q_BEGIN = DT.Rows(X).Item("结存")
  148. Next
  149. DGV1.DataSource = DT
  150. Dim dt1 As New DataTable
  151. dt1.Columns.Add("日期")
  152. dt1.Columns.Add("单号")
  153. dt1.Columns.Add("品名")
  154. dt1.Columns.Add("期初")
  155. dt1.Columns.Add("数量")
  156. dt1.Columns.Add("结存")
  157. Dim myRow As DataRow
  158. For x As Integer = 0 To DT.Rows.Count - 1
  159. If Val(DT.Rows(x).Item("结存")) < 0 Then
  160. myRow = dt1.NewRow
  161. myRow(0) = DT.Rows(x).Item("日期")
  162. myRow(1) = DT.Rows(x).Item("单号")
  163. myRow(2) = DT.Rows(x).Item("品名")
  164. myRow(3) = DT.Rows(x).Item("期初")
  165. myRow(4) = DT.Rows(x).Item("数量")
  166. myRow(5) = DT.Rows(x).Item("结存")
  167. dt1.Rows.InsertAt(myRow, dt1.Rows.Count)
  168. End If
  169. Next
  170. dgv2.DataSource = dt1
  171. End If
  172. End Sub
  173. End Class