c2c1abf29d4ce04fea2b5c63ee72bc2e4b3d5eb6
[motion2.git] / server / components / export / xlsx.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x4381=['SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','mkdirSync','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','update','info','XLSX','Setting','split','then','splitSizeXlsx','sequelize','query','format'];(function(_0x1e0624,_0x911ad7){var _0x3f67ab=function(_0x1440bf){while(--_0x1440bf){_0x1e0624['push'](_0x1e0624['shift']());}};_0x3f67ab(++_0x911ad7);}(_0x4381,0x1f1));var _0x1438=function(_0x4eb77e,_0x1eab21){_0x4eb77e=_0x4eb77e-0x0;var _0x418bde=_0x4381[_0x4eb77e];return _0x418bde;};'use strict';var util=require(_0x1438('0x0'));var path=require(_0x1438('0x1'));var _=require(_0x1438('0x2'));var fs=require('fs');var json2xls=require(_0x1438('0x3'));var BPromise=require(_0x1438('0x4'));var zipdir=require(_0x1438('0x5'));var rimraf=require(_0x1438('0x6'));var db=require(_0x1438('0x7'))['db'];var dbH=require(_0x1438('0x7'))[_0x1438('0x8')];var logger=require('../../config/logger')(_0x1438('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x1438('0xa')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x36b30b,_0x132c9a){var _0xc70899={'status':_0x36b30b};var _0x1c5ba8={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x132c9a){_0xc70899[_0x1438('0xb')]=_0x132c9a;}return db[_0x1438('0xc')][_0x1438('0xd')](_0xc70899,_0x1c5ba8);}function main(){var _0x458c72=0x1388;var _0x312850;logger[_0x1438('0xe')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x1438('0xf')));return db[_0x1438('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x1438('0x11'),'splitSizeXlsx']})[_0x1438('0x12')](function(_0x268db4){if(_0x268db4){_0x312850=_0x268db4;_0x458c72=_0x312850[_0x1438('0x13')]||0x1388;}})[_0x1438('0x12')](function(){return dbH[_0x1438('0x14')][_0x1438('0x15')](util[_0x1438('0x16')](_0x1438('0x17'),QUERY),{'type':dbH[_0x1438('0x14')][_0x1438('0x18')][_0x1438('0x19')]});})[_0x1438('0x12')](function(_0x36c0fd){if(!_0x36c0fd[0x0][_0x1438('0x1a')]){return analyticExtractedReport(_0x1438('0x1b'));}var _0x2eb2bb=[];var _0xaf4596=0x0;if(_0x312850[_0x1438('0x11')]){if(_0x36c0fd&&_0x36c0fd[_0x1438('0x1c')]){var _0x598e08=_['range'](_0x36c0fd[0x0]['num']/_0x458c72);var _0x2b2bcd=Number['isInteger'](_0x36c0fd[0x0]['num']/_0x458c72)?_0x36c0fd[0x0][_0x1438('0x1a')]%_0x458c72:0x0;_0x598e08[_0x1438('0x1d')](function(_0x18defa){if(_0x18defa>0x0){_0xaf4596+=_0x458c72;}_0x2eb2bb[_0x1438('0x1e')](dbH[_0x1438('0x14')][_0x1438('0x15')](util[_0x1438('0x16')](_0x1438('0x1f'),QUERY,_0x458c72,_0xaf4596),{'type':dbH[_0x1438('0x14')]['QueryTypes'][_0x1438('0x19')]}));});if(_0x2b2bcd>0x0){_0xaf4596+=_0x458c72;_0x2eb2bb[_0x1438('0x1e')](dbH[_0x1438('0x14')][_0x1438('0x15')](util[_0x1438('0x16')](_0x1438('0x1f'),QUERY,_0x2b2bcd,_0xaf4596),{'type':dbH[_0x1438('0x14')][_0x1438('0x18')][_0x1438('0x19')]}));}}}else{_0x2eb2bb[_0x1438('0x1e')](dbH[_0x1438('0x14')][_0x1438('0x15')](QUERY,{'type':dbH[_0x1438('0x14')][_0x1438('0x18')][_0x1438('0x19')]}));}var _0x49fab3=path[_0x1438('0x20')](PATH);var _0xd9f837=path[_0x1438('0x21')](PATH,_0x1438('0x22'));var _0x637417=_0x312850[_0x1438('0x11')]&&_0x2eb2bb['length']>0x1;var _0x54c1b6=[];if(!fs['existsSync'](path['join'](_0x49fab3,_0xd9f837))&&_0x637417){fs[_0x1438('0x23')](path[_0x1438('0x24')](_0x49fab3,_0xd9f837));}return BPromise[_0x1438('0x25')](_0x2eb2bb,function(_0x89d3b){_0x54c1b6[_0x1438('0x1e')](_0x89d3b);})['then'](function(){for(var _0x3768cf=0x0;_0x3768cf<_0x54c1b6[_0x1438('0x1c')];_0x3768cf+=0x1){var _0x4d5911;var _0x1a0eb8=_0x54c1b6[_0x3768cf];if(_0x637417){_0x4d5911=path[_0x1438('0x24')](_0x49fab3,_0xd9f837,util[_0x1438('0x16')](_0x1438('0x26'),_0xd9f837,_0x3768cf,_0x1438('0x27')));}else{_0x4d5911=path[_0x1438('0x24')](_0x49fab3,util['format'](_0x1438('0x28'),_0xd9f837,_0x1438('0x27')));}fs[_0x1438('0x29')](_0x4d5911,json2xls(_0x1a0eb8),_0x1438('0x2a'));}})[_0x1438('0x12')](function(){if(_0x637417){return new Promise(function(_0x450332){zipdir(path[_0x1438('0x24')](_0x49fab3,_0xd9f837),{'saveTo':path[_0x1438('0x24')](_0x49fab3,util[_0x1438('0x16')](_0x1438('0x28'),_0xd9f837,_0x1438('0x2b')))},function(_0x226874,_0xa1f047){rimraf(path['join'](_0x49fab3,_0xd9f837),function(){});_0x450332('zip\x20finished');});});}})[_0x1438('0x12')](function(){logger[_0x1438('0xe')](util[_0x1438('0x16')](_0x1438('0x2c'),EXTRACTED_REPORT_ID,_0x1438('0xf')));return analyticExtractedReport(_0x1438('0x2d'),_0x637417?util[_0x1438('0x16')](_0x1438('0x28'),_0xd9f837,_0x637417?_0x1438('0x2b'):_0x1438('0x27')):null);});})[_0x1438('0x2e')](function(_0x4ae82d){logger[_0x1438('0xe')](util[_0x1438('0x16')](_0x1438('0x2f'),EXTRACTED_REPORT_ID,_0x1438('0xf')),util[_0x1438('0x30')](_0x4ae82d,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x1438('0x31'));})[_0x1438('0x32')](function(){process[_0x1438('0x33')](EXIT_CODE);});}main();