Imports System.IO Imports System.Net Imports System.Text Imports Newtonsoft.Json Module SQL_LINE ''' ''' 使用代號之前,請先到LINE使用者管理去進行設定 ''' 對象 請在LINE使用者管理中去複製字串出來。 ''' Public Sub LIN訊息通知(ByVal 代號 As String, ByVal 對象 As String, Optional ByVal 變數X As String = "", Optional ByVal 變數Y As String = "") LINE_權限代號 = 代號 : 發送對象 = 對象 : 通知變數X = 變數X : 通知變數Y = 變數Y : LINE_通知模塊() End Sub '=====LINE_權限代號 = "CC207" : 發送對象 = "tltony1234" : 通知變數X = "王詩文" : 通知變數Y = "9/7號" : LINE_通知模塊()===== Friend Sub SQL_LINE_使用者管理表_清單載入() ConnOpen_LINE_SQL() SQL1 = "SELECT " & LINE_登入權限 & " FROM LINE_使用者權限管理表 " & SQL2 & " ORDER BY 帳號 " CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_未綁定使用者清單載入(區域 As String) ConnOpen_LINE_SQL() If 帳號綁定 = "MCD" Then SQL1 = "SELECT 姓名,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'MCD' ) AND (UserID IS NULL OR UserID LIKE N'' )" Else SQL1 = "SELECT 姓名,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 區域 & "' AND 帳號 NOT LIKE N'MCD' ) AND (UserID IS NULL OR UserID LIKE N'' )" End If CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_已綁定使用者清單載入(區域 As String) ConnOpen_LINE_SQL() If 帳號綁定 = "MCD" Then SQL1 = "SELECT 姓名,UserID,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'MCD' ) AND UserID IS NOT NULL AND UserID NOT LIKE N'' " Else SQL1 = "SELECT 姓名,UserID,帳號 FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 區域 & "' AND 帳號 NOT LIKE N'MCD' ) AND UserID IS NOT NULL AND UserID NOT LIKE N'' " End If CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_未綁定LINEid清單載入() ConnOpen_LINE_SQL() SQL1 = "SELECT DISTINCT LINE_使用者資料表.UserID FROM LINE_使用者資料表 LEFT OUTER JOIN LINE_使用者權限管理表 ON LINE_使用者資料表.UserID = LINE_使用者權限管理表.UserID WHERE (LINE_使用者資料表.UserID IS NOT NULL) AND (LINE_使用者權限管理表.姓名 IS NULL OR LINE_使用者權限管理表.姓名 LIKE N'') ORDER BY LINE_使用者資料表.UserID" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_個人對話紀錄(user_id As String) ConnOpen_LINE_SQL() SQL1 = "SELECT createtime AS 日期, text AS 內容 FROM LINE_個人紀錄表 WHERE (UserID LIKE N'" & user_id & "' ) " CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_群組對話紀錄(user_id As String) ConnOpen_LINE_SQL() SQL1 = "SELECT createtime AS 日期, text AS 內容 FROM LINE_WS群組紀錄表 WHERE (UserID LIKE N'" & user_id & "') UNION ALL SELECT createtime AS 日期, text AS 內容 FROM LINE_MCD群組紀錄表 WHERE (UserID LIKE N'" & user_id & "') ORDER BY createtime DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_綁定UserID(user_id As String, 姓名 As String, 區域 As String) ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_使用者權限管理表 SET UserID=N'" & user_id & "' WHERE 姓名 LIKE N'" & 姓名 & "' AND 帳號 LIKE N'" & 區域 & "'" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_使用者清單載入() ConnOpen_LINE_SQL() SQL1 = "SELECT 姓名,UserID FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'MCD'" CmdSet_For_DGV() End Sub Friend Sub SQL_MCD_檢查有無重複(姓名 As String) ConnOpen_LINE_SQL() SQL1 = "SELECT 姓名 FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'MCD' AND 姓名 LIKE N'" & 姓名 & "'" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_新增使用者(姓名 As String) ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_使用者權限管理表(姓名,帳號) VALUES (N'" & 姓名 & "',N'MCD')" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_刪除使用者(姓名 As String) ConnOpen_LINE_SQL() SQL1 = "DELETE FROM LINE_使用者權限管理表 WHERE 姓名 LIKE N'" & 姓名 & "' AND 帳號 LIKE N'MCD'" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_修改使用者(姓名 As String, 舊名 As String) ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_使用者權限管理表 SET 姓名=N'" & 姓名 & "' WHERE 姓名 LIKE N'" & 舊名 & "' AND 帳號 LIKE N'MCD'" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_金句清單載入() ConnOpen_LINE_SQL() SQL1 = "SELECT ID, 抬頭, 內容, 頁腳 FROM LINE_金句設定表 ORDER BY ID" CmdSet_For_DGV() End Sub Friend Sub SQL_MCD_查詢金句最後() ConnOpen_LINE_SQL() SQL1 = "SELECT ID FROM LINE_金句設定表 ORDER BY ID DESC" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_金句新增(ID As String) ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_金句設定表( ID, 抬頭, 內容, 頁腳) VALUES (N'" & ID & "' ,N'',N'',N'')" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_金句修改(ID As String, 抬頭 As String, 內容 As String, 頁腳 As String) ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_金句設定表 SET 抬頭=N'" & 抬頭 & "', 內容=N'" & 內容 & "', 頁腳=N'" & 頁腳 & "' WHERE ID LIKE N'" & ID & "'" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_歷史訊息清單() ConnOpen_LINE_SQL() SQL1 = "SELECT LINE_使用者權限管理表.姓名, LINE_MCD群組紀錄表.UserID, LINE_MCD群組紀錄表.text, LINE_MCD群組紀錄表.createtime FROM LINE_MCD群組紀錄表 LEFT OUTER JOIN LINE_使用者權限管理表 ON LINE_MCD群組紀錄表.UserID = LINE_使用者權限管理表.UserID ORDER BY LINE_MCD群組紀錄表.createtime DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_MCD_關鍵字清單載入(區域 As String) ConnOpen_LINE_SQL() SQL1 = "SELECT ID, 關鍵字, 回應內容 FROM LINE_關鍵字設定表 WHERE 區域 LIKE N'" & 區域 & "' ORDER BY ID" CmdSet_For_DGV() End Sub Friend Sub SQL_MCD_查詢關鍵字最後(區域 As String) ConnOpen_LINE_SQL() SQL1 = "SELECT ID FROM LINE_關鍵字設定表 WHERE 區域 LIKE N'" & 區域 & "' ORDER BY ID DESC" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_關鍵字新增(ID As String, 區域 As String) ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_關鍵字設定表(ID, 關鍵字, 回應內容, 區域) VALUES (N'" & ID & "' ,N'',N'',N'" & 區域 & "')" CmdSet_For_dr() End Sub Friend Sub SQL_MCD_關鍵字修改(ID As String, 關鍵字 As String, 回應內容 As String, 區域 As String) ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_關鍵字設定表 SET 關鍵字=N'" & 關鍵字 & "', 回應內容=N'" & 回應內容 & "' WHERE ID LIKE N'" & ID & "' AND 區域 LIKE N'" & 區域 & "'" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_使用者管理表_清單載入1() ConnOpen_LINE_SQL() SQL1 = "SELECT " & LINE_登入權限2 & " FROM LINE_使用者權限管理表 RIGHT OUTER JOIN 使用者權限管理表 AS 使用者權限管理表_1 ON LINE_使用者權限管理表.帳號 = 使用者權限管理表_1.帳號 ORDER BY 使用者權限管理表_1.部門, 使用者權限管理表_1.職稱, 使用者權限管理表_1.課別, 使用者權限管理表_1.組別" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_通知設定表_清單載入(通知參數 As String) ConnOpen_LINE_SQL() SQL1 = "SELECT 帳號,姓名,通知語言,Line,WhatsApp,Message,UserID,token,電話號碼1,電話號碼2,電話號碼3 FROM LINE_使用者權限管理表 " & 通知參數 & " ORDER BY 帳號" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_使用者資料修改() ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_使用者權限管理表 SET UserID = N'" & LINE_使用者管理表.token_tb.Text & "',通知語言 = N'" & LINE_使用者管理表.通知語言_cb.Text & "',電話號碼1 = N'" & LINE_使用者管理表.電話號碼1_tb.Text & "',電話號碼2 = N'" & LINE_使用者管理表.電話號碼2_tb.Text & "',電話號碼3 = N'" & LINE_使用者管理表.電話號碼3_tb.Text & "',Line = N'" & LINE_使用者管理表.Line_cb.Checked & "',WhatsApp = N'" & LINE_使用者管理表.WhatsApp_cb.Checked & "',Message = N'" & LINE_使用者管理表.Message_cb.Checked & "', CC200 = '" & LINE_使用者管理表.CheckBox200.Checked & "', CC201 = '" & LINE_使用者管理表.CheckBox201.Checked & "', CC202 = '" & LINE_使用者管理表.CheckBox202.Checked & "', CC203 = '" & LINE_使用者管理表.CheckBox203.Checked & "', CC204 = '" & LINE_使用者管理表.CheckBox204.Checked & "', CC205 = '" & LINE_使用者管理表.CheckBox205.Checked & "', CC206 = '" & LINE_使用者管理表.CheckBox206.Checked & "', CC207 = '" & LINE_使用者管理表.CheckBox207.Checked & "', CC208 = '" & LINE_使用者管理表.CheckBox208.Checked & "', CC209 = '" & LINE_使用者管理表.CheckBox209.Checked & "', CC210 = '" & LINE_使用者管理表.CheckBox210.Checked & "', CC211= '" & LINE_使用者管理表.CheckBox211.Checked & "', CC212 = '" & LINE_使用者管理表.CheckBox212.Checked & "', CC213 = '" & LINE_使用者管理表.CheckBox213.Checked & "', CC214 = '" & LINE_使用者管理表.CheckBox214.Checked & "', CC215 = '" & LINE_使用者管理表.CheckBox215.Checked & "', CC216 = '" & LINE_使用者管理表.CheckBox216.Checked & "', CC217 = '" & LINE_使用者管理表.CheckBox217.Checked & "', CC218 = '" & LINE_使用者管理表.CheckBox218.Checked & "', CC219 = '" & LINE_使用者管理表.CheckBox219.Checked & "', CC220 = '" & LINE_使用者管理表.CheckBox220.Checked & "', CC221 = '" & LINE_使用者管理表.CheckBox221.Checked & "', CC222 = '" & LINE_使用者管理表.CheckBox222.Checked & "', CC223 = '" & LINE_使用者管理表.CheckBox223.Checked & "', CC224 = '" & LINE_使用者管理表.CheckBox224.Checked & "', CC225 = '" & LINE_使用者管理表.CheckBox225.Checked & "', CC226 = '" & LINE_使用者管理表.CheckBox226.Checked & "', CC227 = '" & LINE_使用者管理表.CheckBox227.Checked & "', CC228 = '" & LINE_使用者管理表.CheckBox228.Checked & "', CC229 = '" & LINE_使用者管理表.CheckBox229.Checked & "', CC230 = '" & LINE_使用者管理表.CheckBox230.Checked & "', CC231 = '" & LINE_使用者管理表.CheckBox231.Checked & "', CC232 = '" & LINE_使用者管理表.CheckBox232.Checked & "', CC233 = '" & LINE_使用者管理表.CheckBox233.Checked & "', CC234 = '" & LINE_使用者管理表.CheckBox234.Checked & "', CC235 = '" & LINE_使用者管理表.CheckBox235.Checked & "', CC236 = '" & LINE_使用者管理表.CheckBox236.Checked & "', CC237 = '" & LINE_使用者管理表.CheckBox237.Checked & "', CC238 = '" & LINE_使用者管理表.CheckBox238.Checked & "', CC239 = '" & LINE_使用者管理表.CheckBox239.Checked & "', CC240 = '" & LINE_使用者管理表.CheckBox240.Checked & "', CC241 = '" & LINE_使用者管理表.CheckBox241.Checked & "', CC242 = '" & LINE_使用者管理表.CheckBox242.Checked & "', CC243 = '" & LINE_使用者管理表.CheckBox243.Checked & "', CC244 = '" & LINE_使用者管理表.CheckBox244.Checked & "', CC245 = '" & LINE_使用者管理表.CheckBox245.Checked & "', CC246 = '" & LINE_使用者管理表.CheckBox246.Checked & "', CC247 = '" & LINE_使用者管理表.CheckBox247.Checked & "', CC248 = '" & LINE_使用者管理表.CheckBox248.Checked & "', CC249 = '" & LINE_使用者管理表.CheckBox249.Checked & "', CC250 = '" & LINE_使用者管理表.CheckBox250.Checked & "', CC251 = '" & LINE_使用者管理表.CheckBox251.Checked & "', CC252 = '" & LINE_使用者管理表.CheckBox252.Checked & "', CC253 = '" & LINE_使用者管理表.CheckBox253.Checked & "', CC254 = '" & LINE_使用者管理表.CheckBox254.Checked & "', CC255 = '" & LINE_使用者管理表.CheckBox255.Checked & "', CC256 = '" & LINE_使用者管理表.CheckBox256.Checked & "', CC257 = '" & LINE_使用者管理表.CheckBox257.Checked & "', CC258 = '" & LINE_使用者管理表.CheckBox258.Checked & "', CC259 = '" & LINE_使用者管理表.CheckBox259.Checked & "', CC260 = '" & LINE_使用者管理表.CheckBox260.Checked & "' WHERE (姓名 LIKE N'" & LINE_使用者管理表.姓名_tb.Text & "' AND 帳號 LIKE N'" & LINE_使用者管理表.帳號_tb.Text & "')" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_使用者資料查詢(姓名 As String, 帳號 As String) ConnOpen_LINE_SQL() : SQL1 = "SELECT * FROM LINE_使用者權限管理表 WHERE (姓名 LIKE N'" & 姓名 & "' AND 帳號 LIKE N'" & 帳號 & "')" : CmdSet_For_dr() End Sub Friend Sub SQL_LINE_通知內容資料修改() ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_通知內容設定表 SET 權限名稱 = N'" & LINE_使用者管理表.權限名稱_tb.Text & "', 通知內容 = N'" & LINE_使用者管理表.通知內容_tb.Text & "', 通知格式 = N'" & LINE_使用者管理表.通知格式_cb.Text & "', 變數位置 = N'" & LINE_使用者管理表.變數位置_cb.Text & "', 通知內容1 = N'" & LINE_使用者管理表.通知內容1_tb.Text & "', 通知內容2 = N'" & LINE_使用者管理表.通知內容2_tb.Text & "', 通知內容3 = N'" & LINE_使用者管理表.通知內容3_tb.Text & "', 已使用 = N'" & LINE_使用者管理表.已使用_ch.Checked & "' WHERE (權限代號 = '" & LINE_使用者管理表.權限代號_cb.Text & "')" CmdSet_For_dr() ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_權限一覽表 SET 權限名稱 = N'" & LINE_使用者管理表.權限名稱_tb.Text & "' WHERE (權限代號 = '" & LINE_使用者管理表.權限代號_cb.Text & "')" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_新增使用者資料() ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_使用者權限管理表 (" & LINE_登入權限_IN & ") VALUES (N'" & LINE_使用者管理表.姓名_tb.Text & "', N'" & LINE_使用者管理表.帳號_tb.Text & "', N'" & LINE_使用者管理表.token_tb.Text & "',N'" & LINE_使用者管理表.通知語言_cb.Text & "',N'" & LINE_使用者管理表.電話號碼1_tb.Text & "',N'" & LINE_使用者管理表.電話號碼2_tb.Text & "',N'" & LINE_使用者管理表.電話號碼3_tb.Text & "',N'" & LINE_使用者管理表.Line_cb.Checked & "',N'" & LINE_使用者管理表.WhatsApp_cb.Checked & "',N'" & LINE_使用者管理表.Message_cb.Checked & "','" & LINE_使用者管理表.CheckBox200.Checked & "','" & LINE_使用者管理表.CheckBox201.Checked & "','" & LINE_使用者管理表.CheckBox202.Checked & "','" & LINE_使用者管理表.CheckBox203.Checked & "','" & LINE_使用者管理表.CheckBox204.Checked & "','" & LINE_使用者管理表.CheckBox205.Checked & "','" & LINE_使用者管理表.CheckBox206.Checked & "','" & LINE_使用者管理表.CheckBox207.Checked & "','" & LINE_使用者管理表.CheckBox208.Checked & "','" & LINE_使用者管理表.CheckBox209.Checked & "','" & LINE_使用者管理表.CheckBox210.Checked & "','" & LINE_使用者管理表.CheckBox211.Checked & "','" & LINE_使用者管理表.CheckBox212.Checked & "','" & LINE_使用者管理表.CheckBox213.Checked & "','" & LINE_使用者管理表.CheckBox214.Checked & "','" & LINE_使用者管理表.CheckBox215.Checked & "','" & LINE_使用者管理表.CheckBox216.Checked & "','" & LINE_使用者管理表.CheckBox217.Checked & "','" & LINE_使用者管理表.CheckBox218.Checked & "','" & LINE_使用者管理表.CheckBox219.Checked & "','" & LINE_使用者管理表.CheckBox220.Checked & "','" & LINE_使用者管理表.CheckBox221.Checked & "','" & LINE_使用者管理表.CheckBox222.Checked & "','" & LINE_使用者管理表.CheckBox223.Checked & "','" & LINE_使用者管理表.CheckBox224.Checked & "','" & LINE_使用者管理表.CheckBox225.Checked & "','" & LINE_使用者管理表.CheckBox226.Checked & "','" & LINE_使用者管理表.CheckBox227.Checked & "','" & LINE_使用者管理表.CheckBox228.Checked & "','" & LINE_使用者管理表.CheckBox229.Checked & "','" & LINE_使用者管理表.CheckBox230.Checked & "','" & LINE_使用者管理表.CheckBox231.Checked & "','" & LINE_使用者管理表.CheckBox232.Checked & "','" & LINE_使用者管理表.CheckBox233.Checked & "','" & LINE_使用者管理表.CheckBox234.Checked & "','" & LINE_使用者管理表.CheckBox235.Checked & "','" & LINE_使用者管理表.CheckBox236.Checked & "','" & LINE_使用者管理表.CheckBox237.Checked & "','" & LINE_使用者管理表.CheckBox238.Checked & "','" & LINE_使用者管理表.CheckBox239.Checked & "','" & LINE_使用者管理表.CheckBox240.Checked & "','" & LINE_使用者管理表.CheckBox241.Checked & "','" & LINE_使用者管理表.CheckBox242.Checked & "','" & LINE_使用者管理表.CheckBox243.Checked & "','" & LINE_使用者管理表.CheckBox244.Checked & "','" & LINE_使用者管理表.CheckBox245.Checked & "','" & LINE_使用者管理表.CheckBox246.Checked & "','" & LINE_使用者管理表.CheckBox247.Checked & "','" & LINE_使用者管理表.CheckBox248.Checked & "','" & LINE_使用者管理表.CheckBox249.Checked & "','" & LINE_使用者管理表.CheckBox250.Checked & "','" & LINE_使用者管理表.CheckBox251.Checked & "','" & LINE_使用者管理表.CheckBox252.Checked & "','" & LINE_使用者管理表.CheckBox253.Checked & "','" & LINE_使用者管理表.CheckBox254.Checked & "','" & LINE_使用者管理表.CheckBox255.Checked & "','" & LINE_使用者管理表.CheckBox256.Checked & "','" & LINE_使用者管理表.CheckBox257.Checked & "','" & LINE_使用者管理表.CheckBox258.Checked & "','" & LINE_使用者管理表.CheckBox259.Checked & "','" & LINE_使用者管理表.CheckBox260.Checked & "')" CmdSet_For_dr() End Sub 'Friend Sub SQL_LINE_新增使用者資料1() ' ConnOpen_LINE_SQL() ' SQL1 = "INSERT INTO 使用者權限管理表 (" & LINE_登入權限 & ") ' VALUES (N'" & 人員基本資料.姓名_tb.Text & "', N'" & 人員基本資料.帳號_tb.Text & "', N'" & 人員基本資料.token_tb.Text & ' "',N'" & 人員基本資料.通知語言_cb.Text & "',N'" & 人員基本資料.電話號碼1_tb.Text & "',N'" & 人員基本資料.電話號碼2_tb.Text & ' "',N'" & 人員基本資料.電話號碼3_tb.Text & "',N'" & 人員基本資料.Line_cb.Checked & "',N'" & 人員基本資料.WhatsApp_cb.Checked & ' "',N'" & 人員基本資料.Message_cb.Checked & "','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','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')" ' CmdSet_For_dr() 'End Sub Friend Sub SQL_LINE_新增通知內容資料() ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_通知內容設定表 ( 權限代號,權限名稱,通知內容,通知格式,變數位置,通知內容1,通知內容2,通知內容3) VALUES (N'" & LINE_使用者管理表.權限代號_cb.Text & "', N'" & LINE_使用者管理表.權限名稱_tb.Text & "', N'" & LINE_使用者管理表.通知內容_tb.Text & "',N'" & LINE_使用者管理表.通知格式_cb.Text & "',N'" & LINE_使用者管理表.變數位置_cb.Text & "',N'" & LINE_使用者管理表.通知內容1_tb.Text & "',N'" & LINE_使用者管理表.通知內容2_tb.Text & "',N'" & LINE_使用者管理表.通知內容3_tb.Text & "')" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_使用者資料刪除(帳號 As String, 姓名 As String) ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 帳號 & "' AND 姓名 LIKE N'" & 姓名 & "')" : CmdSet_For_dr() End Sub Friend Sub SQL_LINE_通知內容資料刪除() ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_通知內容設定表 WHERE (權限代號 = '" & LINE_使用者管理表.權限代號_cb.Text & "')" : CmdSet_For_dr() End Sub Friend Sub SQL_LINE_新增發送通知() ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_通知設定表 (token,發送內容,隨機碼,通知語言,發送APP) VALUES (N'" & PA201 & "',N'" & PA202 & "',N'" & PA203 & "',N'" & PA204 & "',N'" & PA205 & "')" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_搜尋符合通知對象() ConnOpen_LINE_SQL() SQL1 = "SELECT UserID,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message FROM LINE_使用者權限管理表 WHERE(" & LINE_權限代號 & "='True' and 姓名 LIKE N'" & 發送對象 & "')" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_通知內容清單載入() ConnOpen_LINE_SQL() SQL1 = "SELECT LINE_通知內容設定表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.通知內容, LINE_通知內容設定表.通知格式, LINE_通知內容設定表.變數位置, LINE_通知內容設定表.通知內容1, LINE_通知內容設定表.通知內容2, LINE_通知內容設定表.通知內容3, LINE_通知內容設定表.已使用 FROM LINE_通知內容設定表 INNER JOIN LINE_權限一覽表 ON LINE_通知內容設定表.權限代號 = LINE_權限一覽表.權限代號 ORDER BY LINE_通知內容設定表.權限代號" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_通知內容() ConnOpen_LINE_SQL() SQL1 = "SELECT 通知格式,變數位置,通知內容1,通知內容2,通知內容3 FROM LINE_通知內容設定表 WHERE (權限代號='" & LINE_權限代號 & "')" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_權限清單載入() ConnOpen_LINE_SQL() SQL1 = "SELECT LINE_權限一覽表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.已使用 FROM LINE_權限一覽表 LEFT OUTER JOIN LINE_通知內容設定表 ON LINE_權限一覽表.權限代號 = LINE_通知內容設定表.權限代號 ORDER BY LINE_權限一覽表.權限代號" CmdSet_For_DGV() End Sub Friend Sub SQL_LINE_新增權限資料() ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_權限一覽表 ( 權限代號,權限名稱) VALUES (N'" & LINE_權限一覽表.權限代號_cb.Text & "', N'" & LINE_權限一覽表.權限名稱_tb.Text & "')" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_權限資料修改() ConnOpen_LINE_SQL() SQL1 = "UPDATE LINE_權限一覽表 SET 權限名稱 = N'" & LINE_權限一覽表.權限名稱_tb.Text & "' WHERE (權限代號 = '" & LINE_權限一覽表.權限代號_cb.Text & "')" CmdSet_For_dr() End Sub Friend Sub SQL_LINE_權限資料刪除() ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_權限一覽表 WHERE (權限代號 = '" & LINE_權限一覽表.權限代號_cb.Text & "')" : CmdSet_For_dr() End Sub Function SQL_LINE_隨機碼() Dim rancode As String Dim RndNum As New Random() 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") Return rancode End Function Friend Sub LINE_通知模塊() Dim ds5, ds6 As New DataSet : ds5.Clear() : ds6.Clear() Dim 通知格式, 變數位置, 通知內容1, 通知內容2, 通知內容3, 發送X, 發送Y As String Dim L, M, W As Boolean SQL_LINE_搜尋符合通知對象() da.Fill(ds5) : LINE_使用者管理表.LINE_需通知清單_dgv.DataSource = ds5.Tables(0) : conn.Close() If 通知變數X = "" Then : 發送X = "未設定通知變數X" : Else : 發送X = 通知變數X : End If If 通知變數Y = "" Then : 發送Y = "未設定通知變數Y" : Else : 發送Y = 通知變數Y : End If For x As Integer = 0 To LINE_使用者管理表.LINE_需通知清單_dgv.Rows.Count - 1 L = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("Line").Value W = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("WhatsApp").Value M = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("Message").Value SQL_LINE_通知內容() : da.Fill(ds6) : LINE_使用者管理表.LINE_通知內容清單_dgv.DataSource = ds6.Tables(0) : conn.Close() If LINE_使用者管理表.LINE_需通知清單_dgv.Rows.Count = 0 Then : Else 通知格式 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(0).Value 變數位置 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(1).Value 通知內容1 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(2).Value 通知內容2 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(3).Value 通知內容3 = LINE_使用者管理表.LINE_通知內容清單_dgv.Rows(0).Cells(4).Value Dim 發送訊息 As String = "這是一則來自GCM智能小幫手的通知訊息" If 變數位置 = "A" Then 發送訊息 = 通知內容1 ElseIf 變數位置 = "X" Then 發送訊息 = 發送X ElseIf 變數位置 = "A+X" Then 發送訊息 = 通知內容1 + 發送X ElseIf 變數位置 = "X+A" Then 發送訊息 = 發送X + 通知內容1 ElseIf 變數位置 = "X+A+Y" Then 發送訊息 = 發送X + 通知內容1 + 發送Y ElseIf 變數位置 = "A+X+B" Then 發送訊息 = 通知內容1 + 發送X + 通知內容2 ElseIf 變數位置 = "X+A+Y+B" Then 發送訊息 = 發送X + 通知內容1 + 發送Y + 通知內容2 ElseIf 變數位置 = "A+X+B+Y" Then 發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y ElseIf 變數位置 = "A+X+B+Y+C" Then 發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3 End If 'If 變數位置 = "A" Then ' PA202 = 通知內容1 'ElseIf 變數位置 = "X" Then ' PA202 = 發送X 'ElseIf 變數位置 = "A+X" Then ' PA202 = 通知內容1 + 發送X 'ElseIf 變數位置 = "X+A" Then ' PA202 = 發送X + 通知內容1 'ElseIf 變數位置 = "X+A+Y" Then ' PA202 = 發送X + 通知內容1 + 發送Y 'ElseIf 變數位置 = "A+X+B" Then ' PA202 = 通知內容1 + 發送X + 通知內容2 'ElseIf 變數位置 = "X+A+Y+B" Then ' PA202 = 發送X + 通知內容1 + 發送Y + 通知內容2 'ElseIf 變數位置 = "A+X+B+Y" Then ' PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y 'ElseIf 變數位置 = "A+X+B+Y+C" Then ' PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3 'End If 'PA204 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(1).Value Dim UserID As String = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells("UserID").Value If L = True Then 'PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(0).Value.ToString : PA205 = "Line" : SQL_LINE_新增發送通知() PostData(UserID, 發送訊息, "RB-0002") End If 'If W = True Then ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString <> "" Then ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知() ' End If ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString <> "" Then ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知() ' End If ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString <> "" Then ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知() ' End If 'End If 'If M = True Then ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString <> "" Then ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(2).Value.ToString : PA205 = "Message" : SQL_LINE_新增發送通知() ' End If ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString <> "" Then ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(3).Value.ToString : PA205 = "Message" : SQL_LINE_新增發送通知() ' End If ' If LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString <> "" Then ' PA203 = SQL_LINE_隨機碼() : PA201 = LINE_使用者管理表.LINE_需通知清單_dgv.Rows(x).Cells(4).Value.ToString : PA205 = "Message" : SQL_LINE_新增發送通知() ' End If 'End If End If Next ds5.Clear() : ds6.Clear() : 通知變數X = "" : 通知變數Y = "" End Sub '----------CB------------------- Friend Sub SQL_公司_下拉清單() ConnOpen_LINE_SQL() SQL1 = "SELECT 公司名稱 FROM 公司清單 ORDER BY 公司名稱" CmdSet_For_dr() End Sub Friend Sub SQL_年份_下拉清單() ConnOpen_LINE_SQL() SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC" CmdSet_For_dr() End Sub Friend Sub SQL_語言_下拉清單() ConnOpen_LINE_SQL() : SQL1 = "SELECT 語言 FROM 語言清單 ORDER BY 語言 DESC" : CmdSet_For_dr() End Sub '----------系統編碼規則----------- Friend Sub SQL_語言() ConnOpen_LINE_SQL() : SQL1 = "SELECT 語言 FROM 語言清單 ORDER BY 語言 DESC" : CmdSet_For_DGV() End Sub Friend Sub SQL_公司名稱() ConnOpen_LINE_SQL() : SQL1 = "SELECT 公司名稱 FROM 公司清單 ORDER BY 公司名稱 DESC" : CmdSet_For_DGV() End Sub Friend Sub SQL_年份() ConnOpen_LINE_SQL() : SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC" : CmdSet_For_DGV() End Sub Friend Sub SQL_公司新增查詢() SQL1 = "SELECT 公司名稱 FROM 公司清單 WHERE 公司名稱 LIKE N'" & 系統編碼規則.公司名稱_tb.Text & "'" End Sub Friend Sub SQL_公司新增() SQL1 = "INSERT INTO 公司清單 (公司名稱) VALUES (N'" & 系統編碼規則.公司名稱_tb.Text & "')" End Sub Friend Sub SQL_公司修改() SQL1 = "UPDATE 公司清單 SET 公司名稱 = N'" & PA & "' WHERE 公司名稱 LIKE N'" & 系統編碼規則.公司名稱_tb.Text & "'" End Sub Friend Sub SQL_公司刪除() SQL1 = "DELETE FROM 公司清單 WHERE (公司名稱 = N'" & 系統編碼規則.公司名稱_tb.Text & "')" End Sub Friend Sub SQL_語言新增查詢() SQL1 = "SELECT 語言 FROM 語言清單 WHERE 語言 LIKE N'" & 系統編碼規則.語言_tb.Text & "'" End Sub Friend Sub SQL_語言新增() SQL1 = "INSERT INTO 語言清單 (語言) VALUES (N'" & 系統編碼規則.語言_tb.Text & "')" End Sub Friend Sub SQL_語言修改() SQL1 = "UPDATE 語言清單 SET 語言 = N'" & PA & "' WHERE 語言 LIKE N'" & 系統編碼規則.語言_tb.Text & "'" End Sub Friend Sub SQL_語言刪除() SQL1 = "DELETE FROM 語言清單 WHERE (語言 = N'" & 系統編碼規則.語言_tb.Text & "')" End Sub Friend Sub SQL_年份新增查詢() SQL1 = "SELECT 年份 FROM 年份清單 WHERE 年份 LIKE N'" & 系統編碼規則.年份_tb.Text & "'" End Sub Friend Sub SQL_年份新增() SQL1 = "INSERT INTO 年份清單 (年份) VALUES (N'" & 系統編碼規則.年份_tb.Text & "')" End Sub Friend Sub SQL_年份修改() SQL1 = "UPDATE 年份清單 SET 年份 = N'" & PA & "' WHERE 年份 LIKE N'" & 系統編碼規則.年份_tb.Text & "'" End Sub Friend Sub SQL_年份刪除() SQL1 = "DELETE FROM 年份清單 WHERE (年份 = N'" & 系統編碼規則.年份_tb.Text & "')" End Sub Friend Sub SQL_Robot清單() ConnOpen_LINE_SQL() SQL1 = "SELECT ID, RobotName AS 機器人名稱, channel_secret, channel_token, channel_destination FROM LINE_機器人控制表 ORDER BY ID" CmdSet_For_DGV() End Sub Friend Sub SQL_Robot清單_最後流水() ConnOpen_LINE_SQL() SQL1 = "SELECT ID FROM LINE_機器人控制表 ORDER BY ID DESC" CmdSet_For_dr() End Sub Friend Sub SQL_Robot清單_新增(ID As String, channel_secret As String, channel_token As String, RobotName As String, channel_destination As String) ConnOpen_LINE_SQL() SQL1 = "INSERT INTO LINE_機器人控制表 (ID, channel_secret, channel_token, RobotName, channel_destination ) VALUES (N'" & ID & "',N'" & channel_secret & "',N'" & channel_token & "',N'" & RobotName & "',N'" & channel_destination & "' )" CmdSet_For_dr() End Sub Friend Sub SQL_Robot清單_刪除(ID As String) ConnOpen_LINE_SQL() SQL1 = "DELETE FROM LINE_機器人控制表 WHERE ID LIKE N'" & ID & "'" CmdSet_For_dr() End Sub '========================= Friend Sub SQL_LOG檔空白資料寫入() ConnOpen_LINE_LOG_SQL() : SQL1 = "UPDATE HX_MESSAGE_LOG SET 公司名稱='HX' WHERE 公司名稱 IS NULL" : CmdSet_For_dr() End Sub Friend Sub SQL_LOG檔清單() ConnOpen_LINE_LOG_SQL() SQL1 = "SELECT 日期, 發送對象, 訊息類別, 公司名稱 FROM HX_MESSAGE_LOG WHERE 日期 LIKE N'" & SQL3 & "' AND 公司名稱 LIKE N'" & SQL2 & "' ORDER BY 日期 DESC" CmdSet_For_DGV() End Sub Sub PostData(userID As String, text As String, robotID As String) ' 定義要請求的 URL Dim url As String = "https://gcmlineauto-4acbbd534d6e.herokuapp.com/wsw/webhook" ' 準備要傳送的資料(這裡使用 JSON 格式) Dim data As New Dictionary(Of String, String) From { {"userID", userID}, {"text", text}, {"robotID", robotID} } Dim json As String = JsonConvert.SerializeObject(data) ' 建立 HttpWebRequest Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest) request.Method = "POST" request.ContentType = "application/json" request.ContentLength = Encoding.UTF8.GetByteCount(json) ' 將 JSON 資料寫入請求中 Using streamWriter As New StreamWriter(request.GetRequestStream()) streamWriter.Write(json) streamWriter.Flush() End Using Try ' 獲取回應 Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) Using streamReader As New StreamReader(response.GetResponseStream()) Dim result As String = streamReader.ReadToEnd() Console.WriteLine("回應內容: " & result) End Using Catch ex As WebException ' 如果請求失敗,顯示錯誤 Dim errorResponse As HttpWebResponse = CType(ex.Response, HttpWebResponse) Console.WriteLine("錯誤: " & errorResponse.StatusCode) End Try End Sub End Module