Brak opisu
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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. Imports System.IO
  2. Imports System.Net
  3. Imports System.Text
  4. Imports Microsoft.VisualBasic.ApplicationServices
  5. Imports Newtonsoft.Json
  6. '需要從Nuget安裝套件 Newtonsoft.Json
  7. Module SQL_LINE
  8. Public 發送對象, LINE_權限代號, PA201, PA202, PA203, PA204, PA205, 通知變數X, 通知變數Y As String
  9. '=======請依照不同公司修改=======
  10. Public LINE_公司名稱 As String = "HS" : Public LINE_機器人代號 As String = "RB-0005"
  11. '===========================
  12. Public ConStringLINE As String
  13. Public LINE_權限數量 As Integer = 61
  14. Public linecc(61) As Boolean
  15. Public LINE_需通知清單_dgv, LINE_通知內容清單_dgv As New DataTable
  16. Public LINE_系統權限 As String = "CC200,CC201,CC202,CC203,CC204,CC205,CC206,CC207,CC208,CC209,CC210,CC211,CC212,CC213,CC214,CC215,CC216,CC217,
  17. CC218,CC219,CC220,CC221,CC222,CC223,CC224,CC225,CC226,CC227,CC228,CC229,CC230,CC231,CC232,CC233,CC234,CC235,CC236,CC237,
  18. CC238,CC239,CC240,CC241,CC242,CC243,CC244,CC245,CC246,CC247,CC248,CC249,CC250,CC251,CC252,CC253,CC254,CC255,CC256,CC257,
  19. CC258,CC259,CC260"
  20. Public LINE_登入權限 As String = "姓名, 帳號 AS 公司名稱,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message," & LINE_系統權限
  21. Public LINE_登入權限_IN As String = "姓名, 帳號 ,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message," & LINE_系統權限
  22. Public LINE_登入權限2 As String = "使用者權限管理表_1.姓名, 使用者權限管理表_1.帳號, 使用者權限管理表.token, 使用者權限管理表.通知語言, 使用者權限管理表.電話號碼1,
  23. 使用者權限管理表.電話號碼2, 使用者權限管理表.電話號碼3, 使用者權限管理表.Line, 使用者權限管理表.WhatsApp, 使用者權限管理表.Message," & LINE_系統權限
  24. Friend Sub SQL_連線字串_測試_LINE_SQL()
  25. ConStringLINE = "Data Source=mssql-147629-0.cloudclusters.net,12711;Initial Catalog=GCM-SCADA;Persist Security Info=True;User ID=b70340;Password=Lee0911274990;Max pool size = 200; Connection Timeout=0"
  26. End Sub
  27. Friend Sub ConnOpen_LINE_SQL()
  28. SQL_連線字串_測試_LINE_SQL()
  29. conn.Close() : If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConStringLINE : conn.Open() : End If
  30. End Sub
  31. ''' <summary>
  32. ''' 使用代號之前,請先到LINE使用者管理去進行設定
  33. ''' 對象 請在LINE使用者管理中去複製字串出來。
  34. ''' </summary>
  35. Public Sub LIN訊息通知X(代號 As String, 對象 As String, Optional ByVal 變數X As String = "", Optional ByVal 變數Y As String = "")
  36. LINE_權限代號 = 代號 : 發送對象 = 對象 : 通知變數X = 變數X : 通知變數Y = 變數Y : LINE_通知模塊()
  37. End Sub
  38. ''' <summary>
  39. ''' 使用代號之前,請先到LINE使用者管理去進行設定
  40. ''' 對象 請在LINE使用者管理中去複製字串出來。
  41. ''' </summary>
  42. Public Sub LIN訊息通知_新(代號 As String, 對象 As String, Optional ByVal 變數X As String = "", Optional ByVal 變數Y As String = "")
  43. LINE_權限代號 = 代號 : 發送對象 = 對象 : 通知變數X = 變數X : 通知變數Y = 變數Y : LINE_新通知模塊()
  44. End Sub
  45. '=====LINE_權限代號 = "CC207" : 發送對象 = "tltony1234" : 通知變數X = "王詩文" : 通知變數Y = "9/7號" : LINE_通知模塊()=====
  46. Friend Sub SQL_LOG檔清除()
  47. ConnOpen_LINE_SQL()
  48. SQL1 = "ALTER DATABASE [GCM-SCADA] SET RECOVERY SIMPLE WITH NO_WAIT
  49. DBCC SHRINKFILE(N'GCM-SCADA_log', 1)
  50. ALTER DATABASE [GCM-SCADA] SET RECOVERY FULL WITH NO_WAIT"
  51. CmdSet_For_dr()
  52. End Sub
  53. Friend Sub SQL_系統使用者_清單()
  54. ConnOpen()
  55. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 ORDER BY 姓名"
  56. CmdSet_For_DGV()
  57. End Sub
  58. Friend Sub SQL_LINE_使用者管理表_清單載入()
  59. ConnOpen_LINE_SQL()
  60. SQL1 = "SELECT 姓名, UserID, CC200, CC201, CC202, CC203, CC204, CC205, CC206, CC207, CC208, CC209, CC210,
  61. CC211, CC212, CC213, CC214, CC215, CC216, CC217, CC218, CC219, CC220, CC221, CC222, CC223, CC224, CC225,
  62. CC226, CC227, CC228, CC229, CC230, CC231, CC232, CC233, CC234, CC235, CC236, CC237, CC238, CC239, CC240,
  63. CC241, CC242, CC243, CC244, CC245, CC246, CC247, CC248, CC249, CC250, CC251, CC252, CC253, CC254, CC255,
  64. CC256, CC257, CC258, CC259, CC260, 通知語言, Line, WhatsApp, Message, 電話號碼1, 電話號碼2, 電話號碼3
  65. FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'" & LINE_公司名稱 & "' ORDER BY 姓名 "
  66. CmdSet_For_DGV()
  67. End Sub
  68. Friend Sub SQL_LINE權限一覽_dgv_清單()
  69. ConnOpen_LINE_SQL()
  70. SQL1 = "SELECT 權限代號, 權限名稱 FROM LINE_權限一覽表 WHERE (權限名稱 LIKE N'WS%') OR (權限名稱 LIKE N'GCM%') ORDER BY 權限代號"
  71. CmdSet_For_DGV()
  72. End Sub
  73. Friend Sub SQL_LINE_未綁定LINEid清單載入()
  74. ConnOpen_LINE_SQL()
  75. SQL1 = "SELECT DISTINCT LINE_使用者資料表.UserID
  76. FROM LINE_使用者資料表 LEFT OUTER JOIN
  77. LINE_群組控制表 ON LINE_使用者資料表.GroupID = LINE_群組控制表.GroupID LEFT OUTER JOIN
  78. LINE_使用者權限管理表 ON LINE_使用者資料表.UserID = LINE_使用者權限管理表.UserID
  79. WHERE (LINE_使用者資料表.UserID IS NOT NULL) AND (LINE_使用者權限管理表.姓名 IS NULL OR
  80. LINE_使用者權限管理表.姓名 LIKE N'') AND (LINE_群組控制表.RobotID NOT LIKE N'RB-0001' OR
  81. LINE_群組控制表.RobotID IS NULL)
  82. ORDER BY LINE_使用者資料表.UserID"
  83. CmdSet_For_DGV()
  84. End Sub
  85. Friend Sub SQL_LINE_個人對話紀錄(user_id As String)
  86. ConnOpen_LINE_SQL()
  87. SQL1 = "SELECT createtime AS 日期, text AS 內容 FROM LINE_個人紀錄表 WHERE (UserID LIKE N'" & user_id & "' ) ORDER BY createtime DESC"
  88. CmdSet_For_DGV()
  89. End Sub
  90. Friend Sub SQL_LINE_群組對話紀錄(user_id As String)
  91. ConnOpen_LINE_SQL()
  92. SQL1 = "SELECT createtime AS 日期, text AS 內容
  93. FROM LINE_WS群組紀錄表
  94. WHERE (UserID LIKE N'" & user_id & "')
  95. UNION ALL
  96. SELECT createtime AS 日期, text AS 內容
  97. FROM LINE_MCD群組紀錄表
  98. WHERE (UserID LIKE N'" & user_id & "')
  99. ORDER BY createtime DESC"
  100. CmdSet_For_DGV()
  101. End Sub
  102. Friend Sub SQL_確認是否有重複名稱(姓名 As String, UserID As String)
  103. ConnOpen_LINE_SQL()
  104. SQL1 = "SELECT 姓名, 帳號, token, CC200, CC201, CC202, CC203, CC204, CC205, CC206, CC207, CC208, CC209, CC210,
  105. CC211, CC212, CC213, CC214, CC215, CC216, CC217, CC218, CC219, CC220, CC221, CC222, CC223, CC224, CC225,
  106. CC226, CC227, CC228, CC229, CC230, CC231, CC232, CC233, CC234, CC235, CC236, CC237, CC238, CC239, CC240,
  107. CC241, CC242, CC243, CC244, CC245, CC246, CC247, CC248, CC249, CC250, CC251, CC252, CC253, CC254, CC255,
  108. CC256, CC257, CC258, CC259, CC260, 通知語言, Line, WhatsApp, Message, 電話號碼1, 電話號碼2, 電話號碼3,
  109. UserID FROM LINE_使用者權限管理表
  110. WHERE (姓名 LIKE N'" & 姓名 & "' OR UserID LIKE N'" & UserID & "')"
  111. CmdSet_For_dr()
  112. End Sub
  113. Friend Sub SQL_LINE_新增使用者資料(姓名 As String, 通知語言 As String, Line As Boolean, WhatsApp As Boolean, Message As Boolean, 電話號碼1 As String, 電話號碼2 As String, 電話號碼3 As String, UserID As String)
  114. ConnOpen_LINE_SQL()
  115. SQL1 = "INSERT INTO LINE_使用者權限管理表 (姓名, 帳號, token, CC200, CC201, CC202, CC203, CC204, CC205, CC206, CC207, CC208, CC209, CC210,
  116. CC211, CC212, CC213, CC214, CC215, CC216, CC217, CC218, CC219, CC220, CC221, CC222, CC223, CC224, CC225,
  117. CC226, CC227, CC228, CC229, CC230, CC231, CC232, CC233, CC234, CC235, CC236, CC237, CC238, CC239, CC240,
  118. CC241, CC242, CC243, CC244, CC245, CC246, CC247, CC248, CC249, CC250, CC251, CC252, CC253, CC254, CC255,
  119. CC256, CC257, CC258, CC259, CC260, 通知語言, Line, WhatsApp, Message, 電話號碼1, 電話號碼2, 電話號碼3,
  120. UserID)
  121. VALUES (N'" & 姓名 & "', N'WS', N'','" & linecc(0) & "','" & linecc(1) & "','" & linecc(2) & "','" & linecc(3) & "','" & linecc(4) & "','" & linecc(5) & "','" & linecc(6) & "','" & linecc(7) & "','" & linecc(8) &
  122. "','" & linecc(9) & "','" & linecc(10) & "','" & linecc(11) & "','" & linecc(12) & "','" & linecc(13) & "','" & linecc(14) & "','" & linecc(15) & "','" & linecc(16) &
  123. "','" & linecc(17) & "','" & linecc(18) & "','" & linecc(19) & "','" & linecc(20) & "','" & linecc(21) & "','" & linecc(22) & "','" & linecc(23) & "','" & linecc(24) &
  124. "','" & linecc(25) & "','" & linecc(26) & "','" & linecc(27) & "','" & linecc(28) & "','" & linecc(29) & "','" & linecc(30) & "','" & linecc(31) & "','" & linecc(32) &
  125. "','" & linecc(33) & "','" & linecc(34) & "','" & linecc(35) & "','" & linecc(36) & "','" & linecc(37) & "','" & linecc(38) & "','" & linecc(39) & "','" & linecc(40) &
  126. "','" & linecc(41) & "','" & linecc(42) & "','" & linecc(43) & "','" & linecc(44) & "','" & linecc(45) & "','" & linecc(46) & "','" & linecc(47) & "','" & linecc(48) &
  127. "','" & linecc(49) & "','" & linecc(50) & "','" & linecc(51) & "','" & linecc(52) & "','" & linecc(53) & "','" & linecc(54) & "','" & linecc(55) & "','" & linecc(56) &
  128. "','" & linecc(57) & "','" & linecc(58) & "','" & linecc(59) & "','" & linecc(60) & "',N'" & 通知語言 & "',N'" & Line & "',N'" & WhatsApp & "',N'" & Message &
  129. "',N'" & 電話號碼1 & "',N'" & 電話號碼2 & "',N'" & 電話號碼3 & "',N'" & UserID & "')"
  130. CmdSet_For_dr()
  131. End Sub
  132. Friend Sub SQL_LINE_使用者資料刪除(帳號 As String, 姓名 As String, token As String)
  133. ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 帳號 & "' AND 姓名 LIKE N'" & 姓名 & "' AND token LIKE N'" & token & "')" : CmdSet_For_dr()
  134. End Sub
  135. Friend Sub SQL_LINE_新增發送通知()
  136. ConnOpen_LINE_SQL()
  137. SQL1 = "INSERT INTO LINE_通知設定表 (token,發送內容,隨機碼,通知語言,發送APP) VALUES (N'" & PA201 & "',N'" & PA202 & "',N'" & PA203 & "',N'" & PA204 & "',N'" & PA205 & "')"
  138. CmdSet_For_dr()
  139. End Sub
  140. Friend Sub SQL_LINE_搜尋符合通知對象()
  141. ConnOpen_LINE_SQL()
  142. SQL1 = "SELECT UserID,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message FROM LINE_使用者權限管理表 WHERE(" & LINE_權限代號 & "='True' and 姓名 LIKE N'" & 發送對象 & "')"
  143. CmdSet_For_DGV()
  144. End Sub
  145. Friend Sub SQL_LINE_通知內容清單載入()
  146. ConnOpen_LINE_SQL()
  147. SQL1 = "SELECT LINE_通知內容設定表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.通知內容, LINE_通知內容設定表.通知格式,
  148. LINE_通知內容設定表.變數位置, LINE_通知內容設定表.通知內容1, LINE_通知內容設定表.通知內容2, LINE_通知內容設定表.通知內容3,
  149. LINE_通知內容設定表.已使用
  150. FROM LINE_通知內容設定表 INNER JOIN
  151. LINE_權限一覽表 ON LINE_通知內容設定表.權限代號 = LINE_權限一覽表.權限代號
  152. ORDER BY LINE_通知內容設定表.權限代號"
  153. CmdSet_For_DGV()
  154. End Sub
  155. Friend Sub SQL_LINE_通知內容()
  156. ConnOpen_LINE_SQL()
  157. SQL1 = "SELECT 通知格式,變數位置,通知內容1,通知內容2,通知內容3 FROM LINE_通知內容設定表 WHERE (權限代號='" & LINE_權限代號 & "')"
  158. CmdSet_For_DGV()
  159. End Sub
  160. Friend Sub SQL_LINE_權限清單載入()
  161. ConnOpen_LINE_SQL()
  162. SQL1 = "SELECT LINE_權限一覽表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.已使用
  163. FROM LINE_權限一覽表 LEFT OUTER JOIN LINE_通知內容設定表 ON LINE_權限一覽表.權限代號 = LINE_通知內容設定表.權限代號
  164. ORDER BY LINE_權限一覽表.權限代號"
  165. CmdSet_For_DGV()
  166. End Sub
  167. Friend Sub LINE_新通知模塊()
  168. Dim ds5, ds6 As New DataSet : ds5.Clear() : ds6.Clear()
  169. Dim 通知格式, 變數位置, 通知內容1, 通知內容2, 通知內容3, 發送X, 發送Y As String
  170. Dim L, M, W As Boolean
  171. SQL_LINE_搜尋符合通知對象()
  172. da.Fill(ds5)
  173. LINE_需通知清單_dgv = ds5.Tables(0) : conn.Close()
  174. If 通知變數X = "" Then : 發送X = "未設定通知變數X" : Else : 發送X = 通知變數X : End If
  175. If 通知變數Y = "" Then : 發送Y = "未設定通知變數Y" : Else : 發送Y = 通知變數Y : End If
  176. For x As Integer = 0 To LINE_需通知清單_dgv.Rows.Count - 1
  177. L = LINE_需通知清單_dgv.Rows(x)("Line")
  178. W = LINE_需通知清單_dgv.Rows(x)("WhatsApp")
  179. M = LINE_需通知清單_dgv.Rows(x)("Message")
  180. SQL_LINE_通知內容() : da.Fill(ds6) : LINE_通知內容清單_dgv = ds6.Tables(0) : conn.Close()
  181. If LINE_需通知清單_dgv.Rows.Count = 0 Then : Else
  182. 通知格式 = LINE_通知內容清單_dgv.Rows(0)(0).ToString
  183. 變數位置 = LINE_通知內容清單_dgv.Rows(0)(1).ToString
  184. 通知內容1 = LINE_通知內容清單_dgv.Rows(0)(2).ToString
  185. 通知內容2 = LINE_通知內容清單_dgv.Rows(0)(3).ToString
  186. 通知內容3 = LINE_通知內容清單_dgv.Rows(0)(4).ToString
  187. Dim 發送訊息 As String = "這是一則來自FH智能小幫手的通知訊息"
  188. If 變數位置 = "A" Then
  189. 發送訊息 = 通知內容1
  190. ElseIf 變數位置 = "X" Then
  191. 發送訊息 = 發送X
  192. ElseIf 變數位置 = "A+X" Then
  193. 發送訊息 = 通知內容1 + 發送X
  194. ElseIf 變數位置 = "X+A" Then
  195. 發送訊息 = 發送X + 通知內容1
  196. ElseIf 變數位置 = "X+A+Y" Then
  197. 發送訊息 = 發送X + 通知內容1 + 發送Y
  198. ElseIf 變數位置 = "A+X+B" Then
  199. 發送訊息 = 通知內容1 + 發送X + 通知內容2
  200. ElseIf 變數位置 = "X+A+Y+B" Then
  201. 發送訊息 = 發送X + 通知內容1 + 發送Y + 通知內容2
  202. ElseIf 變數位置 = "A+X+B+Y" Then
  203. 發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y
  204. ElseIf 變數位置 = "A+X+B+Y+C" Then
  205. 發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3
  206. End If
  207. Dim UserID As String = LINE_需通知清單_dgv.Rows(x)("UserID").ToString
  208. If L = True Then
  209. If UserID = "" Then : Else
  210. PostData(UserID, 發送訊息, LINE_機器人代號)
  211. End If
  212. End If
  213. End If
  214. Next
  215. ds5.Clear() : ds6.Clear() : 通知變數X = "" : 通知變數Y = ""
  216. End Sub
  217. Sub PostData(userID As String, text As String, robotID As String)
  218. ' 定義要請求的 URL
  219. Dim url As String = "https://gcmlineauto-4acbbd534d6e.herokuapp.com/wsw/webhook"
  220. ' 準備要傳送的資料(這裡使用 JSON 格式)
  221. Dim data As New Dictionary(Of String, String) From {
  222. {"userID", userID},
  223. {"text", text},
  224. {"robotID", robotID}
  225. }
  226. Dim json As String = JsonConvert.SerializeObject(data)
  227. ' 建立 HttpWebRequest
  228. Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
  229. request.Method = "POST"
  230. request.ContentType = "application/json"
  231. request.ContentLength = Encoding.UTF8.GetByteCount(json)
  232. ' 將 JSON 資料寫入請求中
  233. Using streamWriter As New StreamWriter(request.GetRequestStream())
  234. streamWriter.Write(json)
  235. streamWriter.Flush()
  236. End Using
  237. Try
  238. ' 獲取回應
  239. Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
  240. Using streamReader As New StreamReader(response.GetResponseStream())
  241. Dim result As String = streamReader.ReadToEnd()
  242. Console.WriteLine("回應內容: " & result)
  243. End Using
  244. Catch ex As WebException
  245. ' 如果請求失敗,顯示錯誤
  246. Dim errorResponse As HttpWebResponse = CType(ex.Response, HttpWebResponse)
  247. Console.WriteLine("錯誤: " & errorResponse.StatusCode)
  248. End Try
  249. End Sub
  250. Function SQL_LINE_隨機碼()
  251. Dim rancode As String
  252. Dim RndNum As New Random()
  253. rancode = Str(Date.Now.Year).Trim().PadLeft(4, "0") + Str(Date.Now.Month).Trim().PadLeft(2, "0") + Str(Date.Now.Day).Trim().PadLeft(2, "0") + Str(Date.Now.Hour).Trim().PadLeft(2, "0") + Str(Date.Now.Minute).Trim().PadLeft(2, "0") + Str(Date.Now.Second).Trim().PadLeft(2, "0") + Str(RndNum.Next(1000)).Trim().PadLeft(4, "0")
  254. Return rancode
  255. End Function
  256. Friend Sub LINE_通知模塊()
  257. Dim ds5, ds6 As New DataSet : ds5.Clear() : ds6.Clear()
  258. Dim 通知格式, 變數位置, 通知內容1, 通知內容2, 通知內容3, 發送X, 發送Y As String
  259. Dim L, M, W As Boolean
  260. SQL_LINE_搜尋符合通知對象()
  261. da.Fill(ds5) : LINE_需通知清單_dgv = ds5.Tables(0) : conn.Close()
  262. If 通知變數X = "" Then : 發送X = "未設定通知變數X" : Else : 發送X = 通知變數X : End If
  263. If 通知變數Y = "" Then : 發送Y = "未設定通知變數Y" : Else : 發送Y = 通知變數Y : End If
  264. For x As Integer = 0 To LINE_需通知清單_dgv.Rows.Count - 1
  265. L = LINE_需通知清單_dgv.Rows(x)("Line")
  266. W = LINE_需通知清單_dgv.Rows(x)("WhatsApp")
  267. M = LINE_需通知清單_dgv.Rows(x)("Message")
  268. SQL_LINE_通知內容() : da.Fill(ds6) : LINE_通知內容清單_dgv = ds6.Tables(0) : conn.Close()
  269. If LINE_需通知清單_dgv.Rows.Count = 0 Then : Else
  270. 通知格式 = LINE_通知內容清單_dgv.Rows(0)(0).ToString
  271. 變數位置 = LINE_通知內容清單_dgv.Rows(0)(1).ToString
  272. 通知內容1 = LINE_通知內容清單_dgv.Rows(0)(2).ToString
  273. 通知內容2 = LINE_通知內容清單_dgv.Rows(0)(3).ToString
  274. 通知內容3 = LINE_通知內容清單_dgv.Rows(0)(4).ToString
  275. If 變數位置 = "A" Then
  276. PA202 = 通知內容1
  277. ElseIf 變數位置 = "X" Then
  278. PA202 = 發送X
  279. ElseIf 變數位置 = "A+X" Then
  280. PA202 = 通知內容1 + 發送X
  281. ElseIf 變數位置 = "X+A" Then
  282. PA202 = 發送X + 通知內容1
  283. ElseIf 變數位置 = "X+A+Y" Then
  284. PA202 = 發送X + 通知內容1 + 發送Y
  285. ElseIf 變數位置 = "A+X+B" Then
  286. PA202 = 通知內容1 + 發送X + 通知內容2
  287. ElseIf 變數位置 = "X+A+Y+B" Then
  288. PA202 = 發送X + 通知內容1 + 發送Y + 通知內容2
  289. ElseIf 變數位置 = "A+X+B+Y" Then
  290. PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y
  291. ElseIf 變數位置 = "A+X+B+Y+C" Then
  292. PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3
  293. End If
  294. PA204 = LINE_需通知清單_dgv.Rows(x)(1).ToString
  295. If L = True Then
  296. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("token").ToString : PA205 = "Line" : SQL_LINE_新增發送通知()
  297. End If
  298. If W = True Then
  299. If LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString <> "" Then
  300. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
  301. End If
  302. If LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString <> "" Then
  303. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
  304. End If
  305. If LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString <> "" Then
  306. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
  307. End If
  308. End If
  309. If M = True Then
  310. If LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString <> "" Then
  311. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
  312. End If
  313. If LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString <> "" Then
  314. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
  315. End If
  316. If LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString <> "" Then
  317. PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
  318. End If
  319. End If
  320. End If
  321. Next
  322. ds5.Clear() : ds6.Clear() : 通知變數X = "" : 通知變數Y = ""
  323. End Sub
  324. End Module