Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onOpen() {
- SpreadsheetApp.getUi().alert('Notice','Script runs hour to archieve reports if someone has hit INSP or left/transfered form the department //RUZBE',SpreadsheetApp.getUi().ButtonSet.OK);
- }
- function createTimeDrivenTriggers() {
- ScriptApp.newTrigger('runMaster').timeBased().everyHours(1).create();
- }
- //Archieves people when they hit INSP (7-56)
- function idList() {
- var app = SpreadsheetApp.getActiveSpreadsheet();
- var ConfigSheet = app.getSheetByName('Config');
- var reviewSheet = app.getSheetByName('Review Sheet');
- var IDs = [];
- var rowNumbers = [];
- var ConfigLR = ConfigSheet.getLastRow();
- for (var i = 1; i <= ConfigLR; i++) {
- var rank = ConfigSheet.getRange(i, 15).getValue();
- if (rank == 'INSP') {
- var ID = ConfigSheet.getRange(i, 16).getValue();
- IDs.push(ID);
- }
- }
- var end = IDs.length - 1;
- for (var a = 0; a <= end; a++) {
- var steamID = IDs[a];
- var u = 11;
- var reviewSheetLR = reviewSheet.getLastRow() + 1;
- do {
- var look = reviewSheet.getRange(u, 4).getValue();
- if (look == steamID) {
- rowNumbers.push(u);
- }
- u++;
- }
- while (u < reviewSheetLR);
- }
- return rowNumbers;
- }
- function archiveRow() {
- var app = SpreadsheetApp.getActiveSpreadsheet();
- var reviewSheet = app.getSheetByName('Review Sheet');
- var archiveheet = app.getSheetByName('Archive');
- var rowNumbers = idList();
- var end = rowNumbers.length - 1;
- var archiveTR = 11;
- for (var i = 0; i <= end; i++) {
- archiveheet.insertRowBefore(archiveTR);
- var rowID = rowNumbers[i];
- var rank = reviewSheet.getRange(rowID, 5).getValue();
- reviewSheet.getRange("C" + rowID + ":L" + rowID).moveTo(archiveheet.getRange(archiveTR, 3));
- archiveheet.getRange(archiveTR, 5).setValue(rank);
- }
- var sortedRows = rowNumbers.sort();
- for (var a = rowNumbers.length; a--;) {
- reviewSheet.deleteRows(sortedRows[a]);
- }
- }
- //Archieves people when they leave/transfer from Kav department (59 - 150)
- function kavMembers() {
- var app = SpreadsheetApp.getActiveSpreadsheet();
- var ConfigSheet = app.getSheetByName('Config');
- var names = [];
- var LR = ConfigSheet.getLastRow() + 1;
- var i = 1;
- do {
- var name = ConfigSheet.getRange(i, 5).getValue();
- if (name !== '') {
- if (names.indexOf(name) == -1) {
- names.push(name);
- }
- }
- i++;
- }
- while (i < LR);
- return names;
- }
- function ocKavNames() {
- var app = SpreadsheetApp.getActiveSpreadsheet();
- var reviewSheet = app.getSheetByName('Review Sheet');
- var names = kavMembers();
- var ocNames = [];
- var LR = reviewSheet.getLastRow() + 1;
- var i = 11;
- do {
- var ocName = reviewSheet.getRange(i, 3).getValue();
- if (ocNames.indexOf(ocName) == -1) {
- ocNames.push(ocName);
- }
- i++;
- }
- while (i < LR);
- return ocNames;
- }
- function deleteNames() {
- var memberNames = kavMembers();
- var ocNames = ocKavNames();
- var deleteNames = [];
- var end = ocNames.length - 1;
- for (var i = 0; i <= end; i++) {
- var ocname = ocNames[i];
- if (memberNames.indexOf(ocname) == -1) {
- deleteNames.push(ocname);
- }
- }
- return deleteNames;
- }
- function rowIDs() {
- var app = SpreadsheetApp.getActiveSpreadsheet();
- var reviewSheet = app.getSheetByName('Review Sheet');
- var leftMembers = deleteNames();
- var rowNumbers = [];
- var end = leftMembers.length - 1;
- for (var i = 0; i <= end; i++) {
- var leftMember = leftMembers[i];
- var LR = reviewSheet.getLastRow() + 1;
- var u = 11;
- do {
- var testMatch = reviewSheet.getRange(u, 3).getValue();
- if (leftMember == testMatch) {
- rowNumbers.push(u);
- }
- u++;
- }
- while (u < LR);
- }
- return rowNumbers;
- }
- function archiveRowTwo() {
- var app = SpreadsheetApp.getActiveSpreadsheet();
- var reviewSheet = app.getSheetByName('Review Sheet');
- var archiveheet = app.getSheetByName('Archive');
- var rowNumbers = rowIDs();
- var end = rowNumbers.length - 1;
- var archiveTR = 11;
- for (var i = 0; i <= end; i++) {
- archiveheet.insertRowBefore(archiveTR);
- var rowID = rowNumbers[i];
- var rank = reviewSheet.getRange(rowID, 5).getValue();
- reviewSheet.getRange("C" + rowID + ":L" + rowID).moveTo(archiveheet.getRange(archiveTR, 3));
- archiveheet.getRange(archiveTR, 5).setValue(rank);
- }
- var sortedRows = rowNumbers.sort();
- for (var a = rowNumbers.length; a--;) {
- reviewSheet.deleteRows(sortedRows[a]);
- }
- }
- function runMaster() {
- archiveRow();
- archiveRowTwo();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement