暫無描述
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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871
  1. Imports System.Data.SqlClient
  2. Imports System.Reflection
  3. Public Class FrmBG
  4. Dim cmd As New SqlCommand
  5. Dim da As New SqlDataAdapter
  6. Dim dt As New DataTable
  7. Dim sql As String
  8. Dim conn As New SqlConnection
  9. Private dateTimePicker1 As DateTimePicker
  10. Dim p() As String
  11. Private Sub FrmBG_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  12. Me.MdiParent = FrmMDI
  13. Dim type As Type = DGV_IN.GetType()
  14. Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  15. pi.SetValue(DGV_IN, True, Nothing)
  16. Dim type1 As Type = DGV_OUT.GetType()
  17. pi = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  18. pi.SetValue(DGV_OUT, True, Nothing)
  19. Dim DR As SqlDataReader
  20. conn.ConnectionString = connstring
  21. conn.Open()
  22. cmd.Connection = conn
  23. sql = "SELECT NO as 手册号,until as 有效期,case when checked='true' then N'已核销' else N'未核销' end as checked FROM RT_BG_MAIN ORDER BY SERIAL"
  24. cmd.CommandText = sql
  25. DR = cmd.ExecuteReader
  26. While DR.Read
  27. ListBox1.Items.Add(DR("手册号") & " " & DR("有效期") & " " & DR("checked"))
  28. End While
  29. DR.Close()
  30. 'DGV1.DataSource = dt
  31. DGV1.RowHeadersVisible = False
  32. End Sub
  33. Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
  34. p = Split(ListBox1.Items(ListBox1.SelectedIndex).ToString, " ")
  35. dt.Clear()
  36. sql = "SELECT * FROM RT_BG_MAIN WHERE NO='" & p(0) & "'"
  37. cmd.CommandText = sql
  38. Dim DR As SqlDataReader
  39. DR = cmd.ExecuteReader
  40. DR.Read()
  41. 'TXT_VALID.Text = DR("UNTIL").ToString
  42. 'TXT_WB.Text = DR("WB_IN_QTY").ToString
  43. 'TXT_CHEM.Text = DR("CHEM_IN_QTY").ToString
  44. 'TXT_CHEM_ITEM.Text = DR("IMPORT_ITEM").ToString
  45. 'TXT_FEE.Text = DR("PROCESS_FEE").ToString
  46. 'TXT_FINISH_ITEM.Text = DR("EXPORT_ITEM").ToString
  47. 'TXT_FINISH_QTY.Text = DR("OUT_QTY").ToString
  48. DR.Close()
  49. sql = "SELECT no,NAME AS 品名, QTY AS 审批数量 FROM RT_BG_IN WHERE NO='" & p(0) & "' ORDER BY SERIAL"
  50. cmd.CommandText = sql
  51. dt = New DataTable
  52. Dim DA As New SqlDataAdapter
  53. DA.SelectCommand = cmd
  54. DA.Fill(dt)
  55. dt.Columns.Add("已进/出数量", GetType(System.Double))
  56. For x As Integer = 0 To dt.Rows.Count - 1
  57. sql = "select sum(qty) from rt_bg_in_detail where xno='" & dt.Rows(x).Item("no") & "' And NAME =N'" & dt.Rows(x).Item("品名") & "' and (matl_name not like N'%内销%' and matl_name not like N'%退港%') and qty>0 "
  58. cmd.CommandText = sql
  59. Dim my_qty As Double = 0
  60. If IsDBNull(cmd.ExecuteScalar) Then
  61. Else
  62. my_qty = cmd.ExecuteScalar
  63. End If
  64. dt.Rows(x).Item("已进/出数量") = my_qty
  65. Next
  66. For x As Integer = 0 To dt.Rows.Count - 1
  67. If (dt.Rows(x).Item("品名") Like "*牛二层皮*" Or dt.Rows(x).Item("品名") Like "*削匀皮*") And Not (dt.Rows(x).Item("品名") Like "蓝湿*") Then
  68. sql = "select CAST(sum(qty) AS NUMERIC(10,3)) from rt_bg_out where xno='" & dt.Rows(x).Item("no") & "' And NAME =N'" & dt.Rows(x).Item("品名") & "'"
  69. cmd.CommandText = sql
  70. Dim my_qty As Double = 0
  71. If IsDBNull(cmd.ExecuteScalar) Then
  72. Else
  73. my_qty = cmd.ExecuteScalar
  74. End If
  75. dt.Rows(x).Item("已进/出数量") = my_qty
  76. End If
  77. Next
  78. DGV1.DataSource = dt
  79. 'DGV1.Columns(3).DefaultCellStyle.Format = "N2"
  80. 'DGV1.Columns(2).DefaultCellStyle.Format = "N2"
  81. DGV1.Columns(2).DefaultCellStyle.Format = "###,###,###.###"
  82. DGV1.Columns(3).DefaultCellStyle.Format = "###,###,###.###"
  83. DGV1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  84. DGV1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  85. DGV1.Columns(0).Visible = False
  86. DGV1.Columns(1).Width = 120
  87. Dim DT2 As New DataTable
  88. sql = "SELECT date1 AS 报关日期, DATE2 AS 进厂日期,NO AS 报关单号, NAME AS 品名, QTY AS 重量, PRICE AS 单价, ORIGIN AS 产地, matl_name as 材料名,id FROM RT_BG_IN_DETAIL WHERE XNO='" & p(0) & "' order by date1 desc" '---进口明细
  89. cmd.CommandText = sql
  90. DA.SelectCommand = cmd
  91. DA.Fill(DT2)
  92. DGV_IN.DataSource = DT2
  93. DGV_IN.Columns(0).Width = 100
  94. DGV_IN.Columns(1).Width = 100
  95. DGV_IN.Columns(2).Width = 180
  96. DGV_IN.Columns(3).Width = 120
  97. DGV_IN.Columns(4).Width = 80
  98. DGV_IN.Columns(5).Width = 60
  99. DGV_IN.Columns(6).Width = 70
  100. DGV_IN.Columns(7).Width = 180
  101. 'DGV_IN.Columns(7).Width = 200
  102. Dim DT1 As New DataTable
  103. sql = "SELECT date0 as 出厂日期,date1 AS 报关日期, NO AS 报关单号, NAME AS 品名, QTY AS 重量, cast(TOTAL/qty as numeric(10,1)) AS 单价,FEE AS 加工费, DES AS 目地的,COMMENT AS 客户,BOL_NO AS 备注,date1 as 日期 FROM RT_BG_OUT WHERE XNO='" & p(0) & "' ORDER BY 报关日期 DESC " '------出口
  104. cmd.CommandText = sql
  105. DA.SelectCommand = cmd
  106. DA.Fill(DT1)
  107. DGV_OUT.DataSource = DT1
  108. DGV_OUT.Columns(0).Width = 100
  109. DGV_OUT.Columns(1).Width = 100
  110. DGV_OUT.Columns(2).Width = 180
  111. DGV_OUT.Columns(3).Width = 140
  112. DGV_OUT.Columns(4).Width = 60
  113. DGV_OUT.Columns(5).Width = 60
  114. DGV_OUT.Columns(6).Width = 60
  115. DGV_OUT.Columns(7).Width = 80
  116. DGV_OUT.Columns(8).Width = 80
  117. DGV_OUT.Columns(9).Width = 150
  118. End Sub
  119. Private Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick
  120. Dim p() As String
  121. p = Split(ListBox1.Items(ListBox1.SelectedIndex), vbTab)
  122. xno = p(0)
  123. Dim my_form As New Frm_BG_sum
  124. my_form.Show(Me)
  125. 'Dim MY_FORM As New Frm_BG_sum
  126. 'my_form.ShowDialog()
  127. End Sub
  128. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '--------输入进口资料
  129. 'Frm_BG_CHEMIN_CHOOSE.ShowDialog()
  130. Dim my_id As Integer = 0
  131. sql = "select id from rt_bg_in_detail order by id desc"
  132. cmd.CommandText = sql
  133. my_id = cmd.ExecuteScalar + 1
  134. Dim my_qty As Double = InputBox("请输入重量")
  135. Dim my_price As Double = InputBox("请输入单价")
  136. Dim source As String = InputBox("请输入产地")
  137. Dim my_source As String = InputBox("请输入品名")
  138. Dim no As String = InputBox("请输入报关号")
  139. Dim p() As String
  140. p = Split(ListBox1.Items(ListBox1.SelectedIndex), " ")
  141. sql = "select qty from rt_bg_in_detail where qty='" & my_qty & "' and xno='" & p(0) & "' and no='" & no & "'"
  142. cmd.CommandText = sql
  143. If cmd.ExecuteScalar <> Nothing Then
  144. If Not (IsDBNull(cmd.ExecuteScalar)) Then
  145. Dim my_msg As String = MsgBox("已存在记录, 是否新增?", vbYesNo)
  146. If my_msg = vbYes Then
  147. sql = "insert into rt_bg_in_detail (no,bg_date,origin,xno,name,date1,qty,price,matl_name,id) values(N'" & no & "','" & String.Format("{0:yyyMMdd}", dtp1.Value) & "',N'" & source & "',N'" & p(0) & "',N'" & DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value & "','" & String.Format("{0:d}", dtp1.Value) & "','" & my_qty & "','" & my_price & "',N'" & my_source & "','" & my_id & "')"
  148. cmd.CommandText = sql
  149. cmd.ExecuteScalar()
  150. Else
  151. Exit Sub
  152. End If
  153. Else
  154. sql = "insert into rt_bg_in_detail (no,bg_date,origin,xno,name,date1,qty,price,matl_name,id) values(N'" & no & "','" & String.Format("{0:yyyMMdd}", dtp1.Value) & "',N'" & source & "',N'" & p(0) & "',N'" & DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value & "','" & String.Format("{0:d}", dtp1.Value) & "','" & my_qty & "','" & my_price & "',N'" & my_source & "','" & my_id & "')"
  155. cmd.CommandText = sql
  156. cmd.ExecuteScalar()
  157. End If
  158. Else
  159. sql = "insert into rt_bg_in_detail (no,bg_date,origin,xno,name,date1,qty,price,matl_name,id) values(N'" & no & "','" & String.Format("{0:yyyMMdd}", dtp1.Value) & "',N'" & source & "',N'" & p(0) & "',N'" & DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value & "','" & String.Format("{0:d}", dtp1.Value) & "','" & my_qty & "','" & my_price & "',N'" & my_source & "','" & my_id & "')"
  160. cmd.CommandText = sql
  161. cmd.ExecuteScalar()
  162. End If
  163. MsgBox("录入完成")
  164. End Sub
  165. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '------输入出口资料
  166. If DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮1" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮2" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮3" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮4" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮5" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮6" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮7" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮8" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "PU牛二层皮2" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "PU牛二层皮3" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "PU牛二层皮4" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "PU牛二层皮5" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "PU牛二层皮6" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "削匀皮" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮9" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "牛二层皮10" And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value <> "PU牛二层皮7" Then
  167. MsgBox("请选择正确出口品名")
  168. Exit Sub
  169. Else
  170. End If
  171. Dim my_qty As Double
  172. my_qty = InputBox("请输入重量")
  173. Dim my_price As Double
  174. my_price = InputBox("请输入成品总价")
  175. Dim my_price1 As Double
  176. my_price1 = InputBox("请输入加工费")
  177. Dim my_cust As String
  178. my_cust = InputBox("请输入客户")
  179. Dim des As String
  180. des = InputBox("请输入目地国")
  181. Dim no As String
  182. no = InputBox("请输入报关单号")
  183. Dim p() As String
  184. p = Split(ListBox1.Items(ListBox1.SelectedIndex), " ")
  185. sql = "select qty from rt_bg_out where qty='" & my_qty & "' and xno='" & p(0) & "' and no='" & no & "'"
  186. cmd.CommandText = sql
  187. If cmd.ExecuteScalar <> Nothing Then
  188. If Not (IsDBNull(cmd.ExecuteScalar)) Then
  189. Dim my_msg As String = MsgBox("已存在记录, 是否新增?", vbYesNo)
  190. If my_msg = vbYes Then
  191. sql = "insert into rt_bg_out (des,no,xno,name,date,date1,qty,total,fee,comment) values(N'" & des & "','" & no & "','" & p(0) & "',N'" &
  192. DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value & "','" & String.Format("{0:d}", dtp1.Value) & "','" & String.Format("{0:d}", dtp1.Value) & "','" & my_qty & "','" & my_price & "','" & my_price1 * my_qty & "',N'" & my_cust & "')"
  193. cmd.CommandText = sql
  194. cmd.ExecuteScalar()
  195. MsgBox("录入完成")
  196. Else
  197. Exit Sub
  198. End If
  199. Else
  200. sql = "insert into rt_bg_out (des,no,xno,name,date,date1,qty,total,fee,comment) values(N'" & des & "','" & no & "','" & p(0) & "',N'" &
  201. DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value & "','" & String.Format("{0:d}", dtp1.Value) & "','" & String.Format("{0:d}", dtp1.Value) & "','" & my_qty & "','" & my_price & "','" & my_price1 * my_qty & "',N'" & my_cust & "')"
  202. cmd.CommandText = sql
  203. cmd.ExecuteScalar()
  204. End If
  205. Else
  206. sql = "insert into rt_bg_out (des,no,xno,name,date,date1,qty,total,fee,comment) values(N'" & des & "','" & no & "','" & p(0) & "',N'" &
  207. DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells(1).Value & "','" & String.Format("{0:d}", dtp1.Value) & "','" & String.Format("{0:d}", dtp1.Value) & "','" & my_qty & "','" & my_price & "','" & my_price1 * my_qty & "',N'" & my_cust & "')"
  208. cmd.CommandText = sql
  209. cmd.ExecuteScalar()
  210. End If
  211. MsgBox("录入完成")
  212. End Sub
  213. Private Sub DGV1_CellMouseUp(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV1.CellMouseUp
  214. Dim p() As String
  215. p = Split(ListBox1.Items(ListBox1.SelectedIndex).ToString, " ")
  216. If (DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮2" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮1" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮4" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮3" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮2" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮3" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮4" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮5" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮6" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮7" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮8" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮9" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "牛二层皮10" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮5" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮6" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "PU牛二层皮7" Or DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value = "削匀皮") And DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value <> "蓝湿牛二层皮" Then
  217. Dim DT1 As New DataTable
  218. sql = "SELECT date0 as 出厂日期,date1 AS 报关日期, NO AS 报关单号, NAME AS 品名, QTY AS 重量, cast(TOTAL/qty as numeric(10,1)) AS 单价,FEE AS 加工费, DES AS 目地的,COMMENT AS 客户 FROM RT_BG_OUT WHERE XNO='" & p(0) & "' and name=N'" & DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value & "' ORDER BY date1 DESC "
  219. cmd.CommandText = sql
  220. da.SelectCommand = cmd
  221. da.Fill(DT1)
  222. Dim myRow As DataRow
  223. myRow = DT1.NewRow
  224. If IsDBNull(DT1.Compute("sum(重量)", "")) Then
  225. myRow(3) = 0
  226. Else
  227. myRow(3) = Math.Round(DT1.Compute("sum(重量)", ""), 1)
  228. End If
  229. myRow(2) = "合计"
  230. DT1.Rows.InsertAt(myRow, 0)
  231. DGV_OUT.DataSource = DT1
  232. DGV_OUT.Columns(0).Width = 100
  233. DGV_OUT.Columns(1).Width = 100
  234. DGV_OUT.Columns(2).Width = 180
  235. DGV_OUT.Columns(3).Width = 120
  236. DGV_OUT.Columns(4).Width = 80
  237. DGV_OUT.Columns(5).Width = 60
  238. DGV_OUT.Columns(6).Width = 60
  239. DGV_OUT.Columns(7).Width = 80
  240. DGV_OUT.Columns(8).Width = 80
  241. ' DGV_OUT.Columns(8).Width = 150
  242. DGV_OUT.Rows(0).Cells(0).Style.ForeColor = Color.Red
  243. DGV_OUT.Rows(0).Cells(1).Style.ForeColor = Color.Red
  244. DGV_OUT.Rows(0).Cells(2).Style.ForeColor = Color.Red
  245. DGV_OUT.Rows(0).Cells(3).Style.ForeColor = Color.Red
  246. Else
  247. Dim dt2 As New DataTable
  248. sql = "SELECT date1 AS 报关日期,date2 as 进厂日期, NO AS 报关单号, NAME AS 品名, QTY AS 重量, PRICE AS 单价, ORIGIN AS 产地, matl_name as 材料名,id FROM RT_BG_IN_DETAIL WHERE XNO='" & p(0) & "' and name=N'" & DGV1.Rows(DGV1.CurrentCell.RowIndex).Cells("品名").Value & "' order by date1 desc"
  249. cmd.CommandText = sql
  250. da.SelectCommand = cmd
  251. da.Fill(dt2)
  252. Dim myDataRow As DataRow
  253. myDataRow = dt2.NewRow
  254. myDataRow(3) = dt2.Compute("sum(重量)", "")
  255. myDataRow(2) = "合计"
  256. dt2.Rows.InsertAt(myDataRow, 0)
  257. DGV_IN.DataSource = dt2
  258. DGV_IN.Rows(0).Cells(0).Style.ForeColor = Color.Red
  259. DGV_IN.Rows(0).Cells(1).Style.ForeColor = Color.Red
  260. DGV_IN.Rows(0).Cells(2).Style.ForeColor = Color.Red
  261. DGV_IN.Rows(0).Cells(3).Style.ForeColor = Color.Red
  262. DGV_IN.Columns(0).Width = 100
  263. DGV_IN.Columns(1).Width = 100
  264. DGV_IN.Columns(2).Width = 180
  265. DGV_IN.Columns(3).Width = 120
  266. DGV_IN.Columns(4).Width = 80
  267. DGV_IN.Columns(5).Width = 60
  268. DGV_IN.Columns(6).Width = 70
  269. DGV_IN.Columns(7).Width = 180
  270. 'DGV_IN.Columns(7).Width = 200
  271. End If
  272. End Sub
  273. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '------更新进口数据
  274. Dim my_date As String
  275. Dim my_date1 As String
  276. Dim my_name As String
  277. my_date = InputBox("请输入进厂日期")
  278. If IsDate(my_date) Then
  279. ' MsgBox("日期格式正确")
  280. Else
  281. MsgBox("请输入正确日期")
  282. Exit Sub
  283. End If
  284. my_name = InputBox("请输入" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("id").Value & "品名", vbOKCancel)
  285. If my_name = "" Then Exit Sub
  286. 'For x As Integer = 0 To DGV_IN.Rows.Count - 1
  287. ' sql = "update RT_bg_in_detail set bg_date=N'" & DGV_IN.Rows(x).Cells("报关日期").Value & "',DATE1=N'" & DGV_IN.Rows(x).Cells("报关日期").Value & "',DATE2=N'" & DGV_IN.Rows(x).Cells("进厂日期").Value & "',no=N'" & DGV_IN.Rows(x).Cells("报关单号").Value & "',name=N'" & DGV_IN.Rows(x).Cells("品名").Value & "',qty=N'" & DGV_IN.Rows(x).Cells("重量").Value & "',price='" & DGV_IN.Rows(x).Cells("单价").Value & "',origin=N'" & DGV_IN.Rows(x).Cells("产地").Value & "',matl_name=N'" & DGV_IN.Rows(x).Cells("材料名").Value & "' where id='" & DGV_IN.Rows(x).Cells("id").Value & "'"
  288. 'cmd.CommandText = sql
  289. ' cmd.ExecuteNonQuery()
  290. 'Next
  291. sql = "update RT_bg_in_detail set date2='" & my_date & "',matl_name=N'" & my_name & "' where id='" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("id").Value & "'"
  292. cmd.CommandText = sql
  293. cmd.ExecuteNonQuery()
  294. Dim dt2 As New DataTable
  295. sql = "SELECT date1 AS 报关日期,date2 as 进厂日期, NO AS 报关单号, NAME AS 品名, QTY AS 重量, PRICE AS 单价, ORIGIN AS 产地, matl_name as 材料名,id FROM RT_BG_IN_DETAIL WHERE XNO='" & p(0) & "' and name=N'蓝湿牛二层皮' order by date1 desc"
  296. cmd.CommandText = sql
  297. da.SelectCommand = cmd
  298. da.Fill(dt2)
  299. DGV_IN.DataSource = dt2
  300. ' DGV_IN.Refresh()
  301. MsgBox("更新完成")
  302. End Sub
  303. Private Sub DGV_IN_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_IN.CellClick
  304. ' DGV_IN.BeginEdit(True)
  305. 'If DGV_IN.Columns(e.ColumnIndex).Name = "进厂日期" Then
  306. ' dateTimePicker1 = New DateTimePicker()
  307. ' 'Adding the dateTimePicker1 into DataGridView.
  308. ' DGV_IN.Controls.Add(dateTimePicker1)
  309. ' ' Setting the format i.e. mm/dd/yyyy)
  310. ' dateTimePicker1.Format = DateTimePickerFormat.Short
  311. ' ' Create retangular area that represents the display area for a cell.
  312. ' Dim oRectangle As Rectangle = DGV_IN.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, True)
  313. ' ' Setting area for dateTimePicker1.
  314. ' dateTimePicker1.Size = New Size(oRectangle.Width, oRectangle.Height)
  315. ' ' Setting location for dateTimePicker1.
  316. ' dateTimePicker1.Location = New Point(oRectangle.X, oRectangle.Y)
  317. ' AddHandler dateTimePicker1.TextChanged, AddressOf DateTimePickerChange
  318. ' AddHandler dateTimePicker1.CloseUp, AddressOf DateTimePickerClose
  319. ' ' DGV_IN.BeginEdit(True)
  320. 'End If
  321. End Sub
  322. Private Sub DateTimePickerChange(ByVal sender As Object, ByVal e As EventArgs)
  323. 'DGV_IN.CurrentCell.Value = dateTimePicker1.Text.ToString()
  324. 'MessageBox.Show(String.Format("Date changed to {0}", dateTimePicker1.Text.ToString()))
  325. End Sub
  326. Private Sub DateTimePickerClose(ByVal sender As Object, ByVal e As EventArgs)
  327. 'dateTimePicker1.Visible = False
  328. End Sub
  329. Private Sub DGV_IN_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DGV_IN.EditingControlShowing
  330. 'Dim parentCTL As Control = e.Control.Parent
  331. 'Dim dtPicker As New DateTimePicker
  332. 'dtPicker.Name = "dateTimePicker1"
  333. '' dtPicker.Size = DGV1.CurrentCell.Size
  334. 'dtPicker.CustomFormat = "yyyy-MM-dd"
  335. 'dtPicker.Format = DateTimePickerFormat.Custom
  336. 'dtPicker.Location = New Point(e.Control.Location.X - e.Control.Margin.Left, e.Control.Location.Y - e.Control.Margin.Top)
  337. 'If (e.Control.Text = "") Then
  338. ' 'dtPicker.Value = DateTime.ParseExact(e.Control.Text, dtPicker.CustomFormat, Nothing)
  339. ' e.Control.Visible = False
  340. 'End If
  341. 'For Each tmpCTL As Control In parentCTL.Controls
  342. ' If (tmpCTL.Name <> dtPicker.Name) Then parentCTL.Controls.Remove(tmpCTL)
  343. 'Next
  344. 'parentCTL.Controls.Add(dtPicker)
  345. End Sub
  346. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click '-----进出口累计
  347. If ListBox1.SelectedIndex = -1 Then
  348. MsgBox("请先选择手册号")
  349. Exit Sub
  350. End If
  351. sql = "SELECT RT_BG_MTL_NAME.NAME AS 品名, RT_BG_IN.QTY AS 审批数量, CAST(SUM(RT_BG_IN_DETAIL.QTY) AS numeric(10, 1)) AS 期初进口 FROM RT_BG_IN RIGHT OUTER JOIN RT_BG_MTL_NAME ON RT_BG_IN.NAME = RT_BG_MTL_NAME.NAME LEFT OUTER JOIN RT_BG_IN_DETAIL ON RT_BG_MTL_NAME.NAME = RT_BG_IN_DETAIL.NAME WHERE (RT_BG_IN_DETAIL.XNO='" & p(0) & "') AND (RT_BG_IN_DETAIL.DATE1 < '" & String.Format("{0:d}", dtp3.Value) & "') AND (RT_BG_IN.NO ='" & p(0) & "') GROUP BY RT_BG_MTL_NAME.SERIAL, RT_BG_MTL_NAME.NAME, RT_BG_IN.QTY ORDER BY RT_BG_MTL_NAME.SERIAL"
  352. Dim dt = New DataTable
  353. cmd.CommandText = sql
  354. da.SelectCommand = cmd
  355. da.Fill(dt)
  356. dt.Columns.Add("本期进口")
  357. sql = "SELECT RT_BG_MTL_NAME.NAME AS 品名, RT_BG_IN.QTY AS 审批数量, CAST(SUM(RT_BG_IN_DETAIL.QTY) AS numeric(10, 1)) AS 本期进口 FROM RT_BG_IN RIGHT OUTER JOIN RT_BG_MTL_NAME ON RT_BG_IN.NAME = RT_BG_MTL_NAME.NAME LEFT OUTER JOIN RT_BG_IN_DETAIL ON RT_BG_MTL_NAME.NAME = RT_BG_IN_DETAIL.NAME WHERE (RT_BG_IN_DETAIL.XNO='" & p(0) & "') AND (RT_BG_IN_DETAIL.DATE1 >= '" & String.Format("{0:d}", dtp3.Value) & "') AND (RT_BG_IN.NO ='" & p(0) & "') GROUP BY RT_BG_MTL_NAME.SERIAL, RT_BG_MTL_NAME.NAME, RT_BG_IN.QTY ORDER BY RT_BG_MTL_NAME.SERIAL"
  358. Dim dt1 = New DataTable
  359. cmd.CommandText = sql
  360. da.SelectCommand = cmd
  361. da.Fill(dt1)
  362. For x As Integer = 0 To dt.Rows.Count - 1
  363. For y = 0 To dt1.Rows.Count - 1
  364. If dt.Rows(x).Item(0) = dt1.Rows(y).Item(0) Then
  365. dt.Rows(x).Item("本期进口") = dt1.Rows(y).Item("本期进口")
  366. End If
  367. Next
  368. Next
  369. dgv_chem_1.DataSource = dt
  370. sql = "SELECT NAME, CAST(SUM(QTY) AS NUMERIC(10, 1)) AS 期初出口
  371. FROM (SELECT TOP (100) PERCENT RT_BG_MTL_NAME.NAME, RT_BG_OUT.QTY, RT_BG_OUT.TOTAL, RT_BG_OUT.date1,
  372. RT_BG_OUT.DES, RT_BG_OUT.COMMENT
  373. FROM RT_BG_MTL_NAME INNER JOIN
  374. RT_BG_OUT ON RT_BG_MTL_NAME.NAME = RT_BG_OUT.NAME
  375. WHERE (RT_BG_MTL_NAME.SERIAL > 16) AND XNO='" & p(0) & "' AND (RT_BG_OUT.DATE1 < '" & String.Format("{0:d}", dtp3.Value) & "') ORDER BY RT_BG_MTL_NAME.SERIAL) AS P
  376. GROUP BY NAME"
  377. Dim DT2 = New DataTable
  378. cmd.CommandText = sql
  379. da.SelectCommand = cmd
  380. da.Fill(DT2)
  381. DT2.Columns.Add("本期出口")
  382. sql = "SELECT NAME,CAST(SUM(QTY) AS NUMERIC(10, 1)) AS 本期出口
  383. FROM (SELECT TOP (100) PERCENT RT_BG_MTL_NAME.NAME, RT_BG_OUT.QTY, RT_BG_OUT.TOTAL, RT_BG_OUT.date1,
  384. RT_BG_OUT.DES, RT_BG_OUT.COMMENT
  385. FROM RT_BG_MTL_NAME INNER JOIN
  386. RT_BG_OUT ON RT_BG_MTL_NAME.NAME = RT_BG_OUT.NAME
  387. WHERE (RT_BG_MTL_NAME.SERIAL > 16) AND XNO='" & p(0) & "' AND (RT_BG_OUT.DATE1 >= '" & String.Format("{0:d}", dtp3.Value) & "') ORDER BY RT_BG_MTL_NAME.SERIAL) AS P
  388. GROUP BY NAME"
  389. Dim DT3 = New DataTable
  390. cmd.CommandText = sql
  391. da.SelectCommand = cmd
  392. da.Fill(DT3)
  393. For x As Integer = 0 To DT2.Rows.Count - 1
  394. For y = 0 To DT3.Rows.Count - 1
  395. If DT2.Rows(x).Item(0) = DT3.Rows(y).Item(0) Then
  396. DT2.Rows(x).Item("本期出口") = DT3.Rows(y).Item("本期出口")
  397. End If
  398. Next
  399. Next
  400. dgv_chem_2.DataSource = DT2
  401. End Sub
  402. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
  403. End Sub
  404. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  405. End Sub
  406. Private Sub DGV_IN_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_IN.CellContentClick
  407. End Sub
  408. Private Sub DGV_IN_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles DGV_IN.MouseDoubleClick
  409. sql = "update RT_bg_in_detail set bg_date=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("报关日期").Value & "',DATE1=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("报关日期").Value & "',DATE2=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("进厂日期").Value & "',no=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("报关单号").Value & "',name=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("品名").Value & "',qty=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("重量").Value & "',price='" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("单价").Value & "',origin=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("产地").Value & "',matl_name=N'" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("材料名").Value & "' where id='" & DGV_IN.Rows(DGV_IN.CurrentCell.RowIndex).Cells("id").Value & "'"
  410. cmd.CommandText = sql
  411. cmd.ExecuteNonQuery()
  412. End Sub
  413. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  414. sql = "select date1 as 报关日期, no as 报关单号,xno as 手册号, name as 海关分类, qty as 数量, matl_name as 材料名 from rt_bg_in_detail where date2 is null order by name"
  415. cmd.CommandText = sql
  416. Dim dt As New DataTable
  417. da.SelectCommand = cmd
  418. da.Fill(dt)
  419. DataGridView1.DataSource = dt
  420. DataGridView1.Columns(1).Width = 180
  421. DataGridView1.Columns(2).Width = 120
  422. DataGridView1.Columns(4).Width = 80
  423. DataGridView1.Columns(5).Width = 200
  424. End Sub
  425. Private Sub DGV1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV1.CellContentClick
  426. End Sub
  427. End Class