Wajib perbarui Apps Script di Google Sheets Anda agar fitur Edit & Hapus Jadwal serta Selfie & GPS berfungsi optimal. Klik textarea di bawah untuk menyalin:
Master Data Karyawan
ID
Nama
Penempatan
Jadwal
Aksi
Memuat...
Master Jadwal Shift
Shift
Masuk
Pulang
Aksi
Memuat...
function doPost(e) {
var data;
try { data = JSON.parse(e.postData.contents); } catch(err) { return ContentService.createTextOutput(JSON.stringify({status:'error', message: err.toString()})).setMimeType(ContentService.MimeType.JSON); }
var action = data.action;
var ss = SpreadsheetApp.getActiveSpreadsheet();
if (action === 'get_master') {
var sK = ss.getSheetByName('Karyawan'); if (!sK) { sK = ss.insertSheet('Karyawan'); sK.appendRow(['NIM', 'Nama', 'Penempatan', 'Jadwal']); }
var sJ = ss.getSheetByName('Jadwal'); if (!sJ) { sJ = ss.insertSheet('Jadwal'); sJ.appendRow(['Nama Jadwal', 'Jam Masuk', 'Jam Pulang']); }
var kData = sK.getDataRange().getDisplayValues();
var jData = sJ.getDataRange().getDisplayValues();
return ContentService.createTextOutput(JSON.stringify({status: 'ok', karyawan: kData.slice(1), jadwal: jData.slice(1)})).setMimeType(ContentService.MimeType.JSON);
}
if (action === 'add_karyawan') {
var sK = ss.getSheetByName('Karyawan');
sK.appendRow([data.nim, data.nama, data.penempatan, data.jadwal]);
return ContentService.createTextOutput(JSON.stringify({status:'ok'})).setMimeType(ContentService.MimeType.JSON);
}
if (action === 'edit_karyawan') {
var sheet = ss.getSheetByName('Karyawan');
var rows = sheet.getDataRange().getValues();
for(var i=1; i