tango-app-api-store-builder 1.0.15 → 1.0.17
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/package.json +1 -1
- package/src/controllers/fixtureTemplate.controller.js +1 -0
- package/src/controllers/managePlano.controller.js +1012 -899
- package/src/controllers/script.controller.js +110 -0
- package/src/controllers/storeBuilder.controller.js +982 -185
- package/src/routes/fixtureTemplate.routes.js +17 -17
- package/src/routes/managePlano.routes.js +21 -22
- package/src/routes/script.routes.js +2 -0
- package/src/routes/storeBuilder.routes.js +4 -3
- package/src/service/planoRevision.service.js +4 -0
|
@@ -27,6 +27,7 @@ import fs from 'fs';
|
|
|
27
27
|
import os from 'os';
|
|
28
28
|
import { fileURLToPath } from 'url';
|
|
29
29
|
import path from 'path';
|
|
30
|
+
const ObjectId=mongoose.Types.ObjectId;
|
|
30
31
|
|
|
31
32
|
const __filename = fileURLToPath( import.meta.url );
|
|
32
33
|
const __dirname = path.dirname( __filename );
|
|
@@ -17358,6 +17359,91 @@ async function createUser( data ) {
|
|
|
17358
17359
|
}
|
|
17359
17360
|
}
|
|
17360
17361
|
|
|
17362
|
+
export async function createLayout( req, res ) {
|
|
17363
|
+
try {
|
|
17364
|
+
let storeDetails = await storeService.find( { storeName: { $in: req.body.storeName }, clientId: req.body.clientId, status: 'active' }, { storeName: 1, storeId: 1 } );
|
|
17365
|
+
if ( !storeDetails ) {
|
|
17366
|
+
return res.sendError( 'No data found', 204 );
|
|
17367
|
+
}
|
|
17368
|
+
await Promise.all( storeDetails.map( async ( store ) => {
|
|
17369
|
+
let planoDetails = await storeBuilderService.find( { storeName: store.storeName }, { planoId: 1, _id: 1 } );
|
|
17370
|
+
await Promise.all( planoDetails.map( async ( task ) => {
|
|
17371
|
+
let getLayoutDetails = await processedTaskService.findOne( { storeName: store.storeName, planoType: 'layout' }, { _id: 1 } );
|
|
17372
|
+
if ( !getLayoutDetails ) {
|
|
17373
|
+
let data = {
|
|
17374
|
+
client_id: req.body.clientId,
|
|
17375
|
+
date_iso: new Date( dayjs().format( 'YYYY-MM-DD' ) ),
|
|
17376
|
+
date_string: dayjs().format( 'YYYY-MM-DD' ),
|
|
17377
|
+
sourceCheckList_id: new ObjectId(),
|
|
17378
|
+
checkListName: 'Layout Verification',
|
|
17379
|
+
checkListId: new ObjectId(),
|
|
17380
|
+
scheduleStartTime: dayjs().format( 'hh:mm A' ),
|
|
17381
|
+
scheduleEndTime: dayjs().format( 'hh:mm A' ),
|
|
17382
|
+
scheduleStartTime_iso: dayjs().format(),
|
|
17383
|
+
scheduleEndTime_iso: dayjs().format(),
|
|
17384
|
+
allowedOverTime: false,
|
|
17385
|
+
allowedStoreLocation: false,
|
|
17386
|
+
createdBy: new ObjectId(),
|
|
17387
|
+
createdByName: 'tango',
|
|
17388
|
+
questionAnswers: [],
|
|
17389
|
+
isdeleted: false,
|
|
17390
|
+
questionCount: 0,
|
|
17391
|
+
storeCount: 0,
|
|
17392
|
+
locationCount: 0,
|
|
17393
|
+
checkListType: 'task',
|
|
17394
|
+
country: '',
|
|
17395
|
+
store_id: store.storeId,
|
|
17396
|
+
storeName: store.storeName,
|
|
17397
|
+
userId: new ObjectId(),
|
|
17398
|
+
userName: 'tango',
|
|
17399
|
+
userEmail: 'tango@tangotech.co.in',
|
|
17400
|
+
checklistStatus: 'submit',
|
|
17401
|
+
timeFlagStatus: true,
|
|
17402
|
+
timeFlag: 0,
|
|
17403
|
+
questionFlag: 0,
|
|
17404
|
+
mobileDetectionFlag: 0,
|
|
17405
|
+
storeOpenCloseFlag: 0,
|
|
17406
|
+
reinitiateStatus: false,
|
|
17407
|
+
markasread: false,
|
|
17408
|
+
uniformDetectionFlag: 0,
|
|
17409
|
+
scheduleRepeatedType: 'daily',
|
|
17410
|
+
approvalStatus: false,
|
|
17411
|
+
approvalEnable: false,
|
|
17412
|
+
redoStatus: false,
|
|
17413
|
+
isPlano: true,
|
|
17414
|
+
planoType: 'layout',
|
|
17415
|
+
planoId: task.planoId,
|
|
17416
|
+
floorId: task._id,
|
|
17417
|
+
};
|
|
17418
|
+
|
|
17419
|
+
let taskData = await processedTaskService.create( data );
|
|
17420
|
+
let layoutData = {
|
|
17421
|
+
"date_string": dayjs().format( 'YYYY-MM-DD' ),
|
|
17422
|
+
"floorId": task._id,
|
|
17423
|
+
"fixtureId": null,
|
|
17424
|
+
"planoId": task.planoId,
|
|
17425
|
+
"taskType": "initial",
|
|
17426
|
+
"type": "layout",
|
|
17427
|
+
"taskId": taskData._id,
|
|
17428
|
+
"answers": [],
|
|
17429
|
+
"approvalStatus": "approved",
|
|
17430
|
+
"date_iso": new Date( dayjs().format( 'YYYY-MM-DD' ) ),
|
|
17431
|
+
"status": "complete",
|
|
17432
|
+
"storeId": store.storeId,
|
|
17433
|
+
"storeName": store.storeName,
|
|
17434
|
+
};
|
|
17435
|
+
await planoTaskService.create( layoutData );
|
|
17436
|
+
await storeBuilderService.updateOne( { _id: task._id }, { planoProgress: 50 } );
|
|
17437
|
+
}
|
|
17438
|
+
} ) );
|
|
17439
|
+
} ) );
|
|
17440
|
+
return res.sendSuccess( 'Layout SUbmitted Successfully' );
|
|
17441
|
+
} catch ( e ) {
|
|
17442
|
+
logger.error( { functionName: 'createLayout', error: e } );
|
|
17443
|
+
return res.sendError( e, 500 );
|
|
17444
|
+
}
|
|
17445
|
+
}
|
|
17446
|
+
|
|
17361
17447
|
async function standardizeHeaders() {
|
|
17362
17448
|
const headerMap = {
|
|
17363
17449
|
"Innovation": "Innovation",
|
|
@@ -18537,3 +18623,27 @@ async function updateMellerCollection() {
|
|
|
18537
18623
|
|
|
18538
18624
|
// updateMellerCollection();
|
|
18539
18625
|
|
|
18626
|
+
|
|
18627
|
+
export async function updateProduct( req, res ) {
|
|
18628
|
+
try {
|
|
18629
|
+
let query = [
|
|
18630
|
+
{
|
|
18631
|
+
$group: {
|
|
18632
|
+
_id: '$brandName',
|
|
18633
|
+
id: { $first: '$_id' },
|
|
18634
|
+
},
|
|
18635
|
+
},
|
|
18636
|
+
];
|
|
18637
|
+
let getProducts = await planoProductService.aggregate( query );
|
|
18638
|
+
if ( getProducts.length ) {
|
|
18639
|
+
await Promise.all( getProducts.map( async ( prod, index ) => {
|
|
18640
|
+
await planoProductService.updateOne( { _id: prod.id }, { rfId: req.body.rfId[index] } );
|
|
18641
|
+
} ) );
|
|
18642
|
+
}
|
|
18643
|
+
|
|
18644
|
+
return res.sendSuccess( 'Updated Successfully' );
|
|
18645
|
+
} catch ( e ) {
|
|
18646
|
+
logger.error( { functionName: "updateProduct", error: e } );
|
|
18647
|
+
return res.sendError( e, 500 );
|
|
18648
|
+
}
|
|
18649
|
+
}
|