Built motion from commit 14588770.|2.5.38
[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 _0xa6ac=['then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','length','join','mkdirSync','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','path','json2xls','bluebird','zip-dir','../../mysqldb','../../config/logger','analytics','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','find','split','splitSizeXlsx'];(function(_0x5ea27c,_0x1ab085){var _0x49a664=function(_0x829505){while(--_0x829505){_0x5ea27c['push'](_0x5ea27c['shift']());}};_0x49a664(++_0x1ab085);}(_0xa6ac,0x1c5));var _0xca6a=function(_0x477950,_0x2465e9){_0x477950=_0x477950-0x0;var _0x25db25=_0xa6ac[_0x477950];return _0x25db25;};'use strict';var util=require('util');var path=require(_0xca6a('0x0'));var _=require('lodash');var fs=require('fs');var json2xls=require(_0xca6a('0x1'));var BPromise=require(_0xca6a('0x2'));var zipdir=require(_0xca6a('0x3'));var rimraf=require('rimraf');var db=require(_0xca6a('0x4'))['db'];var dbH=require(_0xca6a('0x4'))['dbH'];var logger=require(_0xca6a('0x5'))(_0xca6a('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0xca6a('0x7')][0x2]);var QUERY=process[_0xca6a('0x7')][0x3];var PATH=process[_0xca6a('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x521d96,_0x3c61c2){var _0x4742c2={'status':_0x521d96};var _0x119396={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3c61c2){_0x4742c2[_0xca6a('0x8')]=_0x3c61c2;}return db['AnalyticExtractedReport'][_0xca6a('0x9')](_0x4742c2,_0x119396);}function main(){var _0x491828=0x1388;var _0x27bee6;logger[_0xca6a('0xa')](util[_0xca6a('0xb')](_0xca6a('0xc'),EXTRACTED_REPORT_ID,_0xca6a('0xd')));return db['Setting'][_0xca6a('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xca6a('0xf'),_0xca6a('0x10')]})[_0xca6a('0x11')](function(_0x5b108b){if(_0x5b108b){_0x27bee6=_0x5b108b;_0x491828=_0x27bee6[_0xca6a('0x10')]||0x1388;}})[_0xca6a('0x11')](function(){return dbH[_0xca6a('0x12')][_0xca6a('0x13')](util[_0xca6a('0xb')](_0xca6a('0x14'),QUERY),{'type':dbH['sequelize'][_0xca6a('0x15')][_0xca6a('0x16')]});})[_0xca6a('0x11')](function(_0x2ef1e3){if(!_0x2ef1e3[0x0][_0xca6a('0x17')]){return analyticExtractedReport(_0xca6a('0x18'));}var _0x3d8df0=[];var _0x4d0c94=0x0;if(_0x27bee6[_0xca6a('0xf')]){if(_0x2ef1e3&&_0x2ef1e3['length']){var _0x1f9158=_['range'](_0x2ef1e3[0x0]['num']/_0x491828);var _0x9422b6=Number['isInteger'](_0x2ef1e3[0x0]['num']/_0x491828)?_0x2ef1e3[0x0][_0xca6a('0x17')]%_0x491828:0x0;_0x1f9158['forEach'](function(_0x297286){if(_0x297286>0x0){_0x4d0c94+=_0x491828;}_0x3d8df0[_0xca6a('0x19')](dbH[_0xca6a('0x12')]['query'](util[_0xca6a('0xb')](_0xca6a('0x1a'),QUERY,_0x491828,_0x4d0c94),{'type':dbH['sequelize']['QueryTypes'][_0xca6a('0x16')]}));});if(_0x9422b6>0x0){_0x4d0c94+=_0x491828;_0x3d8df0[_0xca6a('0x19')](dbH[_0xca6a('0x12')][_0xca6a('0x13')](util[_0xca6a('0xb')](_0xca6a('0x1a'),QUERY,_0x9422b6,_0x4d0c94),{'type':dbH[_0xca6a('0x12')][_0xca6a('0x15')][_0xca6a('0x16')]}));}}}else{_0x3d8df0[_0xca6a('0x19')](dbH[_0xca6a('0x12')]['query'](QUERY,{'type':dbH[_0xca6a('0x12')]['QueryTypes'][_0xca6a('0x16')]}));}var _0x2f4e7e=path[_0xca6a('0x1b')](PATH);var _0x5058e4=path[_0xca6a('0x1c')](PATH,_0xca6a('0x1d'));var _0x44088e=_0x27bee6[_0xca6a('0xf')]&&_0x3d8df0[_0xca6a('0x1e')]>0x1;var _0x13f0d1=[];if(!fs['existsSync'](path[_0xca6a('0x1f')](_0x2f4e7e,_0x5058e4))&&_0x44088e){fs[_0xca6a('0x20')](path[_0xca6a('0x1f')](_0x2f4e7e,_0x5058e4));}return BPromise[_0xca6a('0x21')](_0x3d8df0,function(_0x233fdc){_0x13f0d1['push'](_0x233fdc);})[_0xca6a('0x11')](function(){for(var _0x5eaf5f=0x0;_0x5eaf5f<_0x13f0d1[_0xca6a('0x1e')];_0x5eaf5f+=0x1){var _0x3ac527;var _0x2009b7=_0x13f0d1[_0x5eaf5f];if(_0x44088e){_0x3ac527=path[_0xca6a('0x1f')](_0x2f4e7e,_0x5058e4,util[_0xca6a('0xb')](_0xca6a('0x22'),_0x5058e4,_0x5eaf5f,_0xca6a('0x23')));}else{_0x3ac527=path[_0xca6a('0x1f')](_0x2f4e7e,util[_0xca6a('0xb')](_0xca6a('0x24'),_0x5058e4,'xlsx'));}fs[_0xca6a('0x25')](_0x3ac527,json2xls(_0x2009b7),_0xca6a('0x26'));}})['then'](function(){if(_0x44088e){return new Promise(function(_0x6f2b77){zipdir(path['join'](_0x2f4e7e,_0x5058e4),{'saveTo':path['join'](_0x2f4e7e,util[_0xca6a('0xb')](_0xca6a('0x24'),_0x5058e4,_0xca6a('0x27')))},function(_0x3cd806,_0x58f13e){rimraf(path[_0xca6a('0x1f')](_0x2f4e7e,_0x5058e4),function(){});_0x6f2b77('zip\x20finished');});});}})['then'](function(){logger[_0xca6a('0xa')](util[_0xca6a('0xb')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xca6a('0xd')));return analyticExtractedReport(_0xca6a('0x28'),_0x44088e?util[_0xca6a('0xb')](_0xca6a('0x24'),_0x5058e4,_0x44088e?'zip':'xlsx'):null);});})[_0xca6a('0x29')](function(_0x20d830){logger[_0xca6a('0xa')](util['format'](_0xca6a('0x2a'),EXTRACTED_REPORT_ID,_0xca6a('0xd')),util[_0xca6a('0x2b')](_0x20d830,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xca6a('0x2c'));})[_0xca6a('0x2d')](function(){process[_0xca6a('0x2e')](EXIT_CODE);});}main();