Built motion from commit bbec7235.|2.6.20
[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 _0x3e49=['existsSync','join','each','%s.%s','xlsx','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','util','path','lodash','json2xls','zip-dir','rimraf','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','split','splitSizeXlsx','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','SELECT','num','Empty','range','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','basename','.xlsx','length'];(function(_0xc8f777,_0xe9e88f){var _0x28bce1=function(_0x3d4da5){while(--_0x3d4da5){_0xc8f777['push'](_0xc8f777['shift']());}};_0x28bce1(++_0xe9e88f);}(_0x3e49,0xfb));var _0x93e4=function(_0x5cbf7b,_0x34e24b){_0x5cbf7b=_0x5cbf7b-0x0;var _0xc91356=_0x3e49[_0x5cbf7b];return _0xc91356;};'use strict';var util=require(_0x93e4('0x0'));var path=require(_0x93e4('0x1'));var _=require(_0x93e4('0x2'));var fs=require('fs');var json2xls=require(_0x93e4('0x3'));var BPromise=require('bluebird');var zipdir=require(_0x93e4('0x4'));var rimraf=require(_0x93e4('0x5'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')['dbH'];var logger=require('../../config/logger')(_0x93e4('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0x93e4('0x7')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x93e4('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x438831,_0x33390d){var _0x195909={'status':_0x438831};var _0x206a64={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x33390d){_0x195909[_0x93e4('0x8')]=_0x33390d;}return db[_0x93e4('0x9')]['update'](_0x195909,_0x206a64);}function main(){var _0x113d53=0x1388;var _0x53a943;logger[_0x93e4('0xa')](util[_0x93e4('0xb')](_0x93e4('0xc'),EXTRACTED_REPORT_ID,_0x93e4('0xd')));return db[_0x93e4('0xe')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x93e4('0xf'),_0x93e4('0x10')]})[_0x93e4('0x11')](function(_0x4d5d66){if(_0x4d5d66){_0x53a943=_0x4d5d66;_0x113d53=_0x53a943[_0x93e4('0x10')]||0x1388;}})[_0x93e4('0x11')](function(){return dbH['sequelize'][_0x93e4('0x12')](util[_0x93e4('0xb')](_0x93e4('0x13'),QUERY),{'type':dbH[_0x93e4('0x14')]['QueryTypes'][_0x93e4('0x15')]});})['then'](function(_0x4ba240){if(!_0x4ba240[0x0][_0x93e4('0x16')]){return analyticExtractedReport(_0x93e4('0x17'));}var _0x5b1a67=[];var _0x123da8=0x0;if(_0x53a943[_0x93e4('0xf')]){if(_0x4ba240&&_0x4ba240['length']){var _0xc5ce72=_[_0x93e4('0x18')](_0x4ba240[0x0]['num']/_0x113d53);var _0x238091=Number['isInteger'](_0x4ba240[0x0][_0x93e4('0x16')]/_0x113d53)?_0x4ba240[0x0][_0x93e4('0x16')]%_0x113d53:0x0;_0xc5ce72['forEach'](function(_0x3dfb94){if(_0x3dfb94>0x0){_0x123da8+=_0x113d53;}_0x5b1a67[_0x93e4('0x19')](dbH[_0x93e4('0x14')][_0x93e4('0x12')](util[_0x93e4('0xb')](_0x93e4('0x1a'),QUERY,_0x113d53,_0x123da8),{'type':dbH['sequelize']['QueryTypes'][_0x93e4('0x15')]}));});if(_0x238091>0x0){_0x123da8+=_0x113d53;_0x5b1a67[_0x93e4('0x19')](dbH[_0x93e4('0x14')]['query'](util['format'](_0x93e4('0x1a'),QUERY,_0x238091,_0x123da8),{'type':dbH[_0x93e4('0x14')][_0x93e4('0x1b')][_0x93e4('0x15')]}));}}}else{_0x5b1a67[_0x93e4('0x19')](dbH[_0x93e4('0x14')][_0x93e4('0x12')](QUERY,{'type':dbH[_0x93e4('0x14')][_0x93e4('0x1b')][_0x93e4('0x15')]}));}var _0x2bca42=path['dirname'](PATH);var _0xd3559e=path[_0x93e4('0x1c')](PATH,_0x93e4('0x1d'));var _0x2f259b=_0x53a943[_0x93e4('0xf')]&&_0x5b1a67[_0x93e4('0x1e')]>0x1;var _0x3761c9=[];if(!fs[_0x93e4('0x1f')](path[_0x93e4('0x20')](_0x2bca42,_0xd3559e))&&_0x2f259b){fs['mkdirSync'](path[_0x93e4('0x20')](_0x2bca42,_0xd3559e));}return BPromise[_0x93e4('0x21')](_0x5b1a67,function(_0x5ede08){_0x3761c9[_0x93e4('0x19')](_0x5ede08);})[_0x93e4('0x11')](function(){for(var _0x11055b=0x0;_0x11055b<_0x3761c9['length'];_0x11055b+=0x1){var _0x3b7701;var _0x1e88b9=_0x3761c9[_0x11055b];if(_0x2f259b){_0x3b7701=path[_0x93e4('0x20')](_0x2bca42,_0xd3559e,util['format']('%s%d.%s',_0xd3559e,_0x11055b,'xlsx'));}else{_0x3b7701=path[_0x93e4('0x20')](_0x2bca42,util[_0x93e4('0xb')](_0x93e4('0x22'),_0xd3559e,_0x93e4('0x23')));}fs[_0x93e4('0x24')](_0x3b7701,json2xls(_0x1e88b9),_0x93e4('0x25'));}})[_0x93e4('0x11')](function(){if(_0x2f259b){return new Promise(function(_0x1cc33a){zipdir(path['join'](_0x2bca42,_0xd3559e),{'saveTo':path[_0x93e4('0x20')](_0x2bca42,util[_0x93e4('0xb')]('%s.%s',_0xd3559e,_0x93e4('0x26')))},function(_0x5af911,_0x173746){rimraf(path['join'](_0x2bca42,_0xd3559e),function(){});_0x1cc33a(_0x93e4('0x27'));});});}})[_0x93e4('0x11')](function(){logger[_0x93e4('0xa')](util[_0x93e4('0xb')](_0x93e4('0x28'),EXTRACTED_REPORT_ID,_0x93e4('0xd')));return analyticExtractedReport(_0x93e4('0x29'),_0x2f259b?util['format']('%s.%s',_0xd3559e,_0x2f259b?_0x93e4('0x26'):_0x93e4('0x23')):null);});})['catch'](function(_0x3e912d){logger[_0x93e4('0xa')](util[_0x93e4('0xb')](_0x93e4('0x2a'),EXTRACTED_REPORT_ID,_0x93e4('0xd')),util[_0x93e4('0x2b')](_0x3e912d,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x93e4('0x2c'));})[_0x93e4('0x2d')](function(){process[_0x93e4('0x2e')](EXIT_CODE);});}main();