Built motion from commit (unavailable).|2.5.26
[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 _0x3dda=['push','dirname','join','each','xlsx','binary','%s.%s','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','inspect','Failed','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','info','format','XLSX','Setting','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length'];(function(_0x1bf8f5,_0x28f62c){var _0x36a54e=function(_0x43ba61){while(--_0x43ba61){_0x1bf8f5['push'](_0x1bf8f5['shift']());}};_0x36a54e(++_0x28f62c);}(_0x3dda,0x1a7));var _0xa3dd=function(_0x5d1df9,_0x4a95bf){_0x5d1df9=_0x5d1df9-0x0;var _0x5d4feb=_0x3dda[_0x5d1df9];return _0x5d4feb;};'use strict';var util=require(_0xa3dd('0x0'));var path=require(_0xa3dd('0x1'));var _=require(_0xa3dd('0x2'));var fs=require('fs');var json2xls=require(_0xa3dd('0x3'));var BPromise=require(_0xa3dd('0x4'));var zipdir=require(_0xa3dd('0x5'));var rimraf=require(_0xa3dd('0x6'));var db=require('../../mysqldb')['db'];var dbH=require(_0xa3dd('0x7'))[_0xa3dd('0x8')];var logger=require(_0xa3dd('0x9'))(_0xa3dd('0xa'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xa3dd('0xb')][0x3];var PATH=process[_0xa3dd('0xb')][0x4];function analyticExtractedReport(_0x7a85e0,_0x398913){var _0x3cad6d={'status':_0x7a85e0};var _0x2ad9e0={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x398913){_0x3cad6d['savename']=_0x398913;}return db[_0xa3dd('0xc')]['update'](_0x3cad6d,_0x2ad9e0);}function main(){var _0x56b6e4=0x1388;var _0x37f738;logger[_0xa3dd('0xd')](util[_0xa3dd('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xa3dd('0xf')));return db[_0xa3dd('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xa3dd('0x11'),_0xa3dd('0x12')]})['then'](function(_0x3125ad){if(_0x3125ad){_0x37f738=_0x3125ad;_0x56b6e4=_0x37f738[_0xa3dd('0x12')]||0x1388;}})[_0xa3dd('0x13')](function(){return dbH[_0xa3dd('0x14')][_0xa3dd('0x15')](util[_0xa3dd('0xe')](_0xa3dd('0x16'),QUERY),{'type':dbH[_0xa3dd('0x14')][_0xa3dd('0x17')][_0xa3dd('0x18')]});})['then'](function(_0x4732a0){if(!_0x4732a0[0x0][_0xa3dd('0x19')]){return analyticExtractedReport(_0xa3dd('0x1a'));}var _0x3e2b6c=[];var _0x5268c8=0x0;var _0x1a700c=!![];if(_0x37f738['split']){if(_0x4732a0&&_0x4732a0[_0xa3dd('0x1b')]){var _0x2c6d9c=_0x4732a0[0x0][_0xa3dd('0x19')]%(_0x5268c8+_0x56b6e4);for(;_0x1a700c;_0x5268c8+=_0x56b6e4,_0x2c6d9c=_0x4732a0[0x0]['num']%(_0x5268c8+_0x56b6e4)){if(_0x2c6d9c==0x0||_0x2c6d9c==_0x4732a0[0x0][_0xa3dd('0x19')]){_0x1a700c=![];}_0x3e2b6c[_0xa3dd('0x1c')](dbH[_0xa3dd('0x14')][_0xa3dd('0x15')](util[_0xa3dd('0xe')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x56b6e4,_0x5268c8),{'type':dbH[_0xa3dd('0x14')][_0xa3dd('0x17')][_0xa3dd('0x18')]}));}}}else{_0x3e2b6c['push'](dbH[_0xa3dd('0x14')]['query'](QUERY,{'type':dbH[_0xa3dd('0x14')][_0xa3dd('0x17')][_0xa3dd('0x18')]}));}var _0x41bc01=path[_0xa3dd('0x1d')](PATH);var _0x2d457c=path['basename'](PATH,'.xlsx');var _0x239d16=_0x37f738[_0xa3dd('0x11')]&&_0x3e2b6c[_0xa3dd('0x1b')]>0x1;var _0x31675d=[];if(!fs['existsSync'](path[_0xa3dd('0x1e')](_0x41bc01,_0x2d457c))&&_0x239d16){fs['mkdirSync'](path[_0xa3dd('0x1e')](_0x41bc01,_0x2d457c));}return BPromise[_0xa3dd('0x1f')](_0x3e2b6c,function(_0x308a91){_0x31675d['push'](_0x308a91);})['then'](function(){for(var _0xb441e0=0x0;_0xb441e0<_0x31675d[_0xa3dd('0x1b')];_0xb441e0+=0x1){var _0x1db3ae;var _0xe4385=_0x31675d[_0xb441e0];if(_0x239d16){_0x1db3ae=path[_0xa3dd('0x1e')](_0x41bc01,_0x2d457c,util[_0xa3dd('0xe')]('%s%d.%s',_0x2d457c,_0xb441e0,_0xa3dd('0x20')));}else{_0x1db3ae=path[_0xa3dd('0x1e')](_0x41bc01,util[_0xa3dd('0xe')]('%s.%s',_0x2d457c,_0xa3dd('0x20')));}fs['writeFileSync'](_0x1db3ae,json2xls(_0xe4385),_0xa3dd('0x21'));}})[_0xa3dd('0x13')](function(){if(_0x239d16){zipdir(path[_0xa3dd('0x1e')](_0x41bc01,_0x2d457c),{'saveTo':path['join'](_0x41bc01,util[_0xa3dd('0xe')](_0xa3dd('0x22'),_0x2d457c,_0xa3dd('0x23')))},function(_0x52d69b,_0x2808ab){});rimraf(path[_0xa3dd('0x1e')](_0x41bc01,_0x2d457c),function(){});}})[_0xa3dd('0x13')](function(){logger['info'](util['format'](_0xa3dd('0x24'),EXTRACTED_REPORT_ID,_0xa3dd('0xf')));return analyticExtractedReport(_0xa3dd('0x25'),_0x239d16?util[_0xa3dd('0xe')](_0xa3dd('0x22'),_0x2d457c,_0x239d16?'zip':_0xa3dd('0x20')):null);});})[_0xa3dd('0x26')](function(_0x4c0e11){logger[_0xa3dd('0xd')](util[_0xa3dd('0xe')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xa3dd('0xf')),util[_0xa3dd('0x27')](_0x4c0e11,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xa3dd('0x28'));});}main();