fix stats calculation - include repeating avs.

This commit is contained in:
Dobromir Popov
2024-05-12 12:13:12 +03:00
parent a392022499
commit 8e69e3b933
2 changed files with 26 additions and 8 deletions

View File

@ -420,7 +420,8 @@ async function filterPublishersNew(selectFields, filterDate, isExactTime = false
if (isWithStats) {
pub.currentMonthAvailability = pub.availabilities?.filter(avail => {
// return avail.dayOfMonth != null && avail.startTime >= currentMonthStart && avail.startTime <= monthInfo.lastSunday;
return avail.startTime >= monthInfo.firstMonday && (noEndDateFilter || avail.startTime <= monthInfo.lastSunday);
return (avail.startTime >= monthInfo.firstMonday && (noEndDateFilter || avail.startTime <= monthInfo.lastSunday))
|| (avail.dayOfMonth == null); // include repeating availabilities
})
pub.currentMonthAvailabilityDaysCount = pub.currentMonthAvailability.length;
// pub.currentMonthAvailabilityDaysCount += pub.availabilities.filter(avail => {
@ -557,6 +558,14 @@ async function getAllPublishersWithStatistics(filterDate, noEndDateFilter = fals
},
},
orderBy: [
{
firstName: 'asc', // or 'desc' if you want descending order
},
{
lastName: 'asc', // or 'desc' if you want descending order
}
],
});
@ -577,6 +586,11 @@ async function getAllPublishersWithStatistics(filterDate, noEndDateFilter = fals
// common.convertDatesToISOStrings(publisher.availabilities); //ToDo fix the function to work with this sctucture and use it
});
//debug
const pubsWithAvailabilities = allPublishers.filter(publisher => publisher.availabilities.length > 0);
const pubsWithAvailabilities2 = publishers.filter(publisher => publisher.currentMonthAvailabilityHoursCount > 0);
console.log(`publishers: ${allPublishers.length}, publishers with availabilities: ${pubsWithAvailabilities.length}, publishers with availabilities2: ${pubsWithAvailabilities2.length}`);
//merge allPublishers with publishers
allPublishers = allPublishers.map(pub => {