No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

適應症選擇.vb 7.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. Public Class 適應症選擇
  2. Private Sub Set_適應症設定()
  3. Dim ds2 As New DataSet
  4. 適應症_dgv.DataSource = Nothing : ds2.Clear()
  5. 適應症_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  6. 適應症_dgv.ColumnHeadersHeight = 25 : 適應症_dgv.AllowUserToAddRows = False
  7. SQL_適應症設定()
  8. da.Fill(ds2) : 適應症_dgv.DataSource = ds2.Tables(0) : conn.Close()
  9. 適應症_dgv.Columns(0).FillWeight = 30
  10. 適應症選擇()
  11. End Sub
  12. Private Sub SQL_下拉清單載入1()
  13. SQL_適應症主清單1() : 病症_cb.Items.Clear() : While (dr.Read()) : 病症_cb.Items.Add(dr("適應症")) : End While : conn.Close()
  14. End Sub
  15. Private Sub SQL_下拉清單載入2()
  16. SQL_適應症主清單2() : 療程_cb.Items.Clear() : While (dr.Read()) : 療程_cb.Items.Add(dr("治療建議")) : End While : conn.Close()
  17. End Sub
  18. Private Sub 適應症選擇_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  19. 適應症_dgv.SendToBack() : Set_適應症設定() : SQL_下拉清單載入1()
  20. End Sub
  21. Private Sub 適應症選擇_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  22. 醫生_tb.Text = PA
  23. End Sub
  24. Private Sub 適應症選擇_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  25. LoginForm1.Close()
  26. End Sub
  27. Private Sub 適應症選擇()
  28. TreeView1.Nodes.Clear() : Dim 主項數量 As Integer = -1 : Dim 症狀 As String = ""
  29. For I As Integer = 0 To 適應症_dgv.Rows.Count - 1
  30. If 症狀 <> 適應症_dgv("適應症", I).Value.ToString Then
  31. TreeView1.Nodes.Add(適應症_dgv("適應症", I).Value.ToString) : 症狀 = 適應症_dgv("適應症", I).Value.ToString : 主項數量 += 1
  32. End If
  33. If 症狀 = 適應症_dgv("適應症", I).Value.ToString Then
  34. TreeView1.Nodes(主項數量).Nodes.Add(適應症_dgv("治療建議", I).Value.ToString)
  35. End If
  36. Next
  37. End Sub
  38. Private Sub TreeView1_NodeMouseClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick ' 判斷是否點擊在 CheckBox 的範圍內
  39. If e.Node.Bounds.Contains(e.Location) Then ' 判斷是否為第二層節點
  40. If e.Node.Parent IsNot Nothing Then : e.Node.Checked = Not e.Node.Checked : End If ' 切換 CheckBox 的勾選狀態
  41. Else ' 如果是第一層節點,判斷是否已經展開
  42. If e.Node.IsExpanded Then : e.Node.Expand() ' 如果已經展開,則收合
  43. Else : e.Node.Collapse() : End If ' 如果未展開,則展開
  44. End If
  45. End Sub
  46. Private Sub CheckChildNodes(parentNode As TreeNode)
  47. For Each childNode As TreeNode In parentNode.Nodes
  48. If childNode.Checked Then : PA1 = childNode.Text : SQL_銷售明細新增() : End If
  49. If childNode.Nodes.Count > 0 Then : CheckChildNodes(childNode) : End If ' 如果有子節點,遞迴檢查
  50. Next
  51. End Sub
  52. Private Sub 確認_bt_Click(sender As Object, e As EventArgs) Handles 確認_bt.Click
  53. If 病歷號_tb.Text = "" Then
  54. MsgBox("病歷號 沒有填寫!!")
  55. Else
  56. Dim 流水號 As String = "" : Dim 流水 As Integer : SQL_查詢銷售()
  57. If dr.Read Then
  58. PA = dr("流水號").ToString : SQL_銷售明細刪除()
  59. For Each parentNode As TreeNode In TreeView1.Nodes : CheckChildNodes(parentNode) : Next
  60. Else
  61. SQL_銷售流水號()
  62. If dr.Read() Then : 流水 = Double.Parse(Strings.Right(dr("流水號").ToString, 8)) : Else : 流水 = 0 : End If : conn.Close() : 流水 += 1
  63. If 流水 < 10 Then : 流水號 = "PO" & "0000000" & 流水
  64. ElseIf 流水 > 9 And 流水 < 100 Then : 流水號 = "PO" & "000000" & 流水
  65. ElseIf 流水 > 99 And 流水 < 1000 Then : 流水號 = "PO" & "00000" & 流水
  66. ElseIf 流水 > 999 And 流水 < 10000 Then : 流水號 = "PO" & "0000" & 流水
  67. ElseIf 流水 > 9999 And 流水 < 100000 Then : 流水號 = "PO" & "000" & 流水
  68. ElseIf 流水 > 99999 And 流水 < 1000000 Then : 流水號 = "PO" & "00" & 流水
  69. ElseIf 流水 > 999999 And 流水 < 10000000 Then : 流水號 = "PO" & "0" & 流水
  70. ElseIf 流水 > 9999999 Then : 流水號 = "PO" & 流水 : End If : PA = 流水號
  71. SQL_銷售控制新增() : SQL_銷售明細刪除()
  72. For Each parentNode As TreeNode In TreeView1.Nodes : CheckChildNodes(parentNode) : Next
  73. End If
  74. MsgBox("資料傳遞 至 業務系統 完成!!")
  75. 病歷號_tb.Text = "" : 適應症選擇()
  76. End If
  77. End Sub
  78. Private Sub 病症_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 病症_cb.SelectedIndexChanged
  79. 療程_cb.Text = "" : SQL_下拉清單載入2()
  80. End Sub
  81. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  82. If 病症_cb.Text = "" Or 病症_cb.Text = "" Then : MsgBox("資料空白無法執行!!") : Else
  83. SQL_適應症流水()
  84. If dr.Read Then : MsgBox("資料已存在不需要重複新增!!") : Else
  85. Dim 流水號 As String = "" : Dim 流水 As Integer
  86. SQL_適應症流水1()
  87. If dr.Read() Then : 流水 = Double.Parse(Strings.Right(dr("流水號").ToString, 8)) : Else : 流水 = 0 : End If : conn.Close() : 流水 += 1
  88. If 流水 < 10 Then : 流水號 = "IN" & "0000000" & 流水
  89. ElseIf 流水 > 9 And 流水 < 100 Then : 流水號 = "IN" & "000000" & 流水
  90. ElseIf 流水 > 99 And 流水 < 1000 Then : 流水號 = "IN" & "00000" & 流水
  91. ElseIf 流水 > 999 And 流水 < 10000 Then : 流水號 = "IN" & "0000" & 流水
  92. ElseIf 流水 > 9999 And 流水 < 100000 Then : 流水號 = "IN" & "000" & 流水
  93. ElseIf 流水 > 99999 And 流水 < 1000000 Then : 流水號 = "IN" & "00" & 流水
  94. ElseIf 流水 > 999999 And 流水 < 10000000 Then : 流水號 = "IN" & "0" & 流水
  95. ElseIf 流水 > 9999999 Then : 流水號 = "IN" & 流水 : End If : PA = 流水號
  96. SQL_適應症新增1() : Set_適應症設定()
  97. End If
  98. End If
  99. End Sub
  100. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  101. Dim cc As MsgBoxResult = MsgBox("確定要刪除這筆適應症資料嗎??", MsgBoxStyle.OkCancel)
  102. If cc = MsgBoxResult.Ok Then : SQL_適應症刪除1() : Set_適應症設定() : End If
  103. End Sub
  104. End Class