b3ebdad49f1f1574959cce0942a8df53e119fcb0
[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 _0xa9da=['update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','splitSizeXlsx','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','num','Empty','split','length','query','SELECT','basename','.xlsx','existsSync','join','each','push','%s%d.%s','xlsx','writeFileSync','binary','%s.%s','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','../../config/logger','argv','savename','AnalyticExtractedReport'];(function(_0x46939d,_0xc1b36d){var _0x5105e8=function(_0x536281){while(--_0x536281){_0x46939d['push'](_0x46939d['shift']());}};_0x5105e8(++_0xc1b36d);}(_0xa9da,0x193));var _0xaa9d=function(_0x3a5b1d,_0x1cba32){_0x3a5b1d=_0x3a5b1d-0x0;var _0x2adcd3=_0xa9da[_0x3a5b1d];return _0x2adcd3;};'use strict';var util=require(_0xaa9d('0x0'));var path=require('path');var _=require(_0xaa9d('0x1'));var fs=require('fs');var json2xls=require(_0xaa9d('0x2'));var BPromise=require(_0xaa9d('0x3'));var zipdir=require(_0xaa9d('0x4'));var rimraf=require(_0xaa9d('0x5'));var db=require(_0xaa9d('0x6'))['db'];var dbH=require(_0xaa9d('0x6'))['dbH'];var logger=require(_0xaa9d('0x7'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xaa9d('0x8')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x10b290,_0x2bd0d6){var _0x4e9766={'status':_0x10b290};var _0x353daa={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x2bd0d6){_0x4e9766[_0xaa9d('0x9')]=_0x2bd0d6;}return db[_0xaa9d('0xa')][_0xaa9d('0xb')](_0x4e9766,_0x353daa);}function main(){var _0x12da08=0x1388;var _0x558d99;logger[_0xaa9d('0xc')](util[_0xaa9d('0xd')](_0xaa9d('0xe'),EXTRACTED_REPORT_ID,'XLSX'));return db[_0xaa9d('0xf')][_0xaa9d('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xaa9d('0x11')]})[_0xaa9d('0x12')](function(_0x33d7f3){if(_0x33d7f3){_0x558d99=_0x33d7f3;_0x12da08=_0x558d99[_0xaa9d('0x11')]||0x1388;}})[_0xaa9d('0x12')](function(){return dbH[_0xaa9d('0x13')]['query'](util[_0xaa9d('0xd')](_0xaa9d('0x14'),QUERY),{'type':dbH[_0xaa9d('0x13')][_0xaa9d('0x15')]['SELECT']});})['then'](function(_0x100561){if(!_0x100561[0x0][_0xaa9d('0x16')]){return analyticExtractedReport(_0xaa9d('0x17'));}var _0x52a9cf=[];var _0xd773cd=0x0;var _0x347ca5=!![];if(_0x558d99[_0xaa9d('0x18')]){if(_0x100561&&_0x100561[_0xaa9d('0x19')]){var _0x482c73=_0x100561[0x0][_0xaa9d('0x16')]%(_0xd773cd+_0x12da08);for(;_0x347ca5;_0xd773cd+=_0x12da08,_0x482c73=_0x100561[0x0][_0xaa9d('0x16')]%(_0xd773cd+_0x12da08)){if(_0x482c73==0x0||_0x482c73==_0x100561[0x0][_0xaa9d('0x16')]){_0x347ca5=![];}_0x52a9cf['push'](dbH[_0xaa9d('0x13')][_0xaa9d('0x1a')](util[_0xaa9d('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x12da08,_0xd773cd),{'type':dbH[_0xaa9d('0x13')]['QueryTypes'][_0xaa9d('0x1b')]}));}}}else{_0x52a9cf['push'](dbH['sequelize'][_0xaa9d('0x1a')](QUERY,{'type':dbH[_0xaa9d('0x13')][_0xaa9d('0x15')][_0xaa9d('0x1b')]}));}var _0xe34775=path['dirname'](PATH);var _0x3c67a0=path[_0xaa9d('0x1c')](PATH,_0xaa9d('0x1d'));var _0x5105c8=_0x558d99[_0xaa9d('0x18')]&&_0x52a9cf[_0xaa9d('0x19')]>0x1;var _0x1ebf1c=[];if(!fs[_0xaa9d('0x1e')](path[_0xaa9d('0x1f')](_0xe34775,_0x3c67a0))&&_0x5105c8){fs['mkdirSync'](path[_0xaa9d('0x1f')](_0xe34775,_0x3c67a0));}return BPromise[_0xaa9d('0x20')](_0x52a9cf,function(_0x427a2b){_0x1ebf1c[_0xaa9d('0x21')](_0x427a2b);})[_0xaa9d('0x12')](function(){for(var _0x1c9615=0x0;_0x1c9615<_0x1ebf1c[_0xaa9d('0x19')];_0x1c9615+=0x1){var _0x31fd14;var _0x4aeb73=_0x1ebf1c[_0x1c9615];if(_0x5105c8){_0x31fd14=path['join'](_0xe34775,_0x3c67a0,util[_0xaa9d('0xd')](_0xaa9d('0x22'),_0x3c67a0,_0x1c9615,_0xaa9d('0x23')));}else{_0x31fd14=path['join'](_0xe34775,util['format']('%s.%s',_0x3c67a0,'xlsx'));}fs[_0xaa9d('0x24')](_0x31fd14,json2xls(_0x4aeb73),_0xaa9d('0x25'));}})['then'](function(){if(_0x5105c8){zipdir(path['join'](_0xe34775,_0x3c67a0),{'saveTo':path[_0xaa9d('0x1f')](_0xe34775,util['format'](_0xaa9d('0x26'),_0x3c67a0,_0xaa9d('0x27')))},function(_0x21c570,_0x19b58c){});rimraf(path[_0xaa9d('0x1f')](_0xe34775,_0x3c67a0),function(){});}})[_0xaa9d('0x12')](function(){logger[_0xaa9d('0xc')](util[_0xaa9d('0xd')](_0xaa9d('0x28'),EXTRACTED_REPORT_ID,_0xaa9d('0x29')));return analyticExtractedReport(_0xaa9d('0x2a'),_0x5105c8?util[_0xaa9d('0xd')](_0xaa9d('0x26'),_0x3c67a0,_0x5105c8?_0xaa9d('0x27'):_0xaa9d('0x23')):null);});})['catch'](function(_0x3625e2){logger[_0xaa9d('0xc')](util['format'](_0xaa9d('0x2b'),EXTRACTED_REPORT_ID,_0xaa9d('0x29')),util[_0xaa9d('0x2c')](_0x3625e2,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xaa9d('0x2d'));});}main();