การรับใช้ประจำสัปดาห์ Line Notify


code.gs
function sendNotify() {

  var ss = SpreadsheetApp.openById('1Z----------------------------w') //เปิด spreadsheet ด้วย id sheet อย่าลืมแก้ไข id sheet นะครับ
  var ws = ss.getSheetByName('ก----------------ช') //เลือก worksheet ที่มีชื่อว่า Database

  var range = ws.getDataRange()
  var values = range.getValues()
 
  var today = new Date() // กำหนดค่าให้ตัวแปร today ให้เป็นวันนี้

  // var formattedDate = today.getDate() + "/" + (today.getMonth()+1) + "/" + today.getFullYear() // กำหนดรูปแบบวันที่ให้อยู่ในรูป dd/mm/yyyy
 
// <script language="javascript">
 var now = new Date();
var thday = new Array ("อาทิตย์","จันทร์",
"อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์");
var thmonth = new Array ("มกราคม","กุมภาพันธ์","มีนาคม",
"เมษายน","พฤษภาคม","มิถุนายน", "กรกฎาคม","สิงหาคม","กันยายน",
"ตุลาคม","พฤศจิกายน","ธันวาคม");

// document.write("วัน" + thday[now.getDay()]+ "ที่ "+ now.getDate()+ " " +
// thmonth[now.getMonth()]+ " " + (0+now.getYear()));
// </script></p>


   var formattedDate = today.getDate()+ " " + thmonth[today.getMonth()]+ " " + (today.getYear()+1900);
 
   var message = "ขอพระเจ้าอวยพระพรทุกท่านที่รับใช้พระเจ้าทุกวัน"
  //  var message = "ขอพระเจ้าอวยพระพรสำหรับท่านรับใช้พระเจ้าทุกวันและ วัน" +thday[today.getDay()]+ "ที่ "+ formattedDate // กำหนดค่าให้ตัวแปร message เก็บค่าข้อความที่จะส่งเข้า Line Notify


  // ใช้ loop for สำหรับการหาข้อมูลที่ตรงตามเงื่อนไข โดยเริ่มจาก i = 1 หมายถึง เริ่ม loop หาข้อมูลตั้งแต่แถวที่ 2 ใน ws
  // โดยปกติ array จะเริ่มที่ i = 0 หมายถึง แถวที่ 1 ใน ws แต่แถวที่ 1 ใน ws ของเราเป็นหัวตาราง จึงเริ่มที่ i = 1 หมายถึง แถวที่ 2 ใน ws)
  for (var i = 0; i < values.length; i++) {
   
    var row = values[i] // กำหนดค่าให้ตัวแปร row เก็บข้อมูลที่อยู่ในแถวที่ i ทุกคอลัมน์

    var dayCompare = new Date(row[28]); // กำหนดค่าให้ตัวแปร dayCompare เก็บค่า วันที่ ที่อยู่ในแถวที่ i คอลัมน์ E ใข้สำหรับการเปรียบเทียบวันที่
   
    // กำหนดค่าให้ตัวแปร isSameDate เป็นตัวแปร boolean จากการเปรียบเทียบ วัน/เดือน/ปี ระหว่าง today กับ dayCompare
    var isSameDate = (
      today.getFullYear() === dayCompare.getFullYear() &&
      today.getMonth() === dayCompare.getMonth() &&
      today.getDate() === dayCompare.getDate()
    )

    // ถ้า isSameDate มีค่าเป็นจริง ก็จะเพิ่มข้อความ และ ข้อมูล ที่จะส่งเข้า Line Notify ให้กับตัวแปร message
    if(isSameDate) {
      var dateserv = row[29]     // กำหนดค่าให้ตัวแปร partNo เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ A
      var team = row[2]      // กำหนดค่าให้ตัวแปร model เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ B
      var first = row[3]       // กำหนดค่าให้ตัวแปร plan เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ C
      var second = row[4]     // กำหนดค่าให้ตัวแปร actual เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ D
      var third = row[5]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
      var fourth = row[6]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
      var fifth = row[7]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
      var sixth = row[8]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
      var seventh = row[9]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
      var eighth = row[10]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
      var ninth = row[11]       // กำหนดค่าให้ตัวแปร diff เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ E
     
      var godword = row[30]   // กำหนดค่าให้ตัวแปร losstime เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ F

      // var shift = row[6]      // กำหนดค่าให้ตัวแปร shift เก็บค่าที่อยู่ในแถวที่ i คอลัมน์ G

       message += "\n" +
                  "\n โดยเฉพาะ : " + dateserv +
                  "\n 👉ขอพระเจ้าอวยพระพรทีม: " + team + "ซึ่งประกอด้วย" +
                  "\n 🔴  1." + first +
                  "\n 🟢  2." + second +
                  "\n 🔴  3." + third +
                  "\n 🟢  4." + fourth +
                  "\n 🔴  5." + fifth +
                  "\n 🟢  6." + sixth +
                  "\n 🔴  7." + seventh +
                  "\n 🟢  8." + eighth +
                  "\n 🔴  9." + ninth +

                  "\n 🟢ด้วยถ้อยคำที่ว่า : " + godword
                  // "\n Shift : " + shift
     
    }

  }

  // var token = "ej2u-------------------------K"; // เปลี่ยน Token Line Notify
   var token = "6-------------------------------------t";
  var options = {
    "method": "post",
    "headers": {
      "Authorization": "Bearer " + token
    },
    "payload": {
      "message": message
    }
  };
     
  UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);

 
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น