Built motion from commit 85328c08.|2.5.50
[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 _0x7d25=['../../mysqldb','argv','savename','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','Empty','num','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','SELECT','QueryTypes','dirname','basename','.xlsx','length','existsSync','join','mkdirSync','%s%d.%s','%s.%s','xlsx','binary','zip','zip\x20finished','info','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','exit','path','lodash','json2xls','bluebird','zip-dir','rimraf'];(function(_0x5cc8b9,_0x20e3c3){var _0x58892e=function(_0x87457a){while(--_0x87457a){_0x5cc8b9['push'](_0x5cc8b9['shift']());}};_0x58892e(++_0x20e3c3);}(_0x7d25,0x8a));var _0x57d2=function(_0x35885a,_0x42fed7){_0x35885a=_0x35885a-0x0;var _0xe86249=_0x7d25[_0x35885a];return _0xe86249;};'use strict';var util=require('util');var path=require(_0x57d2('0x0'));var _=require(_0x57d2('0x1'));var fs=require('fs');var json2xls=require(_0x57d2('0x2'));var BPromise=require(_0x57d2('0x3'));var zipdir=require(_0x57d2('0x4'));var rimraf=require(_0x57d2('0x5'));var db=require(_0x57d2('0x6'))['db'];var dbH=require('../../mysqldb')['dbH'];var logger=require('../../config/logger')('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x57d2('0x7')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x57d2('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x263d35,_0x147194){var _0x59ae87={'status':_0x263d35};var _0x49e3e5={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x147194){_0x59ae87[_0x57d2('0x8')]=_0x147194;}return db['AnalyticExtractedReport'][_0x57d2('0x9')](_0x59ae87,_0x49e3e5);}function main(){var _0x5153c2=0x1388;var _0xa04872;logger['info'](util[_0x57d2('0xa')](_0x57d2('0xb'),EXTRACTED_REPORT_ID,_0x57d2('0xc')));return db[_0x57d2('0xd')][_0x57d2('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x57d2('0xf'),_0x57d2('0x10')]})[_0x57d2('0x11')](function(_0x43d7fb){if(_0x43d7fb){_0xa04872=_0x43d7fb;_0x5153c2=_0xa04872[_0x57d2('0x10')]||0x1388;}})[_0x57d2('0x11')](function(){return dbH[_0x57d2('0x12')][_0x57d2('0x13')](util[_0x57d2('0xa')](_0x57d2('0x14'),QUERY),{'type':dbH[_0x57d2('0x12')]['QueryTypes']['SELECT']});})[_0x57d2('0x11')](function(_0x148ef3){if(!_0x148ef3[0x0]['num']){return analyticExtractedReport(_0x57d2('0x15'));}var _0x319489=[];var _0x4bb8f7=0x0;if(_0xa04872[_0x57d2('0xf')]){if(_0x148ef3&&_0x148ef3['length']){var _0x1f6e45=_['range'](_0x148ef3[0x0][_0x57d2('0x16')]/_0x5153c2);var _0x7d4cf1=Number[_0x57d2('0x17')](_0x148ef3[0x0]['num']/_0x5153c2)?_0x148ef3[0x0]['num']%_0x5153c2:0x0;_0x1f6e45[_0x57d2('0x18')](function(_0x2a41b0){if(_0x2a41b0>0x0){_0x4bb8f7+=_0x5153c2;}_0x319489[_0x57d2('0x19')](dbH[_0x57d2('0x12')]['query'](util[_0x57d2('0xa')](_0x57d2('0x1a'),QUERY,_0x5153c2,_0x4bb8f7),{'type':dbH['sequelize']['QueryTypes'][_0x57d2('0x1b')]}));});if(_0x7d4cf1>0x0){_0x4bb8f7+=_0x5153c2;_0x319489[_0x57d2('0x19')](dbH[_0x57d2('0x12')][_0x57d2('0x13')](util[_0x57d2('0xa')](_0x57d2('0x1a'),QUERY,_0x7d4cf1,_0x4bb8f7),{'type':dbH[_0x57d2('0x12')][_0x57d2('0x1c')][_0x57d2('0x1b')]}));}}}else{_0x319489[_0x57d2('0x19')](dbH[_0x57d2('0x12')][_0x57d2('0x13')](QUERY,{'type':dbH[_0x57d2('0x12')][_0x57d2('0x1c')]['SELECT']}));}var _0x424ddc=path[_0x57d2('0x1d')](PATH);var _0x3c7de8=path[_0x57d2('0x1e')](PATH,_0x57d2('0x1f'));var _0x5058be=_0xa04872[_0x57d2('0xf')]&&_0x319489[_0x57d2('0x20')]>0x1;var _0x995928=[];if(!fs[_0x57d2('0x21')](path[_0x57d2('0x22')](_0x424ddc,_0x3c7de8))&&_0x5058be){fs[_0x57d2('0x23')](path[_0x57d2('0x22')](_0x424ddc,_0x3c7de8));}return BPromise['each'](_0x319489,function(_0x1ae5ff){_0x995928[_0x57d2('0x19')](_0x1ae5ff);})[_0x57d2('0x11')](function(){for(var _0x1fe383=0x0;_0x1fe383<_0x995928[_0x57d2('0x20')];_0x1fe383+=0x1){var _0x7c33f3;var _0x1dd6cb=_0x995928[_0x1fe383];if(_0x5058be){_0x7c33f3=path[_0x57d2('0x22')](_0x424ddc,_0x3c7de8,util[_0x57d2('0xa')](_0x57d2('0x24'),_0x3c7de8,_0x1fe383,'xlsx'));}else{_0x7c33f3=path[_0x57d2('0x22')](_0x424ddc,util[_0x57d2('0xa')](_0x57d2('0x25'),_0x3c7de8,_0x57d2('0x26')));}fs['writeFileSync'](_0x7c33f3,json2xls(_0x1dd6cb),_0x57d2('0x27'));}})[_0x57d2('0x11')](function(){if(_0x5058be){return new Promise(function(_0x21152e){zipdir(path[_0x57d2('0x22')](_0x424ddc,_0x3c7de8),{'saveTo':path[_0x57d2('0x22')](_0x424ddc,util[_0x57d2('0xa')](_0x57d2('0x25'),_0x3c7de8,_0x57d2('0x28')))},function(_0x319fcf,_0x581cf7){rimraf(path[_0x57d2('0x22')](_0x424ddc,_0x3c7de8),function(){});_0x21152e(_0x57d2('0x29'));});});}})['then'](function(){logger[_0x57d2('0x2a')](util[_0x57d2('0xa')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x57d2('0xc')));return analyticExtractedReport(_0x57d2('0x2b'),_0x5058be?util[_0x57d2('0xa')](_0x57d2('0x25'),_0x3c7de8,_0x5058be?_0x57d2('0x28'):'xlsx'):null);});})['catch'](function(_0x581ebc){logger['info'](util[_0x57d2('0xa')](_0x57d2('0x2c'),EXTRACTED_REPORT_ID,_0x57d2('0xc')),util[_0x57d2('0x2d')](_0x581ebc,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x57d2('0x2e'));})['finally'](function(){process[_0x57d2('0x2f')](EXIT_CODE);});}main();