Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

Frm_ACC_Edit.vb 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. Imports System.Data.SqlClient
  2. Public Class Frm_ACC_Edit
  3. Dim cmd As New SqlCommand
  4. Dim da As New SqlDataAdapter
  5. Dim my_year111 As Integer
  6. Dim my_month111 As Integer
  7. 'Dim my_year As Integer
  8. Dim dt1 As New DataTable
  9. Dim sql As String
  10. Dim conn As New SqlConnection
  11. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  12. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  13. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  14. Dim xlRange As Microsoft.Office.Interop.Excel.Range
  15. Dim PTCache As Microsoft.Office.Interop.Excel.PivotCache
  16. Dim PT As Microsoft.Office.Interop.Excel.PivotTable
  17. Dim io_type As String
  18. Private Sub Frm_ACC_Edit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  19. conn.ConnectionString = connstring
  20. conn.Open()
  21. cmd.Connection = conn
  22. ListBox1.Items.Add("保税入库")
  23. ' ListBox1.Items.Add("调拨出库")
  24. ListBox1.Items.Add("生产领料")
  25. ' ListBox1.Items.Add("在制品入库")
  26. ' ListBox1.Items.Add("在制品出库")
  27. ListBox1.Items.Add("成品入库")
  28. ListBox1.Items.Add("成品出库")
  29. End Sub
  30. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
  31. Dim my_query As String = ""
  32. Dim my_bg_no As String = ""
  33. Dim my_column As Integer
  34. Select Case ListBox1.Items(ListBox1.SelectedIndex).ToString
  35. Case "保税入库"
  36. sql = "SELECT DISTINCT
  37. rt_stock_bill.FInterID AS ID, rt_stock_bill.FDate AS 日期, rt_stock_bill.FBillNo AS 单号, rt_stock_bill1.FEntrySelfA0132 AS 手册号, CAST(rt_stock_bill1.FQty AS decimal(10, 1)) AS 数量, cast(rt_icpurchaseentry.FPrice as decimal(10,3)) as 单价, rt_icpurchase.FExchangeRate as 汇率, rt_t_item.FName as 品名, rt_t_item_1.FName AS Expr1, rt_stock_bill1.FSourceBillNo AS 源单号 FROM rt_stock_bill INNER JOIN rt_stock_bill1 ON rt_stock_bill.FInterID = rt_stock_bill1.FInterID INNER JOIN rt_t_item ON rt_stock_bill1.FItemID = rt_t_item.FItemID INNER JOIN rt_t_item AS rt_t_item_1 ON rt_stock_bill1.FDCStockID = rt_t_item_1.FItemID INNER JOIN rt_icpurchase ON rt_stock_bill1.FSourceBillNo = rt_icpurchase.FBillNo INNER JOIN rt_icpurchaseentry ON rt_icpurchase.FInterID = rt_icpurchaseentry.FInterID WHERE (rt_stock_bill.FBillNo LIKE 'win%') AND (rt_stock_bill1.FEntrySelfA0132 IS NULL)ORDER BY 日期 DESC"
  38. sql = "SELECT DISTINCT
  39. rt_stock_bill.FInterID AS ID, rt_stock_bill.FDate AS 日期, rt_stock_bill.FBillNo AS 单号,
  40. rt_stock_bill1.FEntrySelfA0132 AS 手册号, CAST(rt_stock_bill1.FQty AS decimal(10, 1)) AS 数量,
  41. CAST(rt_stock_bill1.FPrice / rt_icpurchase.FExchangeRate AS decimal(10, 3)) AS 美金,
  42. CAST(rt_stock_bill1.FPrice AS decimal(10, 3)) AS 人民币, rt_t_item.FName AS 品名, rt_t_item_1.FName AS 仓库,
  43. rt_stock_bill1.FSourceBillNo AS 源单号, rt_icpurchase.FExchangeRate AS 汇率
  44. FROM rt_stock_bill INNER JOIN
  45. rt_stock_bill1 ON rt_stock_bill.FInterID = rt_stock_bill1.FInterID INNER JOIN
  46. rt_t_item ON rt_stock_bill1.FItemID = rt_t_item.FItemID INNER JOIN
  47. rt_t_item AS rt_t_item_1 ON rt_stock_bill1.FDCStockID = rt_t_item_1.FItemID INNER JOIN
  48. rt_icpurchase ON rt_stock_bill1.FSourceBillNo = rt_icpurchase.FBillNo
  49. WHERE (rt_stock_bill.FBillNo LIKE 'win%') AND (rt_stock_bill1.FEntrySelfA0132 IS NULL)
  50. ORDER BY 日期 DESC"
  51. my_column = 9
  52. 'Case "调拨出库"
  53. ' Exit Sub
  54. Case "生产领料"
  55. sql = "SELECT DISTINCT
  56. rt_stock_bill.FInterID AS ID, rt_stock_bill.FDate AS 日期, rt_stock_bill.FBillNo AS 单号,
  57. CAST(rt_stock_bill1.FQty AS decimal(10, 1)) AS 数量, rt_t_item.FName AS 品名,
  58. rt_stock_bill1.FEntrySelfB0430 AS 手册号
  59. FROM rt_stock_bill INNER JOIN
  60. rt_stock_bill1 ON rt_stock_bill.FInterID = rt_stock_bill1.FInterID INNER JOIN
  61. rt_t_item ON rt_stock_bill1.FItemID = rt_t_item.FItemID INNER JOIN
  62. rt_t_item AS rt_t_item_1 ON rt_stock_bill1.FDCStockID = rt_t_item_1.FItemID
  63. WHERE (rt_stock_bill.FBillNo LIKE 'sout%') AND (rt_stock_bill1.FEntrySelfB0430 IS NULL)
  64. ORDER BY 日期 DESC"
  65. 'Case "在制品入库"
  66. 'Case "在制品出库"
  67. Case "成品入库"
  68. sql = "SELECT DISTINCT
  69. rt_stock_bill.FInterID AS ID, rt_stock_bill.FDate AS 日期, rt_stock_bill.FBillNo AS 单号,
  70. CAST(rt_stock_bill1.FQty AS decimal(10, 1)) AS 数量, rt_t_item.FName AS 品名, rt_t_item_1.FName AS Expr1,
  71. rt_stock_bill1.FEntrySelfA0231 AS 手册号
  72. FROM rt_stock_bill INNER JOIN
  73. rt_stock_bill1 ON rt_stock_bill.FInterID = rt_stock_bill1.FInterID INNER JOIN
  74. rt_t_item ON rt_stock_bill1.FItemID = rt_t_item.FItemID INNER JOIN
  75. rt_t_item AS rt_t_item_1 ON rt_stock_bill1.FDCStockID = rt_t_item_1.FItemID
  76. WHERE (rt_stock_bill.FBillNo LIKE 'cin%') AND (rt_stock_bill1.FEntrySelfA0231 IS NULL)
  77. ORDER BY 日期 DESC"
  78. Case "成品出库"
  79. sql = "SELECT DISTINCT
  80. rt_stock_bill.FInterID AS ID, rt_stock_bill.FDate AS 日期, rt_stock_bill.FBillNo AS 单号,
  81. CAST(rt_stock_bill1.FQty AS decimal(10, 1)) AS 数量, rt_t_item.FName AS 品名, rt_t_item_1.FName AS Expr1,
  82. rt_stock_bill1.FEntrySelfB0138 as 手册号
  83. FROM rt_stock_bill INNER JOIN
  84. rt_stock_bill1 ON rt_stock_bill.FInterID = rt_stock_bill1.FInterID INNER JOIN
  85. rt_t_item ON rt_stock_bill1.FItemID = rt_t_item.FItemID INNER JOIN
  86. rt_t_item AS rt_t_item_1 ON rt_stock_bill1.FDCStockID = rt_t_item_1.FItemID
  87. WHERE (rt_stock_bill.FBillNo LIKE 'xout%') AND (rt_stock_bill1.FEntrySelfB0138 IS NULL)
  88. ORDER BY 日期 DESC"
  89. End Select
  90. ' sql = "SELECT rt_stock_bill.finterid as ID,rt_stock_bill.FDate AS 日期, rt_stock_bill.FBillNo AS 单号, rt_stock_bill1.FEntrySelfA0132 AS 手册号, CAST(rt_stock_bill1.FQty AS decimal(10, 1)) AS 数量, rt_stock_bill1.FItemID, rt_t_item.FName, rt_t_item_1.FName AS Expr1 FROM rt_stock_bill INNER JOIN rt_stock_bill1 ON rt_stock_bill.FInterID = rt_stock_bill1.FInterID INNER JOIN rt_t_item ON rt_stock_bill1.FItemID = rt_t_item.FItemID INNER JOIN rt_t_item AS rt_t_item_1 ON rt_stock_bill1.FDCStockID = rt_t_item_1.FItemID WHERE (rt_stock_bill.FBillNo LIKE '" & my_query & "%') AND (" & my_bg_no & " IS NULL) ORDER BY 日期 DESC"
  91. dt1 = New DataTable
  92. cmd.CommandText = sql
  93. da.SelectCommand = cmd
  94. da.Fill(dt1)
  95. dgv1.DataSource = dt1
  96. ' dgv1.Columns("源单号").Width = 120
  97. dgv1.Columns("id").Width = 70
  98. dgv1.Columns("手册号").Width = 120
  99. dgv1.Columns("单号").Width = 120
  100. If ListBox1.Items(ListBox1.SelectedIndex).ToString = "保税入库" Then
  101. dgv1.Columns("源单号").Width = 120
  102. dgv1.Columns("id").Width = 70
  103. dgv1.Columns("手册号").Width = 120
  104. End If
  105. Set_grid_color(ListBox1.Items(ListBox1.SelectedIndex).ToString)
  106. End Sub
  107. Private Sub Set_grid_color(x_type As String)
  108. Dim my_column As String
  109. If x_type = "保税入库" Then
  110. my_column = "源单号"
  111. ElseIf x_type = "生产领料" Then
  112. my_column = "单号"
  113. Else
  114. Exit Sub
  115. End If
  116. Dim colorArray(10) As Color
  117. colorArray(0) = Color.FromName("Aquamarine")
  118. colorArray(1) = Color.FromName("azure")
  119. colorArray(2) = Color.FromName("beige")
  120. colorArray(3) = Color.FromName("gainsboro")
  121. colorArray(4) = Color.FromName("LightBlue")
  122. colorArray(5) = Color.FromName("LightSalmon")
  123. Dim c As Integer = 1
  124. Dim p(500) As Integer
  125. Dim x As Integer
  126. p(1) = 0
  127. For x = 1 To dgv1.Rows.Count - 2
  128. If dgv1.Rows(x).Cells(my_column).Value.ToString <> dgv1.Rows(x - 1).Cells(my_column).Value.ToString Then
  129. p(c + 1) = x
  130. c = c + 1
  131. End If
  132. Next
  133. p(c + 1) = x
  134. ReDim Preserve p(x)
  135. If c = 1 Then
  136. For z As Integer = 0 To x - 1
  137. dgv1.Rows(z).DefaultCellStyle.BackColor = colorArray(1)
  138. Next
  139. Else
  140. For cc As Integer = 1 To c
  141. For z As Integer = p(cc) To p(cc + 1) - 1
  142. dgv1.Rows(z).DefaultCellStyle.BackColor = colorArray(cc Mod 5)
  143. Next
  144. Next
  145. End If
  146. End Sub
  147. Private Sub dgv1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgv1.CellValueChanged
  148. Dim my_xno As String
  149. Dim my_billno As String
  150. Dim my_id As Integer
  151. my_xno = dgv1.Rows(e.RowIndex).Cells("手册号").Value.ToString
  152. my_id = dgv1.Rows(e.RowIndex).Cells("id").Value
  153. Select Case ListBox1.Items(ListBox1.SelectedIndex).ToString
  154. Case "保税入库"
  155. sql = "update DB_zhou1.ais20200629122625.dbo.icstockbillentry set FEntrySelfA0132='" & my_xno & "' where finterid='" & my_id & "'"
  156. cmd.CommandText = sql
  157. cmd.ExecuteNonQuery()
  158. sql = "insert into rt_update_xno (finterid) values(" & my_id & ")"
  159. cmd.CommandText = sql
  160. cmd.ExecuteNonQuery()
  161. MsgBox("更新完成")
  162. Case "成品入库"
  163. sql = "update DB_zhou1.ais20200629122625.dbo.icstockbillentry set FEntrySelfA0231='" & my_xno & "' where finterid='" & my_id & "'"
  164. cmd.CommandText = sql
  165. cmd.ExecuteNonQuery()
  166. sql = "insert into rt_update_xno (finterid,io_type) values(" & my_id & ",N'成品入库')"
  167. cmd.CommandText = sql
  168. cmd.ExecuteNonQuery()
  169. MsgBox("更新完成")
  170. Case "成品出库"
  171. sql = "update DB_zhou1.ais20200629122625.dbo.icstockbillentry set FEntrySelfB0138='" & my_xno & "' where finterid='" & my_id & "'"
  172. cmd.CommandText = sql
  173. cmd.ExecuteNonQuery()
  174. sql = "insert into rt_update_xno (finterid,io_type) values(" & my_id & ",N'成品出库')"
  175. cmd.CommandText = sql
  176. cmd.ExecuteNonQuery()
  177. MsgBox("更新完成")
  178. Case "生产领料"
  179. sql = "update DB_zhou1.ais20200629122625.dbo.icstockbillentry set FEntrySelfB0430='" & my_xno & "' where finterid='" & my_id & "'"
  180. cmd.CommandText = sql
  181. cmd.ExecuteNonQuery()
  182. sql = "insert into rt_update_xno (finterid,io_type) values(" & my_id & ",N'生产领料')"
  183. cmd.CommandText = sql
  184. cmd.ExecuteNonQuery()
  185. MsgBox("更新完成")
  186. End Select
  187. End Sub
  188. End Class