Skip to content

Commit

Permalink
feat(timeclock): report improvement (#100)
Browse files Browse the repository at this point in the history
  • Loading branch information
nandinboldn committed Feb 2, 2023
1 parent 4d7c36d commit d345a71
Show file tree
Hide file tree
Showing 11 changed files with 1,207 additions and 164 deletions.
48 changes: 46 additions & 2 deletions packages/plugin-timeclock-api/src/constants.ts
@@ -1,10 +1,54 @@
export const PRELIMINARY_REPORT_COLUMNS = [
'№ ',
'ID',
'№',
'Ажилтаны код',
'Овог',
'Нэр',
'Албан тушаал',
'Ажиллавал зохих хоног',
'Ажилласан хоног',
'Тайлбар'
];
export const FINAL_REPORT_COLUMNS = [
[
['Хүнтэй холбоотой мэдээлэл'],
['№', 'Ажилтаны код', 'Овог', 'Нэр', 'Албан тушаал']
],
[['Ажиллах ёстой цаг'], ['Хоног', 'Цаг']],
[
['Цалин бодох мэдээлэл'],
[
'Ажилласан хоног',
'Ажилласан цаг',
'Илүү цаг 1.5',
'Шөнийн цаг 1.2',
'Нийт ажилласан цаг',
'Хоцролт тооцох'
]
],
[
['Олговор олгох цаг'],
['Аавын 10 хоног', 'Буяны ажилтай байсан цаг', 'School police Цаг']
]
];

export const PIVOT_REPORT_COLUMNS = [
[
['Хүнтэй холбоотой мэдээлэл'],
['№', 'Ажилтаны код', 'Овог', 'Нэр', 'Албан тушаал']
],
[['Хугацаа'], ['Өдөр']],
[['Төлөвлөгөө'], ['Эхлэх', 'Дуусах', 'Нийт төлөвлөсөн']],
[
['Performance'],
[
'Device',
'Check In',
'Check Out',
'Байршил',
'Нийт ажилласан',
'Илүү цаг',
'Шөнийн цаг',
'Хоцролт'
]
]
];
77 changes: 64 additions & 13 deletions packages/plugin-timeclock-api/src/graphql/resolvers/queries.ts
@@ -1,5 +1,10 @@
import { IContext } from '../../connectionResolver';
import { timeclockReportByUser, timeclockReportPreliminary } from './utils';
import {
timeclockReportByUser,
timeclockReportFinal,
timeclockReportPivot,
timeclockReportPreliminary
} from './utils';
import {
findAllTeamMembersWithEmpId,
generateCommonUserIds,
Expand Down Expand Up @@ -101,7 +106,16 @@ const timeclockQueries = {

async timeclockReports(
_root,
{ userIds, branchIds, departmentIds, startDate, endDate, page, perPage },
{
userIds,
branchIds,
departmentIds,
startDate,
endDate,
page,
perPage,
reportType
},
{ subdomain }: IContext
) {
const teamMemberIdsFromFilter = await generateCommonUserIds(
Expand All @@ -127,17 +141,54 @@ const timeclockQueries = {
? teamMemberIdsFromFilter
: teamMemberIds;

const reportPreliminary: any = await timeclockReportPreliminary(
subdomain,
paginateArray(totalTeamMemberIds, perPage, page),
startDate,
endDate
);

for (const userId of Object.keys(reportPreliminary)) {
returnReport.push({
groupReport: [{ userId: `${userId}`, ...reportPreliminary[userId] }]
});
switch (reportType) {
case 'Урьдчилсан' || 'Preliminary':
const reportPreliminary: any = await timeclockReportPreliminary(
subdomain,
paginateArray(totalTeamMemberIds, perPage, page),
startDate,
endDate,
false
);

for (const userId of Object.keys(reportPreliminary)) {
returnReport.push({
groupReport: [{ userId: `${userId}`, ...reportPreliminary[userId] }]
});
}

break;
case 'Сүүлд' || 'Final':
const reportFinal: any = await timeclockReportFinal(
subdomain,
paginateArray(totalTeamMemberIds, perPage, page),
startDate,
endDate,
false
);
for (const userId of Object.keys(reportFinal)) {
returnReport.push({
groupReport: [{ userId: `${userId}`, ...reportFinal[userId] }]
});
}
break;
case 'Pivot':
const reportPivot: any = await timeclockReportPivot(
subdomain,
paginateArray(totalTeamMemberIds, perPage, page),
startDate,
endDate,
false
);

for (const userId of Object.keys(reportPivot)) {
if (userId !== 'scheduleReport') {
returnReport.push({
groupReport: [{ userId: `${userId}`, ...reportPivot[userId] }]
});
}
}
break;
}

return {
Expand Down

0 comments on commit d345a71

Please sign in to comment.