Bez popisu
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 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. Public Class 業務銷售控制表
  2. Private Sub 讀取人員資料表()
  3. Dim ds As New DataSet
  4. 人員_dgv.DataSource = Nothing : ds.Clear()
  5. 人員_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  6. 人員_dgv.ColumnHeadersHeight = 25 : 人員_dgv.AllowUserToAddRows = False
  7. SQL_考勤明細表_人員()
  8. da.Fill(ds) : 人員_dgv.DataSource = ds.Tables(0) : conn.Close()
  9. 人員_dgv.Columns(0).FillWeight = 70 : 人員_dgv.Columns(1).FillWeight = 80 : 人員_dgv.Columns(2).FillWeight = 100 : 人員_dgv.Columns(3).Visible = False
  10. 人員_dgv.Columns(4).Visible = False : 人員_dgv.Columns(5).Visible = False : 人員_dgv.Columns(6).Visible = False : 人員_dgv.Columns(7).Visible = False
  11. 人員_dgv.Columns(8).Visible = False : 人員_dgv.Columns(9).Visible = False : 人員_dgv.Columns("到職日").Visible = False
  12. For i As Integer = 0 To 人員_dgv.Rows.Count - 1
  13. 人員_dgv.Rows(i).Cells("No.").Value = i + 1
  14. Next
  15. End Sub
  16. Private Sub Set_業務()
  17. Dim ds2 As New DataSet
  18. 業務_dgv.DataSource = Nothing : ds2.Clear()
  19. 業務_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  20. 業務_dgv.ColumnHeadersHeight = 25 : 業務_dgv.AllowUserToAddRows = False
  21. If 未指定_ch.Checked = True And 未聯繫_ch.Checked = False And 成功_ch.Checked = False And 失誤_ch.Checked = False Then
  22. SQL2 = " WHERE (銷售人員 IS NULL OR 銷售人員 LIKE '') AND (日期 NOT LIKE N'" & Strings.Format(Today(), "yyyy/MM/dd") & "') "
  23. ElseIf 未指定_ch.Checked = False And 未聯繫_ch.Checked = True And 成功_ch.Checked = False And 失誤_ch.Checked = False Then
  24. SQL2 = " WHERE (銷售狀態 IS NULL OR 銷售狀態 LIKE '') "
  25. ElseIf 未指定_ch.Checked = False And 未聯繫_ch.Checked = False And 成功_ch.Checked = True And 失誤_ch.Checked = False Then
  26. If gUserName = "*系統管理者" Or gUserName = "黃院長" Or gUserName = "呂總監" Or gUserName = "蔡紋婷" Or CC(28) = True Then
  27. SQL2 = " WHERE (銷售狀態 LIKE N'成功') "
  28. Else
  29. SQL2 = " WHERE (銷售狀態 LIKE N'成功') AND (銷售人員 LIKE N'" & gUserName & "') "
  30. End If
  31. ElseIf 未指定_ch.Checked = False And 未聯繫_ch.Checked = False And 成功_ch.Checked = False And 失誤_ch.Checked = True Then
  32. If gUserName = "*系統管理者" Or gUserName = "黃院長" Or gUserName = "呂總監" Or gUserName = "蔡紋婷" Or CC(28) = True Then
  33. SQL2 = " WHERE (銷售狀態 LIKE N'失敗') "
  34. Else
  35. SQL2 = " WHERE (銷售狀態 LIKE N'失敗') AND (銷售人員 LIKE N'" & gUserName & "') "
  36. End If
  37. End If
  38. SQL_業務控制()
  39. da.Fill(ds2) : 業務_dgv.DataSource = ds2.Tables(0) : conn.Close() : SQL2 = ""
  40. 業務_dgv.Columns(0).Visible = False : 業務_dgv.Columns(2).FillWeight = 80 : 業務_dgv.Columns(4).FillWeight = 80 : 業務_dgv.Columns("備註").FillWeight = 160
  41. '適應症選擇()
  42. End Sub
  43. Private Sub 治療()
  44. Dim ds As New DataSet
  45. 治療建議_dgv.DataSource = Nothing : ds.Clear()
  46. 治療建議_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  47. 治療建議_dgv.ColumnHeadersHeight = 25 : 治療建議_dgv.AllowUserToAddRows = False : 治療建議_dgv.RowTemplate.Height = 50
  48. SQL_業務明細()
  49. da.Fill(ds) : 治療建議_dgv.DataSource = ds.Tables(0) : conn.Close()
  50. 治療建議_dgv.Columns("症狀").Visible = False : 治療建議_dgv.Columns("備註").Visible = False
  51. For i As Integer = 0 To 治療建議_dgv.Rows.Count - 1
  52. If 治療建議_dgv("症狀", i).Value.ToString = "" And 治療建議_dgv("備註", i).Value.ToString = "" Then
  53. ElseIf 治療建議_dgv("症狀", i).Value.ToString <> "" And 治療建議_dgv("備註", i).Value.ToString = "" Then
  54. 治療建議_dgv("建議治療", i).Value = 治療建議_dgv("症狀", i).Value.ToString & " / " & 治療建議_dgv("建議治療", i).Value.ToString
  55. ElseIf 治療建議_dgv("症狀", i).Value.ToString = "" And 治療建議_dgv("備註", i).Value.ToString <> "" Then
  56. 治療建議_dgv("建議治療", i).Value = 治療建議_dgv("建議治療", i).Value.ToString & " => " & 治療建議_dgv("備註", i).Value.ToString
  57. ElseIf 治療建議_dgv("症狀", i).Value.ToString <> "" And 治療建議_dgv("備註", i).Value.ToString <> "" Then
  58. 治療建議_dgv("建議治療", i).Value = 治療建議_dgv("症狀", i).Value.ToString & " / " & 治療建議_dgv("建議治療", i).Value.ToString & " => " & 治療建議_dgv("備註", i).Value.ToString
  59. End If
  60. Next
  61. Dim ds1 As New DataSet
  62. 保養品_dgv.DataSource = Nothing : ds1.Clear()
  63. 保養品_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  64. 保養品_dgv.ColumnHeadersHeight = 25 : 保養品_dgv.AllowUserToAddRows = False : 保養品_dgv.RowTemplate.Height = 50
  65. SQL_保養品明細()
  66. da.Fill(ds1) : 保養品_dgv.DataSource = ds1.Tables(0) : conn.Close()
  67. 保養品_dgv.Columns("品牌").Visible = False : 保養品_dgv.Columns("備註").Visible = False
  68. For i As Integer = 0 To 保養品_dgv.Rows.Count - 1
  69. If 保養品_dgv("品牌", i).Value.ToString = "" And 保養品_dgv("備註", i).Value.ToString = "" Then
  70. ElseIf 保養品_dgv("品牌", i).Value.ToString <> "" And 保養品_dgv("備註", i).Value.ToString = "" Then
  71. 保養品_dgv("建議產品", i).Value = 保養品_dgv("建議產品", i).Value.ToString
  72. ElseIf 保養品_dgv("品牌", i).Value.ToString = "" And 保養品_dgv("備註", i).Value.ToString <> "" Then
  73. 保養品_dgv("建議產品", i).Value = 保養品_dgv("建議產品", i).Value.ToString & " => " & 保養品_dgv("備註", i).Value.ToString
  74. ElseIf 保養品_dgv("品牌", i).Value.ToString <> "" And 保養品_dgv("備註", i).Value.ToString <> "" Then
  75. 保養品_dgv("建議產品", i).Value = 保養品_dgv("建議產品", i).Value.ToString & " => " & 保養品_dgv("備註", i).Value.ToString
  76. End If
  77. Next
  78. End Sub
  79. Private Sub 業務銷售控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  80. If gUserName = "*系統管理者" Or gUserName = "黃院長" Or gUserName = "呂總監" Or gUserName = "蔡紋婷" Then
  81. 未指定_ch.Visible = True : 未聯繫_ch.Visible = True : 成功_ch.Visible = True : 失誤_ch.Visible = True
  82. ElseIf CC(28) = True Then
  83. 未指定_ch.Visible = True : 未聯繫_ch.Visible = False : 成功_ch.Visible = True : 失誤_ch.Visible = True
  84. 未指定_ch.Checked = True : 未聯繫_ch.Checked = False : 成功_ch.Checked = False : 失誤_ch.Checked = False
  85. ElseIf CC(28) = False Then
  86. 未指定_ch.Visible = False : 未聯繫_ch.Visible = False : 成功_ch.Visible = True : 失誤_ch.Visible = True
  87. 未指定_ch.Checked = False : 未聯繫_ch.Checked = False : 成功_ch.Checked = True : 失誤_ch.Checked = False
  88. End If
  89. End Sub
  90. Private Sub 業務銷售控制表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  91. 讀取人員資料表() : Set_業務()
  92. End Sub
  93. Private Sub 人員_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 人員_dgv.CellClick
  94. If e.RowIndex = -1 Then : Else : 銷售人員_tb.Text = 人員_dgv("姓名", e.RowIndex).Value.ToString : End If
  95. End Sub
  96. Private Sub 業務_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 業務_dgv.CellClick
  97. If e.RowIndex = -1 Then : Else
  98. 看診日期_dtp.Text = 業務_dgv("日期", e.RowIndex).Value.ToString : 病歷號_tb.Text = 業務_dgv("病歷號", e.RowIndex).Value.ToString
  99. 看診醫生_tb.Text = 業務_dgv("醫師", e.RowIndex).Value.ToString : 銷售人員_tb.Text = 業務_dgv("銷售人員", e.RowIndex).Value.ToString
  100. 備註_tb.Text = 業務_dgv("備註", e.RowIndex).Value.ToString : 流水號_bt.Text = 業務_dgv("流水號", e.RowIndex).Value.ToString
  101. 治療()
  102. End If
  103. End Sub
  104. Private Sub 業務_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 業務_dgv.RowPostPaint
  105. Dim linePen As New Pen(Color.Blue, 2)
  106. If e.RowIndex = 業務_dgv.Rows.Count - 1 Then : Exit Sub : Else
  107. If Strings.Left(業務_dgv("日期", e.RowIndex).Value.ToString, 10) <> Strings.Left(業務_dgv("日期", e.RowIndex + 1).Value.ToString, 10) Then
  108. Dim startX As Integer = IIf(業務_dgv.RowHeadersVisible, 業務_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  109. Dim endX As Integer = startX + 業務_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 業務_dgv.HorizontalScrollingOffset
  110. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  111. End If
  112. End If
  113. End Sub
  114. Private Sub 未指定_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 未指定_ch.Click
  115. 未指定_ch.Checked = True : 未聯繫_ch.Checked = False : 成功_ch.Checked = False : 失誤_ch.Checked = False : Set_業務()
  116. End Sub
  117. Private Sub 未聯繫_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 未聯繫_ch.Click
  118. 未指定_ch.Checked = False : 未聯繫_ch.Checked = True : 成功_ch.Checked = False : 失誤_ch.Checked = False : Set_業務()
  119. End Sub
  120. Private Sub 成功_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 成功_ch.Click
  121. 未指定_ch.Checked = False : 未聯繫_ch.Checked = False : 成功_ch.Checked = True : 失誤_ch.Checked = False : Set_業務()
  122. End Sub
  123. Private Sub 失誤_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 失誤_ch.Click
  124. 未指定_ch.Checked = False : 未聯繫_ch.Checked = False : 成功_ch.Checked = False : 失誤_ch.Checked = True : Set_業務()
  125. End Sub
  126. Private Sub 指定銷售_bt_Click(sender As Object, e As EventArgs) Handles 指定銷售_bt.Click
  127. If 病歷號_tb.Text = "" Then : MsgBox("請先選擇銷售資料!!") : Else
  128. If 銷售人員_tb.Text = "" Then : MsgBox("請先選擇銷售人員!!") : Else
  129. SQL_業務控制指定銷售() : Set_業務() : MsgBox("指定業務人員完成!!")
  130. End If
  131. End If
  132. End Sub
  133. Private Sub 銷售成功_bt_Click(sender As Object, e As EventArgs) Handles 銷售成功_bt.Click
  134. If 病歷號_tb.Text = "" Then : MsgBox("請先選擇銷售資料!!") : Else
  135. If 銷售人員_tb.Text = "" Then : MsgBox("請先選擇銷售人員!!") : Else
  136. PA1 = "成功" : PA2 = Strings.Format(Today(), "yyyy/MM/dd") : SQL_業務控制備註存檔() : SQL_業務控制指定銷售完成() : Set_業務() : MsgBox("單據記錄成功!!")
  137. End If
  138. End If
  139. End Sub
  140. Private Sub 銷售取消_bt_Click(sender As Object, e As EventArgs) Handles 銷售取消_bt.Click
  141. If 病歷號_tb.Text = "" Then : MsgBox("請先選擇銷售資料!!") : Else
  142. If 銷售人員_tb.Text = "" Then : MsgBox("請先選擇銷售人員!!") : Else
  143. PA1 = "失敗" : PA2 = "" : SQL_業務控制指定銷售完成() : SQL_業務控制備註存檔() : Set_業務() : MsgBox("單據記錄成功!!")
  144. End If
  145. End If
  146. End Sub
  147. Private Sub 備註存檔_bt_Click(sender As Object, e As EventArgs) Handles 備註存檔_bt.Click
  148. If 病歷號_tb.Text = "" Then : MsgBox("請先選擇銷售資料!!") : Else
  149. If 銷售人員_tb.Text = "" Then : MsgBox("請先選擇銷售人員!!") : Else
  150. SQL_業務控制備註存檔() : Set_業務() : MsgBox("單據記錄成功!!")
  151. End If
  152. End If
  153. End Sub
  154. End Class