Built motion from commit (unavailable).|2.0.80
[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 _0x5376=['.xlsx','join','mkdirSync','each','%s%d.%s','xlsx','%s.%s','writeFileSync','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','util','path','lodash','json2xls','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','length','query','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename'];(function(_0x40a98e,_0x3461e8){var _0x2b74de=function(_0x307426){while(--_0x307426){_0x40a98e['push'](_0x40a98e['shift']());}};_0x2b74de(++_0x3461e8);}(_0x5376,0x17d));var _0x6537=function(_0x1601ad,_0x4e4a92){_0x1601ad=_0x1601ad-0x0;var _0x3973aa=_0x5376[_0x1601ad];return _0x3973aa;};'use strict';var util=require(_0x6537('0x0'));var path=require(_0x6537('0x1'));var _=require(_0x6537('0x2'));var fs=require('fs');var json2xls=require(_0x6537('0x3'));var BPromise=require('bluebird');var zipdir=require(_0x6537('0x4'));var rimraf=require(_0x6537('0x5'));var db=require(_0x6537('0x6'))['db'];var dbH=require(_0x6537('0x6'))[_0x6537('0x7')];var logger=require(_0x6537('0x8'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x6537('0x9')][0x2]);var QUERY=process[_0x6537('0x9')][0x3];var PATH=process[_0x6537('0x9')][0x4];function analyticExtractedReport(_0x45058a,_0x3544ef){var _0x1ceedb={'status':_0x45058a};var _0x139b25={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3544ef){_0x1ceedb[_0x6537('0xa')]=_0x3544ef;}return db[_0x6537('0xb')][_0x6537('0xc')](_0x1ceedb,_0x139b25);}function main(){var _0x49b75f=0x1388;var _0x3fe5c6;logger[_0x6537('0xd')](util[_0x6537('0xe')](_0x6537('0xf'),EXTRACTED_REPORT_ID,_0x6537('0x10')));return db[_0x6537('0x11')][_0x6537('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x6537('0x13'),_0x6537('0x14')]})[_0x6537('0x15')](function(_0x5efe70){if(_0x5efe70){_0x3fe5c6=_0x5efe70;_0x49b75f=_0x3fe5c6[_0x6537('0x14')]||0x1388;}})[_0x6537('0x15')](function(){return dbH[_0x6537('0x16')]['query'](util['format'](_0x6537('0x17'),QUERY),{'type':dbH[_0x6537('0x16')][_0x6537('0x18')][_0x6537('0x19')]});})['then'](function(_0x582b5c){if(!_0x582b5c[0x0][_0x6537('0x1a')]){return analyticExtractedReport('Empty');}var _0x127a97=[];var _0x575231=0x0;var _0x357c2b=!![];if(_0x3fe5c6['split']){if(_0x582b5c&&_0x582b5c[_0x6537('0x1b')]){var _0x7a920c=_0x582b5c[0x0][_0x6537('0x1a')]%(_0x575231+_0x49b75f);for(;_0x357c2b;_0x575231+=_0x49b75f,_0x7a920c=_0x582b5c[0x0][_0x6537('0x1a')]%(_0x575231+_0x49b75f)){if(_0x7a920c==0x0||_0x7a920c==_0x582b5c[0x0]['num']){_0x357c2b=![];}_0x127a97['push'](dbH[_0x6537('0x16')][_0x6537('0x1c')](util[_0x6537('0xe')](_0x6537('0x1d'),QUERY,_0x49b75f,_0x575231),{'type':dbH[_0x6537('0x16')][_0x6537('0x18')][_0x6537('0x19')]}));}}}else{_0x127a97[_0x6537('0x1e')](dbH[_0x6537('0x16')]['query'](QUERY,{'type':dbH[_0x6537('0x16')][_0x6537('0x18')]['SELECT']}));}var _0xeb26da=path[_0x6537('0x1f')](PATH);var _0x41f0e5=path[_0x6537('0x20')](PATH,_0x6537('0x21'));var _0x106cf4=_0x3fe5c6[_0x6537('0x13')]&&_0x127a97[_0x6537('0x1b')]>0x1;var _0x4c4383=[];if(!fs['existsSync'](path[_0x6537('0x22')](_0xeb26da,_0x41f0e5))&&_0x106cf4){fs[_0x6537('0x23')](path[_0x6537('0x22')](_0xeb26da,_0x41f0e5));}return BPromise[_0x6537('0x24')](_0x127a97,function(_0x23d648){_0x4c4383[_0x6537('0x1e')](_0x23d648);})[_0x6537('0x15')](function(){for(var _0x5dd04f=0x0;_0x5dd04f<_0x4c4383[_0x6537('0x1b')];_0x5dd04f+=0x1){var _0x374515;var _0x3ffbb3=_0x4c4383[_0x5dd04f];if(_0x106cf4){_0x374515=path[_0x6537('0x22')](_0xeb26da,_0x41f0e5,util[_0x6537('0xe')](_0x6537('0x25'),_0x41f0e5,_0x5dd04f,_0x6537('0x26')));}else{_0x374515=path[_0x6537('0x22')](_0xeb26da,util['format'](_0x6537('0x27'),_0x41f0e5,_0x6537('0x26')));}fs[_0x6537('0x28')](_0x374515,json2xls(_0x3ffbb3),'binary');}})[_0x6537('0x15')](function(){if(_0x106cf4){zipdir(path[_0x6537('0x22')](_0xeb26da,_0x41f0e5),{'saveTo':path[_0x6537('0x22')](_0xeb26da,util['format'](_0x6537('0x27'),_0x41f0e5,_0x6537('0x29')))},function(_0x5b231f,_0x4e2724){});rimraf(path[_0x6537('0x22')](_0xeb26da,_0x41f0e5),function(){});}})[_0x6537('0x15')](function(){logger[_0x6537('0xd')](util[_0x6537('0xe')](_0x6537('0x2a'),EXTRACTED_REPORT_ID,_0x6537('0x10')));return analyticExtractedReport('Completed',_0x106cf4?util[_0x6537('0xe')](_0x6537('0x27'),_0x41f0e5,_0x106cf4?_0x6537('0x29'):'xlsx'):null);});})[_0x6537('0x2b')](function(_0x1aaf55){logger[_0x6537('0xd')](util[_0x6537('0xe')](_0x6537('0x2c'),EXTRACTED_REPORT_ID,_0x6537('0x10')),util['inspect'](_0x1aaf55,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x6537('0x2d'));});}main();