แบบประเมิน SDQ ฉบับผู้ปกครอง


//สคริปต์นี้ พัฒนาโดย นายนรินทร์ อนงค์ชัย และ นายปิยะพงษ์ พรหมบุตร ครูโรงเรียนเทพอุดมวิทยา สพม.33 สุรินทร๋


// GEG Leader SURIN ศึกษาวิธีการตั้งค่าและใช้งานที่ https://youtu.be/ZJI1u57_j_I


//การแปลผล ยึดตามเอกสารนี้ http://www.sesao14.org/files/std/9.pdf


var GDOC_TEMPLATE_ID = '1bODTGzOivt5q_O0apyePGUVTtevACCgKwNxDq_eGG7s'

var destinationFolder = ''


function onOpen() {

SpreadsheetApp.getUi() //

.createMenu('สร้างเอกสารแปลผล SDQ')

.addItem('เริ่มต้นการทำงานแปลผล SDQ', 'showAlert')

.addToUi();

}


function showAlert() {

var ui = SpreadsheetApp.getUi(); // Same variations.

var result = ui.alert(

'โปรดตรวจสอบ',

'แน่ใจแล้วว่า คลิกรายชื่อตำแหน่งเริ่มต้นถูกต้อง',

ui.ButtonSet.YES_NO);

if (result == ui.Button.YES) {

showPrompt()

} else {

ui.alert('คุณยกเลิกการทำงาน');

}

}


function showPrompt() {

var ui = SpreadsheetApp.getUi(); // Same variations.

var result = ui.prompt(

'เลือกโฟลเดอร์จัดเก็บเอกสาร',

'โปรดระบุ ID ของโฟลเดอร์ที่เอกสารจะจัดเก็บ:',

ui.ButtonSet.OK_CANCEL);

var button = result.getSelectedButton();

var text = result.getResponseText();


if (button == ui.Button.OK) {

if(text == "") {

alert_error()

} else {

destinationFolder = text

sdq_test()

}

} else if (button == ui.Button.CANCEL) {

ui.alert('คุณยกเลิกการทำงาน');

} else if (button == ui.Button.CLOSE) {

ui.alert('คุณยกเลิกการทำงาน');

}

}


function alert_error() {

SpreadsheetApp.getUi().alert('คุณไม่ได้ป้อน ID ของโฟลเดอร์ปลายทาง');

}


function sdq_test() {

var result_emo = "";

var result_bahave = ""

var result_med = ""

var result_relat = ""

var result_socio = ""

var result_all = ""


var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getActiveSheet()

var active_range = sheet.getActiveRange();

var lastRow = sheet.getLastRow();

var lastColumn = sheet.getLastColumn();

var start_row = sheet.getActiveCell().getRowIndex()

Logger.log(start_row)

Logger.log(lastRow)

var number_row = lastRow -start_row + 2

Logger.log(number_row)

var range = sheet.getRange(start_row, 1, number_row , lastColumn);

range.activate()

var rangeValues = range.getValues()

Logger.log(rangeValues.length )


for(i = start_row; i< lastRow +1 ; i++){

var stu_name = sheet.getRange(i, 2).getValue();

var stu_class = sheet.getRange(i, 3).getValue();

var stu_sub = sheet.getRange(i, 4).getValue();

var stu_id = sheet.getRange(i, 5).getValue();

var stu_num = sheet.getRange(i, 6).getValue();

Logger.log("ชื่อ - นามสกุล นักเรียน ", stu_name, "ชั้น ", stu_class, "เลขประจำตัว ", stu_id );


var value_1 = sheet.getRange(i, 7).getValue();

var value_2 = sheet.getRange(i, 8).getValue();

var value_3 = sheet.getRange(i, 9).getValue();

var value_4 = sheet.getRange(i, 10).getValue();

var value_5 = sheet.getRange(i, 11).getValue();

var value_6 = sheet.getRange(i, 12).getValue();

var value_7 = sheet.getRange(i, 13).getValue();

var value_8 = sheet.getRange(i, 14).getValue();

var value_9 = sheet.getRange(i, 15).getValue();

var value_10 = sheet.getRange(i, 16).getValue();

var value_11 = sheet.getRange(i, 17).getValue();

var value_12 = sheet.getRange(i, 18).getValue();

var value_13 = sheet.getRange(i, 19).getValue();

var value_14 = sheet.getRange(i, 20).getValue();

var value_15 = sheet.getRange(i, 21).getValue();

var value_16 = sheet.getRange(i, 22).getValue();

var value_17 = sheet.getRange(i, 23).getValue();

var value_18 = sheet.getRange(i, 24).getValue();

var value_19 = sheet.getRange(i, 25).getValue();

var value_20 = sheet.getRange(i, 26).getValue();

var value_21 = sheet.getRange(i, 27).getValue();

var value_22 = sheet.getRange(i, 28).getValue();

var value_23 = sheet.getRange(i, 29).getValue();

var value_24 = sheet.getRange(i, 30).getValue();

var value_25 = sheet.getRange(i, 31).getValue();


//-----------

var quest_0 = sheet.getRange(i, 32).getValue();

var quest_1 = sheet.getRange(i, 33).getValue();

var quest_2 = sheet.getRange(i, 34).getValue();

var quest_3 = sheet.getRange(i, 35).getValue();

var quest_4 = sheet.getRange(i, 36).getValue();

var quest_5 = sheet.getRange(i, 37).getValue();

var quest_6 = sheet.getRange(i, 38).getValue();

var quest_7 = sheet.getRange(i, 39).getValue();


//1. ด้านพฤติกรรมด้านอารมณ์

if(value_3 == "จริง"){value_3 = 2} else if(value_3 == "ไม่แน่ใจ"){ value_3 = 1} else { value_3 = 0}

if(value_8 == "จริง"){value_8 = 2} else if(value_8 == "ไม่แน่ใจ"){ value_8 = 1} else { value_8 = 0}

if(value_13 == "จริง"){value_13 = 2} else if(value_13 == "ไม่แน่ใจ"){ value_13 = 1} else { value_13 = 0}

if(value_16 == "จริง"){value_16 = 2} else if(value_16 == "ไม่แน่ใจ"){ value_16 = 1} else { value_16 = 0}

if(value_24 == "จริง"){value_24 = 2} else if(value_24 == "ไม่แน่ใจ"){ value_24 = 1} else { value_24 = 0}

var result_1 = value_3 + value_8 + value_13 + value_16 + value_24

if (result_1 > 4){ result_emo = "มีปัญหา"}else if(result_1 > 3){result_emo = "เสี่ยง"} else{result_emo = "ปกติ"}

Logger.log(value_3, value_8, value_13, value_16, value_24, "รวมคะแนนด้านอารมณ์ =", result_1, "แปลผล คือ ", result_emo);


//2. ด้านพฤติกรรมเกเร

if(value_5 == "จริง"){value_5 = 2} else if(value_5 == "ไม่แน่ใจ"){ value_5 = 1} else { value_5 = 0}

if(value_7 == "จริง"){value_7 = 0} else if(value_7 == "ไม่แน่ใจ"){ value_7 = 1} else { value_7 = 2}

if(value_12 == "จริง"){value_12 = 2} else if(value_12 == "ไม่แน่ใจ"){ value_12 = 1} else { value_12 = 0}

if(value_18 == "จริง"){value_18 = 2} else if(value_18 == "ไม่แน่ใจ"){ value_18 = 1} else { value_18 = 0}

if(value_22 == "จริง"){value_22 = 2} else if(value_22 == "ไม่แน่ใจ"){ value_22 = 1} else { value_22 = 0}

var result_2 = value_5 + value_7 + value_12 + value_18 + value_22

if (result_2 > 4){ result_bahave = "มีปัญหา"}else if(result_2 > 3){result_bahave = "เสี่ยง"} else{result_bahave = "ปกติ"}

Logger.log(value_5, value_7, value_12, value_18, value_22, "รวมคะแนนด้านพฤติกรรมเกเร =", result_2, "แปลผล คือ ", result_bahave);


//3. ด้านพฤติกรรมไม่อยู่นิ่ง

if(value_2 == "จริง"){value_2 = 2} else if(value_2 == "ไม่แน่ใจ"){ value_2 = 1} else { value_2 = 0}

if(value_10 == "จริง"){value_10 = 2} else if(value_10 == "ไม่แน่ใจ"){ value_10 = 1} else { value_10 = 0}

if(value_15 == "จริง"){value_15 = 2} else if(value_15 == "ไม่แน่ใจ"){ value_15 = 1} else { value_15 = 0}

if(value_21 == "จริง"){value_21 = 0} else if(value_21 == "ไม่แน่ใจ"){ value_21 = 1} else { value_21 = 2}


if(value_25 == "จริง"){value_25 = 0} else if(value_25 == "ไม่แน่ใจ"){ value_25 = 1} else { value_25 = 2}

var result_3 = value_2 + value_10 + value_15 + value_21 + value_25

if (result_3 > 6){ result_med = "มีปัญหา"} else if(result_3 > 5){result_med = "เสี่ยง"} else{result_med = "ปกติ"}

Logger.log(value_2, value_10, value_15, value_21, value_25, "ด้านพฤติกรรมไม่อยู่นิ่ง =", result_3, "แปลผล คือ ", result_med);


//4. พฤติกรรมด้านความสัมพันธ์กับเพื่อน

if(value_6 == "จริง"){value_6 = 2} else if(value_6 == "ไม่แน่ใจ"){ value_6 = 1} else { value_6 = 0}

if(value_11 == "จริง"){value_11 = 0} else if(value_11 == "ไม่แน่ใจ"){ value_11 = 1} else { value_11 = 2}

if(value_14 == "จริง"){value_14 = 0} else if(value_14 == "ไม่แน่ใจ"){ value_14 = 1} else { value_14 = 2}

if(value_19 == "จริง"){value_19 = 2} else if(value_19 == "ไม่แน่ใจ"){ value_19 = 1} else { value_19 = 0}

if(value_23 == "จริง"){value_23 = 2} else if(value_23 == "ไม่แน่ใจ"){ value_23 = 1} else { value_23 = 0}

var result_4 = value_6 + value_11 + value_14 + value_19 + value_23

if (result_4 > 6){ result_relat = "มีปัญหา"}else if(result_4 > 5){result_relat = "เสี่ยง"} else{result_relat = "ปกติ"}

Logger.log(value_6, value_11, value_14, value_19, value_23, "ด้านความสัมพันธ์กับเพื่อน =", result_4, "แปลผล คือ ", result_relat);


//5. พฤติกรรมด้านสัมพันธภาพทางสังคม

if(value_1 == "จริง"){value_1 = 2} else if(value_1 == "ไม่แน่ใจ"){ value_1 = 1} else { value_1 = 0}

if(value_4 == "จริง"){value_4 = 2} else if(value_4 == "ไม่แน่ใจ"){ value_4 = 1} else { value_4 = 0}

if(value_9 == "จริง"){value_9 = 2} else if(value_9 == "ไม่แน่ใจ"){ value_9 = 1} else { value_9 = 0}

if(value_17 == "จริง"){value_17 = 2} else if(value_17 == "ไม่แน่ใจ"){ value_17 = 1} else { value_17 = 0}

if(value_20 == "จริง"){value_20 = 2} else if(value_20 == "ไม่แน่ใจ"){ value_20 = 1} else { value_20 = 0}

var result_5 = value_1 + value_4 + value_9 + value_17 + value_20

if (result_5 > 3){ result_socio = "่มีจุดแข็ง"} else { result_socio = "ไม่มีจุดแข็ง"}

Logger.log(value_1, value_4, value_9, value_17, value_20, "ด้านสัมพันธภาพทางสังคม =", result_5, "แปลผล คือ ",result_socio);


// คะแนนรวม ฉบับนักเรียน ----------------

var total_score = result_1 + result_2 + result_3 + result_4

if(total_score > 17){ result_all = "มีปัญหา"} else if(total_score > 15){result_all = "เสี่ยง"} else {result_all = "ปกติ"}

//6. การประเมินด้านหลัง

var quest_1_score, quest_2_score, quest_3_score, quest_4_score, quest_5_score, quest_6_score, quest_7_score = 0

if(quest_2 == "มากที่สุด"){quest_2_score = 2} else if(quest_2 == "ค่อนข้างมาก"){quest_2_score = 1} else {quest_2_score = 0}

if(quest_3 == "มากที่สุด"){quest_3_score = 2} else if(quest_3 == "ค่อนข้างมาก"){quest_3_score = 1} else {quest_3_score = 0}

if(quest_4 == "มากที่สุด"){quest_4_score = 2} else if(quest_4 == "ค่อนข้างมาก"){quest_4_score = 1} else {quest_4_score = 0}

if(quest_5 == "มากที่สุด"){quest_5_score = 2} else if(quest_5 == "ค่อนข้างมาก"){quest_5_score = 1} else {quest_5_score = 0}

if(quest_6 == "มากที่สุด"){quest_6_score = 2} else if(quest_6 == "ค่อนข้างมาก"){quest_6_score = 1} else {quest_6_score = 0}

if(quest_7 == "มากที่สุด"){quest_7_score = 2} else if(quest_7 == "ค่อนข้างมาก"){quest_7_score = 1} else {quest_7_score = 0}

var sum_quest = quest_2_score + quest_3_score + quest_4_score + quest_5_score + quest_6_score + quest_7_score


var summary = ''

if(sum_quest>2){summary ='มีปัญหา'}else if(sum_quest>0){summary ='เสี่ยง'}else {summary ='ปกติ'}


var file_name = stu_id + ' ผลการประเมิน SDQ ของ ' + stu_name +' ';

var copyFile = DriveApp.getFileById(GDOC_TEMPLATE_ID).makeCopy(file_name)

DriveApp.getFolderById(destinationFolder).addFile(copyFile);

DriveApp.removeFile(copyFile)

var copyId = copyFile.getId()

var copyDoc = DocumentApp.openById(copyId)

var copyBody = copyDoc.getActiveSection()


copyBody.replaceText('{{ชื่อ-นามสกุล}}', stu_name)

copyBody.replaceText('{{ระดับชั้น}}', stu_class)

copyBody.replaceText('{{ห้อง}}', stu_sub)

copyBody.replaceText('{{เลขประจำตัว}}', stu_id)

copyBody.replaceText('{{เลขที่}}', stu_num)

//copyBody.replaceText('{{เพศ}}', stu_name)

//copyBody.replaceText('{{ครูที่ปรึกษา}}', stu_name)

copyBody.replaceText('{{คะแนนอารมณ์}}', result_1)

copyBody.replaceText('{{คะแนนเกเร}}', result_2)

copyBody.replaceText('{{คะแนนสมาธิ}}', result_3)

copyBody.replaceText('{{คะแนนเพื่อน}}', result_4)

copyBody.replaceText('{{คะแนนสังคม}}', result_5)

copyBody.replaceText('{{คะแนนรวม}}', total_score)

copyBody.replaceText('{{แปลผลอารมณ์}}', result_emo)

copyBody.replaceText('{{แปลผลเกเร}}', result_bahave)

copyBody.replaceText('{{แปลสมาธิ}}', result_med)

copyBody.replaceText('{{แปลผลเพื่อน}}', result_relat)

copyBody.replaceText('{{แปลผลรวม}}', result_all)

copyBody.replaceText('{{แปลผลสังคม}}', result_socio )

copyBody.replaceText('{{คำตอบปัญหา}}', quest_0)

copyBody.replaceText('{{คำตอบ1}}', quest_1)

copyBody.replaceText('{{คำตอบ2}}', quest_2)

copyBody.replaceText('{{คำตอบ3}}', quest_3)

copyBody.replaceText('{{คำตอบ4}}', quest_4)

copyBody.replaceText('{{คำตอบ5}}', quest_5)

copyBody.replaceText('{{คำตอบ6}}', quest_6)

copyBody.replaceText('{{คำตอบ7}}', quest_7)


//---------------

copyBody.replaceText('{{คะแนน2}}', quest_2_score)

copyBody.replaceText('{{คะแนน3}}', quest_3_score)

copyBody.replaceText('{{คะแนน4}}', quest_4_score)

copyBody.replaceText('{{คะแนน5}}', quest_5_score)

copyBody.replaceText('{{คะแนน6}}', quest_6_score)

copyBody.replaceText('{{คะแนน7}}', quest_7_score)

copyBody.replaceText('{{รวมคะแนน}}', sum_quest)

copyBody.replaceText('{{แปลผล}}', summary)


copyDoc.saveAndClose()


/*

var pdf_file = DriveApp.createFile(copyFile.getAs("application/pdf"))

var save_pdf_folder = DriveApp.getFolderById(destinationFolder);

save_pdf_folder.addFile(pdf_file);

DriveApp.removeFile(pdf_file);

*/

}

}