Built motion from commit b0a9a629.|2.6.33
[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 _0xf672=['exit','util','path','lodash','json2xls','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','sequelize','QueryTypes','SELECT','num','Empty','length','forEach','query','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename','existsSync','mkdirSync','join','each','then','%s%d.%s','xlsx','%s.%s','zip','zip\x20finished','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally'];(function(_0x1f56a1,_0x5842d9){var _0x495399=function(_0x866906){while(--_0x866906){_0x1f56a1['push'](_0x1f56a1['shift']());}};_0x495399(++_0x5842d9);}(_0xf672,0xc5));var _0x2f67=function(_0x45d3f0,_0x4be53f){_0x45d3f0=_0x45d3f0-0x0;var _0x314b79=_0xf672[_0x45d3f0];return _0x314b79;};'use strict';var util=require(_0x2f67('0x0'));var path=require(_0x2f67('0x1'));var _=require(_0x2f67('0x2'));var fs=require('fs');var json2xls=require(_0x2f67('0x3'));var BPromise=require('bluebird');var zipdir=require(_0x2f67('0x4'));var rimraf=require(_0x2f67('0x5'));var db=require(_0x2f67('0x6'))['db'];var dbH=require(_0x2f67('0x6'))['dbH'];var logger=require(_0x2f67('0x7'))(_0x2f67('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x2f67('0x9')][0x2]);var QUERY=process[_0x2f67('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x2cb46f,_0x4fcb30){var _0x4f0106={'status':_0x2cb46f};var _0x32bda0={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4fcb30){_0x4f0106['savename']=_0x4fcb30;}return db[_0x2f67('0xa')][_0x2f67('0xb')](_0x4f0106,_0x32bda0);}function main(){var _0x2a85ca=0x1388;var _0x398bbb;logger[_0x2f67('0xc')](util[_0x2f67('0xd')](_0x2f67('0xe'),EXTRACTED_REPORT_ID,_0x2f67('0xf')));return db[_0x2f67('0x10')][_0x2f67('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x2f67('0x12'),_0x2f67('0x13')]})['then'](function(_0x12ebb4){if(_0x12ebb4){_0x398bbb=_0x12ebb4;_0x2a85ca=_0x398bbb[_0x2f67('0x13')]||0x1388;}})['then'](function(){return dbH[_0x2f67('0x14')]['query'](util[_0x2f67('0xd')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x2f67('0x14')][_0x2f67('0x15')][_0x2f67('0x16')]});})['then'](function(_0x519931){if(!_0x519931[0x0][_0x2f67('0x17')]){return analyticExtractedReport(_0x2f67('0x18'));}var _0x2b2708=[];var _0x34429e=0x0;if(_0x398bbb[_0x2f67('0x12')]){if(_0x519931&&_0x519931[_0x2f67('0x19')]){var _0x116283=_['range'](_0x519931[0x0]['num']/_0x2a85ca);var _0x493bab=Number['isInteger'](_0x519931[0x0]['num']/_0x2a85ca)?_0x519931[0x0][_0x2f67('0x17')]%_0x2a85ca:0x0;_0x116283[_0x2f67('0x1a')](function(_0x53beeb){if(_0x53beeb>0x0){_0x34429e+=_0x2a85ca;}_0x2b2708['push'](dbH[_0x2f67('0x14')][_0x2f67('0x1b')](util[_0x2f67('0xd')](_0x2f67('0x1c'),QUERY,_0x2a85ca,_0x34429e),{'type':dbH[_0x2f67('0x14')]['QueryTypes']['SELECT']}));});if(_0x493bab>0x0){_0x34429e+=_0x2a85ca;_0x2b2708[_0x2f67('0x1d')](dbH[_0x2f67('0x14')]['query'](util[_0x2f67('0xd')](_0x2f67('0x1c'),QUERY,_0x493bab,_0x34429e),{'type':dbH[_0x2f67('0x14')][_0x2f67('0x15')][_0x2f67('0x16')]}));}}}else{_0x2b2708['push'](dbH[_0x2f67('0x14')][_0x2f67('0x1b')](QUERY,{'type':dbH[_0x2f67('0x14')][_0x2f67('0x15')][_0x2f67('0x16')]}));}var _0x5938e4=path[_0x2f67('0x1e')](PATH);var _0x3b43d7=path[_0x2f67('0x1f')](PATH,'.xlsx');var _0x59f257=_0x398bbb[_0x2f67('0x12')]&&_0x2b2708[_0x2f67('0x19')]>0x1;var _0x109483=[];if(!fs[_0x2f67('0x20')](path['join'](_0x5938e4,_0x3b43d7))&&_0x59f257){fs[_0x2f67('0x21')](path[_0x2f67('0x22')](_0x5938e4,_0x3b43d7));}return BPromise[_0x2f67('0x23')](_0x2b2708,function(_0x3d5d02){_0x109483['push'](_0x3d5d02);})[_0x2f67('0x24')](function(){for(var _0x11a039=0x0;_0x11a039<_0x109483['length'];_0x11a039+=0x1){var _0x113c5e;var _0x35c6ca=_0x109483[_0x11a039];if(_0x59f257){_0x113c5e=path[_0x2f67('0x22')](_0x5938e4,_0x3b43d7,util[_0x2f67('0xd')](_0x2f67('0x25'),_0x3b43d7,_0x11a039,_0x2f67('0x26')));}else{_0x113c5e=path[_0x2f67('0x22')](_0x5938e4,util[_0x2f67('0xd')](_0x2f67('0x27'),_0x3b43d7,'xlsx'));}fs['writeFileSync'](_0x113c5e,json2xls(_0x35c6ca),'binary');}})[_0x2f67('0x24')](function(){if(_0x59f257){return new Promise(function(_0x1a4a56){zipdir(path['join'](_0x5938e4,_0x3b43d7),{'saveTo':path['join'](_0x5938e4,util['format'](_0x2f67('0x27'),_0x3b43d7,_0x2f67('0x28')))},function(_0x4ef8db,_0x4f5d4d){rimraf(path[_0x2f67('0x22')](_0x5938e4,_0x3b43d7),function(){});_0x1a4a56(_0x2f67('0x29'));});});}})[_0x2f67('0x24')](function(){logger['info'](util[_0x2f67('0xd')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x2f67('0xf')));return analyticExtractedReport(_0x2f67('0x2a'),_0x59f257?util[_0x2f67('0xd')](_0x2f67('0x27'),_0x3b43d7,_0x59f257?_0x2f67('0x28'):'xlsx'):null);});})[_0x2f67('0x2b')](function(_0xbbb25b){logger['info'](util['format'](_0x2f67('0x2c'),EXTRACTED_REPORT_ID,_0x2f67('0xf')),util[_0x2f67('0x2d')](_0xbbb25b,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x2f67('0x2e'));})[_0x2f67('0x2f')](function(){process[_0x2f67('0x30')](EXIT_CODE);});}main();