то, что я пытаюсь сделать, - это проверить, не превышает ли дата в столбце RT C дату в столбце «Начальная дата, увиденная доктором» на 90 дней. Я уже сделал это, используя формулы Листа. Прекрасно работает. Но затем я хочу сравнить эту дату в столбце L, чтобы увидеть, совпадает ли сегодняшняя дата (дата компьютера) с этой датой в столбце L. Если да, я хочу отправить электронное письмо.
Пока все работает. Но вот небольшая проблема. Как вы можете видеть на изображении ниже, первая запись показывает, что дата в столбце RT C - 21.07.20, что не совпадает с сегодняшней датой 26.05.20, но я все еще получаю электронное письмо для этой записи, в котором говорится: вместе с пациентом.
Есть ли что-нибудь исправить?
введите описание изображения здесь
function ifItsBeen90Days()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
sheet = ss.getSheetByName("PAOS");
range = sheet.getDataRange();
values = range.getValues();
var lR = sheet.getLastRow();
var dateinfo = sheet.getRange('L3:L').offset(0, 0, lR, 1).getValues();
var today = new Date();
var y0 = today.getFullYear();
var m0 = today.getMonth() + 1;
var d0 = today.getDate();
for (var i=0; i<dateinfo.length; i++){
x = Date.parse(dateinfo[i]);
var date = new Date(x);
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
if (y0 === y && m0 === m && d0 === d) {
SendItIf90daysPast();
} else {
Logger.log("error:" + i) // difference date
};
};
}
function SendItIf90daysPast(){
const ss = SpreadsheetApp.getActiveSheet();
const dataRange = ss.getDataRange();
const headers = 2;
const dataValues=ss.getRange(3,1,ss.getLastRow()-2,ss.getLastColumn()).getValues();
dataValues.forEach(function(row){
if(row[11] !== "") {
let message = " It's been 90 days since your last visit with the following Patient. " + '\n' +
" Can you please do a follow visit with this Patient? " + '\n' + '\n' +
" Thank you for your time and effort. " + '\n' +
" _______________________________________________________________ " + '\n' +
" Patient#: " + row[0] + '\n' +
" Patient Name: " + row[1] + '\n' +
" P-Code: " + row[2] + '\n' +
" PAO/INF: " + row[3] + '\n' +
" Score 1: " + row[4] + '\n' +
" Score 1 Date: " + new Date(row[5]).toLocaleDateString("en-US") + '\n' +
" Score 2: " + row[6] + '\n' +
" Score 2 Date: " + new Date(row[7]).toLocaleDateString("en-US") + '\n' +
" Tx Plan Entry Date: " + new Date(row[8]).toLocaleDateString("en-US") + '\n' +
" First Date: " + new Date(row[9]).toLocaleDateString("en-US") + '\n' +
" Initial Date Seen by DR: " + new Date(row[10]).toLocaleDateString("en-US") + '\n' +
" RTC: " + new Date(row[11]).toLocaleDateString("en-US") + '\n' +
" Notes: " + row[13];
let email = row[12];
let subject = 'Encrypt: Please Follow Up With Patient:' + " " + row[1] + " Patient #: " + row[0];
MailApp.sendEmail(email, subject, message);
Logger.log(`${subject}: ${message} sent to ${email}`);
}
});
}