123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SqlClient;
- using Unity.VisualScripting;
- using UnityEngine;
-
- public class SQL_LINE : MonoBehaviour
- {
- readonly string 公司名稱 = "WS";
- public static string ConStringLINE;
- public static DataTable LINE_需通知清單_dgv,LINE_通知內容清單_dgv;
- int LINE_權限數量;
- bool[] linecc = new bool[62];
- private static string LINE_系統權限 = @"CC200,CC201,CC202,CC203,CC204,CC205,CC206,CC207,CC208,CC209,CC210,CC211,CC212,CC213,CC214,CC215,CC216,CC217,
- CC218,CC219,CC220,CC221,CC222,CC223,CC224,CC225,CC226,CC227,CC228,CC229,CC230,CC231,CC232,CC233,CC234,CC235,CC236,CC237,
- CC238,CC239,CC240,CC241,CC242,CC243,CC244,CC245,CC246,CC247,CC248,CC249,CC250,CC251,CC252,CC253,CC254,CC255,CC256,CC257,
- CC258,CC259,CC260";
- public string LINE_登入權限 = "姓名, 帳號 AS 公司名稱,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message," + LINE_系統權限;
- string LINE_登入權限_IN = "姓名, 帳號 ,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message," + LINE_系統權限;
- string LINE_登入權限2 = @"使用者權限管理表_1.姓名, 使用者權限管理表_1.帳號, 使用者權限管理表.token, 使用者權限管理表.通知語言, 使用者權限管理表.電話號碼1,
- 使用者權限管理表.電話號碼2, 使用者權限管理表.電話號碼3, 使用者權限管理表.Line, 使用者權限管理表.WhatsApp, 使用者權限管理表.Message," + LINE_系統權限;
- public static void SQL_連線字串_測試_LINE_SQL(){
- 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";
- }
- public static void ConnOpen_LINE_SQL(){
- SQL_連線字串_測試_LINE_SQL();
- try{
- SQL_Module.conn.Close();
- if (SQL_Module.conn.State == ConnectionState.Closed){
- SQL_Module.conn = new SqlConnection(ConStringLINE);
- SQL_Module.conn.Open();
- }
- }catch{
- SQL_Module.conn = new SqlConnection(ConStringLINE);
- SQL_Module.conn.Open();
- }
- }
- public static void CmdSet_For_DGV_LINE()
- {
- try{
- SQL_Module.da = new SqlDataAdapter(SQL_Module.SQL1,ConStringLINE);
- }catch{
-
- }
- }
- public void LIN訊息通知(string 代號,string 對象,string 變數X= "",string 變數Y= ""){
- LINE_通知模塊(代號,對象,變數X,變數Y);
- }
- private void SQL_系統使用者_清單(){
- SQL_Module.ConnOpen_SQL();
- SQL_Module.SQL1 = "SELECT 姓名 FROM 使用者權限管理表 ORDER BY 姓名";
- SQL_Module.CmdSet_For_DGV();
- }
- private void SQL_LINE使用者_清單(string LINE_登入權限,string LINE_公司名稱){
- ConnOpen_LINE_SQL();
- SQL_Module.SQL1 = "SELECT " + LINE_登入權限 + " FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'" + LINE_公司名稱 + "' ORDER BY 姓名";
- CmdSet_For_DGV_LINE();
- }
- private void SQL_LINE權限一覽_dgv_清單(string LINE_公司名稱){
- ConnOpen_LINE_SQL();
- SQL_Module.SQL1 = "SELECT 權限代號, 權限名稱 FROM LINE_權限一覽表 WHERE (權限名稱 LIKE N'"+LINE_公司名稱+"%') OR (權限名稱 LIKE N'GCM%') ORDER BY 權限代號";
- CmdSet_For_DGV_LINE();
- }
- private void SQL_LINE_搜尋符合通知對象(string LINE_權限代號,string 發送對象,string LINE_公司名稱){
- ConnOpen_LINE_SQL();
- SQL_Module.SQL1 = "SELECT token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message FROM LINE_使用者權限管理表 WHERE(" + LINE_權限代號 + "='True' and 姓名 LIKE N'" + 發送對象 + "' and (帳號 LIKE N'" + LINE_公司名稱 + "' OR 帳號 LIKE N'GCM' ))";
- CmdSet_For_DGV_LINE();
- }
- private void SQL_LINE_通知內容(string LINE_權限代號){
- ConnOpen_LINE_SQL();
- SQL_Module.SQL1 = "SELECT 通知格式,變數位置,通知內容1,通知內容2,通知內容3 FROM LINE_通知內容設定表 WHERE (權限代號 LIKE N'" + LINE_權限代號 + "')";
- CmdSet_For_DGV_LINE();
- }
- private void SQL_LINE_新增發送通知(string token,string 發送內容,string 隨機碼,string 通知語言,string 發送APP){
- ConnOpen_LINE_SQL();
- SQL_Module.SQL1 = "INSERT INTO LINE_通知設定表 (token,發送內容,隨機碼,通知語言,發送APP) VALUES (N'" + token + "',N'" + 發送內容 + "',N'" + 隨機碼 + "',N'" + 通知語言 + "',N'" + 發送APP + "')";
- SQL_Module.CmdSet_For_dr();
- }
- private string SQL_LINE_隨機碼(){
- System.Random rndNum = new System.Random();
- string rancode = DateTime.Now.Year.ToString().PadLeft(4,'0') + DateTime.Now.Month.ToString().PadLeft(2,'0') + DateTime.Now.Day.ToString().PadLeft(2,'0') + DateTime.Now.Hour.ToString().PadLeft(2,'0') + DateTime.Now.Minute.ToString().PadLeft(2,'0') + DateTime.Now.Second.ToString().PadLeft(2,'0')+rndNum.Next(0, 100).ToString().PadLeft(4,'0');
- return rancode;
- }
- private void LINE_通知模塊(string 權限代號,string 發送對象,string 通知變數X,string 通知變數Y){
- DataSet ds5 = new(); DataSet ds6 = new();ds5.Clear();ds6.Clear();
- string 發送X, 發送Y;
- SQL_LINE_搜尋符合通知對象(權限代號,發送對象,公司名稱);
- SQL_Module.da.Fill(ds5);
- LINE_需通知清單_dgv = ds5.Tables[0];
- if(通知變數X==""){發送X = "未設定通知變數X";}else{發送X = 通知變數X;}
- if(通知變數Y==""){發送Y = "未設定通知變數Y";}else{發送Y = 通知變數Y;}
- for(int x=0;x<=LINE_需通知清單_dgv.Rows.Count-1;x++){
- bool L = bool.Parse(LINE_需通知清單_dgv.Rows[x]["Line"].ToString());
- bool W = bool.Parse(LINE_需通知清單_dgv.Rows[x]["WhatsApp"].ToString());
- bool M = bool.Parse(LINE_需通知清單_dgv.Rows[x]["Message"].ToString());
- SQL_LINE_通知內容(權限代號);SQL_Module.da.Fill(ds6);LINE_通知內容清單_dgv= ds6.Tables[0];
- if(LINE_通知內容清單_dgv.Rows.Count==0){}else{
- string 變數位置=LINE_通知內容清單_dgv.Rows[0][1].ToString();
- string 通知內容1=LINE_通知內容清單_dgv.Rows[0][2].ToString();
- string 通知內容2=LINE_通知內容清單_dgv.Rows[0][3].ToString();
- string 通知內容3=LINE_通知內容清單_dgv.Rows[0][4].ToString();
- string 發送內容="";
- if(變數位置=="A"){
- 發送內容 = 通知內容1;
- }else if(變數位置=="X"){
- 發送內容 = 發送X;
- }else if(變數位置=="A+X"){
- 發送內容 = 發送X;
- }else if(變數位置=="X+A"){
- 發送內容 = 發送X + 通知內容1;
- }else if(變數位置=="X+A+Y"){
- 發送內容 = 發送X + 通知內容1 + 發送Y;
- }else if(變數位置=="A+X+B"){
- 發送內容 = 通知內容1 + 發送X + 通知內容2;
- }else if(變數位置=="X+A+Y+B"){
- 發送內容 = 發送X + 通知內容1 + 發送Y + 通知內容2;
- }else if(變數位置=="A+X+B+Y"){
- 發送內容 = 通知內容1 + 發送X + 通知內容2 + 發送Y;
- }else if(變數位置=="A+X+B+Y+C"){
- 發送內容 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3;
- }
- string 通知語言 = LINE_需通知清單_dgv.Rows[x][1].ToString();
- if(L){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][0].ToString();string 發送APP = "Line";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- if(W){
- if(LINE_需通知清單_dgv.Rows[x][2].ToString() != ""){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][2].ToString();string 發送APP = "WhatsApp";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- if(LINE_需通知清單_dgv.Rows[x][3].ToString() != ""){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][3].ToString();string 發送APP = "WhatsApp";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- if(LINE_需通知清單_dgv.Rows[x][4].ToString() != ""){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][4].ToString();string 發送APP = "WhatsApp";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- }
- if(M){
- if(LINE_需通知清單_dgv.Rows[x][2].ToString() != ""){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][2].ToString();string 發送APP = "Message";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- if(LINE_需通知清單_dgv.Rows[x][3].ToString() != ""){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][3].ToString();string 發送APP = "Message";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- if(LINE_需通知清單_dgv.Rows[x][4].ToString() != ""){
- string 隨機碼 = 公司名稱 + "-" + SQL_LINE_隨機碼();string token = LINE_需通知清單_dgv.Rows[x][4].ToString();string 發送APP = "Message";
- SQL_LINE_新增發送通知(token,發送內容,隨機碼,通知語言,發送APP);
- }
- }
- }
- }
- }
- }
|