tango-app-api-trax 3.9.43 → 3.9.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -14,6 +14,10 @@ import mongoose from 'mongoose';
|
|
|
14
14
|
export const overallFlagMetrics = async ( req, res ) => {
|
|
15
15
|
try {
|
|
16
16
|
let requestData = req.body;
|
|
17
|
+
// Get User Based Checklist //
|
|
18
|
+
// let loginUser = { clientId: requestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
19
|
+
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
20
|
+
// End: Get User Based Checklist////
|
|
17
21
|
const pipeline = [
|
|
18
22
|
{
|
|
19
23
|
$facet: {
|
|
@@ -101,6 +105,7 @@ export const overallFlagMetrics = async ( req, res ) => {
|
|
|
101
105
|
{ client_id: req.body.clientId },
|
|
102
106
|
{ date_iso: { $gte: dayjs.utc( req.body.endDate ).subtract( 7, 'days' ).startOf( 'day' ).toDate() } },
|
|
103
107
|
{ date_iso: { $lte: dayjs.utc( req.body.startDate ).subtract( 1, 'day' ).startOf( 'day' ).toDate() } },
|
|
108
|
+
// { store_id: { $in: req.body.stores } },
|
|
104
109
|
{ $or: [ { store_id: { $in: req.body.storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } } ] },
|
|
105
110
|
],
|
|
106
111
|
},
|
|
@@ -153,6 +158,30 @@ export const overallFlagMetrics = async ( req, res ) => {
|
|
|
153
158
|
},
|
|
154
159
|
},
|
|
155
160
|
},
|
|
161
|
+
// {
|
|
162
|
+
// $addFields: {
|
|
163
|
+
// questionFlag: {
|
|
164
|
+
// $round: [
|
|
165
|
+
// { $divide: [ '$questionFlag', 7 ] },
|
|
166
|
+
// 0,
|
|
167
|
+
// ],
|
|
168
|
+
// },
|
|
169
|
+
// timeFlag: {
|
|
170
|
+
// $round: [
|
|
171
|
+
// { $divide: [ '$timeFlag', 7 ] },
|
|
172
|
+
// 0,
|
|
173
|
+
// ],
|
|
174
|
+
// },
|
|
175
|
+
// detectionFlags: {
|
|
176
|
+
// $round: [
|
|
177
|
+
// {
|
|
178
|
+
// $divide: [ '$detectionFlags', 7 ],
|
|
179
|
+
// },
|
|
180
|
+
// 0,
|
|
181
|
+
// ],
|
|
182
|
+
// },
|
|
183
|
+
// },
|
|
184
|
+
// },
|
|
156
185
|
],
|
|
157
186
|
},
|
|
158
187
|
},
|
|
@@ -189,6 +218,9 @@ export const overallFlagMetrics = async ( req, res ) => {
|
|
|
189
218
|
};
|
|
190
219
|
|
|
191
220
|
function calculatePercentage( currentPeriod, last7Days ) {
|
|
221
|
+
// const current = currentPeriod[0];
|
|
222
|
+
// const last7 = last7Days[0];
|
|
223
|
+
|
|
192
224
|
const calculateDiffPercentage = ( currentValue, last7Value ) => {
|
|
193
225
|
if ( last7Value === 0 ) {
|
|
194
226
|
return currentValue === 0 ? 0 : ( currentValue > 0 ? 100 : -100 );
|
|
@@ -224,6 +256,10 @@ export const overallFlagMetrics = async ( req, res ) => {
|
|
|
224
256
|
export const checklistFlagsTable = async ( req, res ) => {
|
|
225
257
|
try {
|
|
226
258
|
let requestData = req.body;
|
|
259
|
+
// Get User Based Checklist //
|
|
260
|
+
// let loginUser = { clientId: requestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
261
|
+
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
262
|
+
// End: Get User Based Checklist////
|
|
227
263
|
const matchStage = {
|
|
228
264
|
$match: {
|
|
229
265
|
$and: [
|
|
@@ -237,6 +273,7 @@ export const checklistFlagsTable = async ( req, res ) => {
|
|
|
237
273
|
{ storeOpenCloseFlag: { $gt: 0 } },
|
|
238
274
|
{ uniformDetectionFlag: { $gt: 0 } },
|
|
239
275
|
] },
|
|
276
|
+
// { store_id: { $in: req.body.stores } },
|
|
240
277
|
{ $or: [ { store_id: { $in: requestData.storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } } ] },
|
|
241
278
|
],
|
|
242
279
|
},
|
|
@@ -402,6 +439,90 @@ export const checklistFlagsTable = async ( req, res ) => {
|
|
|
402
439
|
}
|
|
403
440
|
};
|
|
404
441
|
|
|
442
|
+
export const flagChecklistCards = async ( req, res ) => {
|
|
443
|
+
try {
|
|
444
|
+
let requestData = req.body;
|
|
445
|
+
let resultData = await checklistCardData( requestData.checklistType );
|
|
446
|
+
return res.sendSuccess( resultData );
|
|
447
|
+
} catch ( error ) {
|
|
448
|
+
console.log( 'error =>', error );
|
|
449
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
450
|
+
return res.sendError( error, 500 );
|
|
451
|
+
}
|
|
452
|
+
};
|
|
453
|
+
|
|
454
|
+
export const flagChecklistComparisonCards = async ( req, res ) => {
|
|
455
|
+
try {
|
|
456
|
+
let requestData = req.body;
|
|
457
|
+
let resultData = await checklistComparisonData( requestData.checklistType );
|
|
458
|
+
return res.sendSuccess( resultData );
|
|
459
|
+
} catch ( error ) {
|
|
460
|
+
console.log( 'error =>', error );
|
|
461
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
462
|
+
return res.sendError( error, 500 );
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
|
|
466
|
+
export const flagChecklistTable = async ( req, res ) => {
|
|
467
|
+
try {
|
|
468
|
+
let requestData = req.body;
|
|
469
|
+
let resultData = await tableData( requestData.checklistType );
|
|
470
|
+
return res.sendSuccess( resultData );
|
|
471
|
+
} catch ( error ) {
|
|
472
|
+
console.log( 'error =>', error );
|
|
473
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
474
|
+
return res.sendError( error, 500 );
|
|
475
|
+
}
|
|
476
|
+
};
|
|
477
|
+
|
|
478
|
+
export const flagCards = async ( req, res ) => {
|
|
479
|
+
try {
|
|
480
|
+
let requestData = req.body;
|
|
481
|
+
let resultData = await flagCardData( requestData.checklistType );
|
|
482
|
+
return res.sendSuccess( resultData );
|
|
483
|
+
} catch ( error ) {
|
|
484
|
+
console.log( 'error =>', error );
|
|
485
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
486
|
+
return res.sendError( error, 500 );
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
|
|
490
|
+
export const flagComparisonCards = async ( req, res ) => {
|
|
491
|
+
try {
|
|
492
|
+
let requestData = req.body;
|
|
493
|
+
let resultData = await falgComparisonData( requestData.checklistType );
|
|
494
|
+
return res.sendSuccess( resultData );
|
|
495
|
+
} catch ( error ) {
|
|
496
|
+
console.log( 'error =>', error );
|
|
497
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
498
|
+
return res.sendError( error, 500 );
|
|
499
|
+
}
|
|
500
|
+
};
|
|
501
|
+
|
|
502
|
+
export const flagTables = async ( req, res ) => {
|
|
503
|
+
try {
|
|
504
|
+
let requestData = req.body;
|
|
505
|
+
let resultData = await flagTableData( requestData.checklistType );
|
|
506
|
+
return res.sendSuccess( resultData );
|
|
507
|
+
} catch ( error ) {
|
|
508
|
+
console.log( 'error =>', error );
|
|
509
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
510
|
+
return res.sendError( error, 500 );
|
|
511
|
+
}
|
|
512
|
+
};
|
|
513
|
+
|
|
514
|
+
export const checklistDropdown = async ( req, res ) => {
|
|
515
|
+
try {
|
|
516
|
+
let requestData = req.body;
|
|
517
|
+
let resultData = await checklistDropdownData( requestData.checklistType );
|
|
518
|
+
return res.sendSuccess( resultData );
|
|
519
|
+
} catch ( error ) {
|
|
520
|
+
console.log( 'error =>', error );
|
|
521
|
+
logger.error( { error: error, function: 'subscribedStoreList' } );
|
|
522
|
+
return res.sendError( error, 500 );
|
|
523
|
+
}
|
|
524
|
+
};
|
|
525
|
+
|
|
405
526
|
export const flagCardsV1 = async ( req, res ) => {
|
|
406
527
|
try {
|
|
407
528
|
const { clientId, storeId, fromDate, toDate } = req.body;
|
|
@@ -416,12 +537,18 @@ export const flagCardsV1 = async ( req, res ) => {
|
|
|
416
537
|
};
|
|
417
538
|
|
|
418
539
|
let requestData = req.body;
|
|
419
|
-
|
|
540
|
+
// Get User Based Checklist //
|
|
541
|
+
// let loginUser = { clientId: requestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
542
|
+
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
543
|
+
// End: Get User Based Checklist////
|
|
420
544
|
const findQuery = [
|
|
421
545
|
{
|
|
422
546
|
$match: {
|
|
423
547
|
client_id: clientId,
|
|
548
|
+
// $or: [ { store_id: { $in: storeId } }, { aiStoreList: { $in: storeId } } ],
|
|
424
549
|
date_iso: { $gte: adjustedFromDate, $lte: adjustedToDate },
|
|
550
|
+
// $or: [ { store_id: { $in: storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } }, { aiStoreList: { $in: storeId } } ],
|
|
551
|
+
// $or: [ { store_id: { $in: storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } } ],
|
|
425
552
|
$or: clientId === '11' ?
|
|
426
553
|
[
|
|
427
554
|
{ store_id: { $in: storeId } },
|
|
@@ -452,6 +579,7 @@ export const flagCardsV1 = async ( req, res ) => {
|
|
|
452
579
|
];
|
|
453
580
|
|
|
454
581
|
const getOverallChecklistData = await processedchecklistService.aggregate( findQuery );
|
|
582
|
+
console.log( '🚀 ~ flagCardsV1 ~ getOverallChecklistData:', getOverallChecklistData );
|
|
455
583
|
|
|
456
584
|
if ( !getOverallChecklistData.length ) {
|
|
457
585
|
const resVal = {
|
|
@@ -480,11 +608,15 @@ export const flagCardsV1 = async ( req, res ) => {
|
|
|
480
608
|
{
|
|
481
609
|
client_id: clientId,
|
|
482
610
|
publish: true,
|
|
483
|
-
checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'employeemonitoring'
|
|
611
|
+
checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'employeemonitoring' ] },
|
|
484
612
|
},
|
|
485
613
|
{ checkListType: 1 },
|
|
486
614
|
);
|
|
487
615
|
|
|
616
|
+
// if ( !publishedAiChecklists?.length ) {
|
|
617
|
+
// return res.sendError( { error: 'No Data Found' }, 204 );
|
|
618
|
+
// }
|
|
619
|
+
|
|
488
620
|
const detectionPayload = { fromDate, toDate, storeId, clientId };
|
|
489
621
|
const lambdaURL = 'https://f65azvtljclaxp6l7rnx65cdmm0lcgvp.lambda-url.ap-south-1.on.aws/';
|
|
490
622
|
const resultData = await LamdaServiceCall( lambdaURL, detectionPayload );
|
|
@@ -565,8 +697,13 @@ export const flagComparisonCardsV1 = async ( req, res ) => {
|
|
|
565
697
|
rangeTwoToDate.setUTCHours( 23, 59, 59, 59 );
|
|
566
698
|
}
|
|
567
699
|
|
|
700
|
+
// Get User Based Checklist //
|
|
701
|
+
// let loginUser = { clientId: requestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
702
|
+
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
703
|
+
// End: Get User Based Checklist////
|
|
568
704
|
const createFindQuery = ( fromDate, toDate ) => [
|
|
569
705
|
{ $match: { client_id: requestData.clientId,
|
|
706
|
+
// $or: [ { store_id: { $in: requestData.storeId } }, { aiStoreList: { $in: requestData.storeId } } ],
|
|
570
707
|
date_iso: { $gte: fromDate, $lte: toDate },
|
|
571
708
|
$or: [ { store_id: { $in: requestData.storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } }, { aiStoreList: { $in: requestData.storeId } } ],
|
|
572
709
|
} },
|
|
@@ -606,11 +743,16 @@ export const flagComparisonCardsV1 = async ( req, res ) => {
|
|
|
606
743
|
clientId: requestData.clientId,
|
|
607
744
|
};
|
|
608
745
|
|
|
746
|
+
// console.log( dayjs( fromDate ).format( 'YYYY-MM-DD' ), 'from date' );
|
|
747
|
+
// console.log( dayjs( toDate ).subtract( 1, 'day' ).format( 'YYYY-MM-DD' ), 'current' );
|
|
748
|
+
// console.log( dayjs( toDate ).format( 'YYYY-MM-DD' ), 'previous' );
|
|
749
|
+
// console.log( dayjs( toDate ).startOf( 'day' ).subtract( 1, 'day' ).format( 'YYYY-MM-DD' ), 'new start of' );
|
|
750
|
+
|
|
609
751
|
const publishedAiChecklists = await checklistconfigService.find(
|
|
610
752
|
{
|
|
611
753
|
client_id: requestData.clientId,
|
|
612
754
|
publish: true,
|
|
613
|
-
checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum'
|
|
755
|
+
checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum' ] },
|
|
614
756
|
},
|
|
615
757
|
{ checkListType: 1 },
|
|
616
758
|
);
|
|
@@ -670,16 +812,24 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
670
812
|
toDate = new Date( toDate.getTime() - userTimezoneOffset );
|
|
671
813
|
toDate.setUTCHours( 23, 59, 59, 59 );
|
|
672
814
|
let result = {};
|
|
815
|
+
|
|
816
|
+
// Get User Based Checklist //
|
|
817
|
+
// let loginUser = { clientId: requestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
818
|
+
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
819
|
+
// End: Get User Based Checklist////
|
|
820
|
+
|
|
673
821
|
let findQuery = [];
|
|
674
822
|
let findAndQuery = [];
|
|
675
823
|
findAndQuery.push(
|
|
676
824
|
{ client_id: requestData.clientId },
|
|
825
|
+
// { $or: [ { store_id: { $in: requestData.storeId } }, { aiStoreList: { $in: requestData.storeId } } ] },
|
|
677
826
|
{ date_iso: { $gte: fromDate, $lte: toDate } },
|
|
678
827
|
{ $or: [ { store_id: { $in: requestData.storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } }, { aiStoreList: { $in: requestData.storeId } } ] },
|
|
679
828
|
);
|
|
680
829
|
|
|
681
830
|
if ( requestData?.filter === 'all' ) {
|
|
682
|
-
findAndQuery.push( { $or: [ { checkListType: { $in: [ '
|
|
831
|
+
// findAndQuery.push( { $or: [ { questionFlag: { $gte: 1 } }, { timeFlag: { $gte: 1 } }, { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection' ] } } ] } );
|
|
832
|
+
findAndQuery.push( { $or: [ { checkListType: { $in: [ 'custom', 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum' ] } } ] } );
|
|
683
833
|
} else if ( requestData?.filter === 'question' ) {
|
|
684
834
|
findAndQuery.push( { checkListType: 'custom' } );
|
|
685
835
|
findAndQuery.push( { questionFlag: { $gte: 1 } } );
|
|
@@ -687,7 +837,7 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
687
837
|
findAndQuery.push( { checkListType: 'custom' } );
|
|
688
838
|
findAndQuery.push( { timeFlag: { $gte: 1 } } );
|
|
689
839
|
} else if ( requestData?.filter === 'detection' ) {
|
|
690
|
-
findAndQuery.push( { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum'
|
|
840
|
+
findAndQuery.push( { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum' ] } } );
|
|
691
841
|
} else if ( requestData?.filter === 'runAI' ) {
|
|
692
842
|
findAndQuery.push( { runAIQuestionCount: { $gte: 1 } } );
|
|
693
843
|
}
|
|
@@ -731,6 +881,25 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
731
881
|
checkListType: { $last: '$checkListType' },
|
|
732
882
|
storeCount: { $sum: 1 },
|
|
733
883
|
storeCountAi: { $max: '$storeCount' },
|
|
884
|
+
// flaggedStores: {
|
|
885
|
+
// $addToSet: {
|
|
886
|
+
// $cond: [
|
|
887
|
+
// {
|
|
888
|
+
// $or: [
|
|
889
|
+
// { $gt: [ '$timeFlag', 0 ] },
|
|
890
|
+
// { $gt: [ '$questionFlag', 0 ] },
|
|
891
|
+
// { $gt: [ '$mobileDetectionFlag', 0 ] },
|
|
892
|
+
// { $gt: [ '$storeOpenCloseFlag', 0 ] },
|
|
893
|
+
// { $gt: [ '$uniformDetectionFlag', 0 ] },
|
|
894
|
+
// { $gt: [ '$customerUnattended', 0 ] },
|
|
895
|
+
// { $gt: [ '$staffLeftInTheMiddle', 0 ] },
|
|
896
|
+
// ],
|
|
897
|
+
// },
|
|
898
|
+
// '$store_id',
|
|
899
|
+
// '$$REMOVE',
|
|
900
|
+
// ],
|
|
901
|
+
// },
|
|
902
|
+
// },
|
|
734
903
|
flaggedStores: { $sum: { $cond: [
|
|
735
904
|
{
|
|
736
905
|
$or: [
|
|
@@ -743,9 +912,6 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
743
912
|
{ '$gt': [ '$staffLeftInTheMiddle', 0 ] },
|
|
744
913
|
{ '$gt': [ '$cleaning', 0 ] },
|
|
745
914
|
{ '$gt': [ '$scrum', 0 ] },
|
|
746
|
-
{ '$gt': [ '$employeeCount', 0 ] },
|
|
747
|
-
{ '$gt': [ '$employeemonitoring', 0 ] },
|
|
748
|
-
{ '$gt': [ '$activitymonitoring', 0 ] },
|
|
749
915
|
],
|
|
750
916
|
},
|
|
751
917
|
1,
|
|
@@ -755,6 +921,17 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
755
921
|
$sum: {
|
|
756
922
|
$add: [ '$questionFlag', '$timeFlag' ],
|
|
757
923
|
},
|
|
924
|
+
// $sum: {
|
|
925
|
+
// $cond: [ {
|
|
926
|
+
// $or: [
|
|
927
|
+
// { $gt: [ '$timeFlag', 0 ] },
|
|
928
|
+
// { $gt: [ '$questionFlag', 0 ] },
|
|
929
|
+
// { $gt: [ '$mobileDetectionFlag', 0 ] },
|
|
930
|
+
// { $gt: [ '$storeOpenCloseFlag', 0 ] },
|
|
931
|
+
// { $gt: [ '$uniformDetectionFlag', 0 ] },
|
|
932
|
+
// ],
|
|
933
|
+
// }, 1, 0 ],
|
|
934
|
+
// },
|
|
758
935
|
},
|
|
759
936
|
submittedChecklist: {
|
|
760
937
|
$sum: {
|
|
@@ -763,12 +940,18 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
763
940
|
},
|
|
764
941
|
questionFlag: {
|
|
765
942
|
$sum: '$questionFlag',
|
|
943
|
+
// $sum: {
|
|
944
|
+
// $cond: [ { $gt: [ '$questionFlag', 0 ] }, 1, 0 ],
|
|
945
|
+
// },
|
|
766
946
|
},
|
|
767
947
|
timeFlag: {
|
|
768
948
|
$sum: '$timeFlag',
|
|
769
949
|
},
|
|
770
950
|
questionCount: {
|
|
771
951
|
$sum: '$questionCount',
|
|
952
|
+
// $sum: {
|
|
953
|
+
// $cond: [ { $gt: [ '$questionCount', 0 ] }, 1, 0 ],
|
|
954
|
+
// },
|
|
772
955
|
},
|
|
773
956
|
aiStoreList: { $max: '$aiStoreList' },
|
|
774
957
|
aiStoreListNew: { $sum: { $size: '$aiStoreList' } },
|
|
@@ -795,12 +978,20 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
795
978
|
checkListType: 1,
|
|
796
979
|
flagType: 1,
|
|
797
980
|
uniqueFlaggedStores: 1,
|
|
981
|
+
// flaggedStores: { $size: '$flaggedStores' },
|
|
798
982
|
flaggedStores: '$flaggedStores',
|
|
799
983
|
flagCount: 1,
|
|
800
984
|
questionCount: 1,
|
|
801
985
|
correctAnswers: { $subtract: [ '$submittedQuestionCount', '$questionFlag' ] },
|
|
986
|
+
// customType: {
|
|
987
|
+
// $cond: { if: { $gte: [ '$questionFlag', 1 ] }, then: 'question', else: {
|
|
988
|
+
// $cond: { if: { $gte: [ '$timeFlag', 1 ] }, then: 'time', else: '' },
|
|
989
|
+
// },
|
|
990
|
+
// },
|
|
991
|
+
// },
|
|
802
992
|
customQuestionFlagCount: '$questionFlag',
|
|
803
993
|
customTimeFlagCount: '$timeFlag',
|
|
994
|
+
// correctAnswers: '$questionFlag',
|
|
804
995
|
aiStoreList: 1,
|
|
805
996
|
},
|
|
806
997
|
} );
|
|
@@ -939,6 +1130,752 @@ export const flagTablesV1 = async ( req, res ) => {
|
|
|
939
1130
|
}
|
|
940
1131
|
};
|
|
941
1132
|
|
|
1133
|
+
async function checklistCardData( checklistType ) {
|
|
1134
|
+
try {
|
|
1135
|
+
let resData = {};
|
|
1136
|
+
switch ( checklistType ) {
|
|
1137
|
+
case 'storeopenandclose':
|
|
1138
|
+
resData.storeopenandcloseCards = {};
|
|
1139
|
+
resData.storeopenandcloseCards = {
|
|
1140
|
+
'totalAssignedStores': { 'count': 300 },
|
|
1141
|
+
'lateOpenStores': { 'count': 200 },
|
|
1142
|
+
'earlyClosedStores': { 'count': 100 },
|
|
1143
|
+
'complianceRate': { 'rate': 100 },
|
|
1144
|
+
};
|
|
1145
|
+
break;
|
|
1146
|
+
case 'mobileusagedetection':
|
|
1147
|
+
resData.mobileusagedetectionCards = {};
|
|
1148
|
+
resData.mobileusagedetectionCards = {
|
|
1149
|
+
'totalAssignedStores': { 'count': 300 },
|
|
1150
|
+
'flagIncidents': { 'count': 200 },
|
|
1151
|
+
'complianceRate': { 'rate': 100 },
|
|
1152
|
+
};
|
|
1153
|
+
break;
|
|
1154
|
+
case 'uniformdetection':
|
|
1155
|
+
resData.uniformdetectionCards = {};
|
|
1156
|
+
resData.uniformdetectionCards = {
|
|
1157
|
+
'totalAssignedStores': { 'count': 300 },
|
|
1158
|
+
'flagIncidents': { 'count': 200 },
|
|
1159
|
+
'complianceRate': { 'rate': 100 },
|
|
1160
|
+
};
|
|
1161
|
+
break;
|
|
1162
|
+
case 'customerunattended':
|
|
1163
|
+
resData.customerunattendedCards = {};
|
|
1164
|
+
resData.customerunattendedCards = {
|
|
1165
|
+
'averageFootfall': {
|
|
1166
|
+
'count': 300,
|
|
1167
|
+
},
|
|
1168
|
+
'stafftoCustomerRatio': {
|
|
1169
|
+
'ratio': '6:5',
|
|
1170
|
+
},
|
|
1171
|
+
'attendedCustomers': {
|
|
1172
|
+
'count': 100,
|
|
1173
|
+
},
|
|
1174
|
+
'unattendedCustomers': {
|
|
1175
|
+
'count': 100,
|
|
1176
|
+
},
|
|
1177
|
+
'timeTakentoAssist': {
|
|
1178
|
+
'mins': 100,
|
|
1179
|
+
},
|
|
1180
|
+
'timeSpentwithCustomer': {
|
|
1181
|
+
'mins': 100,
|
|
1182
|
+
},
|
|
1183
|
+
'unattendedSummaryChart': {
|
|
1184
|
+
'chart1': [
|
|
1185
|
+
{
|
|
1186
|
+
'category': 'Un-Attended Peak Hours',
|
|
1187
|
+
'value': 60,
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
'category': 'Un-Attended Non Peak Hours',
|
|
1191
|
+
'value': 30,
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
'category': 'Un-Attended Customer Rate',
|
|
1195
|
+
'value': 10,
|
|
1196
|
+
},
|
|
1197
|
+
],
|
|
1198
|
+
'chart2': [
|
|
1199
|
+
{
|
|
1200
|
+
'category': 'Customer Attended Within Threshold',
|
|
1201
|
+
'value': 60,
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
'category': 'Customer Attended After Threshold',
|
|
1205
|
+
'value': 40,
|
|
1206
|
+
},
|
|
1207
|
+
],
|
|
1208
|
+
},
|
|
1209
|
+
};
|
|
1210
|
+
break;
|
|
1211
|
+
case 'staffleftinthemiddle':
|
|
1212
|
+
resData.staffleftinthemiddleCards = {};
|
|
1213
|
+
resData.staffleftinthemiddleCards = {
|
|
1214
|
+
'avgStaffPresent': {
|
|
1215
|
+
'count': 300,
|
|
1216
|
+
},
|
|
1217
|
+
'avgStaffleft': {
|
|
1218
|
+
'count': 200,
|
|
1219
|
+
},
|
|
1220
|
+
'avgStaffPresentInPeakHours': {
|
|
1221
|
+
'rate': '6:5',
|
|
1222
|
+
},
|
|
1223
|
+
'staffAvgPunctualityRate': {
|
|
1224
|
+
'rate': 50,
|
|
1225
|
+
},
|
|
1226
|
+
'staffAvgBreakHours': {
|
|
1227
|
+
'mins': 100,
|
|
1228
|
+
},
|
|
1229
|
+
'staffAvgProductiveHours': {
|
|
1230
|
+
'mins': 100,
|
|
1231
|
+
},
|
|
1232
|
+
};
|
|
1233
|
+
break;
|
|
1234
|
+
case 'custom':
|
|
1235
|
+
resData.customCards = {};
|
|
1236
|
+
resData.customCards = {
|
|
1237
|
+
'totalAssignedStores': {
|
|
1238
|
+
'count': 300,
|
|
1239
|
+
},
|
|
1240
|
+
'flagIncidents': {
|
|
1241
|
+
'count': 200,
|
|
1242
|
+
},
|
|
1243
|
+
'complianceRate': {
|
|
1244
|
+
'count': 100,
|
|
1245
|
+
},
|
|
1246
|
+
};
|
|
1247
|
+
break;
|
|
1248
|
+
default:
|
|
1249
|
+
break;
|
|
1250
|
+
}
|
|
1251
|
+
return resData;
|
|
1252
|
+
} catch ( error ) {
|
|
1253
|
+
console.log( 'error =>', error );
|
|
1254
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
async function checklistComparisonData( checklistType ) {
|
|
1259
|
+
try {
|
|
1260
|
+
let resData = {};
|
|
1261
|
+
switch ( checklistType ) {
|
|
1262
|
+
case 'storeopenandclose':
|
|
1263
|
+
resData.storeopenandcloseCards = {};
|
|
1264
|
+
resData.storeopenandcloseCards = {
|
|
1265
|
+
'totalAssignedStores': {
|
|
1266
|
+
'comparisonData': 40,
|
|
1267
|
+
'ComparisonFlag': true,
|
|
1268
|
+
},
|
|
1269
|
+
'lateOpenStores': {
|
|
1270
|
+
'comparisonData': 50,
|
|
1271
|
+
'ComparisonFlag': true,
|
|
1272
|
+
},
|
|
1273
|
+
'earlyClosedStores': {
|
|
1274
|
+
'comparisonData': 20,
|
|
1275
|
+
'ComparisonFlag': false,
|
|
1276
|
+
},
|
|
1277
|
+
'complianceRate': {
|
|
1278
|
+
'comparisonData': 10,
|
|
1279
|
+
'ComparisonFlag': false,
|
|
1280
|
+
},
|
|
1281
|
+
};
|
|
1282
|
+
break;
|
|
1283
|
+
case 'mobileusagedetection':
|
|
1284
|
+
resData.mobileusagedetectionCards = {};
|
|
1285
|
+
resData.mobileusagedetectionCards = {
|
|
1286
|
+
'totalAssignedStores': {
|
|
1287
|
+
'comparisonData': 40,
|
|
1288
|
+
'ComparisonFlag': true,
|
|
1289
|
+
},
|
|
1290
|
+
'flagIncidents': {
|
|
1291
|
+
'comparisonData': 50,
|
|
1292
|
+
'ComparisonFlag': false,
|
|
1293
|
+
},
|
|
1294
|
+
'complianceRate': {
|
|
1295
|
+
'comparisonData': 40,
|
|
1296
|
+
'ComparisonFlag': true,
|
|
1297
|
+
},
|
|
1298
|
+
};
|
|
1299
|
+
break;
|
|
1300
|
+
case 'uniformdetection':
|
|
1301
|
+
resData.uniformdetectionCards = {};
|
|
1302
|
+
resData.uniformdetectionCards = {
|
|
1303
|
+
'totalAssignedStores': {
|
|
1304
|
+
'comparisonData': 40,
|
|
1305
|
+
'ComparisonFlag': true,
|
|
1306
|
+
},
|
|
1307
|
+
'flagIncidents': {
|
|
1308
|
+
'comparisonData': 50,
|
|
1309
|
+
'ComparisonFlag': false,
|
|
1310
|
+
},
|
|
1311
|
+
'complianceRate': {
|
|
1312
|
+
'comparisonData': 40,
|
|
1313
|
+
'ComparisonFlag': true,
|
|
1314
|
+
},
|
|
1315
|
+
};
|
|
1316
|
+
break;
|
|
1317
|
+
case 'customerunattended':
|
|
1318
|
+
resData.customerunattendedCards = {};
|
|
1319
|
+
resData.customerunattendedCards = {
|
|
1320
|
+
'averageFootfall': {
|
|
1321
|
+
'comparisonData': 40,
|
|
1322
|
+
'ComparisonFlag': true,
|
|
1323
|
+
},
|
|
1324
|
+
'stafftoCustomerRatio': {
|
|
1325
|
+
'comparisonData': 50,
|
|
1326
|
+
'ComparisonFlag': true,
|
|
1327
|
+
},
|
|
1328
|
+
'attendedCustomers': {
|
|
1329
|
+
'comparisonData': 40,
|
|
1330
|
+
'ComparisonFlag': false,
|
|
1331
|
+
},
|
|
1332
|
+
'unattendedCustomers': {
|
|
1333
|
+
'comparisonData': 10,
|
|
1334
|
+
'ComparisonFlag': true,
|
|
1335
|
+
},
|
|
1336
|
+
'timeTakentoAssist': {
|
|
1337
|
+
'comparisonData': 30,
|
|
1338
|
+
'ComparisonFlag': false,
|
|
1339
|
+
},
|
|
1340
|
+
'timeSpentwithCustomer': {
|
|
1341
|
+
'comparisonData': 40,
|
|
1342
|
+
'ComparisonFlag': true,
|
|
1343
|
+
},
|
|
1344
|
+
};
|
|
1345
|
+
break;
|
|
1346
|
+
case 'staffleftinthemiddle':
|
|
1347
|
+
resData.staffleftinthemiddleCards = {};
|
|
1348
|
+
resData.staffleftinthemiddleCards = {
|
|
1349
|
+
'avgStaffPresent': {
|
|
1350
|
+
'comparisonData': 40,
|
|
1351
|
+
'ComparisonFlag': false,
|
|
1352
|
+
},
|
|
1353
|
+
'avgStaffleft': {
|
|
1354
|
+
'comparisonData': 50,
|
|
1355
|
+
'ComparisonFlag': true,
|
|
1356
|
+
},
|
|
1357
|
+
'avgStaffPresentInPeakHours': {
|
|
1358
|
+
'comparisonData': 30,
|
|
1359
|
+
'ComparisonFlag': true,
|
|
1360
|
+
},
|
|
1361
|
+
'staffAvgPunctualityRate': {
|
|
1362
|
+
'comparisonData': 50,
|
|
1363
|
+
'ComparisonFlag': true,
|
|
1364
|
+
},
|
|
1365
|
+
'staffAvgBreakHours': {
|
|
1366
|
+
'comparisonData': 40,
|
|
1367
|
+
'ComparisonFlag': false,
|
|
1368
|
+
},
|
|
1369
|
+
'staffAvgProductiveHours': {
|
|
1370
|
+
'comparisonData': 60,
|
|
1371
|
+
'ComparisonFlag': true,
|
|
1372
|
+
},
|
|
1373
|
+
};
|
|
1374
|
+
break;
|
|
1375
|
+
case 'custom':
|
|
1376
|
+
resData.customCards = {};
|
|
1377
|
+
resData.customCards = {
|
|
1378
|
+
'totalAssignedStores': {
|
|
1379
|
+
'comparisonData': 40,
|
|
1380
|
+
'ComparisonFlag': true,
|
|
1381
|
+
},
|
|
1382
|
+
'flagIncidents': {
|
|
1383
|
+
'comparisonData': 20,
|
|
1384
|
+
'ComparisonFlag': false,
|
|
1385
|
+
},
|
|
1386
|
+
'complianceRate': {
|
|
1387
|
+
'comparisonData': 10,
|
|
1388
|
+
'ComparisonFlag': false,
|
|
1389
|
+
},
|
|
1390
|
+
};
|
|
1391
|
+
break;
|
|
1392
|
+
default:
|
|
1393
|
+
break;
|
|
1394
|
+
}
|
|
1395
|
+
return resData;
|
|
1396
|
+
} catch ( error ) {
|
|
1397
|
+
console.log( 'error =>', error );
|
|
1398
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
async function tableData( checklistType ) {
|
|
1403
|
+
try {
|
|
1404
|
+
let resData = {};
|
|
1405
|
+
resData.totalCount = 300;
|
|
1406
|
+
switch ( checklistType ) {
|
|
1407
|
+
case 'storeopenandclose':
|
|
1408
|
+
resData.storeopenandcloseData = {};
|
|
1409
|
+
resData.storeopenandcloseData = [
|
|
1410
|
+
{
|
|
1411
|
+
'date': '02 Aug, 2024',
|
|
1412
|
+
'dateString': '2024-10-10',
|
|
1413
|
+
'storeName': 'LKST400',
|
|
1414
|
+
'storeId': '11-10',
|
|
1415
|
+
'storeSpocEmail': 'olivia@yopmail.com',
|
|
1416
|
+
'openTime': '09:00 AM',
|
|
1417
|
+
'openTimeFlag': false,
|
|
1418
|
+
'closeTime': '10:00 PM',
|
|
1419
|
+
'closeTimeFlag': false,
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
'date': '02 Aug, 2024',
|
|
1423
|
+
'dateString': '2024-10-10',
|
|
1424
|
+
'storeName': 'LKST401',
|
|
1425
|
+
'storeId': '11-11',
|
|
1426
|
+
'storeSpocEmail': 'yamini@yopmail.com',
|
|
1427
|
+
'openTime': '09:10 AM',
|
|
1428
|
+
'openTimeFlag': true,
|
|
1429
|
+
'closeTime': '10:00 PM',
|
|
1430
|
+
'closeTimeFlag': false,
|
|
1431
|
+
},
|
|
1432
|
+
{
|
|
1433
|
+
'date': '02 Aug, 2024',
|
|
1434
|
+
'dateString': '2024-10-10',
|
|
1435
|
+
'storeName': 'LKST402',
|
|
1436
|
+
'storeId': '11-12',
|
|
1437
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1438
|
+
'openTime': '09:00 AM',
|
|
1439
|
+
'openTimeFlag': false,
|
|
1440
|
+
'closeTime': '09:50 PM',
|
|
1441
|
+
'closeTimeFlag': true,
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
'date': '02 Aug, 2024',
|
|
1445
|
+
'dateString': '2024-10-10',
|
|
1446
|
+
'storeName': 'LKST402',
|
|
1447
|
+
'storeId': '11-12',
|
|
1448
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1449
|
+
'openTime': '09:10 AM',
|
|
1450
|
+
'openTimeFlag': true,
|
|
1451
|
+
'closeTime': '09:50 PM',
|
|
1452
|
+
'closeTimeFlag': true,
|
|
1453
|
+
},
|
|
1454
|
+
];
|
|
1455
|
+
break;
|
|
1456
|
+
case 'mobileusagedetection':
|
|
1457
|
+
resData.mobileusagedetectionData = {};
|
|
1458
|
+
resData.mobileusagedetectionData = [
|
|
1459
|
+
{
|
|
1460
|
+
'date': '02 Aug, 2024',
|
|
1461
|
+
'dateString': '2024-10-10',
|
|
1462
|
+
'storeName': 'LKST400',
|
|
1463
|
+
'storeId': '11-10',
|
|
1464
|
+
'storeSpocEmail': 'olivia@yopmail.com',
|
|
1465
|
+
'detections': 50,
|
|
1466
|
+
},
|
|
1467
|
+
{
|
|
1468
|
+
'date': '02 Aug, 2024',
|
|
1469
|
+
'dateString': '2024-10-10',
|
|
1470
|
+
'storeName': 'LKST401',
|
|
1471
|
+
'storeId': '11-11',
|
|
1472
|
+
'storeSpocEmail': 'yamini@yopmail.com',
|
|
1473
|
+
'detections': 60,
|
|
1474
|
+
},
|
|
1475
|
+
{
|
|
1476
|
+
'date': '02 Aug, 2024',
|
|
1477
|
+
'dateString': '2024-10-10',
|
|
1478
|
+
'storeName': 'LKST402',
|
|
1479
|
+
'storeId': '11-12',
|
|
1480
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1481
|
+
'detections': 70,
|
|
1482
|
+
},
|
|
1483
|
+
{
|
|
1484
|
+
'date': '02 Aug, 2024',
|
|
1485
|
+
'dateString': '2024-10-10',
|
|
1486
|
+
'storeName': 'LKST402',
|
|
1487
|
+
'storeId': '11-12',
|
|
1488
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1489
|
+
'detections': 90,
|
|
1490
|
+
},
|
|
1491
|
+
];
|
|
1492
|
+
break;
|
|
1493
|
+
case 'uniformdetection':
|
|
1494
|
+
resData.uniformdetectionData = {};
|
|
1495
|
+
resData.uniformdetectionData = [
|
|
1496
|
+
{
|
|
1497
|
+
'date': '02 Aug, 2024',
|
|
1498
|
+
'dateString': '2024-10-10',
|
|
1499
|
+
'storeName': 'LKST400',
|
|
1500
|
+
'storeId': '11-10',
|
|
1501
|
+
'storeSpocEmail': 'olivia@yopmail.com',
|
|
1502
|
+
'detections': 50,
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
'date': '02 Aug, 2024',
|
|
1506
|
+
'dateString': '2024-10-10',
|
|
1507
|
+
'storeName': 'LKST401',
|
|
1508
|
+
'storeId': '11-11',
|
|
1509
|
+
'storeSpocEmail': 'yamini@yopmail.com',
|
|
1510
|
+
'detections': 60,
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
'date': '02 Aug, 2024',
|
|
1514
|
+
'dateString': '2024-10-10',
|
|
1515
|
+
'storeName': 'LKST402',
|
|
1516
|
+
'storeId': '11-12',
|
|
1517
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1518
|
+
'detections': 70,
|
|
1519
|
+
},
|
|
1520
|
+
{
|
|
1521
|
+
'date': '02 Aug, 2024',
|
|
1522
|
+
'dateString': '2024-10-10',
|
|
1523
|
+
'storeName': 'LKST402',
|
|
1524
|
+
'storeId': '11-12',
|
|
1525
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1526
|
+
'detections': 90,
|
|
1527
|
+
},
|
|
1528
|
+
];
|
|
1529
|
+
break;
|
|
1530
|
+
case 'customerunattended':
|
|
1531
|
+
resData.customerunattendedData = {};
|
|
1532
|
+
resData.customerunattendedData = [
|
|
1533
|
+
{
|
|
1534
|
+
'date': '02 Aug, 2024',
|
|
1535
|
+
'dateString': '2024-10-10',
|
|
1536
|
+
'storeName': 'LKST400',
|
|
1537
|
+
'storeId': '11-10',
|
|
1538
|
+
'storeSpocEmail': 'olivia@yopmail.com',
|
|
1539
|
+
'detections': 50,
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
'date': '02 Aug, 2024',
|
|
1543
|
+
'dateString': '2024-10-10',
|
|
1544
|
+
'storeName': 'LKST401',
|
|
1545
|
+
'storeId': '11-11',
|
|
1546
|
+
'storeSpocEmail': 'yamini@yopmail.com',
|
|
1547
|
+
'detections': 60,
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
'date': '02 Aug, 2024',
|
|
1551
|
+
'dateString': '2024-10-10',
|
|
1552
|
+
'storeName': 'LKST402',
|
|
1553
|
+
'storeId': '11-12',
|
|
1554
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1555
|
+
'detections': 70,
|
|
1556
|
+
},
|
|
1557
|
+
{
|
|
1558
|
+
'date': '02 Aug, 2024',
|
|
1559
|
+
'dateString': '2024-10-10',
|
|
1560
|
+
'storeName': 'LKST402',
|
|
1561
|
+
'storeId': '11-12',
|
|
1562
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1563
|
+
'detections': 90,
|
|
1564
|
+
},
|
|
1565
|
+
];
|
|
1566
|
+
break;
|
|
1567
|
+
case 'staffleftinthemiddle':
|
|
1568
|
+
resData.staffleftinthemiddleData = {};
|
|
1569
|
+
resData.staffleftinthemiddleData = [
|
|
1570
|
+
{
|
|
1571
|
+
'date': '02 Aug, 2024',
|
|
1572
|
+
'dateString': '2024-10-10',
|
|
1573
|
+
'storeName': 'LKST400',
|
|
1574
|
+
'storeId': '11-10',
|
|
1575
|
+
'storeSpocEmail': 'olivia@yopmail.com',
|
|
1576
|
+
'detections': 50,
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
'date': '02 Aug, 2024',
|
|
1580
|
+
'dateString': '2024-10-10',
|
|
1581
|
+
'storeName': 'LKST401',
|
|
1582
|
+
'storeId': '11-11',
|
|
1583
|
+
'storeSpocEmail': 'yamini@yopmail.com',
|
|
1584
|
+
'detections': 60,
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
'date': '02 Aug, 2024',
|
|
1588
|
+
'dateString': '2024-10-10',
|
|
1589
|
+
'storeName': 'LKST402',
|
|
1590
|
+
'storeId': '11-12',
|
|
1591
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1592
|
+
'detections': 70,
|
|
1593
|
+
},
|
|
1594
|
+
{
|
|
1595
|
+
'date': '02 Aug, 2024',
|
|
1596
|
+
'dateString': '2024-10-10',
|
|
1597
|
+
'storeName': 'LKST402',
|
|
1598
|
+
'storeId': '11-12',
|
|
1599
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1600
|
+
'detections': 90,
|
|
1601
|
+
},
|
|
1602
|
+
];
|
|
1603
|
+
break;
|
|
1604
|
+
case 'custom':
|
|
1605
|
+
resData.customData = {};
|
|
1606
|
+
resData.customData = [
|
|
1607
|
+
{
|
|
1608
|
+
'date': '02 Aug, 2024',
|
|
1609
|
+
'dateString': '2024-10-10',
|
|
1610
|
+
'storeName': 'LKST400',
|
|
1611
|
+
'storeId': '11-10',
|
|
1612
|
+
'storeSpocEmail': 'olivia@yopmail.com',
|
|
1613
|
+
'detections': 50,
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
'date': '02 Aug, 2024',
|
|
1617
|
+
'dateString': '2024-10-10',
|
|
1618
|
+
'storeName': 'LKST401',
|
|
1619
|
+
'storeId': '11-11',
|
|
1620
|
+
'storeSpocEmail': 'yamini@yopmail.com',
|
|
1621
|
+
'detections': 60,
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
'date': '02 Aug, 2024',
|
|
1625
|
+
'dateString': '2024-10-10',
|
|
1626
|
+
'storeName': 'LKST402',
|
|
1627
|
+
'storeId': '11-12',
|
|
1628
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1629
|
+
'detections': 70,
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
'date': '02 Aug, 2024',
|
|
1633
|
+
'dateString': '2024-10-10',
|
|
1634
|
+
'storeName': 'LKST402',
|
|
1635
|
+
'storeId': '11-12',
|
|
1636
|
+
'storeSpocEmail': 'balaji@yopmail.com',
|
|
1637
|
+
'detections': 90,
|
|
1638
|
+
},
|
|
1639
|
+
];
|
|
1640
|
+
break;
|
|
1641
|
+
default:
|
|
1642
|
+
break;
|
|
1643
|
+
}
|
|
1644
|
+
return resData;
|
|
1645
|
+
} catch ( error ) {
|
|
1646
|
+
console.log( 'error =>', error );
|
|
1647
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
async function flagCardData( checklistType ) {
|
|
1652
|
+
try {
|
|
1653
|
+
let resData = {};
|
|
1654
|
+
resData.flagCards = {
|
|
1655
|
+
'totalFlag': 700,
|
|
1656
|
+
'questionFlag': {
|
|
1657
|
+
'count': 40,
|
|
1658
|
+
},
|
|
1659
|
+
'delayInSubmission': {
|
|
1660
|
+
'count': 50,
|
|
1661
|
+
},
|
|
1662
|
+
'detectionFlag': {
|
|
1663
|
+
'count': 20,
|
|
1664
|
+
},
|
|
1665
|
+
};
|
|
1666
|
+
return resData;
|
|
1667
|
+
} catch ( error ) {
|
|
1668
|
+
console.log( 'error =>', error );
|
|
1669
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1670
|
+
}
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
async function falgComparisonData( checklistType ) {
|
|
1674
|
+
try {
|
|
1675
|
+
let resData = {};
|
|
1676
|
+
resData.flagComparisonCards = {
|
|
1677
|
+
'questionComparisonFlag': {
|
|
1678
|
+
'comparisonData': 40,
|
|
1679
|
+
'ComparisonFlag': true,
|
|
1680
|
+
},
|
|
1681
|
+
'delayInSubmissionComparisonFlag': {
|
|
1682
|
+
'comparisonData': 50,
|
|
1683
|
+
'ComparisonFlag': false,
|
|
1684
|
+
},
|
|
1685
|
+
'detectionComparisonFlag': {
|
|
1686
|
+
'comparisonData': 20,
|
|
1687
|
+
'ComparisonFlag': true,
|
|
1688
|
+
},
|
|
1689
|
+
};
|
|
1690
|
+
return resData;
|
|
1691
|
+
} catch ( error ) {
|
|
1692
|
+
console.log( 'error =>', error );
|
|
1693
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1694
|
+
}
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
async function flagTableData( checklistType ) {
|
|
1698
|
+
try {
|
|
1699
|
+
let resData = {};
|
|
1700
|
+
resData.totalCount = 300;
|
|
1701
|
+
resData.flagTableData = [
|
|
1702
|
+
{
|
|
1703
|
+
'checklistName': 'Field VM- Store Visit Checklist',
|
|
1704
|
+
'sourceCheckList_id': '668e3e1807d5312fa49b0046',
|
|
1705
|
+
'checkListType': 'custom',
|
|
1706
|
+
'flagType': 'Question',
|
|
1707
|
+
'assignedStores': 400,
|
|
1708
|
+
'flaggedStores': 50,
|
|
1709
|
+
'flagCount': 30,
|
|
1710
|
+
'complianceRate': 25,
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
'checklistName': 'DC Prep Checklist',
|
|
1714
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1715
|
+
'checkListType': 'custom',
|
|
1716
|
+
'flagType': 'Question',
|
|
1717
|
+
'assignedStores': 500,
|
|
1718
|
+
'flaggedStores': 66,
|
|
1719
|
+
'flagCount': 66,
|
|
1720
|
+
'complianceRate': 89,
|
|
1721
|
+
},
|
|
1722
|
+
{
|
|
1723
|
+
'checklistName': 'Store Open and Close',
|
|
1724
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1725
|
+
'checkListType': 'storeopenandclose',
|
|
1726
|
+
'flagType': 'Question',
|
|
1727
|
+
'assignedStores': 300,
|
|
1728
|
+
'flaggedStores': 70,
|
|
1729
|
+
'flagCount': 80,
|
|
1730
|
+
'complianceRate': 25,
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
'checklistName': 'Mobileusage Detection',
|
|
1734
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1735
|
+
'checkListType': 'mobileusagedetection',
|
|
1736
|
+
'flagType': 'Detection',
|
|
1737
|
+
'assignedStores': 250,
|
|
1738
|
+
'flaggedStores': 30,
|
|
1739
|
+
'flagCount': 80,
|
|
1740
|
+
'complianceRate': 77,
|
|
1741
|
+
},
|
|
1742
|
+
{
|
|
1743
|
+
'checklistName': 'Uniform Detection',
|
|
1744
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1745
|
+
'checkListType': 'uniformdetection',
|
|
1746
|
+
'flagType': 'Detection',
|
|
1747
|
+
'assignedStores': 100,
|
|
1748
|
+
'flaggedStores': 0,
|
|
1749
|
+
'flagCount': 60,
|
|
1750
|
+
'complianceRate': 45,
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
'checklistName': 'Customer Unattended',
|
|
1754
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1755
|
+
'checkListType': 'customerunattended',
|
|
1756
|
+
'flagType': 'Detection',
|
|
1757
|
+
'assignedStores': 200,
|
|
1758
|
+
'flaggedStores': 20,
|
|
1759
|
+
'flagCount': 70,
|
|
1760
|
+
'complianceRate': 55,
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
'checklistName': 'Staff Left in The Middle',
|
|
1764
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1765
|
+
'checkListType': 'staffleftinthemiddle',
|
|
1766
|
+
'flagType': 'Detection',
|
|
1767
|
+
'assignedStores': 150,
|
|
1768
|
+
'flaggedStores': 50,
|
|
1769
|
+
'flagCount': 50,
|
|
1770
|
+
'complianceRate': 30,
|
|
1771
|
+
},
|
|
1772
|
+
];
|
|
1773
|
+
return resData;
|
|
1774
|
+
} catch ( error ) {
|
|
1775
|
+
console.log( 'error =>', error );
|
|
1776
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
async function checklistDropdownData( checklistType ) {
|
|
1781
|
+
try {
|
|
1782
|
+
let resData = {};
|
|
1783
|
+
resData.checklistDropdownData = [
|
|
1784
|
+
{
|
|
1785
|
+
'checklistName': 'Field VM- Store Visit Checklist',
|
|
1786
|
+
'sourceCheckList_id': '668e3e1807d5312fa49b0046',
|
|
1787
|
+
'checkListType': 'custom',
|
|
1788
|
+
'createdByName': 'Yamini',
|
|
1789
|
+
'storeCount': 1853,
|
|
1790
|
+
'scheduleRepeatedType': 'weekly',
|
|
1791
|
+
'scheduleStartTime': '12:00 PM',
|
|
1792
|
+
'scheduleEndTime': '06:00 PM',
|
|
1793
|
+
'publish': true,
|
|
1794
|
+
},
|
|
1795
|
+
{
|
|
1796
|
+
'checklistName': 'DC Prep Checklist',
|
|
1797
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167361',
|
|
1798
|
+
'checkListType': 'custom',
|
|
1799
|
+
'createdByName': 'Yamini',
|
|
1800
|
+
'storeCount': 1853,
|
|
1801
|
+
'scheduleRepeatedType': 'weekly',
|
|
1802
|
+
'scheduleStartTime': '12:00 PM',
|
|
1803
|
+
'scheduleEndTime': '06:00 PM',
|
|
1804
|
+
'publish': true,
|
|
1805
|
+
},
|
|
1806
|
+
{
|
|
1807
|
+
'checklistName': 'Store Open and Close',
|
|
1808
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167362',
|
|
1809
|
+
'checkListType': 'storeopenandclose',
|
|
1810
|
+
'createdByName': 'Yamini',
|
|
1811
|
+
'storeCount': 1853,
|
|
1812
|
+
'scheduleRepeatedType': 'weekly',
|
|
1813
|
+
'scheduleStartTime': '12:00 PM',
|
|
1814
|
+
'scheduleEndTime': '06:00 PM',
|
|
1815
|
+
'publish': true,
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
'checklistName': 'Mobileusage Detection',
|
|
1819
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167363',
|
|
1820
|
+
'checkListType': 'mobileusagedetection',
|
|
1821
|
+
'createdByName': 'Yamini',
|
|
1822
|
+
'storeCount': 1853,
|
|
1823
|
+
'scheduleRepeatedType': 'weekly',
|
|
1824
|
+
'scheduleStartTime': '12:00 PM',
|
|
1825
|
+
'scheduleEndTime': '06:00 PM',
|
|
1826
|
+
'publish': true,
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
'checklistName': 'Uniform Detection',
|
|
1830
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167364',
|
|
1831
|
+
'checkListType': 'uniformdetection',
|
|
1832
|
+
'createdByName': 'Yamini',
|
|
1833
|
+
'storeCount': 1853,
|
|
1834
|
+
'scheduleRepeatedType': 'weekly',
|
|
1835
|
+
'scheduleStartTime': '12:00 PM',
|
|
1836
|
+
'scheduleEndTime': '06:00 PM',
|
|
1837
|
+
'publish': true,
|
|
1838
|
+
},
|
|
1839
|
+
{
|
|
1840
|
+
'checklistName': 'Customer Unattended',
|
|
1841
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167365',
|
|
1842
|
+
'checkListType': 'customerunattended',
|
|
1843
|
+
'createdByName': 'Yamini',
|
|
1844
|
+
'storeCount': 1853,
|
|
1845
|
+
'scheduleRepeatedType': 'weekly',
|
|
1846
|
+
'scheduleStartTime': '12:00 PM',
|
|
1847
|
+
'scheduleEndTime': '06:00 PM',
|
|
1848
|
+
'publish': true,
|
|
1849
|
+
},
|
|
1850
|
+
{
|
|
1851
|
+
'checklistName': 'Staff Left in The Middle',
|
|
1852
|
+
'sourceCheckList_id': '6690d95b747d2cc1f1167366',
|
|
1853
|
+
'checkListType': 'staffleftinthemiddle',
|
|
1854
|
+
'createdByName': 'Yamini',
|
|
1855
|
+
'storeCount': 1853,
|
|
1856
|
+
'scheduleRepeatedType': 'weekly',
|
|
1857
|
+
'scheduleStartTime': '12:00 PM',
|
|
1858
|
+
'scheduleEndTime': '06:00 PM',
|
|
1859
|
+
'publish': true,
|
|
1860
|
+
},
|
|
1861
|
+
{
|
|
1862
|
+
'checklistName': 'Field VM- Store Visit Checklist Field VM- Store Visit Checklist',
|
|
1863
|
+
'sourceCheckList_id': '668e3e1807d5312fa49b0046',
|
|
1864
|
+
'checkListType': 'custom',
|
|
1865
|
+
'createdByName': 'Yamini',
|
|
1866
|
+
'storeCount': 1853,
|
|
1867
|
+
'scheduleRepeatedType': 'weekly',
|
|
1868
|
+
'scheduleStartTime': '12:00 PM',
|
|
1869
|
+
'scheduleEndTime': '06:00 PM',
|
|
1870
|
+
'publish': true,
|
|
1871
|
+
},
|
|
1872
|
+
];
|
|
1873
|
+
return resData;
|
|
1874
|
+
} catch ( error ) {
|
|
1875
|
+
console.log( 'error =>', error );
|
|
1876
|
+
logger.error( { error: error, message: data, function: 'returnServerError' } );
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
942
1879
|
|
|
943
1880
|
// Lamda Service Call //
|
|
944
1881
|
async function LamdaServiceCall( url, data ) {
|
|
@@ -966,7 +1903,10 @@ async function LamdaServiceCall( url, data ) {
|
|
|
966
1903
|
export const flagChecklistCardsV1 = async ( req, res ) => {
|
|
967
1904
|
try {
|
|
968
1905
|
let reqestData = req.body;
|
|
969
|
-
|
|
1906
|
+
// Get User Based Checklist //
|
|
1907
|
+
// let loginUser = { clientId: reqestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
1908
|
+
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
1909
|
+
// End: Get User Based Checklist////
|
|
970
1910
|
|
|
971
1911
|
if ( reqestData.ChecklistType == 'custom' ) {
|
|
972
1912
|
const pipeline = [
|
|
@@ -1100,7 +2040,7 @@ export const flagChecklistCardsV1 = async ( req, res ) => {
|
|
|
1100
2040
|
const checklist = await aggregate( pipeline );
|
|
1101
2041
|
console.log( '🚀 ~ flagChecklistCardsV1 ~ checklist:', checklist );
|
|
1102
2042
|
reqestData.storeCount = checklist[0]?.storeCount | 0;
|
|
1103
|
-
let LamdaURL =
|
|
2043
|
+
let LamdaURL = 'https://k462fpztd3zaucty5ruoks6z540qqgqj.lambda-url.ap-south-1.on.aws/';
|
|
1104
2044
|
let resultData = await LamdaServiceCall( LamdaURL, reqestData );
|
|
1105
2045
|
console.log( '🚀 ~ flagChecklistCardsV1 ~ resultData:', resultData );
|
|
1106
2046
|
if ( resultData ) {
|
|
@@ -1132,7 +2072,6 @@ export const flagChecklistComparisonCardsV1 = async ( req, res ) => {
|
|
|
1132
2072
|
let userTimezoneOffset = toDate.getTimezoneOffset() * 60000;
|
|
1133
2073
|
toDate = new Date( toDate.getTime() - userTimezoneOffset );
|
|
1134
2074
|
toDate.setUTCHours( 23, 59, 59, 59 );
|
|
1135
|
-
const lamdaUrl = JSON.parse( process.env.LAMBDAURL );
|
|
1136
2075
|
|
|
1137
2076
|
let rangeOneFromDate;
|
|
1138
2077
|
let rangeOneToDate;
|
|
@@ -1453,7 +2392,7 @@ export const flagChecklistComparisonCardsV1 = async ( req, res ) => {
|
|
|
1453
2392
|
|
|
1454
2393
|
const to = await aggregate( toPipeline );
|
|
1455
2394
|
requestData.range2StoreCount = to[0]?.storeCount | 0;
|
|
1456
|
-
let LamdaURL =
|
|
2395
|
+
let LamdaURL = 'https://5m55vcuecg2hll7jzfppx6h53y0lvcmq.lambda-url.ap-south-1.on.aws/';
|
|
1457
2396
|
let resultData = await LamdaServiceCall( LamdaURL, requestData );
|
|
1458
2397
|
// console.log( 'resultData =>', resultData );
|
|
1459
2398
|
if ( resultData ) {
|
|
@@ -1808,7 +2747,7 @@ export const checklistDropdownV1 = async ( req, res ) => {
|
|
|
1808
2747
|
$or: [
|
|
1809
2748
|
{ questionFlag: { $gte: 1 } },
|
|
1810
2749
|
{ timeFlag: { $gte: 1 } },
|
|
1811
|
-
{ checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'vehicle_check_in', 'employeemonitoring'
|
|
2750
|
+
{ checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'vehicle_check_in', 'employeemonitoring' ] } },
|
|
1812
2751
|
{
|
|
1813
2752
|
runAIQuestionCount: { $gte: 1 },
|
|
1814
2753
|
},
|
|
@@ -2010,7 +2949,7 @@ export const flagComparisonCardsV2 = async ( req, res ) => {
|
|
|
2010
2949
|
{
|
|
2011
2950
|
client_id: requestData.clientId,
|
|
2012
2951
|
publish: true,
|
|
2013
|
-
checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'employeemonitoring'
|
|
2952
|
+
checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'employeemonitoring' ] },
|
|
2014
2953
|
},
|
|
2015
2954
|
{ checkListType: 1 },
|
|
2016
2955
|
);
|
|
@@ -2092,8 +3031,6 @@ export const flagTablesV2 = async ( req, res ) => {
|
|
|
2092
3031
|
toDate.setUTCHours( 23, 59, 59, 59 );
|
|
2093
3032
|
let result = {};
|
|
2094
3033
|
|
|
2095
|
-
const lamdaUrl = JSON.parse( process.env.LAMBDAURL );
|
|
2096
|
-
|
|
2097
3034
|
let findQuery = [];
|
|
2098
3035
|
let findAndQuery = [];
|
|
2099
3036
|
findAndQuery.push(
|
|
@@ -2114,7 +3051,7 @@ export const flagTablesV2 = async ( req, res ) => {
|
|
|
2114
3051
|
}
|
|
2115
3052
|
|
|
2116
3053
|
if ( requestData?.filter === 'all' ) {
|
|
2117
|
-
findAndQuery.push( { $or: [ { checkListType: { $in: [ 'custom', 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'vehicle_check_in', 'employeemonitoring'
|
|
3054
|
+
findAndQuery.push( { $or: [ { checkListType: { $in: [ 'custom', 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'vehicle_check_in', 'employeemonitoring' ] } } ] } );
|
|
2118
3055
|
} else if ( requestData?.filter === 'question' ) {
|
|
2119
3056
|
findAndQuery.push( { checkListType: 'custom' } );
|
|
2120
3057
|
findAndQuery.push( { questionFlag: { $gte: 1 } } );
|
|
@@ -2122,7 +3059,7 @@ export const flagTablesV2 = async ( req, res ) => {
|
|
|
2122
3059
|
findAndQuery.push( { checkListType: 'custom' } );
|
|
2123
3060
|
findAndQuery.push( { timeFlag: { $gte: 1 } } );
|
|
2124
3061
|
} else if ( requestData?.filter === 'detection' ) {
|
|
2125
|
-
findAndQuery.push( { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'vehicle_check_in', 'employeemonitoring'
|
|
3062
|
+
findAndQuery.push( { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection', 'vehicle_check_in', 'employeemonitoring' ] } } );
|
|
2126
3063
|
} else if ( requestData?.filter === 'runAI' ) {
|
|
2127
3064
|
if ( req.body.runAIChecklistName ) {
|
|
2128
3065
|
findAndQuery.push( { checkListName: { $in: req.body.runAIChecklistName } } );
|
|
@@ -2181,9 +3118,6 @@ export const flagTablesV2 = async ( req, res ) => {
|
|
|
2181
3118
|
{ '$gt': [ '$staffLeftInTheMiddle', 0 ] },
|
|
2182
3119
|
{ '$gt': [ '$cleaning', 0 ] },
|
|
2183
3120
|
{ '$gt': [ '$scrum', 0 ] },
|
|
2184
|
-
{ '$gt': [ '$employeeCount', 0 ] },
|
|
2185
|
-
{ '$gt': [ '$employeemonitoring', 0 ] },
|
|
2186
|
-
{ '$gt': [ '$activitymonitoring', 0 ] },
|
|
2187
3121
|
],
|
|
2188
3122
|
},
|
|
2189
3123
|
1,
|
|
@@ -2297,7 +3231,7 @@ export const flagTablesV2 = async ( req, res ) => {
|
|
|
2297
3231
|
'clientId': requestData.clientId,
|
|
2298
3232
|
};
|
|
2299
3233
|
|
|
2300
|
-
let LamdaURL =
|
|
3234
|
+
let LamdaURL = 'https://f65azvtljclaxp6l7rnx65cdmm0lcgvp.lambda-url.ap-south-1.on.aws/';
|
|
2301
3235
|
let resultData = await LamdaServiceCall( LamdaURL, detectionPayload );
|
|
2302
3236
|
if ( resultData ) {
|
|
2303
3237
|
if ( resultData.status_code == '200' ) {
|