Built motion from commit 58b0471d.|2.6.29
[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 _0xc6ec=['forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','format','dirname','basename','.xlsx','existsSync','join','mkdirSync','each','%s%d.%s','xlsx','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','savename','info','Setting','find','split','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','then','num','Empty','length','range','isInteger'];(function(_0xd1c39b,_0x16f0c6){var _0x58f5bc=function(_0x412cf3){while(--_0x412cf3){_0xd1c39b['push'](_0xd1c39b['shift']());}};_0x58f5bc(++_0x16f0c6);}(_0xc6ec,0x151));var _0xcc6e=function(_0x29e35f,_0x4859ef){_0x29e35f=_0x29e35f-0x0;var _0x266b74=_0xc6ec[_0x29e35f];return _0x266b74;};'use strict';var util=require(_0xcc6e('0x0'));var path=require(_0xcc6e('0x1'));var _=require(_0xcc6e('0x2'));var fs=require('fs');var json2xls=require(_0xcc6e('0x3'));var BPromise=require(_0xcc6e('0x4'));var zipdir=require(_0xcc6e('0x5'));var rimraf=require(_0xcc6e('0x6'));var db=require('../../mysqldb')['db'];var dbH=require(_0xcc6e('0x7'))['dbH'];var logger=require(_0xcc6e('0x8'))(_0xcc6e('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xcc6e('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x875b96,_0x110366){var _0x3110db={'status':_0x875b96};var _0x222242={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x110366){_0x3110db[_0xcc6e('0xb')]=_0x110366;}return db['AnalyticExtractedReport']['update'](_0x3110db,_0x222242);}function main(){var _0x37acc3=0x1388;var _0x46764e;logger[_0xcc6e('0xc')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'));return db[_0xcc6e('0xd')][_0xcc6e('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xcc6e('0xf'),'splitSizeXlsx']})['then'](function(_0x3b2fca){if(_0x3b2fca){_0x46764e=_0x3b2fca;_0x37acc3=_0x46764e['splitSizeXlsx']||0x1388;}})['then'](function(){return dbH['sequelize'][_0xcc6e('0x10')](util['format'](_0xcc6e('0x11'),QUERY),{'type':dbH[_0xcc6e('0x12')][_0xcc6e('0x13')][_0xcc6e('0x14')]});})[_0xcc6e('0x15')](function(_0x7dc9f){if(!_0x7dc9f[0x0][_0xcc6e('0x16')]){return analyticExtractedReport(_0xcc6e('0x17'));}var _0x45211a=[];var _0x59d670=0x0;if(_0x46764e['split']){if(_0x7dc9f&&_0x7dc9f[_0xcc6e('0x18')]){var _0xbaf203=_[_0xcc6e('0x19')](_0x7dc9f[0x0][_0xcc6e('0x16')]/_0x37acc3);var _0x2891b7=Number[_0xcc6e('0x1a')](_0x7dc9f[0x0][_0xcc6e('0x16')]/_0x37acc3)?_0x7dc9f[0x0][_0xcc6e('0x16')]%_0x37acc3:0x0;_0xbaf203[_0xcc6e('0x1b')](function(_0x2d1036){if(_0x2d1036>0x0){_0x59d670+=_0x37acc3;}_0x45211a[_0xcc6e('0x1c')](dbH[_0xcc6e('0x12')]['query'](util['format'](_0xcc6e('0x1d'),QUERY,_0x37acc3,_0x59d670),{'type':dbH[_0xcc6e('0x12')][_0xcc6e('0x13')][_0xcc6e('0x14')]}));});if(_0x2891b7>0x0){_0x59d670+=_0x37acc3;_0x45211a[_0xcc6e('0x1c')](dbH['sequelize']['query'](util[_0xcc6e('0x1e')](_0xcc6e('0x1d'),QUERY,_0x2891b7,_0x59d670),{'type':dbH[_0xcc6e('0x12')][_0xcc6e('0x13')]['SELECT']}));}}}else{_0x45211a[_0xcc6e('0x1c')](dbH[_0xcc6e('0x12')][_0xcc6e('0x10')](QUERY,{'type':dbH[_0xcc6e('0x12')]['QueryTypes'][_0xcc6e('0x14')]}));}var _0x1eb1d9=path[_0xcc6e('0x1f')](PATH);var _0x2b85a1=path[_0xcc6e('0x20')](PATH,_0xcc6e('0x21'));var _0x3ef078=_0x46764e[_0xcc6e('0xf')]&&_0x45211a[_0xcc6e('0x18')]>0x1;var _0x4b01c0=[];if(!fs[_0xcc6e('0x22')](path[_0xcc6e('0x23')](_0x1eb1d9,_0x2b85a1))&&_0x3ef078){fs[_0xcc6e('0x24')](path[_0xcc6e('0x23')](_0x1eb1d9,_0x2b85a1));}return BPromise[_0xcc6e('0x25')](_0x45211a,function(_0x33a2e3){_0x4b01c0['push'](_0x33a2e3);})[_0xcc6e('0x15')](function(){for(var _0x283d3f=0x0;_0x283d3f<_0x4b01c0['length'];_0x283d3f+=0x1){var _0x56c6c7;var _0x47e34b=_0x4b01c0[_0x283d3f];if(_0x3ef078){_0x56c6c7=path[_0xcc6e('0x23')](_0x1eb1d9,_0x2b85a1,util[_0xcc6e('0x1e')](_0xcc6e('0x26'),_0x2b85a1,_0x283d3f,_0xcc6e('0x27')));}else{_0x56c6c7=path['join'](_0x1eb1d9,util['format'](_0xcc6e('0x28'),_0x2b85a1,'xlsx'));}fs[_0xcc6e('0x29')](_0x56c6c7,json2xls(_0x47e34b),'binary');}})['then'](function(){if(_0x3ef078){return new Promise(function(_0x409f3c){zipdir(path[_0xcc6e('0x23')](_0x1eb1d9,_0x2b85a1),{'saveTo':path[_0xcc6e('0x23')](_0x1eb1d9,util['format'](_0xcc6e('0x28'),_0x2b85a1,_0xcc6e('0x2a')))},function(_0x179244,_0x3da509){rimraf(path[_0xcc6e('0x23')](_0x1eb1d9,_0x2b85a1),function(){});_0x409f3c(_0xcc6e('0x2b'));});});}})[_0xcc6e('0x15')](function(){logger[_0xcc6e('0xc')](util[_0xcc6e('0x1e')](_0xcc6e('0x2c'),EXTRACTED_REPORT_ID,_0xcc6e('0x2d')));return analyticExtractedReport('Completed',_0x3ef078?util[_0xcc6e('0x1e')](_0xcc6e('0x28'),_0x2b85a1,_0x3ef078?_0xcc6e('0x2a'):'xlsx'):null);});})[_0xcc6e('0x2e')](function(_0xd1e45a){logger[_0xcc6e('0xc')](util[_0xcc6e('0x1e')](_0xcc6e('0x2f'),EXTRACTED_REPORT_ID,_0xcc6e('0x2d')),util[_0xcc6e('0x30')](_0xd1e45a,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xcc6e('0x31'));})[_0xcc6e('0x32')](function(){process[_0xcc6e('0x33')](EXIT_CODE);});}main();