74c63a0eba9b6dc40326fbbf0f815924b64eda14
[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 _0xe4cf=['mkdirSync','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','finally','util','path','json2xls','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','range','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.xlsx','existsSync','join'];(function(_0x4fc9e6,_0xc51915){var _0x551d28=function(_0x1a603b){while(--_0x1a603b){_0x4fc9e6['push'](_0x4fc9e6['shift']());}};_0x551d28(++_0xc51915);}(_0xe4cf,0x18f));var _0xfe4c=function(_0x12593a,_0x3e24c1){_0x12593a=_0x12593a-0x0;var _0x766e1f=_0xe4cf[_0x12593a];return _0x766e1f;};'use strict';var util=require(_0xfe4c('0x0'));var path=require(_0xfe4c('0x1'));var _=require('lodash');var fs=require('fs');var json2xls=require(_0xfe4c('0x2'));var BPromise=require('bluebird');var zipdir=require(_0xfe4c('0x3'));var rimraf=require(_0xfe4c('0x4'));var db=require(_0xfe4c('0x5'))['db'];var dbH=require(_0xfe4c('0x5'))['dbH'];var logger=require(_0xfe4c('0x6'))(_0xfe4c('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0xfe4c('0x8')][0x2]);var QUERY=process[_0xfe4c('0x8')][0x3];var PATH=process[_0xfe4c('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xdc6d34,_0x31f0c5){var _0x2994cd={'status':_0xdc6d34};var _0x1ffeb9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x31f0c5){_0x2994cd['savename']=_0x31f0c5;}return db[_0xfe4c('0x9')][_0xfe4c('0xa')](_0x2994cd,_0x1ffeb9);}function main(){var _0x5a78c8=0x1388;var _0x221d83;logger['info'](util[_0xfe4c('0xb')](_0xfe4c('0xc'),EXTRACTED_REPORT_ID,_0xfe4c('0xd')));return db[_0xfe4c('0xe')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xfe4c('0xf'),_0xfe4c('0x10')]})[_0xfe4c('0x11')](function(_0x1e90a8){if(_0x1e90a8){_0x221d83=_0x1e90a8;_0x5a78c8=_0x221d83[_0xfe4c('0x10')]||0x1388;}})[_0xfe4c('0x11')](function(){return dbH[_0xfe4c('0x12')][_0xfe4c('0x13')](util[_0xfe4c('0xb')](_0xfe4c('0x14'),QUERY),{'type':dbH[_0xfe4c('0x12')][_0xfe4c('0x15')][_0xfe4c('0x16')]});})[_0xfe4c('0x11')](function(_0x5da54d){if(!_0x5da54d[0x0][_0xfe4c('0x17')]){return analyticExtractedReport(_0xfe4c('0x18'));}var _0x2e3f78=[];var _0x3f0db4=0x0;if(_0x221d83[_0xfe4c('0xf')]){if(_0x5da54d&&_0x5da54d[_0xfe4c('0x19')]){var _0x51b0a=_[_0xfe4c('0x1a')](_0x5da54d[0x0][_0xfe4c('0x17')]/_0x5a78c8);var _0x26f1a7=Number['isInteger'](_0x5da54d[0x0][_0xfe4c('0x17')]/_0x5a78c8)?_0x5da54d[0x0][_0xfe4c('0x17')]%_0x5a78c8:0x0;_0x51b0a['forEach'](function(_0x4296fe){if(_0x4296fe>0x0){_0x3f0db4+=_0x5a78c8;}_0x2e3f78[_0xfe4c('0x1b')](dbH[_0xfe4c('0x12')]['query'](util[_0xfe4c('0xb')](_0xfe4c('0x1c'),QUERY,_0x5a78c8,_0x3f0db4),{'type':dbH[_0xfe4c('0x12')][_0xfe4c('0x15')][_0xfe4c('0x16')]}));});if(_0x26f1a7>0x0){_0x3f0db4+=_0x5a78c8;_0x2e3f78[_0xfe4c('0x1b')](dbH[_0xfe4c('0x12')][_0xfe4c('0x13')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x26f1a7,_0x3f0db4),{'type':dbH[_0xfe4c('0x12')][_0xfe4c('0x15')][_0xfe4c('0x16')]}));}}}else{_0x2e3f78[_0xfe4c('0x1b')](dbH['sequelize'][_0xfe4c('0x13')](QUERY,{'type':dbH[_0xfe4c('0x12')][_0xfe4c('0x15')][_0xfe4c('0x16')]}));}var _0x2671d9=path[_0xfe4c('0x1d')](PATH);var _0x6c97e4=path['basename'](PATH,_0xfe4c('0x1e'));var _0x5ec324=_0x221d83[_0xfe4c('0xf')]&&_0x2e3f78[_0xfe4c('0x19')]>0x1;var _0x2963eb=[];if(!fs[_0xfe4c('0x1f')](path[_0xfe4c('0x20')](_0x2671d9,_0x6c97e4))&&_0x5ec324){fs[_0xfe4c('0x21')](path['join'](_0x2671d9,_0x6c97e4));}return BPromise[_0xfe4c('0x22')](_0x2e3f78,function(_0x167257){_0x2963eb[_0xfe4c('0x1b')](_0x167257);})[_0xfe4c('0x11')](function(){for(var _0x136cb1=0x0;_0x136cb1<_0x2963eb['length'];_0x136cb1+=0x1){var _0x457f2d;var _0x1857c2=_0x2963eb[_0x136cb1];if(_0x5ec324){_0x457f2d=path['join'](_0x2671d9,_0x6c97e4,util[_0xfe4c('0xb')](_0xfe4c('0x23'),_0x6c97e4,_0x136cb1,_0xfe4c('0x24')));}else{_0x457f2d=path[_0xfe4c('0x20')](_0x2671d9,util[_0xfe4c('0xb')](_0xfe4c('0x25'),_0x6c97e4,_0xfe4c('0x24')));}fs[_0xfe4c('0x26')](_0x457f2d,json2xls(_0x1857c2),_0xfe4c('0x27'));}})[_0xfe4c('0x11')](function(){if(_0x5ec324){return new Promise(function(_0x4dc629){zipdir(path[_0xfe4c('0x20')](_0x2671d9,_0x6c97e4),{'saveTo':path[_0xfe4c('0x20')](_0x2671d9,util[_0xfe4c('0xb')]('%s.%s',_0x6c97e4,'zip'))},function(_0x3e7901,_0xa2a10e){rimraf(path[_0xfe4c('0x20')](_0x2671d9,_0x6c97e4),function(){});_0x4dc629('zip\x20finished');});});}})[_0xfe4c('0x11')](function(){logger[_0xfe4c('0x28')](util[_0xfe4c('0xb')](_0xfe4c('0x29'),EXTRACTED_REPORT_ID,_0xfe4c('0xd')));return analyticExtractedReport(_0xfe4c('0x2a'),_0x5ec324?util['format']('%s.%s',_0x6c97e4,_0x5ec324?_0xfe4c('0x2b'):_0xfe4c('0x24')):null);});})[_0xfe4c('0x2c')](function(_0x584edf){logger[_0xfe4c('0x28')](util[_0xfe4c('0xb')](_0xfe4c('0x2d'),EXTRACTED_REPORT_ID,_0xfe4c('0xd')),util[_0xfe4c('0x2e')](_0x584edf,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0xfe4c('0x2f')](function(){process['exit'](EXIT_CODE);});}main();