Built motion from commit b5413ace.|2.6.9
[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 _0xfa0b=['range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','SELECT','dirname','.xlsx','existsSync','mkdirSync','each','join','xlsx','format','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','exit','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','info','XLSX','Setting','find','split','then','splitSizeXlsx','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','num','Empty','length'];(function(_0x4c445a,_0x4ee80f){var _0x2f611c=function(_0x4f3699){while(--_0x4f3699){_0x4c445a['push'](_0x4c445a['shift']());}};_0x2f611c(++_0x4ee80f);}(_0xfa0b,0x1b1));var _0xbfa0=function(_0x12d121,_0x1ef59d){_0x12d121=_0x12d121-0x0;var _0x1af836=_0xfa0b[_0x12d121];return _0x1af836;};'use strict';var util=require(_0xbfa0('0x0'));var path=require(_0xbfa0('0x1'));var _=require(_0xbfa0('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xbfa0('0x3'));var zipdir=require(_0xbfa0('0x4'));var rimraf=require(_0xbfa0('0x5'));var db=require(_0xbfa0('0x6'))['db'];var dbH=require(_0xbfa0('0x6'))[_0xbfa0('0x7')];var logger=require(_0xbfa0('0x8'))(_0xbfa0('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xbfa0('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x4e3933,_0x14fe83){var _0xf8d09d={'status':_0x4e3933};var _0x46d25e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x14fe83){_0xf8d09d[_0xbfa0('0xb')]=_0x14fe83;}return db['AnalyticExtractedReport']['update'](_0xf8d09d,_0x46d25e);}function main(){var _0x30eb31=0x1388;var _0x10f51c;logger[_0xbfa0('0xc')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xbfa0('0xd')));return db[_0xbfa0('0xe')][_0xbfa0('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xbfa0('0x10'),'splitSizeXlsx']})[_0xbfa0('0x11')](function(_0x581ef5){if(_0x581ef5){_0x10f51c=_0x581ef5;_0x30eb31=_0x10f51c[_0xbfa0('0x12')]||0x1388;}})[_0xbfa0('0x11')](function(){return dbH[_0xbfa0('0x13')][_0xbfa0('0x14')](util['format'](_0xbfa0('0x15'),QUERY),{'type':dbH[_0xbfa0('0x13')][_0xbfa0('0x16')]['SELECT']});})['then'](function(_0x231fe4){if(!_0x231fe4[0x0][_0xbfa0('0x17')]){return analyticExtractedReport(_0xbfa0('0x18'));}var _0x7d3671=[];var _0x4e1f56=0x0;if(_0x10f51c[_0xbfa0('0x10')]){if(_0x231fe4&&_0x231fe4[_0xbfa0('0x19')]){var _0x39b117=_[_0xbfa0('0x1a')](_0x231fe4[0x0]['num']/_0x30eb31);var _0xd9f706=Number[_0xbfa0('0x1b')](_0x231fe4[0x0][_0xbfa0('0x17')]/_0x30eb31)?_0x231fe4[0x0][_0xbfa0('0x17')]%_0x30eb31:0x0;_0x39b117[_0xbfa0('0x1c')](function(_0x2628a9){if(_0x2628a9>0x0){_0x4e1f56+=_0x30eb31;}_0x7d3671[_0xbfa0('0x1d')](dbH[_0xbfa0('0x13')][_0xbfa0('0x14')](util['format'](_0xbfa0('0x1e'),QUERY,_0x30eb31,_0x4e1f56),{'type':dbH[_0xbfa0('0x13')][_0xbfa0('0x16')][_0xbfa0('0x1f')]}));});if(_0xd9f706>0x0){_0x4e1f56+=_0x30eb31;_0x7d3671[_0xbfa0('0x1d')](dbH[_0xbfa0('0x13')][_0xbfa0('0x14')](util['format'](_0xbfa0('0x1e'),QUERY,_0xd9f706,_0x4e1f56),{'type':dbH[_0xbfa0('0x13')][_0xbfa0('0x16')][_0xbfa0('0x1f')]}));}}}else{_0x7d3671[_0xbfa0('0x1d')](dbH[_0xbfa0('0x13')][_0xbfa0('0x14')](QUERY,{'type':dbH[_0xbfa0('0x13')][_0xbfa0('0x16')][_0xbfa0('0x1f')]}));}var _0x552a9b=path[_0xbfa0('0x20')](PATH);var _0x34d145=path['basename'](PATH,_0xbfa0('0x21'));var _0x8c9f36=_0x10f51c[_0xbfa0('0x10')]&&_0x7d3671[_0xbfa0('0x19')]>0x1;var _0x2b51d2=[];if(!fs[_0xbfa0('0x22')](path['join'](_0x552a9b,_0x34d145))&&_0x8c9f36){fs[_0xbfa0('0x23')](path['join'](_0x552a9b,_0x34d145));}return BPromise[_0xbfa0('0x24')](_0x7d3671,function(_0x229b13){_0x2b51d2[_0xbfa0('0x1d')](_0x229b13);})[_0xbfa0('0x11')](function(){for(var _0x4b1c70=0x0;_0x4b1c70<_0x2b51d2[_0xbfa0('0x19')];_0x4b1c70+=0x1){var _0x4d13f5;var _0x1a534c=_0x2b51d2[_0x4b1c70];if(_0x8c9f36){_0x4d13f5=path[_0xbfa0('0x25')](_0x552a9b,_0x34d145,util['format']('%s%d.%s',_0x34d145,_0x4b1c70,_0xbfa0('0x26')));}else{_0x4d13f5=path[_0xbfa0('0x25')](_0x552a9b,util[_0xbfa0('0x27')](_0xbfa0('0x28'),_0x34d145,'xlsx'));}fs[_0xbfa0('0x29')](_0x4d13f5,json2xls(_0x1a534c),'binary');}})[_0xbfa0('0x11')](function(){if(_0x8c9f36){return new Promise(function(_0xfc2bdb){zipdir(path[_0xbfa0('0x25')](_0x552a9b,_0x34d145),{'saveTo':path['join'](_0x552a9b,util[_0xbfa0('0x27')]('%s.%s',_0x34d145,_0xbfa0('0x2a')))},function(_0x3edb7f,_0x20b6d7){rimraf(path[_0xbfa0('0x25')](_0x552a9b,_0x34d145),function(){});_0xfc2bdb(_0xbfa0('0x2b'));});});}})[_0xbfa0('0x11')](function(){logger[_0xbfa0('0xc')](util[_0xbfa0('0x27')](_0xbfa0('0x2c'),EXTRACTED_REPORT_ID,_0xbfa0('0xd')));return analyticExtractedReport(_0xbfa0('0x2d'),_0x8c9f36?util[_0xbfa0('0x27')]('%s.%s',_0x34d145,_0x8c9f36?_0xbfa0('0x2a'):_0xbfa0('0x26')):null);});})[_0xbfa0('0x2e')](function(_0x3cba81){logger[_0xbfa0('0xc')](util['format'](_0xbfa0('0x2f'),EXTRACTED_REPORT_ID,_0xbfa0('0xd')),util[_0xbfa0('0x30')](_0x3cba81,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xbfa0('0x31'));})['finally'](function(){process[_0xbfa0('0x32')](EXIT_CODE);});}main();