tango-app-api-trax 3.9.32 → 3.9.33
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.
- package/index.js +1 -2
- package/package.json +2 -2
- package/src/controllers/gallery.controller.js +0 -2
- package/src/controllers/internalTrax.controller.js +78 -117
- package/src/controllers/mobileTrax.controller.js +29 -69
- package/src/controllers/teaxFlag.controller.js +5 -5
- package/src/controllers/trax.controller.js +3 -4
- package/src/controllers/traxDashboard.controllers.js +54 -63
- package/src/hbs/flag.hbs +1 -1
- package/src/hbs/login-otp.hbs +943 -943
- package/src/hbs/template.hbs +0 -7
- package/src/hbs/visit-checklist.hbs +1 -51
- package/src/services/app.service.js +14 -20
- package/src/services/approver.service.js +20 -28
- package/src/services/authentication.service.js +6 -12
- package/src/services/camera.service.js +18 -24
- package/src/services/checklist.service.js +31 -36
- package/src/services/checklistAssign.service.js +39 -44
- package/src/services/checklistQuestion.service.js +35 -40
- package/src/services/checklistlog.service.js +35 -40
- package/src/services/clientRequest.service.js +5 -12
- package/src/services/clients.services.js +18 -23
- package/src/services/cluster.service.js +28 -36
- package/src/services/domain.service.js +28 -33
- package/src/services/download.services.js +38 -48
- package/src/services/group.service.js +22 -28
- package/src/services/lenskartEmployeeMapping.service.js +15 -20
- package/src/services/locus.service.js +34 -41
- package/src/services/notification.service.js +31 -40
- package/src/services/otp.service.js +17 -24
- package/src/services/planogram.service.js +5 -12
- package/src/services/processedTaskConfig.service.js +32 -40
- package/src/services/processedTaskList.service.js +30 -36
- package/src/services/processedchecklist.services.js +48 -56
- package/src/services/processedchecklistconfig.services.js +35 -40
- package/src/services/recurringFlagTracker.service.js +33 -40
- package/src/services/runAIFeatures.services.js +31 -36
- package/src/services/runAIRequest.services.js +39 -44
- package/src/services/store.service.js +31 -36
- package/src/services/tagging.service.js +5 -12
- package/src/services/taskConfig.service.js +32 -40
- package/src/services/teams.service.js +30 -41
- package/src/services/ticket.service.js +15 -20
- package/src/services/user.service.js +25 -32
- package/src/services/userAssignedstores.service.js +10 -17
- package/src/utils/visitChecklistPdf.utils.js +11 -114
- package/src/logging/activityLogFlusher.js +0 -59
- package/src/logging/activityLogMiddleware.js +0 -45
- package/src/logging/activityLogStore.js +0 -91
- package/src/logging/compressBatches.js +0 -83
- package/src/logging/config.js +0 -24
- package/src/logging/createLoggableService.js +0 -46
- package/src/logging/logExternalCall.js +0 -37
|
@@ -276,10 +276,29 @@ export const checklistPerformance = async ( req, res ) => {
|
|
|
276
276
|
toDate = new Date( toDate.getTime() - userTimezoneOffset );
|
|
277
277
|
toDate.setUTCHours( 23, 59, 59, 59 );
|
|
278
278
|
let result = {};
|
|
279
|
+
let checklistIdList = [];
|
|
279
280
|
|
|
280
281
|
let limit = parseInt( requestData?.limit ) || 10;
|
|
281
282
|
let skip = limit * ( requestData?.offset ) || 0;
|
|
282
283
|
|
|
284
|
+
const detectionPayload = {
|
|
285
|
+
'fromDate': requestData.fromDate,
|
|
286
|
+
'toDate': requestData.toDate,
|
|
287
|
+
'clientId': requestData.clientId,
|
|
288
|
+
'sortColumnName': requestData.sortColumnName,
|
|
289
|
+
'sortBy': requestData.sortBy,
|
|
290
|
+
'storeId': requestData.storeId,
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
let complianceURL = JSON.parse( process.env.LAMBDAURL ).complianceURL;
|
|
295
|
+
const complianceData = await LamdaServiceCall( complianceURL, detectionPayload );
|
|
296
|
+
if ( complianceData?.data?.length && requestData?.sortColumnName == 'questionCompliance' ) {
|
|
297
|
+
const end = skip + requestData?.limit;
|
|
298
|
+
checklistIdList = complianceData.data.slice( skip, end )?.map( ( ele ) => ele?.sourceCheckList_id );
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
|
|
283
302
|
// Get User Based Checklist //
|
|
284
303
|
// let loginUser = { clientId: requestData.clientId, role: req.user.role, userType: req.user.userType, userEmail: req.user.email };
|
|
285
304
|
// let getUserEmails = await getChecklistUsers( loginUser );
|
|
@@ -295,6 +314,10 @@ export const checklistPerformance = async ( req, res ) => {
|
|
|
295
314
|
{ $or: [ { store_id: { $in: requestData.storeId } }, { store_id: { $eq: '' }, userEmail: { $in: requestData.userEmailes } } ] },
|
|
296
315
|
);
|
|
297
316
|
|
|
317
|
+
if ( requestData?.sortColumnName == 'questionCompliance' ) {
|
|
318
|
+
findAndQuery.push( { sourceCheckList_id: { $in: checklistIdList } } );
|
|
319
|
+
}
|
|
320
|
+
|
|
298
321
|
findQuery.push( { $match: { $and: findAndQuery } } );
|
|
299
322
|
|
|
300
323
|
if ( requestData.searchValue && requestData.searchValue != '' ) {
|
|
@@ -344,16 +367,6 @@ export const checklistPerformance = async ( req, res ) => {
|
|
|
344
367
|
timeFlag: { $sum: '$timeFlag' },
|
|
345
368
|
questionFlagCount: { $sum: '$questionFlag' },
|
|
346
369
|
runAIFlagCount: { $sum: '$runAIFlag' },
|
|
347
|
-
userComplianceCountTotal: {
|
|
348
|
-
$sum: {
|
|
349
|
-
$cond: [
|
|
350
|
-
{ $eq: [ '$checklistStatus', 'submit' ] },
|
|
351
|
-
{ $ifNull: [ '$userComplianceCount', 0 ] },
|
|
352
|
-
0,
|
|
353
|
-
],
|
|
354
|
-
},
|
|
355
|
-
},
|
|
356
|
-
complianceCount: { $first: '$complianceCount' },
|
|
357
370
|
checkListType: { $last: '$checkListType' },
|
|
358
371
|
redo: { $sum: { $cond: [ { $eq: [ '$redoStatus', true ] }, 1, 0 ] } },
|
|
359
372
|
task: {
|
|
@@ -413,36 +426,6 @@ export const checklistPerformance = async ( req, res ) => {
|
|
|
413
426
|
checkListType: 1,
|
|
414
427
|
redo: 1,
|
|
415
428
|
task: 1,
|
|
416
|
-
questionCompliance: {
|
|
417
|
-
$let: {
|
|
418
|
-
vars: {
|
|
419
|
-
divisor: {
|
|
420
|
-
$cond: [
|
|
421
|
-
{ $gt: [ '$submittedChecklist', 1 ] },
|
|
422
|
-
{ $multiply: [ { $ifNull: [ '$complianceCount', 0 ] }, '$submittedChecklist' ] },
|
|
423
|
-
{ $ifNull: [ '$complianceCount', 0 ] },
|
|
424
|
-
],
|
|
425
|
-
},
|
|
426
|
-
},
|
|
427
|
-
in: {
|
|
428
|
-
$cond: [
|
|
429
|
-
{ $gt: [ '$$divisor', 0 ] },
|
|
430
|
-
{
|
|
431
|
-
$round: [
|
|
432
|
-
{
|
|
433
|
-
$multiply: [
|
|
434
|
-
{ $divide: [ '$userComplianceCountTotal', '$$divisor' ] },
|
|
435
|
-
100,
|
|
436
|
-
],
|
|
437
|
-
},
|
|
438
|
-
0,
|
|
439
|
-
],
|
|
440
|
-
},
|
|
441
|
-
0,
|
|
442
|
-
],
|
|
443
|
-
},
|
|
444
|
-
},
|
|
445
|
-
},
|
|
446
429
|
},
|
|
447
430
|
} );
|
|
448
431
|
|
|
@@ -467,6 +450,14 @@ export const checklistPerformance = async ( req, res ) => {
|
|
|
467
450
|
return res.sendError( 'no data found', 204 );
|
|
468
451
|
}
|
|
469
452
|
|
|
453
|
+
getChecklistPerformanceData?.[0]?.data.forEach( ( ele ) => {
|
|
454
|
+
let findCompliance;
|
|
455
|
+
if ( complianceData?.data?.length ) {
|
|
456
|
+
findCompliance = complianceData?.data?.find( ( data ) => data.sourceCheckList_id == ele?.sourceCheckList_id );
|
|
457
|
+
}
|
|
458
|
+
ele['questionComplianceRate'] = findCompliance?.compliancePercentage ?? 0;
|
|
459
|
+
} );
|
|
460
|
+
|
|
470
461
|
if ( requestData.export ) {
|
|
471
462
|
const exportdata = [];
|
|
472
463
|
getChecklistPerformanceData[0].data.forEach( ( element ) => {
|
|
@@ -4344,26 +4335,26 @@ function escapeRegex( text ) {
|
|
|
4344
4335
|
// }
|
|
4345
4336
|
// }
|
|
4346
4337
|
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4338
|
+
async function LamdaServiceCall( url, data ) {
|
|
4339
|
+
try {
|
|
4340
|
+
const requestOptions = {
|
|
4341
|
+
method: 'POST',
|
|
4342
|
+
headers: {
|
|
4343
|
+
'Content-Type': 'application/json',
|
|
4344
|
+
},
|
|
4345
|
+
body: JSON.stringify( data ),
|
|
4346
|
+
};
|
|
4347
|
+
console.log( data );
|
|
4348
|
+
const response = await fetch( url, requestOptions );
|
|
4349
|
+
if ( !response.ok ) {
|
|
4350
|
+
throw new Error( `Response status: ${response.status}` );
|
|
4351
|
+
return false;
|
|
4352
|
+
}
|
|
4353
|
+
const json = await response.json();
|
|
4354
|
+
return json;
|
|
4355
|
+
} catch ( error ) {
|
|
4356
|
+
console.log( error );
|
|
4357
|
+
logger.error( { error: error, message: data, function: 'LamdaServiceCall' } );
|
|
4358
|
+
return false;
|
|
4359
|
+
}
|
|
4360
|
+
}
|
package/src/hbs/flag.hbs
CHANGED
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
<td class="flagText" style="padding-left:30px; line-height: 24px;">No of Flags :</td>
|
|
177
177
|
<td></td>
|
|
178
178
|
<td></td>
|
|
179
|
-
<td class="flagText">{{data.flagCount}}
|
|
179
|
+
<td class="flagText">{{data.flagCount}}</td>
|
|
180
180
|
</tr>
|
|
181
181
|
<tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
|
|
182
182
|
<td class="flagText" style="padding-left:30px; line-height: 24px;">Submitted By :</td>
|