Built motion from commit e1760111.|2.6.18
[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 _0x0e3b=['Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','query','sequelize','QueryTypes','num','range','isInteger','push','%s\x20limit\x20%d\x20OFFSET\x20%d','SELECT','.xlsx','existsSync','join','each','length','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','update','info','format'];(function(_0x5b0563,_0x460c26){var _0x36fbbe=function(_0x1034d4){while(--_0x1034d4){_0x5b0563['push'](_0x5b0563['shift']());}};_0x36fbbe(++_0x460c26);}(_0x0e3b,0x125));var _0xb0e3=function(_0x2c3ca4,_0x104483){_0x2c3ca4=_0x2c3ca4-0x0;var _0x5f10f4=_0x0e3b[_0x2c3ca4];return _0x5f10f4;};'use strict';var util=require(_0xb0e3('0x0'));var path=require(_0xb0e3('0x1'));var _=require(_0xb0e3('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xb0e3('0x3'));var zipdir=require(_0xb0e3('0x4'));var rimraf=require(_0xb0e3('0x5'));var db=require('../../mysqldb')['db'];var dbH=require(_0xb0e3('0x6'))[_0xb0e3('0x7')];var logger=require('../../config/logger')(_0xb0e3('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0xb0e3('0x9')][0x2]);var QUERY=process[_0xb0e3('0x9')][0x3];var PATH=process[_0xb0e3('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x5c94f4,_0x29af3a){var _0x4a796f={'status':_0x5c94f4};var _0x6dda49={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x29af3a){_0x4a796f[_0xb0e3('0xa')]=_0x29af3a;}return db[_0xb0e3('0xb')][_0xb0e3('0xc')](_0x4a796f,_0x6dda49);}function main(){var _0x53b526=0x1388;var _0x4b90aa;logger[_0xb0e3('0xd')](util[_0xb0e3('0xe')](_0xb0e3('0xf'),EXTRACTED_REPORT_ID,_0xb0e3('0x10')));return db[_0xb0e3('0x11')][_0xb0e3('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xb0e3('0x13'),_0xb0e3('0x14')]})[_0xb0e3('0x15')](function(_0x46f71e){if(_0x46f71e){_0x4b90aa=_0x46f71e;_0x53b526=_0x4b90aa[_0xb0e3('0x14')]||0x1388;}})['then'](function(){return dbH['sequelize'][_0xb0e3('0x16')](util[_0xb0e3('0xe')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xb0e3('0x17')][_0xb0e3('0x18')]['SELECT']});})[_0xb0e3('0x15')](function(_0x5410b7){if(!_0x5410b7[0x0][_0xb0e3('0x19')]){return analyticExtractedReport('Empty');}var _0x3d20bb=[];var _0x4e1d97=0x0;if(_0x4b90aa[_0xb0e3('0x13')]){if(_0x5410b7&&_0x5410b7['length']){var _0x549ef5=_[_0xb0e3('0x1a')](_0x5410b7[0x0][_0xb0e3('0x19')]/_0x53b526);var _0x3d0866=Number[_0xb0e3('0x1b')](_0x5410b7[0x0][_0xb0e3('0x19')]/_0x53b526)?_0x5410b7[0x0][_0xb0e3('0x19')]%_0x53b526:0x0;_0x549ef5['forEach'](function(_0x512519){if(_0x512519>0x0){_0x4e1d97+=_0x53b526;}_0x3d20bb[_0xb0e3('0x1c')](dbH['sequelize'][_0xb0e3('0x16')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x53b526,_0x4e1d97),{'type':dbH[_0xb0e3('0x17')][_0xb0e3('0x18')]['SELECT']}));});if(_0x3d0866>0x0){_0x4e1d97+=_0x53b526;_0x3d20bb[_0xb0e3('0x1c')](dbH[_0xb0e3('0x17')][_0xb0e3('0x16')](util['format'](_0xb0e3('0x1d'),QUERY,_0x3d0866,_0x4e1d97),{'type':dbH[_0xb0e3('0x17')][_0xb0e3('0x18')][_0xb0e3('0x1e')]}));}}}else{_0x3d20bb[_0xb0e3('0x1c')](dbH['sequelize'][_0xb0e3('0x16')](QUERY,{'type':dbH['sequelize'][_0xb0e3('0x18')][_0xb0e3('0x1e')]}));}var _0x40bcce=path['dirname'](PATH);var _0x11ce90=path['basename'](PATH,_0xb0e3('0x1f'));var _0x5b1dfb=_0x4b90aa['split']&&_0x3d20bb['length']>0x1;var _0x44e9ce=[];if(!fs[_0xb0e3('0x20')](path[_0xb0e3('0x21')](_0x40bcce,_0x11ce90))&&_0x5b1dfb){fs['mkdirSync'](path[_0xb0e3('0x21')](_0x40bcce,_0x11ce90));}return BPromise[_0xb0e3('0x22')](_0x3d20bb,function(_0x34fe95){_0x44e9ce[_0xb0e3('0x1c')](_0x34fe95);})[_0xb0e3('0x15')](function(){for(var _0x370305=0x0;_0x370305<_0x44e9ce[_0xb0e3('0x23')];_0x370305+=0x1){var _0x8c728f;var _0x20dd68=_0x44e9ce[_0x370305];if(_0x5b1dfb){_0x8c728f=path[_0xb0e3('0x21')](_0x40bcce,_0x11ce90,util[_0xb0e3('0xe')](_0xb0e3('0x24'),_0x11ce90,_0x370305,_0xb0e3('0x25')));}else{_0x8c728f=path[_0xb0e3('0x21')](_0x40bcce,util[_0xb0e3('0xe')](_0xb0e3('0x26'),_0x11ce90,'xlsx'));}fs[_0xb0e3('0x27')](_0x8c728f,json2xls(_0x20dd68),_0xb0e3('0x28'));}})[_0xb0e3('0x15')](function(){if(_0x5b1dfb){return new Promise(function(_0x11f25c){zipdir(path[_0xb0e3('0x21')](_0x40bcce,_0x11ce90),{'saveTo':path[_0xb0e3('0x21')](_0x40bcce,util[_0xb0e3('0xe')](_0xb0e3('0x26'),_0x11ce90,'zip'))},function(_0xc18ef0,_0x2dab9b){rimraf(path['join'](_0x40bcce,_0x11ce90),function(){});_0x11f25c('zip\x20finished');});});}})['then'](function(){logger[_0xb0e3('0xd')](util[_0xb0e3('0xe')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xb0e3('0x10')));return analyticExtractedReport(_0xb0e3('0x29'),_0x5b1dfb?util[_0xb0e3('0xe')]('%s.%s',_0x11ce90,_0x5b1dfb?'zip':_0xb0e3('0x25')):null);});})['catch'](function(_0xa3e82d){logger[_0xb0e3('0xd')](util[_0xb0e3('0xe')](_0xb0e3('0x2a'),EXTRACTED_REPORT_ID,_0xb0e3('0x10')),util['inspect'](_0xa3e82d,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xb0e3('0x2b'));})['finally'](function(){process['exit'](EXIT_CODE);});}main();