049e3e52a932c2563bf7d4232de5081a699936bd
[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 _0x6e69=['finally','exit','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','query','SELECT','Empty','range','num','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','length','join','each','xlsx','writeFileSync','binary','%s.%s','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','Failed'];(function(_0x2892da,_0x191a40){var _0x28cff2=function(_0x57023d){while(--_0x57023d){_0x2892da['push'](_0x2892da['shift']());}};_0x28cff2(++_0x191a40);}(_0x6e69,0x167));var _0x96e6=function(_0x92d9d6,_0x4af29f){_0x92d9d6=_0x92d9d6-0x0;var _0x186e92=_0x6e69[_0x92d9d6];return _0x186e92;};'use strict';var util=require('util');var path=require(_0x96e6('0x0'));var _=require(_0x96e6('0x1'));var fs=require('fs');var json2xls=require(_0x96e6('0x2'));var BPromise=require(_0x96e6('0x3'));var zipdir=require(_0x96e6('0x4'));var rimraf=require(_0x96e6('0x5'));var db=require(_0x96e6('0x6'))['db'];var dbH=require(_0x96e6('0x6'))[_0x96e6('0x7')];var logger=require(_0x96e6('0x8'))(_0x96e6('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x96e6('0xa')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x96e6('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3d64b0,_0x20d8fc){var _0x2a6d16={'status':_0x3d64b0};var _0x2d3be1={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x20d8fc){_0x2a6d16[_0x96e6('0xb')]=_0x20d8fc;}return db[_0x96e6('0xc')][_0x96e6('0xd')](_0x2a6d16,_0x2d3be1);}function main(){var _0x518b14=0x1388;var _0x4ec1ea;logger[_0x96e6('0xe')](util[_0x96e6('0xf')](_0x96e6('0x10'),EXTRACTED_REPORT_ID,_0x96e6('0x11')));return db[_0x96e6('0x12')][_0x96e6('0x13')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x96e6('0x14'),_0x96e6('0x15')]})[_0x96e6('0x16')](function(_0x339e87){if(_0x339e87){_0x4ec1ea=_0x339e87;_0x518b14=_0x4ec1ea['splitSizeXlsx']||0x1388;}})['then'](function(){return dbH[_0x96e6('0x17')][_0x96e6('0x18')](util[_0x96e6('0xf')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x96e6('0x17')]['QueryTypes'][_0x96e6('0x19')]});})['then'](function(_0x3e03d6){if(!_0x3e03d6[0x0]['num']){return analyticExtractedReport(_0x96e6('0x1a'));}var _0x27bf9a=[];var _0x22b835=0x0;if(_0x4ec1ea[_0x96e6('0x14')]){if(_0x3e03d6&&_0x3e03d6['length']){var _0xf8b590=_[_0x96e6('0x1b')](_0x3e03d6[0x0][_0x96e6('0x1c')]/_0x518b14);var _0x38a2b0=Number[_0x96e6('0x1d')](_0x3e03d6[0x0]['num']/_0x518b14)?_0x3e03d6[0x0][_0x96e6('0x1c')]%_0x518b14:0x0;_0xf8b590[_0x96e6('0x1e')](function(_0x401166){if(_0x401166>0x0){_0x22b835+=_0x518b14;}_0x27bf9a[_0x96e6('0x1f')](dbH['sequelize']['query'](util[_0x96e6('0xf')](_0x96e6('0x20'),QUERY,_0x518b14,_0x22b835),{'type':dbH[_0x96e6('0x17')][_0x96e6('0x21')][_0x96e6('0x19')]}));});if(_0x38a2b0>0x0){_0x22b835+=_0x518b14;_0x27bf9a[_0x96e6('0x1f')](dbH[_0x96e6('0x17')][_0x96e6('0x18')](util[_0x96e6('0xf')](_0x96e6('0x20'),QUERY,_0x38a2b0,_0x22b835),{'type':dbH[_0x96e6('0x17')]['QueryTypes'][_0x96e6('0x19')]}));}}}else{_0x27bf9a[_0x96e6('0x1f')](dbH[_0x96e6('0x17')][_0x96e6('0x18')](QUERY,{'type':dbH[_0x96e6('0x17')]['QueryTypes'][_0x96e6('0x19')]}));}var _0x449c58=path[_0x96e6('0x22')](PATH);var _0xf579bb=path['basename'](PATH,'.xlsx');var _0x3af98a=_0x4ec1ea[_0x96e6('0x14')]&&_0x27bf9a[_0x96e6('0x23')]>0x1;var _0x4e2b74=[];if(!fs['existsSync'](path[_0x96e6('0x24')](_0x449c58,_0xf579bb))&&_0x3af98a){fs['mkdirSync'](path[_0x96e6('0x24')](_0x449c58,_0xf579bb));}return BPromise[_0x96e6('0x25')](_0x27bf9a,function(_0x14a744){_0x4e2b74[_0x96e6('0x1f')](_0x14a744);})[_0x96e6('0x16')](function(){for(var _0x361f85=0x0;_0x361f85<_0x4e2b74[_0x96e6('0x23')];_0x361f85+=0x1){var _0x2c7243;var _0x4cd7c1=_0x4e2b74[_0x361f85];if(_0x3af98a){_0x2c7243=path[_0x96e6('0x24')](_0x449c58,_0xf579bb,util[_0x96e6('0xf')]('%s%d.%s',_0xf579bb,_0x361f85,_0x96e6('0x26')));}else{_0x2c7243=path[_0x96e6('0x24')](_0x449c58,util[_0x96e6('0xf')]('%s.%s',_0xf579bb,_0x96e6('0x26')));}fs[_0x96e6('0x27')](_0x2c7243,json2xls(_0x4cd7c1),_0x96e6('0x28'));}})[_0x96e6('0x16')](function(){if(_0x3af98a){return new Promise(function(_0x5376be){zipdir(path[_0x96e6('0x24')](_0x449c58,_0xf579bb),{'saveTo':path[_0x96e6('0x24')](_0x449c58,util[_0x96e6('0xf')](_0x96e6('0x29'),_0xf579bb,_0x96e6('0x2a')))},function(_0x2bc28d,_0x50e6db){rimraf(path['join'](_0x449c58,_0xf579bb),function(){});_0x5376be(_0x96e6('0x2b'));});});}})['then'](function(){logger[_0x96e6('0xe')](util[_0x96e6('0xf')](_0x96e6('0x2c'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x96e6('0x2d'),_0x3af98a?util[_0x96e6('0xf')](_0x96e6('0x29'),_0xf579bb,_0x3af98a?_0x96e6('0x2a'):'xlsx'):null);});})[_0x96e6('0x2e')](function(_0x2b342b){logger[_0x96e6('0xe')](util[_0x96e6('0xf')](_0x96e6('0x2f'),EXTRACTED_REPORT_ID,'XLSX'),util['inspect'](_0x2b342b,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x96e6('0x30'));})[_0x96e6('0x31')](function(){process[_0x96e6('0x32')](EXIT_CODE);});}main();