Ingen beskrivning
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_Stock.vb 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. Imports System.Data.SqlClient
  2. Public Class Frm_Stock
  3. Dim cmd As New SqlCommand
  4. Dim conn As New SqlConnection
  5. Dim conn1 As New SqlConnection
  6. Dim dr As SqlDataReader
  7. Dim da As New SqlDataAdapter
  8. Dim ds As New DataSet
  9. Dim sql As String = ""
  10. Dim p() As String
  11. Private Sub Frm_Stock_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  12. conn.ConnectionString = connstring
  13. conn.Open()
  14. '" Me.MdiParent = FrmMDI
  15. cmd.Connection = conn
  16. conn1.ConnectionString = connstring
  17. conn1.Open()
  18. sql = "select date as 日期 from rt_month_tm group by date order by date desc"
  19. cmd.CommandText = sql
  20. dr = cmd.ExecuteReader
  21. While dr.Read
  22. ListBox1.Items.Add(dr("日期"))
  23. End While
  24. dr.Close()
  25. End Sub
  26. Private Sub ListBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles ListBox1.MouseClick
  27. txt_begin.Text = ""
  28. TextBox2.Text = ""
  29. TextBox3.Text = ""
  30. TextBox4.Text = ""
  31. TextBox5.Text = ""
  32. TextBox6.Text = ""
  33. TextBox7.Text = ""
  34. p = Split(ListBox1.Items(ListBox1.SelectedIndex), "-")
  35. If Val(p(1)) <> 12 Then
  36. p(1) = p(1) + 1
  37. Else
  38. p(0) = Val(p(0)) + 1
  39. p(1) = 1
  40. End If
  41. sql = "SELECT cast(SUM(wet) as numeric(10,0)) AS 蓝皮重 FROM RT_MONTH_TM WHERE (date = '" & ListBox1.Items(ListBox1.SelectedIndex) & "')" '---反毛期初
  42. cmd.CommandText = sql
  43. txt_begin.Text = cmd.ExecuteScalar.ToString
  44. sql = "SELECT cast(SUM(qty) / 5.8 + SUM(weight) / 2 as numeric(10,0)) AS weight FROM RT_MONTH_PU WHERE (date = '" & ListBox1.Items(ListBox1.SelectedIndex) & "')" '---PU期初
  45. cmd.CommandText = sql
  46. txt_begin_pu.Text = cmd.ExecuteScalar.ToString
  47. txt_begin_pu_b.Text = cmd.ExecuteScalar.ToString
  48. sql = "select card1 as 卡号,cast(sum(蓝皮重) as numeric(10,0)) as 蓝皮重 from(SELECT left(card,1) as card, case when card like 'B%' then 'B' else 'F' end as card1,wet as 蓝皮重 FROM RT_MONTH_TM WHERE (date = '" & ListBox1.Items(ListBox1.SelectedIndex) & "')) as p group by card1"
  49. cmd.CommandText = sql
  50. dr = cmd.ExecuteReader
  51. While dr.Read
  52. If dr("卡号") = "B" Then
  53. txt_begin_b.Text = dr("蓝皮重")
  54. Else
  55. txt_begin_f.Text = dr("蓝皮重")
  56. End If
  57. End While
  58. dr.Close()
  59. sql = "SELECT SUM(TOTAL)/2 AS Expr1 FROM RT_RETAN_RECORD_D where year(date)= '" & p(0) & "' and month(date)='" & p(1) & "'" '---总下鼓
  60. cmd.CommandText = sql
  61. If cmd.ExecuteScalar Is Nothing Then
  62. TextBox2.Text = 0
  63. Else
  64. TextBox2.Text = cmd.ExecuteScalar.ToString
  65. End If
  66. sql = "SELECT SUM(TOTAL)/2 AS Expr1 FROM RT_RETAN_RECORD_D where type=N'打底' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "'" '-----打底
  67. cmd.CommandText = sql
  68. If cmd.ExecuteScalar Is Nothing Then
  69. TextBox3.Text = 0
  70. Else
  71. TextBox3.Text = cmd.ExecuteScalar.ToString
  72. End If
  73. sql = "SELECT top(1) date FROM RT_RETAN_RECORD_D where type=N'打底' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' order by date desc" '-----打底日期
  74. cmd.CommandText = sql
  75. If cmd.ExecuteScalar Is Nothing Then
  76. TextBox7.Text = 0
  77. Else
  78. TextBox7.Text = cmd.ExecuteScalar.ToString
  79. End If
  80. sql = "select 卡号,sum(weight) as 蓝皮重 from (select case when card='B' then 'B' else 'F' end as 卡号,sum(weight) as weight from (SELECT left(card,1) as card,SUM(TOTAL)/2 AS weight FROM RT_RETAN_RECORD_D where type=N'打底' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' group by left(card,1)) as p group by card) as q group by 卡号"
  81. cmd.CommandText = sql
  82. dr = cmd.ExecuteReader
  83. While dr.Read
  84. If dr("卡号") = "B" Then
  85. TextBox3_b.Text = dr("蓝皮重")
  86. Else
  87. TextBox3_f.Text = dr("蓝皮重")
  88. End If
  89. End While
  90. dr.Close()
  91. sql = "SELECT SUM(TOTAL)/2 AS Expr1 FROM RT_RETAN_RECORD_D where type=N'套染' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "'" '-----套染
  92. cmd.CommandText = sql
  93. TextBox4.Text = cmd.ExecuteScalar.ToString
  94. sql = "SELECT SUM(TOTAL)/2 AS Expr1 FROM RT_RETAN_RECORD_D where type=N'回鼓' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "'" '----回鼓
  95. cmd.CommandText = sql
  96. TextBox5.Text = cmd.ExecuteScalar.ToString
  97. sql = "SELECT cast(SUM(sf)/5.8 as numeric(10,0)) AS Expr1 FROM RT_measure_daily where year(date)= '" & p(0) & "' and month(date)='" & p(1) & "'" '---反毛量尺
  98. cmd.CommandText = sql
  99. TextBox6.Text = cmd.ExecuteScalar.ToString
  100. sql = "SELECT top(1) date FROM RT_measure_daily where year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' order by date desc" '---反毛量尺日期
  101. cmd.CommandText = sql
  102. If cmd.ExecuteScalar Is Nothing Then
  103. TextBox14.Text = 0
  104. Else
  105. TextBox14.Text = cmd.ExecuteScalar.ToString
  106. End If
  107. sql = "SELECT card as 卡号,sum(weight) as 蓝皮重 from (select case when left(card,1)='B' then 'B' else 'F' end as card,cast(SUM(sf)/5.8 as numeric(10,0)) AS weight FROM RT_measure_daily where year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' group by left(card,1)) as p group by card"
  108. cmd.CommandText = sql
  109. dr = cmd.ExecuteReader
  110. While dr.Read
  111. If dr("卡号") = "B" Then
  112. TextBox6_b.Text = dr("蓝皮重")
  113. Else
  114. TextBox6_f.Text = dr("蓝皮重")
  115. End If
  116. End While
  117. dr.Close()
  118. sql = "SELECT cast(SUM(sf)/5.8 as numeric(10,0)) AS Expr1 FROM RT_PU_measure2 where year(date)= '" & p(0) & "' and month(date)='" & p(1) & "'" '----PU量尺
  119. cmd.CommandText = sql
  120. TextBox1.Text = cmd.ExecuteScalar.ToString
  121. sql = "SELECT top(1) date FROM RT_PU_measure2 where year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' order by date desc" '----PU量尺日期
  122. cmd.CommandText = sql
  123. If cmd.ExecuteScalar Is Nothing Then
  124. TextBox10.Text = 0
  125. Else
  126. TextBox10.Text = cmd.ExecuteScalar.ToString
  127. End If
  128. TextBox1_b.Text = TextBox1.Text
  129. TextBox7.Text = Val(txt_begin.Text) + Val(txt_begin_pu.Text) + Val(TextBox3.Text) - Val(TextBox6.Text) - Val(TextBox1.Text)
  130. TextBox7_b.Text = Val(txt_begin_b.Text) + Val(txt_begin_pu_b.Text) + Val(TextBox3_b.Text) - Val(TextBox6_b.Text) - Val(TextBox1_b.Text)
  131. TextBox7_f.Text = Val(TextBox7.Text) - Val(TextBox7_b.Text)
  132. End Sub
  133. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  134. sql = "drop table rt_crust_stock1"
  135. cmd.CommandText = sql
  136. cmd.ExecuteScalar()
  137. Dim pp() As String = Split(ListBox1.Items(ListBox1.SelectedIndex), "-")
  138. sql = "select * into rt_crust_stock1 from rt_month_tm where year(date)= '" & pp(0) & "' and month(date)='" & pp(1) & "'" '---盘点表写入新表 ?????
  139. cmd.CommandText = sql
  140. cmd.ExecuteScalar()
  141. Dim cmd1 As New SqlCommand
  142. cmd1.Connection = conn1
  143. sql = "SELECT SERIAL, AREA, MONTH, TABLE1, TABLE2, DATE, CARD, s_card, CUST, COLOR, TOTAL/2 as total, CLASS, TYPE, DATE2, WEIGHT_TOTAL/2, GROUP_NAME, comment2, comment3, comment4 FROM RT_RETAN_RECORD_D where type=N'打底' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' order by right(card,10) " '-----加入打底
  144. cmd.CommandText = sql
  145. dr = cmd.ExecuteReader
  146. Dim M3 As Double = 0
  147. Dim m4 As Double = 0
  148. While dr.Read
  149. sql = "SELECT CARD FROM RT_CRUST_STOCK1 WHERE CARD='" & dr("CARD") & "'"
  150. cmd1.CommandText = sql
  151. Dim ANS2 As String = ""
  152. ANS2 = cmd1.ExecuteScalar
  153. If ANS2 = "" Then
  154. sql = "insert into rt_crust_stock1 (word,commentxx,serial,card,cust,color,weight) values(N'蓝皮',N'当月打底','" & dr("serial") & "','" & dr("card") & "',N'" & dr("cust") & "','" & dr("color") & "','" & dr("total") & "')"
  155. cmd1.CommandText = sql
  156. cmd1.ExecuteScalar()
  157. If (Microsoft.VisualBasic.Mid(dr("card"), 3, 1) = "P") Then
  158. ListBox7.Items.Add(dr("card") & vbTab & dr("TOTAL"))
  159. m4 = m4 + dr("TOTAL")
  160. Else
  161. ListBox4.Items.Add(dr("card") & vbTab & dr("TOTAL"))
  162. M3 = M3 + dr("TOTAL")
  163. End If
  164. End If
  165. End While
  166. dr.Close()
  167. TextBox21.Text = M3
  168. TextBox24.Text = m4
  169. sql = "SELECT CARD,sf FROM RT_MEASURE_DAILY WHERE (COMMENT1 LIKE N'%完%') and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' order by card" '----把量完的在每日量尺记录中标注
  170. cmd.CommandText = sql
  171. dr = cmd.ExecuteReader
  172. Dim M5 As Double = 0
  173. While dr.Read
  174. sql = "update rt_measure_daily set finished='True' where right(card,10)='" & Microsoft.VisualBasic.Right(dr("card"), 10) & "'"
  175. cmd1.CommandText = sql
  176. cmd1.ExecuteNonQuery()
  177. 'sql = "UPDATE RT_CRUST_STOCK SET FINISHED='TRUE' WHERE right(card,10)='" & Microsoft.VisualBasic.Right(dr("card"), 10) & "'"
  178. 'cmd1.CommandText = sql
  179. 'cmd1.ExecuteNonQuery()
  180. M5 = M5 + dr("SF")
  181. End While
  182. dr.Close()
  183. sql = "SELECT RIGHT(CARD,10) AS CARD,SUM(sf) AS SF FROM RT_MEASURE_DAILY WHERE finished='True' and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' GROUP BY RIGHT(CARD,10) order by RIGHT(CARD,10)" '----把量完的删除_對
  184. cmd.CommandText = sql
  185. dr = cmd.ExecuteReader
  186. Dim m1 As Double = 0
  187. Dim m2 As Double = 0
  188. Dim M6 As Double = 0
  189. Dim ANS1 As String = ""
  190. While dr.Read
  191. sql = "SELECT RIGHT(CARD,10) AS CARD FROM RT_CRUST_STOCK1 where right(card,10)='" & dr("card") & "'"
  192. cmd1.CommandText = sql
  193. ANS1 = cmd1.ExecuteScalar()
  194. sql = "UPDATE rt_crust_stock1 SET FINISHED='TRUE' where right(card,10)='" & dr("card") & "'"
  195. cmd1.CommandText = sql
  196. Dim ans As Integer = 0
  197. ans = cmd1.ExecuteNonQuery()
  198. If ans = 0 Then
  199. ListBox2.Items.Add(dr("card") & vbTab & Math.Round(dr("sf"), 1)) '----找不到卡号
  200. m1 = m1 + dr("sf") / 5.8
  201. Else
  202. ListBox3.Items.Add(dr("card") & vbTab & Math.Round(dr("sf"), 1))
  203. m2 = m2 + dr("sf") / 5.8
  204. End If
  205. End While
  206. dr.Close()
  207. TextBox9.Text = Math.Round(m1, 0)
  208. TextBox18.Text = Math.Round(m2, 0)
  209. sql = "SELECT CARD as card,sum(sf) as sf FROM rt_measure_daily WHERE finished is null and year(date)= '" & p(0) & "' and month(date)='" & p(1) & "' group by card order by card" '----未量完
  210. cmd.CommandText = sql
  211. dr = cmd.ExecuteReader
  212. m1 = 0
  213. m2 = 0
  214. While dr.Read
  215. sql = "update rt_crust_stock1 set measured='" & dr("sf") & "' where right(card,10)='" & Microsoft.VisualBasic.Right(dr("card"), 10) & "'"
  216. cmd1.CommandText = sql
  217. Dim ans As Integer = 0
  218. ans = cmd1.ExecuteNonQuery()
  219. If ans = 0 Then
  220. ListBox5.Items.Add(dr("card") & vbTab & Math.Round(dr("sf"), 1)) '----找不到卡号
  221. m1 = m1 + Math.Round(dr("sf") / 5.8, 1)
  222. Else
  223. ListBox6.Items.Add(dr("card") & vbTab & Math.Round(dr("sf"), 1))
  224. m2 = m2 + Math.Round(dr("sf") / 5.8, 1)
  225. End If
  226. End While
  227. dr.Close()
  228. TextBox22.Text = m1
  229. TextBox23.Text = m2
  230. sql = "update rt_crust_stock1 set measured=0 where measured is null"
  231. cmd1.CommandText = sql
  232. cmd1.ExecuteNonQuery()
  233. sql = "SELECT rt_crust_stock1.serial, rt_crust_stock1.card, rt_crust_stock1.class, rt_crust_stock1.cust, rt_crust_stock1.color, " &
  234. " rt_crust_stock1.weight, rt_crust_stock1.tech, rt_crust_stock1.date, rt_crust_stock1.commentXX, rt_crust_stock1.measured, " &
  235. " rt_crust_stock1.finished, change, RT_BG_CHANGE.FIRST, RT_BG_CHANGE.SECOND " &
  236. " fROM rt_crust_stock1 LEFT OUTER JOIN " &
  237. " RT_BG_CHANGE ON RIGHT(rt_crust_stock1.card, 10) = RIGHT(RT_BG_CHANGE.CARD, 10) " &
  238. " WHERE (RT_BG_CHANGE.SECOND Is Not NULL) And (LEN(RT_BG_CHANGE.FIRST) < 10) "
  239. cmd.CommandText = sql
  240. dr = cmd.ExecuteReader
  241. Dim a As Integer = 0
  242. While dr.Read
  243. sql = "update rt_crust_stock1 set change='True' where CARD='" & dr("CARD") & "'" 'B改F, F改b
  244. cmd1.CommandText = sql
  245. cmd1.ExecuteNonQuery()
  246. a = a + 1
  247. End While
  248. dr.Close()
  249. sql = "SELECT CARD,cast(SUM(BAL) as numeric(10,0)) AS BAL FROM (SELECT CASE WHEN LEFT(card, 1) = 'b' THEN 'B' ELSE 'F' END AS CARD, CASE WHEN WORD = N'蓝皮' THEN WEIGHT - MEASURED / 5.8 ELSE WEIGHT / 0.6 - MEASURED / 5.8 END AS BAL, commentXX, measured, CHANGE FROM rt_crust_stock1 WHERE (finished IS NULL)) AS P GROUP BY CARD" '期未BF
  250. Dim dt As New DataTable
  251. cmd.CommandText = sql
  252. da.SelectCommand = cmd
  253. da.Fill(dt)
  254. DGV1.DataSource = dt
  255. DGV1.AllowUserToAddRows = False
  256. dgv2.AllowUserToAddRows = False
  257. dgv3.AllowUserToAddRows = False
  258. dgv4.AllowUserToAddRows = False
  259. sql = "SELECT cast(sum(bal) as numeric(10,0)) as SUM from (select CARD,SUM(BAL) AS BAL FROM (SELECT CASE WHEN LEFT(card, 1) = 'b' THEN 'B' ELSE 'F' END AS CARD, CASE WHEN WORD = N'蓝皮' THEN WEIGHT - MEASURED / 5.8 ELSE WEIGHT / 0.6 - MEASURED / 5.8 END AS BAL, commentXX, measured, CHANGE FROM rt_crust_stock1 WHERE (finished IS NULL)) AS P GROUP BY CARD) as p"
  260. Dim dt1 As New DataTable
  261. cmd.CommandText = sql
  262. da.SelectCommand = cmd
  263. da.Fill(dt1)
  264. dgv2.DataSource = dt1 '期未BF加总
  265. sql = "select Changed,cast(sum(bal) as numeric(10,0)) as BAL from (SELECT CARD,CASE WHEN WORD=N'蓝皮'THEN WEIGHT - MEASURED / 5.8 ELSE WEIGHT / 0.6 - MEASURED / 5.8 END AS BAL,CASE WHEN LEFT(CARD,1)='B' THEN 'F' ELSE 'B' END AS CHANGED FROM RT_CRUST_STOCK1 WHERE CHANGE=1) as p group by changed"
  266. Dim dt2 As New DataTable
  267. cmd.CommandText = sql
  268. da.SelectCommand = cmd
  269. da.Fill(dt2)
  270. dgv3.DataSource = dt2 'B改F
  271. Dim dt3 As New DataTable
  272. sql = "SELECT CARD, SUM(wet) AS Expr1 FROM (SELECT CASE WHEN LEFT(card, 1) = 'b' THEN 'B' ELSE 'F' END AS CARD, wet FROM RT_MONTH_TM WHERE (MONTH(date) = 12)) AS p GROUP BY CARD" '盘点表
  273. cmd.CommandText = sql
  274. da.SelectCommand = cmd
  275. da.Fill(dt3)
  276. dgv4.DataSource = dt3
  277. MsgBox(a)
  278. End Sub
  279. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
  280. Dim conn1 As New SqlConnection
  281. conn1.ConnectionString = connstring
  282. conn1.Open()
  283. Dim cmd1 As New SqlCommand
  284. cmd1.Connection = conn1
  285. Dim dr1 As SqlDataReader
  286. End Sub
  287. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  288. Dim S As String = ""
  289. For X As Integer = 0 To ListBox2.Items.Count - 1
  290. S = S & vbCrLf & ListBox2.Items(X)
  291. Next
  292. ' MsgBox(S)
  293. Clipboard.SetText(S)
  294. End Sub
  295. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  296. Dim S As String = ""
  297. For X As Integer = 0 To ListBox3.Items.Count - 1
  298. S = S & vbCrLf & ListBox3.Items(X)
  299. Next
  300. ' MsgBox(S)
  301. Clipboard.SetText(S)
  302. End Sub
  303. Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
  304. Dim S As String = ""
  305. For X As Integer = 0 To ListBox4.Items.Count - 1
  306. S = S & vbCrLf & ListBox4.Items(X)
  307. Next
  308. MsgBox(Len(S))
  309. Clipboard.SetText(S)
  310. End Sub
  311. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
  312. Dim S As String = ""
  313. For X As Integer = 0 To ListBox5.Items.Count - 1
  314. S = S & vbCrLf & ListBox5.Items(X)
  315. Next
  316. ' MsgBox(S)
  317. Clipboard.SetText(S)
  318. End Sub
  319. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
  320. Dim S As String = ""
  321. For X As Integer = 0 To ListBox6.Items.Count - 1
  322. S = S & vbCrLf & ListBox6.Items(X)
  323. Next
  324. ' MsgBox(S)
  325. Clipboard.SetText(S)
  326. End Sub
  327. End Class