Built motion from commit 753c950e.|2.5.42
[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 _0xbf17=['Failed','finally','exit','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','find','splitSizeXlsx','then','query','sequelize','num','split','length','range','isInteger','forEach','push','QueryTypes','SELECT','%s\x20limit\x20%d\x20OFFSET\x20%d','.xlsx','existsSync','join','mkdirSync','each','%s%d.%s','%s.%s','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect'];(function(_0x46cd49,_0x5db390){var _0x44c67d=function(_0x4de579){while(--_0x4de579){_0x46cd49['push'](_0x46cd49['shift']());}};_0x44c67d(++_0x5db390);}(_0xbf17,0x69));var _0x7bf1=function(_0x28c132,_0x1f5027){_0x28c132=_0x28c132-0x0;var _0x12109d=_0xbf17[_0x28c132];return _0x12109d;};'use strict';var util=require(_0x7bf1('0x0'));var path=require(_0x7bf1('0x1'));var _=require(_0x7bf1('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x7bf1('0x3'));var zipdir=require(_0x7bf1('0x4'));var rimraf=require(_0x7bf1('0x5'));var db=require(_0x7bf1('0x6'))['db'];var dbH=require(_0x7bf1('0x6'))[_0x7bf1('0x7')];var logger=require(_0x7bf1('0x8'))(_0x7bf1('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x7bf1('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x24080b,_0x49df0d){var _0x1b6d7a={'status':_0x24080b};var _0x8c3df4={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x49df0d){_0x1b6d7a[_0x7bf1('0xb')]=_0x49df0d;}return db[_0x7bf1('0xc')][_0x7bf1('0xd')](_0x1b6d7a,_0x8c3df4);}function main(){var _0x5d92df=0x1388;var _0x1dc744;logger[_0x7bf1('0xe')](util[_0x7bf1('0xf')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'));return db['Setting'][_0x7bf1('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeXlsx']})['then'](function(_0xb398e9){if(_0xb398e9){_0x1dc744=_0xb398e9;_0x5d92df=_0x1dc744[_0x7bf1('0x11')]||0x1388;}})[_0x7bf1('0x12')](function(){return dbH['sequelize'][_0x7bf1('0x13')](util[_0x7bf1('0xf')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x7bf1('0x14')]['QueryTypes']['SELECT']});})['then'](function(_0x22abb6){if(!_0x22abb6[0x0][_0x7bf1('0x15')]){return analyticExtractedReport('Empty');}var _0x1b4874=[];var _0x330e7b=0x0;if(_0x1dc744[_0x7bf1('0x16')]){if(_0x22abb6&&_0x22abb6[_0x7bf1('0x17')]){var _0x17dc4a=_[_0x7bf1('0x18')](_0x22abb6[0x0][_0x7bf1('0x15')]/_0x5d92df);var _0x2d3d4d=Number[_0x7bf1('0x19')](_0x22abb6[0x0][_0x7bf1('0x15')]/_0x5d92df)?_0x22abb6[0x0][_0x7bf1('0x15')]%_0x5d92df:0x0;_0x17dc4a[_0x7bf1('0x1a')](function(_0x184eee){if(_0x184eee>0x0){_0x330e7b+=_0x5d92df;}_0x1b4874[_0x7bf1('0x1b')](dbH[_0x7bf1('0x14')][_0x7bf1('0x13')](util[_0x7bf1('0xf')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x5d92df,_0x330e7b),{'type':dbH[_0x7bf1('0x14')][_0x7bf1('0x1c')][_0x7bf1('0x1d')]}));});if(_0x2d3d4d>0x0){_0x330e7b+=_0x5d92df;_0x1b4874['push'](dbH[_0x7bf1('0x14')]['query'](util['format'](_0x7bf1('0x1e'),QUERY,_0x2d3d4d,_0x330e7b),{'type':dbH['sequelize'][_0x7bf1('0x1c')][_0x7bf1('0x1d')]}));}}}else{_0x1b4874[_0x7bf1('0x1b')](dbH[_0x7bf1('0x14')]['query'](QUERY,{'type':dbH['sequelize'][_0x7bf1('0x1c')]['SELECT']}));}var _0x11c229=path['dirname'](PATH);var _0x4be9e1=path['basename'](PATH,_0x7bf1('0x1f'));var _0x4b9978=_0x1dc744[_0x7bf1('0x16')]&&_0x1b4874[_0x7bf1('0x17')]>0x1;var _0x3597e5=[];if(!fs[_0x7bf1('0x20')](path[_0x7bf1('0x21')](_0x11c229,_0x4be9e1))&&_0x4b9978){fs[_0x7bf1('0x22')](path[_0x7bf1('0x21')](_0x11c229,_0x4be9e1));}return BPromise[_0x7bf1('0x23')](_0x1b4874,function(_0x7182b8){_0x3597e5[_0x7bf1('0x1b')](_0x7182b8);})[_0x7bf1('0x12')](function(){for(var _0x2b78ee=0x0;_0x2b78ee<_0x3597e5[_0x7bf1('0x17')];_0x2b78ee+=0x1){var _0x57ce4e;var _0x5309b1=_0x3597e5[_0x2b78ee];if(_0x4b9978){_0x57ce4e=path['join'](_0x11c229,_0x4be9e1,util[_0x7bf1('0xf')](_0x7bf1('0x24'),_0x4be9e1,_0x2b78ee,'xlsx'));}else{_0x57ce4e=path['join'](_0x11c229,util[_0x7bf1('0xf')](_0x7bf1('0x25'),_0x4be9e1,'xlsx'));}fs[_0x7bf1('0x26')](_0x57ce4e,json2xls(_0x5309b1),_0x7bf1('0x27'));}})[_0x7bf1('0x12')](function(){if(_0x4b9978){return new Promise(function(_0x509955){zipdir(path['join'](_0x11c229,_0x4be9e1),{'saveTo':path['join'](_0x11c229,util['format'](_0x7bf1('0x25'),_0x4be9e1,_0x7bf1('0x28')))},function(_0x58bb34,_0x15de22){rimraf(path[_0x7bf1('0x21')](_0x11c229,_0x4be9e1),function(){});_0x509955(_0x7bf1('0x29'));});});}})['then'](function(){logger[_0x7bf1('0xe')](util['format'](_0x7bf1('0x2a'),EXTRACTED_REPORT_ID,_0x7bf1('0x2b')));return analyticExtractedReport(_0x7bf1('0x2c'),_0x4b9978?util[_0x7bf1('0xf')](_0x7bf1('0x25'),_0x4be9e1,_0x4b9978?_0x7bf1('0x28'):'xlsx'):null);});})[_0x7bf1('0x2d')](function(_0x2c4be7){logger[_0x7bf1('0xe')](util[_0x7bf1('0xf')](_0x7bf1('0x2e'),EXTRACTED_REPORT_ID,'XLSX'),util[_0x7bf1('0x2f')](_0x2c4be7,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x7bf1('0x30'));})[_0x7bf1('0x31')](function(){process[_0x7bf1('0x32')](EXIT_CODE);});}main();