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 _0x571e=['bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','then','splitSizeXlsx','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','length','num','push','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','existsSync','join','mkdirSync','%s%d.%s','xlsx','writeFileSync','binary','%s.%s','zip','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','inspect','Failed','util','path','json2xls'];(function(_0x59cb7b,_0x18843a){var _0x5da7c7=function(_0x56bfe0){while(--_0x56bfe0){_0x59cb7b['push'](_0x59cb7b['shift']());}};_0x5da7c7(++_0x18843a);}(_0x571e,0x1a4));var _0xe571=function(_0x3c26ce,_0x10ec7d){_0x3c26ce=_0x3c26ce-0x0;var _0x2b1cef=_0x571e[_0x3c26ce];return _0x2b1cef;};'use strict';var util=require(_0xe571('0x0'));var path=require(_0xe571('0x1'));var _=require('lodash');var fs=require('fs');var json2xls=require(_0xe571('0x2'));var BPromise=require(_0xe571('0x3'));var zipdir=require(_0xe571('0x4'));var rimraf=require(_0xe571('0x5'));var db=require(_0xe571('0x6'))['db'];var dbH=require(_0xe571('0x6'))[_0xe571('0x7')];var logger=require('../../config/logger')(_0xe571('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xe571('0x9')][0x4];function analyticExtractedReport(_0x59e1af,_0x119cad){var _0x431bc0={'status':_0x59e1af};var _0x1efe79={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x119cad){_0x431bc0[_0xe571('0xa')]=_0x119cad;}return db[_0xe571('0xb')]['update'](_0x431bc0,_0x1efe79);}function main(){var _0xf8b570=0x1388;var _0x1f2cb9;logger[_0xe571('0xc')](util[_0xe571('0xd')](_0xe571('0xe'),EXTRACTED_REPORT_ID,_0xe571('0xf')));return db[_0xe571('0x10')][_0xe571('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xe571('0x12'),'splitSizeXlsx']})[_0xe571('0x13')](function(_0x5d5625){if(_0x5d5625){_0x1f2cb9=_0x5d5625;_0xf8b570=_0x1f2cb9[_0xe571('0x14')]||0x1388;}})['then'](function(){return dbH[_0xe571('0x15')][_0xe571('0x16')](util[_0xe571('0xd')](_0xe571('0x17'),QUERY),{'type':dbH[_0xe571('0x15')][_0xe571('0x18')][_0xe571('0x19')]});})[_0xe571('0x13')](function(_0x5ed512){if(!_0x5ed512[0x0]['num']){return analyticExtractedReport(_0xe571('0x1a'));}var _0x2f9f10=[];var _0x4a33c4=0x0;var _0x4a1550=!![];if(_0x1f2cb9[_0xe571('0x12')]){if(_0x5ed512&&_0x5ed512[_0xe571('0x1b')]){var _0x2a990c=_0x5ed512[0x0][_0xe571('0x1c')]%(_0x4a33c4+_0xf8b570);for(;_0x4a1550;_0x4a33c4+=_0xf8b570,_0x2a990c=_0x5ed512[0x0][_0xe571('0x1c')]%(_0x4a33c4+_0xf8b570)){if(_0x2a990c==0x0||_0x2a990c==_0x5ed512[0x0][_0xe571('0x1c')]){_0x4a1550=![];}_0x2f9f10[_0xe571('0x1d')](dbH['sequelize'][_0xe571('0x16')](util[_0xe571('0xd')](_0xe571('0x1e'),QUERY,_0xf8b570,_0x4a33c4),{'type':dbH[_0xe571('0x15')]['QueryTypes']['SELECT']}));}}}else{_0x2f9f10[_0xe571('0x1d')](dbH['sequelize'][_0xe571('0x16')](QUERY,{'type':dbH[_0xe571('0x15')][_0xe571('0x18')][_0xe571('0x19')]}));}var _0x319b78=path['dirname'](PATH);var _0x257fdc=path[_0xe571('0x1f')](PATH,'.xlsx');var _0x19fe27=_0x1f2cb9['split']&&_0x2f9f10[_0xe571('0x1b')]>0x1;var _0x24db96=[];if(!fs[_0xe571('0x20')](path[_0xe571('0x21')](_0x319b78,_0x257fdc))&&_0x19fe27){fs[_0xe571('0x22')](path[_0xe571('0x21')](_0x319b78,_0x257fdc));}return BPromise['each'](_0x2f9f10,function(_0x8f8e40){_0x24db96[_0xe571('0x1d')](_0x8f8e40);})['then'](function(){for(var _0x9ae173=0x0;_0x9ae173<_0x24db96[_0xe571('0x1b')];_0x9ae173+=0x1){var _0x128779;var _0x202ce9=_0x24db96[_0x9ae173];if(_0x19fe27){_0x128779=path[_0xe571('0x21')](_0x319b78,_0x257fdc,util[_0xe571('0xd')](_0xe571('0x23'),_0x257fdc,_0x9ae173,_0xe571('0x24')));}else{_0x128779=path['join'](_0x319b78,util[_0xe571('0xd')]('%s.%s',_0x257fdc,_0xe571('0x24')));}fs[_0xe571('0x25')](_0x128779,json2xls(_0x202ce9),_0xe571('0x26'));}})[_0xe571('0x13')](function(){if(_0x19fe27){zipdir(path[_0xe571('0x21')](_0x319b78,_0x257fdc),{'saveTo':path[_0xe571('0x21')](_0x319b78,util['format'](_0xe571('0x27'),_0x257fdc,_0xe571('0x28')))},function(_0x2b929d,_0x543252){});rimraf(path['join'](_0x319b78,_0x257fdc),function(){});}})[_0xe571('0x13')](function(){logger['info'](util['format'](_0xe571('0x29'),EXTRACTED_REPORT_ID,_0xe571('0xf')));return analyticExtractedReport(_0xe571('0x2a'),_0x19fe27?util[_0xe571('0xd')]('%s.%s',_0x257fdc,_0x19fe27?'zip':'xlsx'):null);});})[_0xe571('0x2b')](function(_0x5e9b38){logger[_0xe571('0xc')](util[_0xe571('0xd')](_0xe571('0x2c'),EXTRACTED_REPORT_ID,_0xe571('0xf')),util[_0xe571('0x2d')](_0x5e9b38,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xe571('0x2e'));});}main();