Geen omschrijving
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.

SQL_LINE.vb 38KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. Imports System.IO
  2. Imports System.Net
  3. Imports System.Text
  4. Imports Newtonsoft.Json
  5. Module SQL_LINE
  6. ''' <summary>
  7. ''' 使用代號之前,請先到LINE使用者管理去進行設定
  8. ''' 對象 請在LINE使用者管理中去複製字串出來。
  9. ''' </summary>
  10. Public Sub LIN訊息通知(ByVal 代號 As String, ByVal 對象 As String, Optional ByVal 變數X As String = "", Optional ByVal 變數Y As String = "")
  11. LINE_權限代號 = 代號 : 發送對象 = 對象 : 通知變數X = 變數X : 通知變數Y = 變數Y : LINE_通知模塊()
  12. End Sub
  13. '=====LINE_權限代號 = "CC207" : 發送對象 = "tltony1234" : 通知變數X = "王詩文" : 通知變數Y = "9/7號" : LINE_通知模塊()=====
  14. Friend Sub SQL_LINE_使用者管理表_清單載入()
  15. ConnOpen_LINE_SQL()
  16. SQL1 = "SELECT " & LINE_登入權限 & " FROM LINE_使用者權限管理表 " & SQL2 & " ORDER BY 帳號 "
  17. CmdSet_For_DGV()
  18. End Sub
  19. Friend Sub SQL_LINE_未綁定使用者清單載入(區域 As String)
  20. ConnOpen_LINE_SQL()
  21. If 帳號綁定 = "MCD" Then
  22. SQL1 = "SELECT 姓名,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'MCD' ) AND (UserID IS NULL OR UserID LIKE N'' )"
  23. Else
  24. SQL1 = "SELECT 姓名,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 區域 & "' AND 帳號 NOT LIKE N'MCD' ) AND (UserID IS NULL OR UserID LIKE N'' )"
  25. End If
  26. CmdSet_For_DGV()
  27. End Sub
  28. Friend Sub SQL_LINE_已綁定使用者清單載入(區域 As String)
  29. ConnOpen_LINE_SQL()
  30. If 帳號綁定 = "MCD" Then
  31. SQL1 = "SELECT 姓名,UserID,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'MCD' ) AND UserID IS NOT NULL AND UserID NOT LIKE N'' "
  32. Else
  33. SQL1 = "SELECT 姓名,UserID,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 區域 & "' AND 帳號 NOT LIKE N'MCD' ) AND UserID IS NOT NULL AND UserID NOT LIKE N'' "
  34. End If
  35. CmdSet_For_DGV()
  36. End Sub
  37. Friend Sub SQL_LINE_未綁定LINEid清單載入()
  38. ConnOpen_LINE_SQL()
  39. SQL1 = "SELECT DISTINCT LINE_使用者資料表.UserID
  40. FROM LINE_使用者資料表 LEFT OUTER JOIN
  41. LINE_使用者權限管理表 ON LINE_使用者資料表.UserID = LINE_使用者權限管理表.UserID
  42. WHERE (LINE_使用者資料表.UserID IS NOT NULL) AND (LINE_使用者權限管理表.姓名 IS NULL OR
  43. LINE_使用者權限管理表.姓名 LIKE N'')
  44. ORDER BY LINE_使用者資料表.UserID"
  45. CmdSet_For_DGV()
  46. End Sub
  47. Friend Sub SQL_LINE_個人對話紀錄(user_id As String)
  48. ConnOpen_LINE_SQL()
  49. SQL1 = "SELECT createtime AS 日期, text AS 內容 FROM LINE_個人紀錄表 WHERE (UserID LIKE N'" & user_id & "' ) "
  50. CmdSet_For_DGV()
  51. End Sub
  52. Friend Sub SQL_LINE_群組對話紀錄(user_id As String)
  53. ConnOpen_LINE_SQL()
  54. SQL1 = "SELECT createtime AS 日期, text AS 內容
  55. FROM LINE_WS群組紀錄表
  56. WHERE (UserID LIKE N'" & user_id & "')
  57. UNION ALL
  58. SELECT createtime AS 日期, text AS 內容
  59. FROM LINE_MCD群組紀錄表
  60. WHERE (UserID LIKE N'" & user_id & "')
  61. ORDER BY createtime DESC"
  62. CmdSet_For_DGV()
  63. End Sub
  64. Friend Sub SQL_LINE_綁定UserID(user_id As String, 姓名 As String, 區域 As String)
  65. ConnOpen_LINE_SQL()
  66. SQL1 = "UPDATE LINE_使用者權限管理表 SET UserID=N'" & user_id & "' WHERE 姓名 LIKE N'" & 姓名 & "' AND 帳號 LIKE N'" & 區域 & "'"
  67. CmdSet_For_dr()
  68. End Sub
  69. Friend Sub SQL_MCD_使用者清單載入()
  70. ConnOpen_LINE_SQL()
  71. SQL1 = "SELECT 姓名,UserID FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'MCD'"
  72. CmdSet_For_DGV()
  73. End Sub
  74. Friend Sub SQL_MCD_檢查有無重複(姓名 As String)
  75. ConnOpen_LINE_SQL()
  76. SQL1 = "SELECT 姓名 FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'MCD' AND 姓名 LIKE N'" & 姓名 & "'"
  77. CmdSet_For_dr()
  78. End Sub
  79. Friend Sub SQL_MCD_新增使用者(姓名 As String)
  80. ConnOpen_LINE_SQL()
  81. SQL1 = "INSERT INTO LINE_使用者權限管理表(姓名,帳號) VALUES (N'" & 姓名 & "',N'MCD')"
  82. CmdSet_For_dr()
  83. End Sub
  84. Friend Sub SQL_MCD_刪除使用者(姓名 As String)
  85. ConnOpen_LINE_SQL()
  86. SQL1 = "DELETE FROM LINE_使用者權限管理表 WHERE 姓名 LIKE N'" & 姓名 & "' AND 帳號 LIKE N'MCD'"
  87. CmdSet_For_dr()
  88. End Sub
  89. Friend Sub SQL_MCD_修改使用者(姓名 As String, 舊名 As String)
  90. ConnOpen_LINE_SQL()
  91. SQL1 = "UPDATE LINE_使用者權限管理表 SET 姓名=N'" & 姓名 & "' WHERE 姓名 LIKE N'" & 舊名 & "' AND 帳號 LIKE N'MCD'"
  92. CmdSet_For_dr()
  93. End Sub
  94. Friend Sub SQL_MCD_金句清單載入()
  95. ConnOpen_LINE_SQL()
  96. SQL1 = "SELECT ID, 抬頭, 內容, 頁腳 FROM LINE_金句設定表 ORDER BY ID"
  97. CmdSet_For_DGV()
  98. End Sub
  99. Friend Sub SQL_MCD_查詢金句最後()
  100. ConnOpen_LINE_SQL()
  101. SQL1 = "SELECT ID FROM LINE_金句設定表 ORDER BY ID DESC"
  102. CmdSet_For_dr()
  103. End Sub
  104. Friend Sub SQL_MCD_金句新增(ID As String)
  105. ConnOpen_LINE_SQL()
  106. SQL1 = "INSERT INTO LINE_金句設定表( ID, 抬頭, 內容, 頁腳) VALUES (N'" & ID & "' ,N'',N'',N'')"
  107. CmdSet_For_dr()
  108. End Sub
  109. Friend Sub SQL_MCD_金句修改(ID As String, 抬頭 As String, 內容 As String, 頁腳 As String)
  110. ConnOpen_LINE_SQL()
  111. SQL1 = "UPDATE LINE_金句設定表 SET 抬頭=N'" & 抬頭 & "', 內容=N'" & 內容 & "', 頁腳=N'" & 頁腳 & "' WHERE ID LIKE N'" & ID & "'"
  112. CmdSet_For_dr()
  113. End Sub
  114. Friend Sub SQL_MCD_歷史訊息清單()
  115. ConnOpen_LINE_SQL()
  116. SQL1 = "SELECT LINE_使用者權限管理表.姓名, LINE_MCD群組紀錄表.UserID, LINE_MCD群組紀錄表.text,
  117. LINE_MCD群組紀錄表.createtime
  118. FROM LINE_MCD群組紀錄表 LEFT OUTER JOIN
  119. LINE_使用者權限管理表 ON LINE_MCD群組紀錄表.UserID = LINE_使用者權限管理表.UserID
  120. ORDER BY LINE_MCD群組紀錄表.createtime DESC"
  121. CmdSet_For_DGV()
  122. End Sub
  123. Friend Sub SQL_MCD_關鍵字清單載入(區域 As String)
  124. ConnOpen_LINE_SQL()
  125. SQL1 = "SELECT ID, 關鍵字, 回應內容 FROM LINE_關鍵字設定表 WHERE 區域 LIKE N'" & 區域 & "' ORDER BY ID"
  126. CmdSet_For_DGV()
  127. End Sub
  128. Friend Sub SQL_MCD_查詢關鍵字最後(區域 As String)
  129. ConnOpen_LINE_SQL()
  130. SQL1 = "SELECT ID FROM LINE_關鍵字設定表 WHERE 區域 LIKE N'" & 區域 & "' ORDER BY ID DESC"
  131. CmdSet_For_dr()
  132. End Sub
  133. Friend Sub SQL_MCD_關鍵字新增(ID As String, 區域 As String)
  134. ConnOpen_LINE_SQL()
  135. SQL1 = "INSERT INTO LINE_關鍵字設定表(ID, 關鍵字, 回應內容, 區域) VALUES (N'" & ID & "' ,N'',N'',N'" & 區域 & "')"
  136. CmdSet_For_dr()
  137. End Sub
  138. Friend Sub SQL_MCD_關鍵字修改(ID As String, 關鍵字 As String, 回應內容 As String, 區域 As String)
  139. ConnOpen_LINE_SQL()
  140. SQL1 = "UPDATE LINE_關鍵字設定表 SET 關鍵字=N'" & 關鍵字 & "', 回應內容=N'" & 回應內容 & "' WHERE ID LIKE N'" & ID & "' AND 區域 LIKE N'" & 區域 & "'"
  141. CmdSet_For_dr()
  142. End Sub
  143. Friend Sub SQL_LINE_使用者管理表_清單載入1()
  144. ConnOpen_LINE_SQL()
  145. SQL1 = "SELECT " & LINE_登入權限2 & " FROM LINE_使用者權限管理表 RIGHT OUTER JOIN 使用者權限管理表 AS 使用者權限管理表_1 ON
  146. LINE_使用者權限管理表.帳號 = 使用者權限管理表_1.帳號
  147. ORDER BY 使用者權限管理表_1.部門, 使用者權限管理表_1.職稱, 使用者權限管理表_1.課別, 使用者權限管理表_1.組別"
  148. CmdSet_For_DGV()
  149. End Sub
  150. Friend Sub SQL_LINE_通知設定表_清單載入(通知參數 As String)
  151. ConnOpen_LINE_SQL()
  152. SQL1 = "SELECT 帳號,姓名,通知語言,Line,WhatsApp,Message,UserID,token,電話號碼1,電話號碼2,電話號碼3 FROM LINE_使用者權限管理表 " & 通知參數 & " ORDER BY 帳號"
  153. CmdSet_For_DGV()
  154. End Sub
  155. Friend Sub SQL_LINE_使用者資料修改()
  156. ConnOpen_LINE_SQL()
  157. SQL1 = "UPDATE LINE_使用者權限管理表 SET UserID = N'" & LINE_使用者管理表.token_tb.Text &
  158. "',通知語言 = N'" & LINE_使用者管理表.通知語言_cb.Text & "',電話號碼1 = N'" & LINE_使用者管理表.電話號碼1_tb.Text & "',電話號碼2 = N'" & LINE_使用者管理表.電話號碼2_tb.Text &
  159. "',電話號碼3 = N'" & LINE_使用者管理表.電話號碼3_tb.Text & "',Line = N'" & LINE_使用者管理表.Line_cb.Checked & "',WhatsApp = N'" & LINE_使用者管理表.WhatsApp_cb.Checked &
  160. "',Message = N'" & LINE_使用者管理表.Message_cb.Checked &
  161. "', CC200 = '" & LINE_使用者管理表.CheckBox200.Checked & "', CC201 = '" & LINE_使用者管理表.CheckBox201.Checked & "', CC202 = '" & LINE_使用者管理表.CheckBox202.Checked &
  162. "', CC203 = '" & LINE_使用者管理表.CheckBox203.Checked & "', CC204 = '" & LINE_使用者管理表.CheckBox204.Checked & "', CC205 = '" & LINE_使用者管理表.CheckBox205.Checked &
  163. "', CC206 = '" & LINE_使用者管理表.CheckBox206.Checked & "', CC207 = '" & LINE_使用者管理表.CheckBox207.Checked & "', CC208 = '" & LINE_使用者管理表.CheckBox208.Checked &
  164. "', CC209 = '" & LINE_使用者管理表.CheckBox209.Checked & "', CC210 = '" & LINE_使用者管理表.CheckBox210.Checked & "', CC211= '" & LINE_使用者管理表.CheckBox211.Checked &
  165. "', CC212 = '" & LINE_使用者管理表.CheckBox212.Checked & "', CC213 = '" & LINE_使用者管理表.CheckBox213.Checked & "', CC214 = '" & LINE_使用者管理表.CheckBox214.Checked &
  166. "', CC215 = '" & LINE_使用者管理表.CheckBox215.Checked & "', CC216 = '" & LINE_使用者管理表.CheckBox216.Checked & "', CC217 = '" & LINE_使用者管理表.CheckBox217.Checked &
  167. "', CC218 = '" & LINE_使用者管理表.CheckBox218.Checked & "', CC219 = '" & LINE_使用者管理表.CheckBox219.Checked & "', CC220 = '" & LINE_使用者管理表.CheckBox220.Checked &
  168. "', CC221 = '" & LINE_使用者管理表.CheckBox221.Checked & "', CC222 = '" & LINE_使用者管理表.CheckBox222.Checked & "', CC223 = '" & LINE_使用者管理表.CheckBox223.Checked &
  169. "', CC224 = '" & LINE_使用者管理表.CheckBox224.Checked & "', CC225 = '" & LINE_使用者管理表.CheckBox225.Checked & "', CC226 = '" & LINE_使用者管理表.CheckBox226.Checked &
  170. "', CC227 = '" & LINE_使用者管理表.CheckBox227.Checked & "', CC228 = '" & LINE_使用者管理表.CheckBox228.Checked & "', CC229 = '" & LINE_使用者管理表.CheckBox229.Checked &
  171. "', CC230 = '" & LINE_使用者管理表.CheckBox230.Checked & "', CC231 = '" & LINE_使用者管理表.CheckBox231.Checked & "', CC232 = '" & LINE_使用者管理表.CheckBox232.Checked &
  172. "', CC233 = '" & LINE_使用者管理表.CheckBox233.Checked & "', CC234 = '" & LINE_使用者管理表.CheckBox234.Checked & "', CC235 = '" & LINE_使用者管理表.CheckBox235.Checked &
  173. "', CC236 = '" & LINE_使用者管理表.CheckBox236.Checked & "', CC237 = '" & LINE_使用者管理表.CheckBox237.Checked & "', CC238 = '" & LINE_使用者管理表.CheckBox238.Checked &
  174. "', CC239 = '" & LINE_使用者管理表.CheckBox239.Checked & "', CC240 = '" & LINE_使用者管理表.CheckBox240.Checked & "', CC241 = '" & LINE_使用者管理表.CheckBox241.Checked &
  175. "', CC242 = '" & LINE_使用者管理表.CheckBox242.Checked & "', CC243 = '" & LINE_使用者管理表.CheckBox243.Checked & "', CC244 = '" & LINE_使用者管理表.CheckBox244.Checked &
  176. "', CC245 = '" & LINE_使用者管理表.CheckBox245.Checked & "', CC246 = '" & LINE_使用者管理表.CheckBox246.Checked & "', CC247 = '" & LINE_使用者管理表.CheckBox247.Checked &
  177. "', CC248 = '" & LINE_使用者管理表.CheckBox248.Checked & "', CC249 = '" & LINE_使用者管理表.CheckBox249.Checked & "', CC250 = '" & LINE_使用者管理表.CheckBox250.Checked &
  178. "', CC251 = '" & LINE_使用者管理表.CheckBox251.Checked & "', CC252 = '" & LINE_使用者管理表.CheckBox252.Checked & "', CC253 = '" & LINE_使用者管理表.CheckBox253.Checked &
  179. "', CC254 = '" & LINE_使用者管理表.CheckBox254.Checked & "', CC255 = '" & LINE_使用者管理表.CheckBox255.Checked & "', CC256 = '" & LINE_使用者管理表.CheckBox256.Checked &
  180. "', CC257 = '" & LINE_使用者管理表.CheckBox257.Checked & "', CC258 = '" & LINE_使用者管理表.CheckBox258.Checked & "', CC259 = '" & LINE_使用者管理表.CheckBox259.Checked &
  181. "', CC260 = '" & LINE_使用者管理表.CheckBox260.Checked &
  182. "' WHERE (姓名 LIKE N'" & LINE_使用者管理表.姓名_tb.Text & "' AND 帳號 LIKE N'" & LINE_使用者管理表.帳號_tb.Text & "')"
  183. CmdSet_For_dr()
  184. End Sub
  185. Friend Sub SQL_LINE_使用者資料查詢(姓名 As String, 帳號 As String)
  186. ConnOpen_LINE_SQL() : SQL1 = "SELECT * FROM LINE_使用者權限管理表 WHERE (姓名 LIKE N'" & 姓名 & "' AND 帳號 LIKE N'" & 帳號 & "')" : CmdSet_For_dr()
  187. End Sub
  188. Friend Sub SQL_LINE_通知內容資料修改()
  189. ConnOpen_LINE_SQL()
  190. SQL1 = "UPDATE LINE_通知內容設定表 SET 權限名稱 = N'" & LINE_使用者管理表.權限名稱_tb.Text & "', 通知內容 = N'" & LINE_使用者管理表.通知內容_tb.Text & "',
  191. 通知格式 = N'" & LINE_使用者管理表.通知格式_cb.Text & "', 變數位置 = N'" & LINE_使用者管理表.變數位置_cb.Text & "',
  192. 通知內容1 = N'" & LINE_使用者管理表.通知內容1_tb.Text & "', 通知內容2 = N'" & LINE_使用者管理表.通知內容2_tb.Text & "',
  193. 通知內容3 = N'" & LINE_使用者管理表.通知內容3_tb.Text & "', 已使用 = N'" & LINE_使用者管理表.已使用_ch.Checked & "'
  194. WHERE (權限代號 = '" & LINE_使用者管理表.權限代號_cb.Text & "')"
  195. CmdSet_For_dr()
  196. ConnOpen_LINE_SQL()
  197. SQL1 = "UPDATE LINE_權限一覽表 SET 權限名稱 = N'" & LINE_使用者管理表.權限名稱_tb.Text & "' WHERE (權限代號 = '" & LINE_使用者管理表.權限代號_cb.Text & "')"
  198. CmdSet_For_dr()
  199. End Sub
  200. Friend Sub SQL_LINE_新增使用者資料()
  201. ConnOpen_LINE_SQL()
  202. SQL1 = "INSERT INTO LINE_使用者權限管理表 (" & LINE_登入權限_IN & ")
  203. VALUES (N'" & LINE_使用者管理表.姓名_tb.Text & "', N'" & LINE_使用者管理表.帳號_tb.Text & "', N'" & LINE_使用者管理表.token_tb.Text &
  204. "',N'" & LINE_使用者管理表.通知語言_cb.Text & "',N'" & LINE_使用者管理表.電話號碼1_tb.Text & "',N'" & LINE_使用者管理表.電話號碼2_tb.Text &
  205. "',N'" & LINE_使用者管理表.電話號碼3_tb.Text & "',N'" & LINE_使用者管理表.Line_cb.Checked & "',N'" & LINE_使用者管理表.WhatsApp_cb.Checked &
  206. "',N'" & LINE_使用者管理表.Message_cb.Checked &
  207. "','" & LINE_使用者管理表.CheckBox200.Checked & "','" & LINE_使用者管理表.CheckBox201.Checked & "','" & LINE_使用者管理表.CheckBox202.Checked &
  208. "','" & LINE_使用者管理表.CheckBox203.Checked & "','" & LINE_使用者管理表.CheckBox204.Checked & "','" & LINE_使用者管理表.CheckBox205.Checked &
  209. "','" & LINE_使用者管理表.CheckBox206.Checked & "','" & LINE_使用者管理表.CheckBox207.Checked & "','" & LINE_使用者管理表.CheckBox208.Checked &
  210. "','" & LINE_使用者管理表.CheckBox209.Checked & "','" & LINE_使用者管理表.CheckBox210.Checked & "','" & LINE_使用者管理表.CheckBox211.Checked &
  211. "','" & LINE_使用者管理表.CheckBox212.Checked & "','" & LINE_使用者管理表.CheckBox213.Checked & "','" & LINE_使用者管理表.CheckBox214.Checked &
  212. "','" & LINE_使用者管理表.CheckBox215.Checked & "','" & LINE_使用者管理表.CheckBox216.Checked & "','" & LINE_使用者管理表.CheckBox217.Checked &
  213. "','" & LINE_使用者管理表.CheckBox218.Checked & "','" & LINE_使用者管理表.CheckBox219.Checked & "','" & LINE_使用者管理表.CheckBox220.Checked &
  214. "','" & LINE_使用者管理表.CheckBox221.Checked & "','" & LINE_使用者管理表.CheckBox222.Checked & "','" & LINE_使用者管理表.CheckBox223.Checked &
  215. "','" & LINE_使用者管理表.CheckBox224.Checked & "','" & LINE_使用者管理表.CheckBox225.Checked & "','" & LINE_使用者管理表.CheckBox226.Checked &
  216. "','" & LINE_使用者管理表.CheckBox227.Checked & "','" & LINE_使用者管理表.CheckBox228.Checked & "','" & LINE_使用者管理表.CheckBox229.Checked &
  217. "','" & LINE_使用者管理表.CheckBox230.Checked & "','" & LINE_使用者管理表.CheckBox231.Checked & "','" & LINE_使用者管理表.CheckBox232.Checked &
  218. "','" & LINE_使用者管理表.CheckBox233.Checked & "','" & LINE_使用者管理表.CheckBox234.Checked & "','" & LINE_使用者管理表.CheckBox235.Checked &
  219. "','" & LINE_使用者管理表.CheckBox236.Checked & "','" & LINE_使用者管理表.CheckBox237.Checked & "','" & LINE_使用者管理表.CheckBox238.Checked &
  220. "','" & LINE_使用者管理表.CheckBox239.Checked & "','" & LINE_使用者管理表.CheckBox240.Checked & "','" & LINE_使用者管理表.CheckBox241.Checked &
  221. "','" & LINE_使用者管理表.CheckBox242.Checked & "','" & LINE_使用者管理表.CheckBox243.Checked & "','" & LINE_使用者管理表.CheckBox244.Checked &
  222. "','" & LINE_使用者管理表.CheckBox245.Checked & "','" & LINE_使用者管理表.CheckBox246.Checked & "','" & LINE_使用者管理表.CheckBox247.Checked &
  223. "','" & LINE_使用者管理表.CheckBox248.Checked & "','" & LINE_使用者管理表.CheckBox249.Checked & "','" & LINE_使用者管理表.CheckBox250.Checked &
  224. "','" & LINE_使用者管理表.CheckBox251.Checked & "','" & LINE_使用者管理表.CheckBox252.Checked & "','" & LINE_使用者管理表.CheckBox253.Checked &
  225. "','" & LINE_使用者管理表.CheckBox254.Checked & "','" & LINE_使用者管理表.CheckBox255.Checked & "','" & LINE_使用者管理表.CheckBox256.Checked &
  226. "','" & LINE_使用者管理表.CheckBox257.Checked & "','" & LINE_使用者管理表.CheckBox258.Checked & "','" & LINE_使用者管理表.CheckBox259.Checked &
  227. "','" & LINE_使用者管理表.CheckBox260.Checked &
  228. "')"
  229. CmdSet_For_dr()
  230. End Sub
  231. 'Friend Sub SQL_LINE_新增使用者資料1()
  232. ' ConnOpen_LINE_SQL()
  233. ' SQL1 = "INSERT INTO 使用者權限管理表 (" & LINE_登入權限 & ")
  234. ' VALUES (N'" & 人員基本資料.姓名_tb.Text & "', N'" & 人員基本資料.帳號_tb.Text & "', N'" & 人員基本資料.token_tb.Text &
  235. ' "',N'" & 人員基本資料.通知語言_cb.Text & "',N'" & 人員基本資料.電話號碼1_tb.Text & "',N'" & 人員基本資料.電話號碼2_tb.Text &
  236. ' "',N'" & 人員基本資料.電話號碼3_tb.Text & "',N'" & 人員基本資料.Line_cb.Checked & "',N'" & 人員基本資料.WhatsApp_cb.Checked &
  237. ' "',N'" & 人員基本資料.Message_cb.Checked & "','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',
  238. ' '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',
  239. ' '0','0','0','0','0','0','0','0','0')"
  240. ' CmdSet_For_dr()
  241. 'End Sub
  242. Friend Sub SQL_LINE_新增通知內容資料()
  243. ConnOpen_LINE_SQL()
  244. SQL1 = "INSERT INTO LINE_通知內容設定表 ( 權限代號,權限名稱,通知內容,通知格式,變數位置,通知內容1,通知內容2,通知內容3)
  245. VALUES (N'" & LINE_使用者管理表.權限代號_cb.Text & "', N'" & LINE_使用者管理表.權限名稱_tb.Text & "', N'" & LINE_使用者管理表.通知內容_tb.Text &
  246. "',N'" & LINE_使用者管理表.通知格式_cb.Text & "',N'" & LINE_使用者管理表.變數位置_cb.Text & "',N'" & LINE_使用者管理表.通知內容1_tb.Text &
  247. "',N'" & LINE_使用者管理表.通知內容2_tb.Text & "',N'" & LINE_使用者管理表.通知內容3_tb.Text &
  248. "')"
  249. CmdSet_For_dr()
  250. End Sub
  251. Friend Sub SQL_LINE_使用者資料刪除(帳號 As String, 姓名 As String)
  252. ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 帳號 & "' AND 姓名 LIKE N'" & 姓名 & "')" : CmdSet_For_dr()
  253. End Sub
  254. Friend Sub SQL_LINE_通知內容資料刪除()
  255. ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_通知內容設定表 WHERE (權限代號 = '" & LINE_使用者管理表.權限代號_cb.Text & "')" : CmdSet_For_dr()
  256. End Sub
  257. Friend Sub SQL_LINE_新增發送通知()
  258. ConnOpen_LINE_SQL()
  259. SQL1 = "INSERT INTO LINE_通知設定表 (token,發送內容,隨機碼,通知語言,發送APP) VALUES (N'" & PA201 & "',N'" & PA202 & "',N'" & PA203 & "',N'" & PA204 & "',N'" & PA205 & "')"
  260. CmdSet_For_dr()
  261. End Sub
  262. Friend Sub SQL_LINE_搜尋符合通知對象()
  263. ConnOpen_LINE_SQL()
  264. SQL1 = "SELECT UserID,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message FROM LINE_使用者權限管理表 WHERE(" & LINE_權限代號 & "='True' and 姓名 LIKE N'" & 發送對象 & "')"
  265. CmdSet_For_DGV()
  266. End Sub
  267. Friend Sub SQL_LINE_通知內容清單載入()
  268. ConnOpen_LINE_SQL()
  269. SQL1 = "SELECT LINE_通知內容設定表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.通知內容, LINE_通知內容設定表.通知格式,
  270. LINE_通知內容設定表.變數位置, LINE_通知內容設定表.通知內容1, LINE_通知內容設定表.通知內容2, LINE_通知內容設定表.通知內容3,
  271. LINE_通知內容設定表.已使用
  272. FROM LINE_通知內容設定表 INNER JOIN
  273. LINE_權限一覽表 ON LINE_通知內容設定表.權限代號 = LINE_權限一覽表.權限代號
  274. ORDER BY LINE_通知內容設定表.權限代號"
  275. CmdSet_For_DGV()
  276. End Sub
  277. Friend Sub SQL_LINE_通知內容()
  278. ConnOpen_LINE_SQL()
  279. SQL1 = "SELECT 通知格式,變數位置,通知內容1,通知內容2,通知內容3 FROM LINE_通知內容設定表 WHERE (權限代號='" & LINE_權限代號 & "')"
  280. CmdSet_For_DGV()
  281. End Sub
  282. Friend Sub SQL_LINE_權限清單載入()
  283. ConnOpen_LINE_SQL()
  284. SQL1 = "SELECT LINE_權限一覽表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.已使用
  285. FROM LINE_權限一覽表 LEFT OUTER JOIN LINE_通知內容設定表 ON LINE_權限一覽表.權限代號 = LINE_通知內容設定表.權限代號
  286. ORDER BY LINE_權限一覽表.權限代號"
  287. CmdSet_For_DGV()
  288. End Sub
  289. Friend Sub SQL_LINE_新增權限資料()
  290. ConnOpen_LINE_SQL()
  291. SQL1 = "INSERT INTO LINE_權限一覽表 ( 權限代號,權限名稱)
  292. VALUES (N'" & LINE_權限一覽表.權限代號_cb.Text & "', N'" & LINE_權限一覽表.權限名稱_tb.Text &
  293. "')"
  294. CmdSet_For_dr()
  295. End Sub
  296. Friend Sub SQL_LINE_權限資料修改()
  297. ConnOpen_LINE_SQL()
  298. SQL1 = "UPDATE LINE_權限一覽表 SET 權限名稱 = N'" & LINE_權限一覽表.權限名稱_tb.Text &
  299. "' WHERE (權限代號 = '" & LINE_權限一覽表.權限代號_cb.Text & "')"
  300. CmdSet_For_dr()
  301. End Sub
  302. Friend Sub SQL_LINE_權限資料刪除()
  303. ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_權限一覽表 WHERE (權限代號 = '" & LINE_權限一覽表.權限代號_cb.Text & "')" : CmdSet_For_dr()
  304. End Sub
  305. Function SQL_LINE_隨機碼()
  306. Dim rancode As String
  307. Dim RndNum As New Random()
  308. 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")
  309. Return rancode
  310. End Function
  311. Friend Sub LINE_通知模塊()
  312. Dim ds5, ds6 As New DataSet : ds5.Clear() : ds6.Clear()
  313. Dim 通知格式, 變數位置, 通知內容1, 通知內容2, 通知內容3, 發送X, 發送Y As String
  314. Dim L, M, W As Boolean
  315. SQL_LINE_搜尋符合通知對象()
  316. da.Fill(ds5) : LINE_使用者管理表.LINE_需通知清單_dgv.DataSource = ds5.Tables(0) : conn.Close()
  317. If 通知變數X = "" Then : 發送X = "未設定通知變數X" : Else : 發送X = 通知變數X : End If
  318. If 通知變數Y = "" Then : 發送Y = "未設定通知變數Y" : Else : 發送Y = 通知變數Y : End If
  319. For x As Integer = 0 To LINE_使用者管理表.LINE_需通知清單_dgv.Rows.Count - 1
  320. L = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("Line").Value
  321. W = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("WhatsApp").Value
  322. M = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("Message").Value
  323. SQL_LINE_通知內容() : da.Fill(ds6) : LINE_使用者管理表.LINE_通知內容清單_dgv.DataSource = ds6.Tables(0) : conn.Close()
  324. If LINE_使用者管理表.LINE_需通知清單_dgv.Rows.Count = 0 Then : Else
  325. 通知格式 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(0).Value
  326. 變數位置 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(1).Value
  327. 通知內容1 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(2).Value
  328. 通知內容2 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(3).Value
  329. 通知內容3 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(4).Value
  330. Dim 發送訊息 As String = "這是一則來自GCM智能小幫手的通知訊息"
  331. If 變數位置 = "A" Then
  332. 發送訊息 = 通知內容1
  333. ElseIf 變數位置 = "X" Then
  334. 發送訊息 = 發送X
  335. ElseIf 變數位置 = "A+X" Then
  336. 發送訊息 = 通知內容1 + 發送X
  337. ElseIf 變數位置 = "X+A" Then
  338. 發送訊息 = 發送X + 通知內容1
  339. ElseIf 變數位置 = "X+A+Y" Then
  340. 發送訊息 = 發送X + 通知內容1 + 發送Y
  341. ElseIf 變數位置 = "A+X+B" Then
  342. 發送訊息 = 通知內容1 + 發送X + 通知內容2
  343. ElseIf 變數位置 = "X+A+Y+B" Then
  344. 發送訊息 = 發送X + 通知內容1 + 發送Y + 通知內容2
  345. ElseIf 變數位置 = "A+X+B+Y" Then
  346. 發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y
  347. ElseIf 變數位置 = "A+X+B+Y+C" Then
  348. 發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3
  349. End If
  350. 'If 變數位置 = "A" Then
  351. ' PA202 = 通知內容1
  352. 'ElseIf 變數位置 = "X" Then
  353. ' PA202 = 發送X
  354. 'ElseIf 變數位置 = "A+X" Then
  355. ' PA202 = 通知內容1 + 發送X
  356. 'ElseIf 變數位置 = "X+A" Then
  357. ' PA202 = 發送X + 通知內容1
  358. 'ElseIf 變數位置 = "X+A+Y" Then
  359. ' PA202 = 發送X + 通知內容1 + 發送Y
  360. 'ElseIf 變數位置 = "A+X+B" Then
  361. ' PA202 = 通知內容1 + 發送X + 通知內容2
  362. 'ElseIf 變數位置 = "X+A+Y+B" Then
  363. ' PA202 = 發送X + 通知內容1 + 發送Y + 通知內容2
  364. 'ElseIf 變數位置 = "A+X+B+Y" Then
  365. ' PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y
  366. 'ElseIf 變數位置 = "A+X+B+Y+C" Then
  367. ' PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3
  368. 'End If
  369. 'PA204 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(1).Value
  370. Dim UserID As String = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("UserID").Value
  371. If L = True Then
  372. 'PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(0).Value.ToString : PA205 = "Line" : SQL_LINE_新增發送通知()
  373. PostData(UserID, 發送訊息, "RB-0002")
  374. End If
  375. 'If W = True Then
  376. ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString <> "" Then
  377. ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
  378. ' End If
  379. ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString <> "" Then
  380. ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
  381. ' End If
  382. ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString <> "" Then
  383. ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
  384. ' End If
  385. 'End If
  386. 'If M = True Then
  387. ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString <> "" Then
  388. ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
  389. ' End If
  390. ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString <> "" Then
  391. ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
  392. ' End If
  393. ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString <> "" Then
  394. ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
  395. ' End If
  396. 'End If
  397. End If
  398. Next
  399. ds5.Clear() : ds6.Clear() : 通知變數X = "" : 通知變數Y = ""
  400. End Sub
  401. '----------CB-------------------
  402. Friend Sub SQL_公司_下拉清單()
  403. ConnOpen_LINE_SQL()
  404. SQL1 = "SELECT 公司名稱 FROM 公司清單 ORDER BY 公司名稱"
  405. CmdSet_For_dr()
  406. End Sub
  407. Friend Sub SQL_年份_下拉清單()
  408. ConnOpen_LINE_SQL()
  409. SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC"
  410. CmdSet_For_dr()
  411. End Sub
  412. Friend Sub SQL_語言_下拉清單()
  413. ConnOpen_LINE_SQL() : SQL1 = "SELECT 語言 FROM 語言清單 ORDER BY 語言 DESC" : CmdSet_For_dr()
  414. End Sub
  415. '----------系統編碼規則-----------
  416. Friend Sub SQL_語言()
  417. ConnOpen_LINE_SQL() : SQL1 = "SELECT 語言 FROM 語言清單 ORDER BY 語言 DESC" : CmdSet_For_DGV()
  418. End Sub
  419. Friend Sub SQL_公司名稱()
  420. ConnOpen_LINE_SQL() : SQL1 = "SELECT 公司名稱 FROM 公司清單 ORDER BY 公司名稱 DESC" : CmdSet_For_DGV()
  421. End Sub
  422. Friend Sub SQL_年份()
  423. ConnOpen_LINE_SQL() : SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC" : CmdSet_For_DGV()
  424. End Sub
  425. Friend Sub SQL_公司新增查詢()
  426. SQL1 = "SELECT 公司名稱 FROM 公司清單 WHERE 公司名稱 LIKE N'" & 系統編碼規則.公司名稱_tb.Text & "'"
  427. End Sub
  428. Friend Sub SQL_公司新增()
  429. SQL1 = "INSERT INTO 公司清單 (公司名稱) VALUES (N'" & 系統編碼規則.公司名稱_tb.Text & "')"
  430. End Sub
  431. Friend Sub SQL_公司修改()
  432. SQL1 = "UPDATE 公司清單 SET 公司名稱 = N'" & PA & "' WHERE 公司名稱 LIKE N'" & 系統編碼規則.公司名稱_tb.Text & "'"
  433. End Sub
  434. Friend Sub SQL_公司刪除()
  435. SQL1 = "DELETE FROM 公司清單 WHERE (公司名稱 = N'" & 系統編碼規則.公司名稱_tb.Text & "')"
  436. End Sub
  437. Friend Sub SQL_語言新增查詢()
  438. SQL1 = "SELECT 語言 FROM 語言清單 WHERE 語言 LIKE N'" & 系統編碼規則.語言_tb.Text & "'"
  439. End Sub
  440. Friend Sub SQL_語言新增()
  441. SQL1 = "INSERT INTO 語言清單 (語言) VALUES (N'" & 系統編碼規則.語言_tb.Text & "')"
  442. End Sub
  443. Friend Sub SQL_語言修改()
  444. SQL1 = "UPDATE 語言清單 SET 語言 = N'" & PA & "' WHERE 語言 LIKE N'" & 系統編碼規則.語言_tb.Text & "'"
  445. End Sub
  446. Friend Sub SQL_語言刪除()
  447. SQL1 = "DELETE FROM 語言清單 WHERE (語言 = N'" & 系統編碼規則.語言_tb.Text & "')"
  448. End Sub
  449. Friend Sub SQL_年份新增查詢()
  450. SQL1 = "SELECT 年份 FROM 年份清單 WHERE 年份 LIKE N'" & 系統編碼規則.年份_tb.Text & "'"
  451. End Sub
  452. Friend Sub SQL_年份新增()
  453. SQL1 = "INSERT INTO 年份清單 (年份) VALUES (N'" & 系統編碼規則.年份_tb.Text & "')"
  454. End Sub
  455. Friend Sub SQL_年份修改()
  456. SQL1 = "UPDATE 年份清單 SET 年份 = N'" & PA & "' WHERE 年份 LIKE N'" & 系統編碼規則.年份_tb.Text & "'"
  457. End Sub
  458. Friend Sub SQL_年份刪除()
  459. SQL1 = "DELETE FROM 年份清單 WHERE (年份 = N'" & 系統編碼規則.年份_tb.Text & "')"
  460. End Sub
  461. Friend Sub SQL_Robot清單()
  462. ConnOpen_LINE_SQL()
  463. SQL1 = "SELECT ID, RobotName AS 機器人名稱, channel_secret, channel_token, channel_destination
  464. FROM LINE_機器人控制表 ORDER BY ID"
  465. CmdSet_For_DGV()
  466. End Sub
  467. Friend Sub SQL_Robot清單_最後流水()
  468. ConnOpen_LINE_SQL()
  469. SQL1 = "SELECT ID FROM LINE_機器人控制表 ORDER BY ID DESC"
  470. CmdSet_For_dr()
  471. End Sub
  472. Friend Sub SQL_Robot清單_新增(ID As String, channel_secret As String, channel_token As String, RobotName As String, channel_destination As String)
  473. ConnOpen_LINE_SQL()
  474. SQL1 = "INSERT INTO LINE_機器人控制表 (ID, channel_secret, channel_token, RobotName, channel_destination )
  475. VALUES (N'" & ID & "',N'" & channel_secret & "',N'" & channel_token & "',N'" & RobotName & "',N'" & channel_destination & "' )"
  476. CmdSet_For_dr()
  477. End Sub
  478. Friend Sub SQL_Robot清單_刪除(ID As String)
  479. ConnOpen_LINE_SQL()
  480. SQL1 = "DELETE FROM LINE_機器人控制表 WHERE ID LIKE N'" & ID & "'"
  481. CmdSet_For_dr()
  482. End Sub
  483. '=========================
  484. Friend Sub SQL_LOG檔空白資料寫入()
  485. ConnOpen_LINE_LOG_SQL() : SQL1 = "UPDATE HX_MESSAGE_LOG SET 公司名稱='HX' WHERE 公司名稱 IS NULL" : CmdSet_For_dr()
  486. End Sub
  487. Friend Sub SQL_LOG檔清單()
  488. ConnOpen_LINE_LOG_SQL()
  489. SQL1 = "SELECT 日期, 發送對象, 訊息類別, 公司名稱 FROM HX_MESSAGE_LOG WHERE 日期 LIKE N'" & SQL3 & "' AND 公司名稱 LIKE N'" & SQL2 & "' ORDER BY 日期 DESC"
  490. CmdSet_For_DGV()
  491. End Sub
  492. Sub PostData(userID As String, text As String, robotID As String)
  493. ' 定義要請求的 URL
  494. Dim url As String = "https://gcmlineauto-4acbbd534d6e.herokuapp.com/wsw/webhook"
  495. ' 準備要傳送的資料(這裡使用 JSON 格式)
  496. Dim data As New Dictionary(Of String, String) From {
  497. {"userID", userID},
  498. {"text", text},
  499. {"robotID", robotID}
  500. }
  501. Dim json As String = JsonConvert.SerializeObject(data)
  502. ' 建立 HttpWebRequest
  503. Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
  504. request.Method = "POST"
  505. request.ContentType = "application/json"
  506. request.ContentLength = Encoding.UTF8.GetByteCount(json)
  507. ' 將 JSON 資料寫入請求中
  508. Using streamWriter As New StreamWriter(request.GetRequestStream())
  509. streamWriter.Write(json)
  510. streamWriter.Flush()
  511. End Using
  512. Try
  513. ' 獲取回應
  514. Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
  515. Using streamReader As New StreamReader(response.GetResponseStream())
  516. Dim result As String = streamReader.ReadToEnd()
  517. Console.WriteLine("回應內容: " & result)
  518. End Using
  519. Catch ex As WebException
  520. ' 如果請求失敗,顯示錯誤
  521. Dim errorResponse As HttpWebResponse = CType(ex.Response, HttpWebResponse)
  522. Console.WriteLine("錯誤: " & errorResponse.StatusCode)
  523. End Try
  524. End Sub
  525. End Module