Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

FrmChem_Main.vb 42KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. Imports System.Data.SqlClient
  2. Imports System.Reflection
  3. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  4. Imports Microsoft.Office.Interop.Excel.Constants
  5. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  6. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  7. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  8. Imports Microsoft.Office.Interop.Excel.XlPrintLocation
  9. Imports Microsoft.Office.Interop.Excel.XlPageOrientation
  10. Imports Microsoft.Office.Interop.Excel.XlPaperSize
  11. Imports Microsoft.Office.Interop.Excel.XlOrder
  12. Imports Microsoft.Office.Interop.Excel.XlPrintErrors
  13. Imports Microsoft.Office.Core
  14. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  15. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  16. Imports Microsoft.Office.Interop
  17. Public Class FrmChem_Main
  18. Dim cmd As New SqlCommand
  19. Dim da As New SqlDataAdapter
  20. Dim dt As New DataTable
  21. Dim sql As String
  22. Dim period As Date
  23. Dim g_accounted As Boolean
  24. Dim g_period As Integer
  25. Private Sub FrmChemMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  26. Dim conn As New SqlConnection
  27. Dim DT1 As New DataTable
  28. Dim DT2 As New DataTable
  29. Dim DT3 As New DataTable
  30. conn.ConnectionString = connstring
  31. conn.Open()
  32. cmd.Connection = conn
  33. dgv2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  34. dgv_tech.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
  35. sql = "select period from rt_chem_accounting where accounted=1 order by date desc"
  36. cmd.CommandText = sql
  37. period = cmd.ExecuteScalar
  38. sql = "select accounted from rt_chem_accounting order by date desc"
  39. cmd.CommandText = sql
  40. g_accounted = cmd.ExecuteScalar
  41. If Month(Now) - Month(period) = 1 And g_accounted = False Then
  42. g_period = 1
  43. ElseIf Month(Now) - Month(period) = 1 And g_accounted = True Then
  44. g_period = 2
  45. End If
  46. dgv1.RowHeadersWidth = 20
  47. dgv2.RowHeadersWidth = 20
  48. dgv3.RowHeadersWidth = 20
  49. dgv4.RowHeadersWidth = 20
  50. dgv_tech.RowHeadersWidth = 20
  51. DGV_STOCK.RowHeadersWidth = 20
  52. 'sql = "SELECT name AS 品名 from rt_sys_chem_main order by name"
  53. 'cmd.CommandText = sql
  54. 'da.SelectCommand = cmd
  55. 'da.Fill(dt)
  56. 'dgv1.DataSource = dt
  57. 'dgv1.Columns(0).Width = 200
  58. End Sub
  59. Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
  60. Dim dt As New DataTable
  61. If e.KeyCode <> Keys.Enter Then
  62. Else
  63. Dim my_dr As SqlDataReader
  64. sql = "select sys_name as 品名 from HT_chem_main WHERE sys_name LIKE N'%" & TextBox1.Text & "%' group by sys_name"
  65. cmd.CommandText = sql
  66. da.SelectCommand = cmd
  67. da.Fill(dt)
  68. dgv1.DataSource = dt
  69. dgv1.Columns(0).Width = 200
  70. End If
  71. End Sub
  72. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '输出吊牌
  73. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  74. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  75. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  76. xlApp = CreateObject("Excel.Application")
  77. xlBook = xlApp.Workbooks.Add
  78. xlApp.DisplayAlerts = False
  79. xlBook.Activate()
  80. xlBook.Parent.Windows(1).Visible = True
  81. xlSheet = xlBook.Worksheets.Add
  82. xlSheet.Activate()
  83. xlApp.Visible = True
  84. Dim xx As Integer = 0
  85. Dim y As Integer = 0
  86. Dim P1 As Image
  87. Dim P2 As Image
  88. Dim P3 As Image
  89. Dim P4 As Image
  90. Dim P5 As Image
  91. Dim P6 As Image
  92. Dim P7 As Image
  93. Dim P8 As Image
  94. Dim P9 As Image
  95. Dim FILE_NAME As String
  96. Dim FILE_NAME1 As String
  97. Dim sPath As String
  98. sPath = "F:\化料\GHS\"
  99. Dim p(10) As Image
  100. p(1) = Image.FromFile("C:\GHS\1.jpg") '有毒
  101. p(2) = Image.FromFile("C:\GHS\2.jpg") '危险
  102. p(3) = Image.FromFile("C:\GHS\3.jpg") '腐蚀
  103. p(4) = Image.FromFile("C:\GHS\4.jpg") '爆炸
  104. p(5) = Image.FromFile("C:\GHS\5.jpg") '健康
  105. p(6) = Image.FromFile("C:\GHS\6.jpg") '水生物
  106. p(7) = Image.FromFile("C:\GHS\7.jpg") '压力气体
  107. p(8) = Image.FromFile("C:\GHS\8.jpg") '氧化
  108. p(9) = Image.FromFile("C:\GHS\9.jpg") '易燃
  109. sql = "SELECT RT_SYS_CHEM_MAIN.name AS 化料名称, RT_SYS_CHEM_MAIN.DEP AS 使用部门,
  110. RT_SYS_CHEM_MAIN.CLASS1 AS 化工分类, RT_SYS_CHEM_MAIN.CLASS2 AS 海关分类,
  111. RT_CHEM_MSDS.SUPPLIER AS 供应商, RT_CHEM_MSDS.D1, RT_CHEM_MSDS.D2, RT_CHEM_MSDS.D3,
  112. RT_CHEM_MSDS.D4, RT_CHEM_MSDS.D5, RT_CHEM_MSDS.D6, RT_CHEM_MSDS.D7, RT_CHEM_MSDS.D8,
  113. RT_CHEM_MSDS.D9, RT_SYS_CHEM_MAIN.stock1, RT_SYS_CHEM_MAIN.stock2, RT_SYS_CHEM_MAIN.stock3,
  114. RT_CHEM_MSDS.SUPPLIER
  115. FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN
  116. RT_CHEM_MSDS ON RT_SYS_CHEM_MAIN.name = RT_CHEM_MSDS.SYS_NAME
  117. WHERE (RT_SYS_CHEM_MAIN.stock1 + RT_SYS_CHEM_MAIN.stock2 + RT_SYS_CHEM_MAIN.stock3 <> 0)"
  118. sql = "SELECT supplier AS 供应商, p AS 联络人, sys_name AS 化料名称, type1 AS 化工分类, dep AS 使用部门, d1, d2, d3, d4, d5, d6, d7, d8, d9
  119. FROM HT_Chem_Main"
  120. Dim DT As New DataTable
  121. cmd.CommandText = sql
  122. da.SelectCommand = cmd
  123. da.Fill(DT)
  124. Dim z1 As Integer = 0
  125. For x As Integer = 0 To DT.Rows.Count - 1
  126. Dim MY_CHEM As String
  127. MY_CHEM = DT.Rows(x).Item("化料名称").ToString
  128. MY_CHEM = MY_CHEM.Replace(" ", "_")
  129. ' MY_CHEM = MY_CHEM.Replace("-", "_")
  130. MY_CHEM = MY_CHEM.Replace("/", "-")
  131. ' xlSheet = xlBook.Worksheets.Add
  132. 'xlSheet.Name = MY_CHEM
  133. 'xlSheet.Activate()
  134. ' xlSheet.Hyperlinks.Add(Anchor:=xlSheet.Cells(1, 1), Address:="", SubAddress:="总表!A1", TextToDisplay:="总表")
  135. xlSheet.Cells(x * 16 + 1, 1) = DT.Rows(x).Item("化料名称")
  136. xlSheet.Cells(x * 16 + 1, 1).font.bold = True
  137. xlSheet.Cells(x * 16 + 1, 1).font.size = 24
  138. xlApp.Range(xlSheet.Cells(x * 16 + 1, 1), xlSheet.Cells(x * 16 + 1, 8)).Select()
  139. ' xlApp.Range("E2").Activate()
  140. xlApp.Selection.Merge
  141. xlApp.Selection.HorizontalAlignment = xlCenter
  142. With xlApp.Selection.Borders(xlEdgeLeft)
  143. .LineStyle = xlContinuous
  144. .ColorIndex = 0
  145. .TintAndShade = 0
  146. .Weight = xlMedium
  147. End With
  148. With xlApp.Selection.Borders(xlEdgeTop)
  149. .LineStyle = xlContinuous
  150. .ColorIndex = 0
  151. .TintAndShade = 0
  152. .Weight = xlMedium
  153. End With
  154. With xlApp.Selection.Borders(xlEdgeBottom)
  155. .LineStyle = xlContinuous
  156. .ColorIndex = 0
  157. .TintAndShade = 0
  158. .Weight = xlMedium
  159. End With
  160. With xlApp.Selection.Borders(xlEdgeRight)
  161. .LineStyle = xlContinuous
  162. .ColorIndex = 0
  163. .TintAndShade = 0
  164. .Weight = xlMedium
  165. End With
  166. xlSheet.Cells(x * 16 + 7, 1) = "化 工 分 类 :"
  167. xlSheet.Cells(x * 16 + 7, 1).font.bold = True
  168. xlSheet.Cells(x * 16 + 7, 1).font.size = 12
  169. xlSheet.Cells(x * 16 + 7, 3) = DT.Rows(x).Item("化工分类")
  170. xlSheet.Cells(x * 16 + 7, 3).font.bold = True
  171. xlSheet.Cells(x * 16 + 7, 3).font.size = 12
  172. xlSheet.Cells(x * 16 + 4, 1) = "供 应 商 :"
  173. xlSheet.Cells(x * 16 + 4, 1).font.bold = True
  174. xlSheet.Cells(x * 16 + 4, 1).font.size = 12
  175. xlSheet.Cells(x * 16 + 4, 3) = DT.Rows(x).Item("供应商")
  176. xlSheet.Cells(x * 16 + 4, 3).font.bold = True
  177. xlSheet.Cells(x * 16 + 4, 3).font.size = 12
  178. xlSheet.Cells(x * 16 + 12, 1) = "验收日期/批号 :"
  179. xlSheet.Cells(x * 16 + 12, 1).font.bold = True
  180. xlSheet.Cells(x * 16 + 12, 1).font.size = 12
  181. xlSheet.Cells(x * 16 + 15, 1) = "有 效 期 限 : 二 年"
  182. xlSheet.Cells(x * 16 + 15, 1).font.bold = True
  183. xlSheet.Cells(x * 16 + 15, 1).font.size = 12
  184. xlApp.Range(xlSheet.Cells(x * 16 + 6, 5), xlSheet.Cells(x * 16 + 15, 8)).Select()
  185. ' xlApp.Range("E2").Activate()
  186. '
  187. ' xlApp.Selection.Merge
  188. ' xlApp.Selection.HorizontalAlignment = xlCenter
  189. With xlApp.Selection.Borders(xlEdgeLeft)
  190. .LineStyle = xlContinuous
  191. .ColorIndex = 0
  192. .TintAndShade = 0
  193. .Weight = xlMedium
  194. End With
  195. With xlApp.Selection.Borders(xlEdgeTop)
  196. .LineStyle = xlContinuous
  197. .ColorIndex = 0
  198. .TintAndShade = 0
  199. .Weight = xlMedium
  200. End With
  201. With xlApp.Selection.Borders(xlEdgeBottom)
  202. .LineStyle = xlContinuous
  203. .ColorIndex = 0
  204. .TintAndShade = 0
  205. .Weight = xlMedium
  206. End With
  207. With xlApp.Selection.Borders(xlEdgeRight)
  208. .LineStyle = xlContinuous
  209. .ColorIndex = 0
  210. .TintAndShade = 0
  211. .Weight = xlMedium
  212. End With
  213. xlApp.Range(xlSheet.Cells(x * 16 + 4, 8), xlSheet.Cells(x * 16 + 5, 8)).Select()
  214. ' xlApp.Range("E2").Activate()
  215. '
  216. xlApp.Selection.Merge
  217. xlApp.Selection.FormulaR1C1 = "危险"
  218. xlApp.Selection.HorizontalAlignment = xlCenter
  219. '-----边框
  220. With xlApp.Selection.Borders(xlEdgeLeft)
  221. .LineStyle = xlContinuous
  222. .ColorIndex = 0
  223. .TintAndShade = 0
  224. .Weight = xlMedium
  225. End With
  226. With xlApp.Selection.Borders(xlEdgeTop)
  227. .LineStyle = xlContinuous
  228. .ColorIndex = 0
  229. .TintAndShade = 0
  230. .Weight = xlMedium
  231. End With
  232. With xlApp.Selection.Borders(xlEdgeBottom)
  233. .LineStyle = xlContinuous
  234. .ColorIndex = 0
  235. .TintAndShade = 0
  236. .Weight = xlMedium
  237. End With
  238. With xlApp.Selection.Borders(xlEdgeRight)
  239. .LineStyle = xlContinuous
  240. .ColorIndex = 0
  241. .TintAndShade = 0
  242. .Weight = xlMedium
  243. End With
  244. '------字体
  245. With xlApp.Selection.Interior
  246. .Pattern = xlSolid
  247. .PatternColorIndex = xlAutomatic
  248. .ThemeColor = xlThemeColorLight1
  249. .TintAndShade = 0
  250. .PatternTintAndShade = 0
  251. End With
  252. With xlApp.Selection.Font
  253. .ThemeColor = xlThemeColorDark1
  254. .TintAndShade = 0
  255. End With
  256. With xlApp.Selection.Font
  257. .Size = 18
  258. .ThemeColor = xlThemeColorDark1
  259. .ThemeFont = xlThemeFontMinor
  260. End With
  261. Dim zzz As Integer = 0
  262. For z As Integer = 1 To 9
  263. If DT.Rows(x).Item("d" & z) <> "" Then
  264. System.Windows.Forms.Clipboard.SetDataObject(p(z), True) '复制到剪贴板
  265. If zzz < 4 Then
  266. Dim range1 As Excel.Range = xlSheet.Range(xlApp.Cells(x * 16 + 6, zzz Mod 4 + 5), xlApp.Cells(x * 16 + 6, zzz Mod 4 + 5)) '粘贴图片的位置
  267. xlSheet.Paste(range1, p(z))
  268. Else
  269. Dim range1 As Excel.Range = xlSheet.Range(xlApp.Cells(x * 16 + 11, zzz Mod 4 + 5), xlApp.Cells(x * 16 + 11, zzz Mod 4 + 5)) '粘贴图片的位置
  270. xlSheet.Paste(range1, p(z))
  271. End If
  272. Dim pic1 As String
  273. pic1 = "picture " & z1 + 1
  274. xlApp.ActiveSheet.Shapes.Range(pic1).Select
  275. xlApp.Selection.ShapeRange.ScaleWidth(0.025, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoScaleFrom.msoScaleFromTopLeft)
  276. xlApp.Selection.ShapeRange.Incrementtop(5)
  277. xlApp.Selection.ShapeRange.Incrementleft(5)
  278. zzz = zzz + 1
  279. z1 = z1 + 1
  280. End If
  281. Next
  282. Dim r As String
  283. r = "A" & (x + 1) * 16 + 1
  284. xlApp.ActiveSheet.HPageBreaks.Add(xlApp.Range(r))
  285. Next
  286. ''xlApp.ActiveSheet.PageSetup.PrintArea = "$A$1:$E$660"
  287. 'xlApp.ActiveSheet.PageSetup.PrintArea = "$a$1:$E$" & y * 13
  288. '' xlSheet.Columns("C:C").ColumnWidth = 10.75
  289. xlApp.ActiveWindow.View = Microsoft.Office.Interop.Excel.XlWindowView.xlPageBreakPreview
  290. 'DT2.DefaultView.
  291. '= "项次 "
  292. MsgBox("输出完成")
  293. End Sub
  294. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  295. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  296. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  297. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  298. Dim file_name As String
  299. 'If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
  300. ' FILE_NAME = OpenFileDialog1.FileName
  301. ' ' FILE_NAME1 = OpenFileDialog1.SafeFileName
  302. 'Else
  303. ' Exit Sub
  304. 'End If
  305. file_name = "c:\GHS\化工吊牌樣版1228.xlsx"
  306. xlApp = CreateObject("Excel.Application")
  307. xlApp.Visible = True
  308. xlApp.DisplayAlerts = False
  309. xlBook = xlApp.Workbooks.Open(file_name,, True)
  310. xlBook.Activate()
  311. xlApp.Visible = True
  312. xlSheet = xlApp.Workbooks(1).Worksheets(1)
  313. xlSheet.Activate()
  314. Dim xx As Integer = 0
  315. Dim y As Integer = 0
  316. 'Dim P1 As Image
  317. 'Dim P2 As Image
  318. 'Dim P3 As Image
  319. 'Dim P4 As Image
  320. 'Dim P5 As Image
  321. 'Dim P6 As Image
  322. 'Dim P7 As Image
  323. 'Dim P8 As Image
  324. 'Dim P9 As Image
  325. ' Dim FILE_NAME As String
  326. ' Dim FILE_NAME1 As String
  327. Dim sPath As String
  328. sPath = "c:\GHS\"
  329. ' Dim p(10) As Image
  330. Dim p(10) As String
  331. 'p(1) = Image.FromFile("f:\化料\GHS\1.jpg")
  332. 'p(2) = Image.FromFile("f:\化料\GHS\2.jpg")
  333. 'p(3) = Image.FromFile("f:\化料\GHS\3.jpg")
  334. 'p(4) = Image.FromFile("f:\化料\GHS\4.jpg")
  335. 'p(5) = Image.FromFile("f:\化料\GHS\5.jpg")
  336. 'p(6) = Image.FromFile("f:\化料\GHS\6.jpg")
  337. 'p(7) = Image.FromFile("f:\化料\GHS\7.jpg")
  338. 'p(8) = Image.FromFile("f:\化料\GHS\8.jpg")
  339. 'p(9) = Image.FromFile("f:\化料\GHS\9.jpg")
  340. p(1) = "c:\GHS\1.jpg"
  341. p(2) = "c:\GHS\2.jpg"
  342. p(3) = "c:\GHS\3.jpg"
  343. p(4) = "c:\GHS\4.jpg"
  344. p(5) = "c:\GHS\5.jpg"
  345. p(6) = "c:\GHS\6.jpg"
  346. p(7) = "c:\GHS\7.jpg"
  347. p(8) = "c:\GHS\8.jpg"
  348. p(9) = "c:\GHS\9.jpg"
  349. sql = "update rt_chem_msds set d1=0 where d1 is null"
  350. cmd.CommandText = sql
  351. cmd.ExecuteNonQuery()
  352. sql = "update rt_chem_msds set d2=0 where d2 is null"
  353. cmd.CommandText = sql
  354. cmd.ExecuteNonQuery()
  355. sql = "update rt_chem_msds set d3=0 where d3 is null"
  356. cmd.CommandText = sql
  357. cmd.ExecuteNonQuery()
  358. sql = "update rt_chem_msds set d4=0 where d4 is null"
  359. cmd.CommandText = sql
  360. cmd.ExecuteNonQuery()
  361. sql = "update rt_chem_msds set d5=0 where d5 is null"
  362. cmd.CommandText = sql
  363. cmd.ExecuteNonQuery()
  364. sql = "update rt_chem_msds set d6=0 where d6 is null"
  365. cmd.CommandText = sql
  366. cmd.ExecuteNonQuery()
  367. sql = "update rt_chem_msds set d7=0 where d7 is null"
  368. cmd.CommandText = sql
  369. cmd.ExecuteNonQuery()
  370. sql = "update rt_chem_msds set d8=0 where d8 is null"
  371. cmd.CommandText = sql
  372. cmd.ExecuteNonQuery()
  373. sql = "update rt_chem_msds set d9=0 where d9 is null"
  374. cmd.CommandText = sql
  375. cmd.ExecuteNonQuery()
  376. sql = "SELECT RT_SYS_CHEM_MAIN.name AS 化料名称, RT_SYS_CHEM_MAIN.DEP AS 使用部门, RT_SYS_CHEM_MAIN.CLASS1 AS 化工分类, RT_SYS_CHEM_MAIN.CLASS2 AS 海关分类, RT_CHEM_MSDS.SUPPLIER AS 供应商, RT_CHEM_MSDS.D1, RT_CHEM_MSDS.D2, RT_CHEM_MSDS.D3, RT_CHEM_MSDS.D4, RT_CHEM_MSDS.D5, RT_CHEM_MSDS.D6, RT_CHEM_MSDS.D7, RT_CHEM_MSDS.D8, RT_CHEM_MSDS.D9, RT_SYS_CHEM_MAIN.stock1, RT_SYS_CHEM_MAIN.stock2, RT_SYS_CHEM_MAIN.stock3, RT_SYS_CHEM_MAIN.stock4, RT_CHEM_MSDS.SUPPLIER, RT_CHEM_MSDS.D1 + RT_CHEM_MSDS.D2 + RT_CHEM_MSDS.D3 + RT_CHEM_MSDS.D4 + RT_CHEM_MSDS.D5 + RT_CHEM_MSDS.D6 + RT_CHEM_MSDS.D7 + RT_CHEM_MSDS.D8 + RT_CHEM_MSDS.D9 AS d, RT_CHEM_MSDS.contact, RT_CHEM_MSDS.phone FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN RT_CHEM_MSDS ON RT_SYS_CHEM_MAIN.name = RT_CHEM_MSDS.SYS_NAME WHERE (RT_SYS_CHEM_MAIN.stock1 + RT_SYS_CHEM_MAIN.stock2 + RT_SYS_CHEM_MAIN.stock3+RT_SYS_CHEM_MAIN.stock4 <> 0) and (RT_CHEM_MSDS.D2 IS NOT NULL) and (RT_SYS_CHEM_MAIN.CLASS1 not like N'%染料%') and (RT_SYS_CHEM_MAIN.CLASS1 not like N'%涂料%') and (RT_SYS_CHEM_MAIN.DEP<>N'喷台') ORDER BY d DESC"
  377. sql = "SELECT RT_SYS_CHEM_MAIN.name AS 化料名称, RT_SYS_CHEM_MAIN.DEP AS 使用部门, RT_SYS_CHEM_MAIN.CLASS1 AS 化工分类, RT_SYS_CHEM_MAIN.CLASS2 AS 海关分类, RT_CHEM_MSDS.SUPPLIER AS 供应商, RT_CHEM_MSDS.D1, RT_CHEM_MSDS.D2, RT_CHEM_MSDS.D3, RT_CHEM_MSDS.D4, RT_CHEM_MSDS.D5, RT_CHEM_MSDS.D6, RT_CHEM_MSDS.D7, RT_CHEM_MSDS.D8, RT_CHEM_MSDS.D9, RT_SYS_CHEM_MAIN.stock1, RT_SYS_CHEM_MAIN.stock2, RT_SYS_CHEM_MAIN.stock3, RT_SYS_CHEM_MAIN.stock4, RT_CHEM_MSDS.SUPPLIER, RT_CHEM_MSDS.D1 + RT_CHEM_MSDS.D2 + RT_CHEM_MSDS.D3 + RT_CHEM_MSDS.D4 + RT_CHEM_MSDS.D5 + RT_CHEM_MSDS.D6 + RT_CHEM_MSDS.D7 + RT_CHEM_MSDS.D8 + RT_CHEM_MSDS.D9 AS d, RT_CHEM_MSDS.contact, RT_CHEM_MSDS.phone FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN RT_CHEM_MSDS ON RT_SYS_CHEM_MAIN.name = RT_CHEM_MSDS.SYS_NAME WHERE (RT_SYS_CHEM_MAIN.stock1 + RT_SYS_CHEM_MAIN.stock2 + RT_SYS_CHEM_MAIN.stock3+RT_SYS_CHEM_MAIN.stock4 <> 0) and (RT_CHEM_MSDS.D2 IS NOT NULL) and (RT_SYS_CHEM_MAIN.CLASS1 not like N'%染料%') ORDER BY d DESC"
  378. sql = "SELECT RT_SYS_CHEM_MAIN.name AS 化料名称, RT_SYS_CHEM_MAIN.DEP AS 使用部门, RT_SYS_CHEM_MAIN.CLASS1 AS 化工分类, RT_SYS_CHEM_MAIN.CLASS2 AS 海关分类, RT_CHEM_MSDS.SUPPLIER AS 供应商, RT_CHEM_MSDS.D1, RT_CHEM_MSDS.D2, RT_CHEM_MSDS.D3, RT_CHEM_MSDS.D4, RT_CHEM_MSDS.D5, RT_CHEM_MSDS.D6, RT_CHEM_MSDS.D7, RT_CHEM_MSDS.D8, RT_CHEM_MSDS.D9, RT_SYS_CHEM_MAIN.stock1, RT_SYS_CHEM_MAIN.stock2, RT_SYS_CHEM_MAIN.stock3, RT_SYS_CHEM_MAIN.stock4, RT_CHEM_MSDS.SUPPLIER, RT_CHEM_MSDS.D1 + RT_CHEM_MSDS.D2 + RT_CHEM_MSDS.D3 + RT_CHEM_MSDS.D4 + RT_CHEM_MSDS.D5 + RT_CHEM_MSDS.D6 + RT_CHEM_MSDS.D7 + RT_CHEM_MSDS.D8 + RT_CHEM_MSDS.D9 AS d, RT_CHEM_MSDS.contact, RT_CHEM_MSDS.phone FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN RT_CHEM_MSDS ON RT_SYS_CHEM_MAIN.name = RT_CHEM_MSDS.SYS_NAME where (RT_CHEM_MSDS.D2 IS NOT NULL) ORDER BY d DESC"
  379. sql = "SELECT RT_SYS_CHEM_MAIN.name AS 化料名称, RT_SYS_CHEM_MAIN.DEP AS 使用部门, RT_SYS_CHEM_MAIN.CLASS1 AS 化工分类, RT_SYS_CHEM_MAIN.CLASS2 AS 海关分类, RT_CHEM_MSDS.SUPPLIER AS 供应商, RT_CHEM_MSDS.D1, RT_CHEM_MSDS.D2, RT_CHEM_MSDS.D3, RT_CHEM_MSDS.D4, RT_CHEM_MSDS.D5, RT_CHEM_MSDS.D6, RT_CHEM_MSDS.D7, RT_CHEM_MSDS.D8, RT_CHEM_MSDS.D9, RT_SYS_CHEM_MAIN.stock1, RT_SYS_CHEM_MAIN.stock2, RT_SYS_CHEM_MAIN.stock3, RT_SYS_CHEM_MAIN.stock4, RT_CHEM_MSDS.SUPPLIER, RT_CHEM_MSDS.D1 + RT_CHEM_MSDS.D2 + RT_CHEM_MSDS.D3 + RT_CHEM_MSDS.D4 + RT_CHEM_MSDS.D5 + RT_CHEM_MSDS.D6 + RT_CHEM_MSDS.D7 + RT_CHEM_MSDS.D8 + RT_CHEM_MSDS.D9 AS d, RT_CHEM_MSDS.contact, RT_CHEM_MSDS.phone FROM RT_SYS_CHEM_MAIN LEFT OUTER JOIN RT_CHEM_MSDS ON RT_SYS_CHEM_MAIN.name = RT_CHEM_MSDS.SYS_NAME where (RT_CHEM_MSDS.D2 IS NOT NULL) and (RT_SYS_CHEM_MAIN.name like '%8003%' or RT_SYS_CHEM_MAIN.name like '%zat%' or RT_SYS_CHEM_MAIN.name like '%CS%' or RT_SYS_CHEM_MAIN.name like '%602%' or RT_SYS_CHEM_MAIN.name like '%152%' or RT_SYS_CHEM_MAIN.name like '%ofa%' or RT_SYS_CHEM_MAIN.name like '%GSA%') ORDER BY d DESC"
  380. sql = "SELECT supplier AS 供应商, p AS contact,d,tel as phone, sys_name AS 化料名称, type1 AS 化工分类, dep AS 使用部门, d1, d2, d3, d4, d5, d6, d7, d8, d9
  381. FROM HT_Chem_Main"
  382. Dim DT As New DataTable
  383. cmd.CommandText = sql
  384. da.SelectCommand = cmd
  385. da.Fill(DT)
  386. xlSheet.Rows("1:19").Copy()
  387. For yy As Integer = 0 To DT.Rows.Count - 1
  388. xlApp.Range("a" & 1 + 19 * (yy + 1)).Select()
  389. xlSheet.Paste()
  390. Next yy
  391. Dim range1 As Excel.Range
  392. Dim pic1 As String
  393. Dim z1 As Integer = 0
  394. For x As Integer = 0 To DT.Rows.Count - 1
  395. Dim MY_CHEM As String
  396. MY_CHEM = DT.Rows(x).Item("化料名称").ToString
  397. xlSheet.Cells(x * 19 + 3, 3) = DT.Rows(x).Item("化料名称")
  398. xlSheet.Cells(x * 19 + 5, 5) = DT.Rows(x).Item("化工分类")
  399. xlSheet.Cells(x * 19 + 6, 5) = DT.Rows(x).Item("供应商")
  400. xlSheet.Cells(x * 19 + 7, 5) = DT.Rows(x).Item("contact")
  401. xlSheet.Cells(x * 19 + 7, 8) = DT.Rows(x).Item("phone")
  402. Dim zzz As Integer = 0
  403. For z As Integer = 1 To 9
  404. If DT.Rows(x).Item("d" & z).ToString <> "" Then
  405. Dim my_y As Integer = 0
  406. If zzz Mod 3 = 0 Then
  407. my_y = 7
  408. ElseIf zzz Mod 3 = 1 Then
  409. my_y = 15
  410. Else
  411. my_y = 23
  412. End If
  413. If DT.Rows(x).Item("d") < 4 Then '--------3個圖標
  414. range1 = xlSheet.Range(xlApp.Cells(x * 19 + 3, zzz * 3 + 15), xlApp.Cells(x * 19 + 3, zzz * 3 + 15)) '粘贴图片的位置
  415. 'lSheet.Paste(range1, p(z))
  416. range1.Select()
  417. xlApp.ActiveSheet.Pictures.Insert(p(z))
  418. pic1 = "圖片 " & (z1 + 1) * 2
  419. xlApp.ActiveSheet.Shapes.Range(pic1).Select
  420. xlApp.Selection.ShapeRange.ScaleWidth(0.26, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoScaleFrom.msoScaleFromTopLeft)
  421. xlApp.Selection.ShapeRange.Incrementtop(45)
  422. xlApp.Selection.ShapeRange.Incrementleft(35)
  423. Select Case z
  424. Case 1
  425. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "急性毒性(经口/经皮/吸入)"
  426. Case 2
  427. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "皮肤刺激/过敏/眼刺激"
  428. Case 3
  429. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "皮肤腐蚀/眼损伤"
  430. Case 4
  431. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "爆炸物/过氧化物"
  432. Case 5
  433. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "吸入危险/呼吸过敏"
  434. Case 6
  435. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "危害水生环境"
  436. Case 7
  437. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "高压气体"
  438. Case 8
  439. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "氧化性气体/液体/固体"
  440. Case 9
  441. xlSheet.Cells(x * 19 + 8, 3 + zzz * 7) = "易燃气体/液体/固体"
  442. End Select
  443. zzz = zzz + 1
  444. z1 = z1 + 1
  445. Else '---------6個圖標
  446. If zzz < 3 Then
  447. range1 = xlSheet.Range(xlApp.Cells(x * 19 + 3, zzz * 3 + 16), xlApp.Cells(x * 19 + 3, zzz * 3 + 16)) '粘贴图片的位置
  448. range1.Select()
  449. xlApp.ActiveSheet.Pictures.Insert(p(z))
  450. ' xlSheet.Paste(range1, b)
  451. pic1 = "圖片 " & (z1 + 1) * 2
  452. xlApp.ActiveSheet.Shapes.Range(pic1).Select
  453. xlApp.Selection.ShapeRange.ScaleWidth(0.23, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoScaleFrom.msoScaleFromTopLeft)
  454. xlApp.Selection.ShapeRange.Incrementtop(-5)
  455. xlApp.Selection.ShapeRange.Incrementleft(5)
  456. Select Case z
  457. Case 1
  458. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "急性毒性(经口/经皮/吸入)"
  459. Case 2
  460. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "皮肤刺激/过敏/眼刺激"
  461. Case 3
  462. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "皮肤腐蚀/眼损伤"
  463. Case 4
  464. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "爆炸物/过氧化物"
  465. Case 5
  466. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "吸入危险/呼吸过敏"
  467. Case 6
  468. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "危害水生环境"
  469. Case 7
  470. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "高压气体"
  471. Case 8
  472. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "氧化性气体/液体/固体"
  473. Case 9
  474. xlSheet.Cells(x * 19 + 8, 3 + (zzz Mod 3) * 7) = "易燃气体/液体/固体"
  475. End Select
  476. zzz = zzz + 1
  477. z1 = z1 + 1
  478. Else
  479. range1 = xlSheet.Range(xlApp.Cells(x * 19 + 5, (zzz Mod 3) * 3 + 16), xlApp.Cells(x * 19 + 5, (zzz Mod 3) * 3 + 16)) '粘贴图片的位置
  480. 'lSheet.Paste(range1, p(z))
  481. range1.Select()
  482. xlApp.ActiveSheet.Pictures.Insert(p(z))
  483. pic1 = "picture " & (z1 + 1) * 2
  484. xlApp.ActiveSheet.Shapes.Range(pic1).Select
  485. xlApp.Selection.ShapeRange.ScaleWidth(0.23, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoScaleFrom.msoScaleFromTopLeft)
  486. xlApp.Selection.ShapeRange.Incrementtop(30)
  487. xlApp.Selection.ShapeRange.Incrementleft(5)
  488. Select Case z
  489. Case 1
  490. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "急性毒性(经口/经皮/吸入)"
  491. Case 2
  492. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "皮肤刺激/过敏/眼刺激"
  493. Case 3
  494. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "皮肤腐蚀/眼损伤"
  495. Case 4
  496. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "爆炸物/过氧化物"
  497. Case 5
  498. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "吸入危险/呼吸过敏"
  499. Case 6
  500. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "危害水生环境"
  501. Case 7
  502. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "高压气体"
  503. Case 8
  504. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "氧化性气体/液体/固体"
  505. Case 9
  506. xlSheet.Cells(x * 19 + 9, 3 + (zzz Mod 3) * 7) = "易燃气体/液体/固体"
  507. End Select
  508. zzz = zzz + 1
  509. z1 = z1 + 1
  510. End If
  511. End If
  512. 'If zzz < 4 Then
  513. ' Dim range1 As Excel.Range = xlSheet.Range(xlApp.Cells(x * 19 + 3, zzz Mod 3 + 16), xlApp.Cells(x * 19 + 3, zzz Mod 3 + 16)) '粘贴图片的位置
  514. ' xlSheet.Paste(range1, p(z))
  515. 'Else
  516. ' Dim range1 As Excel.Range = xlSheet.Range(xlApp.Cells(x * 19 + 5, zzz Mod 3 + 16), xlApp.Cells(x * 19 + 5, zzz Mod 3 + 16)) '粘贴图片的位置
  517. ' xlSheet.Paste(range1, p(z))
  518. 'End If
  519. End If
  520. Next
  521. Dim r As String
  522. r = "A" & (x + 1) * 19 + 1
  523. xlApp.ActiveSheet.HPageBreaks.Add(xlApp.Range(r))
  524. Next
  525. ''xlApp.ActiveSheet.PageSetup.PrintArea = "$A$1:$E$660"
  526. 'xlApp.ActiveSheet.PageSetup.PrintArea = "$a$1:$E$" & y * 13
  527. '' xlSheet.Columns("C:C").ColumnWidth = 10.75
  528. xlApp.ActiveWindow.View = Microsoft.Office.Interop.Excel.XlWindowView.xlPageBreakPreview
  529. 'DT2.DefaultView.Sort = "项次 "
  530. MsgBox("输出完成")
  531. End Sub
  532. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  533. End Sub
  534. Private Sub dgv1_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgv1.CellMouseClick
  535. 'Dim DT3 As New DataTable '-------保税入库
  536. 'sql = "SELECT DATE AS 日期, QTY AS 數量, PRICE AS 單價 FROM RT_CHEM_S_IN_PRICE WHERE (matl_NAME = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "') and dep=N'保税仓-R' ORDER BY DATE DESC"
  537. 'cmd.CommandText = sql
  538. 'da.SelectCommand = cmd
  539. 'da.Fill(DT3)
  540. 'dgv4.DataSource = DT3
  541. 'dgv4.Columns(0).Width = 100
  542. 'dgv4.Columns(1).Width = 80
  543. 'Dim DT4 As New DataTable '----调拨出库
  544. 'sql = "SELECT DATE AS 日期, weight AS 數量 FROM RT_sys_CHEM_out_db WHERE (NAME = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "') ORDER BY DATE DESC"
  545. 'cmd.CommandText = sql
  546. 'da.SelectCommand = cmd
  547. 'da.Fill(DT4)
  548. 'dgv5.DataSource = DT4
  549. 'dgv5.Columns(0).Width = 120
  550. 'dgv5.Columns(1).Width = 80
  551. 'Dim dt_tech As New DataTable '-----技术员领料
  552. 'sql = "Select Year(Date) As 年, MONTH(Date) 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 (year(date)='2023' or year(date)='2022' or year(date)='2021' or year(date)='2024') and Name = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "' Group By YEAR(Date), MONTH(Date), Name,p Order By 年 desc, 月 desc"
  553. 'cmd.CommandText = sql
  554. 'da.SelectCommand = cmd
  555. 'da.Fill(dt_tech)
  556. 'dgv_tech.DataSource = dt_tech
  557. 'dgv_tech.Columns(0).Width = 80
  558. 'dgv_tech.Columns(1).Width = 80
  559. 'Dim DT_STOCK As New DataTable '----month1库存
  560. 'sql = "SELECT date 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'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "' GROUP BY NAME,date"
  561. 'cmd.CommandText = sql
  562. 'da.SelectCommand = cmd
  563. 'da.Fill(DT_STOCK)
  564. 'DGV_STOCK.DataSource = DT_STOCK
  565. 'DGV_STOCK.Columns(0).Width = 120
  566. 'DGV_STOCK.Columns(1).Width = 80
  567. 'Dim DT_CONTAINER As New DataTable '-------未到港
  568. 'sql = "SELECT date as 日期,CONTRACT_NO AS 合约号, QTY AS 数量,PRICE AS 单价, ORIGINAL AS 产地,ETD AS 开船日,ETA AS 到港日 FROM RT_CHEM_CONTAINER Where Name = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "' AND (RECEIVED='FALSE' OR RECEIVED IS NULL )"
  569. 'cmd.CommandText = sql
  570. 'da.SelectCommand = cmd
  571. 'da.Fill(DT_CONTAINER)
  572. 'DGV_CONTAINER.DataSource = DT_CONTAINER
  573. 'DGV_CONTAINER.Columns(0).Width = 120
  574. 'DGV_CONTAINER.Columns(1).Width = 80
  575. 'Dim begin_stock As Double = 0
  576. 'Dim used As Double = 0
  577. 'Dim f_in As Double = 0
  578. 'Dim s_in As Double = 0
  579. 'Dim db_out As Double = 0
  580. 'Dim total As Double = 0
  581. 'Dim MY_MONTH As Integer = 0
  582. 'Dim my_year As Integer = 0
  583. 'MY_MONTH = Month(Today) - 1
  584. 'my_year = Year(Now)
  585. 'If Month(Today) = 1 Then
  586. ' MY_MONTH = 12
  587. ' my_year = Year(Now) - 1
  588. 'End If
  589. 'sql = "select accounted from rt_chem_accounting where year(period)='" & my_year & "' and month(period)='" & MY_MONTH & "'"
  590. 'cmd.CommandText = sql
  591. 'Dim accounted As Boolean = cmd.ExecuteScalar
  592. 'If accounted = False Then '------未結帳
  593. ' MY_MONTH = Month(Today)
  594. ' my_year = Year(Today)
  595. ' Dim my_month_begin As Integer = 0
  596. ' Dim my_year_begin As Integer = 0
  597. ' If Month(Today) = 1 Then
  598. ' my_month_begin = 12
  599. ' my_year_begin = Year(Now) - 1
  600. ' Else
  601. ' my_month_begin = Month(Today) - 1
  602. ' my_year_begin = Year(Now)
  603. ' End If
  604. ' '----month1期初库存
  605. ' sql = "SELECT SUM(STOCK1+STOCK2+STOCK3) AS 合计 FROM RT_CHEM_stock_month2 Where year(date)='" & my_year_begin & "' and month(date)='" & my_month_begin & "' and Name = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "' "
  606. ' cmd.CommandText = sql
  607. ' If IsDBNull(cmd.ExecuteScalar) Then
  608. ' Else
  609. ' begin_stock = cmd.ExecuteScalar
  610. ' End If
  611. ' '--------领料
  612. ' sql = "Select SUM(WEIGHT) From RT_SYS_CHEM_OUT Where year(date)='" & my_year & "' and month(date)='" & MY_MONTH & "' and Name = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "' "
  613. ' cmd.CommandText = sql
  614. ' If IsDBNull(cmd.ExecuteScalar) Then
  615. ' Else
  616. ' used = cmd.ExecuteScalar
  617. ' End If
  618. ' '----外购入库
  619. ' sql = "SELECT sum(QTY) AS 數量 FROM RT_CHEM_IN_PRICE WHERE year(date)='" & my_year & "' and month(date)='" & MY_MONTH & "' and (NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') and (dep is null or dep<>N'保税仓-R')"
  620. ' cmd.CommandText = sql
  621. ' If IsDBNull(cmd.ExecuteScalar) Then
  622. ' Else
  623. ' f_in = cmd.ExecuteScalar
  624. ' End If
  625. ' '-------保税入库
  626. ' sql = "SELECT sum(QTY) AS 數量 FROM RT_CHEM_s_IN_PRICE WHERE year(date)='" & my_year & "' and month(date)='" & MY_MONTH & "' and (matl_NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') and dep=N'保税仓-R' "
  627. ' cmd.CommandText = sql
  628. ' If IsDBNull(cmd.ExecuteScalar) Then
  629. ' Else
  630. ' s_in = cmd.ExecuteScalar
  631. ' End If
  632. ' total = Math.Round((begin_stock + f_in + s_in - used), 0)
  633. ' TextBox2.Text = total
  634. 'Else '------已结帐
  635. ' MY_MONTH = Month(Today)
  636. ' my_year = Year(Today)
  637. ' Dim my_month_begin As Integer = 0
  638. ' Dim my_year_begin As Integer = 0
  639. ' If Month(Today) = 1 Then
  640. ' my_month_begin = 12
  641. ' my_year_begin = Year(Now) - 1
  642. ' Else
  643. ' my_month_begin = MY_MONTH - 1
  644. ' my_year_begin = Year(Now)
  645. ' End If
  646. ' '----month1库存
  647. ' sql = "SELECT SUM(STOCK1+STOCK2+STOCK3) AS 合计 FROM RT_CHEM_stock_month2 Where year(date)='" & my_year_begin & "' and month(date)='" & my_month_begin & "' and Name = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "' "
  648. ' cmd.CommandText = sql
  649. ' If IsDBNull(cmd.ExecuteScalar) Then
  650. ' Else
  651. ' begin_stock = cmd.ExecuteScalar
  652. ' End If
  653. ' '--------领料
  654. ' sql = "Select SUM(WEIGHT) From RT_SYS_CHEM_OUT Where year(date)='" & my_year & "' and month(date)='" & MY_MONTH & "' and Name Like N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%' "
  655. ' cmd.CommandText = sql
  656. ' If IsDBNull(cmd.ExecuteScalar) Then
  657. ' Else
  658. ' used = cmd.ExecuteScalar
  659. ' End If
  660. ' '----外购入库
  661. ' sql = "SELECT sum(QTY) AS 數量 FROM RT_CHEM_IN_PRICE WHERE year(date)='" & my_year & "' and month(date)='" & MY_MONTH & "' and (NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') and (dep is null or dep<>N'保税仓-R')"
  662. ' cmd.CommandText = sql
  663. ' If IsDBNull(cmd.ExecuteScalar) Then
  664. ' Else
  665. ' f_in = cmd.ExecuteScalar
  666. ' End If
  667. ' '-------保税入库
  668. ' sql = "SELECT sum(QTY) AS 數量 FROM RT_CHEM_s_IN_PRICE WHERE year(date)='" & my_year & "' and month(date)='" & MY_MONTH & "' and (matl_NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') and dep=N'保税仓-R' "
  669. ' cmd.CommandText = sql
  670. ' If IsDBNull(cmd.ExecuteScalar) Then
  671. ' Else
  672. ' s_in = cmd.ExecuteScalar
  673. ' End If
  674. ' total = Math.Round((begin_stock + f_in + s_in - used), 0)
  675. ' TextBox2.Text = total '即時庫存
  676. 'End If
  677. ''----调拨出库
  678. 'sql = "SELECT DATE AS 日期, weight AS 數量 FROM RT_sys_CHEM_out_db WHERE (NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') ORDER BY DATE DESC"
  679. 'cmd.CommandText = sql
  680. ''-------保税入库
  681. 'sql = "SELECT DATE AS 日期, QTY AS 數量, PRICE AS 單價 FROM RT_CHEM_S_IN_PRICE WHERE (MATL_NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') and dep=N'保税仓-R' ORDER BY DATE DESC"
  682. 'cmd.CommandText = sql
  683. 'sql = "select top(1) date from rt_sys_chem_out where Name Like N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%' order by date desc"
  684. 'cmd.CommandText = sql
  685. 'TextBox3.Text = cmd.ExecuteScalar
  686. End Sub
  687. Private Sub dgv1_KeyUp(sender As Object, e As KeyEventArgs) Handles dgv1.KeyUp
  688. End Sub
  689. Private Sub dgv1_SelectionChanged(sender As Object, e As EventArgs) Handles dgv1.SelectionChanged
  690. Dim s As String = dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value
  691. ' s = s.Remove(s.Length - 1, 1)
  692. sql = "Select supplier from ht_chem_main Where sys_Name = N'" & s & "' "
  693. cmd.CommandText = sql
  694. Dim supplier As String = cmd.ExecuteScalar.ToString
  695. TextBox5.Text = supplier
  696. sql = "Select mfg from ht_chem_main Where sys_Name = N'" & s & "' "
  697. cmd.CommandText = sql
  698. Dim mfg As String = cmd.ExecuteScalar.ToString
  699. TextBox4.Text = mfg
  700. sql = "Select type1 from ht_chem_main Where sys_Name = N'" & s & "' "
  701. cmd.CommandText = sql
  702. Dim type1 As String = cmd.ExecuteScalar.ToString
  703. TextBox7.Text = type1
  704. sql = "Select dep from ht_chem_main Where sys_Name = N'" & s & "' "
  705. cmd.CommandText = sql
  706. Dim dep As String = cmd.ExecuteScalar.ToString
  707. TextBox6.Text = dep
  708. TextBox3.Text = ""
  709. Dim DT As New DataTable '--------领料
  710. sql = "Select Year(Date) As 年, MONTH(Date) As 月, CAST(SUM(qty) As NUMERIC(10, 0)) As 用量,COUNT(*) As 笔数,name From ht_CHEMOUT Where Name = N'" & s & "' Group By YEAR(Date), MONTH(Date), Name Order By 年 desc, 月 desc"
  711. cmd.CommandText = sql
  712. da.SelectCommand = cmd
  713. da.Fill(DT)
  714. dgv2.DataSource = DT
  715. dgv2.Columns(0).Width = 70
  716. dgv2.Columns(1).Width = 70
  717. dgv2.Columns(2).Width = 80
  718. dgv2.Columns(3).Width = 80
  719. ' dgv2.Columns(4).Width = 80
  720. Dim DT2 As New DataTable '----外购入库
  721. 'sql = "SELECT DATE AS 日期, QTY AS 數量, PRICE AS 單價, CAST(PRICE / 7 AS NUMERIC(10, 2)) AS 折美金 FROM RT_CHEM_s_IN_PRICE WHERE (matl_NAME LIKE N'%" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "%') and dep<>N'保税仓-R' ORDER BY DATE DESC"
  722. sql = "SELECT DATE AS 日期, QTY AS 數量, supplier as 供应商,cast(PRICE as numeric(10,2)) AS 單價, CAST(PRICE / 7 AS NUMERIC(10, 2)) AS 折美金 FROM ht_CHEM_IN where (NAME = N'" & dgv1.Rows(dgv1.CurrentRow.Index).Cells("品名").Value & "') ORDER BY DATE DESC"
  723. cmd.CommandText = sql
  724. da.SelectCommand = cmd
  725. da.Fill(DT2)
  726. dgv3.DataSource = DT2
  727. dgv3.Columns(0).Width = 95
  728. dgv3.Columns(1).Width = 65
  729. dgv3.Columns(2).Width = 100
  730. dgv3.Columns(3).Width = 60
  731. dgv3.Columns(4).Width = 60
  732. dgv3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
  733. End Sub
  734. End Class