Built motion from commit (unavailable).|2.5.9
[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 _0x72e4=['push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.xlsx','length','join','mkdirSync','each','%s%d.%s','xlsx','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','%s.%s','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','lodash','json2xls','bluebird','zip-dir','../../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','then','sequelize','query','SELECT','num','Empty'];(function(_0x50fb43,_0x529447){var _0x879cb5=function(_0x445ead){while(--_0x445ead){_0x50fb43['push'](_0x50fb43['shift']());}};_0x879cb5(++_0x529447);}(_0x72e4,0x9d));var _0x472e=function(_0x2b3cc7,_0x545b61){_0x2b3cc7=_0x2b3cc7-0x0;var _0x16ecbf=_0x72e4[_0x2b3cc7];return _0x16ecbf;};'use strict';var util=require(_0x472e('0x0'));var path=require(_0x472e('0x1'));var _=require(_0x472e('0x2'));var fs=require('fs');var json2xls=require(_0x472e('0x3'));var BPromise=require(_0x472e('0x4'));var zipdir=require(_0x472e('0x5'));var rimraf=require('rimraf');var db=require(_0x472e('0x6'))['db'];var dbH=require(_0x472e('0x6'))[_0x472e('0x7')];var logger=require(_0x472e('0x8'))(_0x472e('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x472e('0xa')][0x2]);var QUERY=process[_0x472e('0xa')][0x3];var PATH=process[_0x472e('0xa')][0x4];function analyticExtractedReport(_0x3838e6,_0x314391){var _0x4a903d={'status':_0x3838e6};var _0x5b9cc8={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x314391){_0x4a903d[_0x472e('0xb')]=_0x314391;}return db[_0x472e('0xc')][_0x472e('0xd')](_0x4a903d,_0x5b9cc8);}function main(){var _0x29d70e=0x1388;var _0x1a1ef1;logger[_0x472e('0xe')](util[_0x472e('0xf')](_0x472e('0x10'),EXTRACTED_REPORT_ID,_0x472e('0x11')));return db[_0x472e('0x12')][_0x472e('0x13')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x472e('0x14'),'splitSizeXlsx']})[_0x472e('0x15')](function(_0x1b6618){if(_0x1b6618){_0x1a1ef1=_0x1b6618;_0x29d70e=_0x1a1ef1['splitSizeXlsx']||0x1388;}})['then'](function(){return dbH[_0x472e('0x16')][_0x472e('0x17')](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x472e('0x16')]['QueryTypes'][_0x472e('0x18')]});})[_0x472e('0x15')](function(_0x6b203a){if(!_0x6b203a[0x0][_0x472e('0x19')]){return analyticExtractedReport(_0x472e('0x1a'));}var _0x3464f1=[];var _0x168259=0x0;var _0x24b2aa=!![];if(_0x1a1ef1[_0x472e('0x14')]){if(_0x6b203a&&_0x6b203a['length']){var _0xd6f693=_0x6b203a[0x0][_0x472e('0x19')]%(_0x168259+_0x29d70e);for(;_0x24b2aa;_0x168259+=_0x29d70e,_0xd6f693=_0x6b203a[0x0]['num']%(_0x168259+_0x29d70e)){if(_0xd6f693==0x0||_0xd6f693==_0x6b203a[0x0]['num']){_0x24b2aa=![];}_0x3464f1[_0x472e('0x1b')](dbH[_0x472e('0x16')][_0x472e('0x17')](util[_0x472e('0xf')](_0x472e('0x1c'),QUERY,_0x29d70e,_0x168259),{'type':dbH['sequelize']['QueryTypes']['SELECT']}));}}}else{_0x3464f1[_0x472e('0x1b')](dbH['sequelize'][_0x472e('0x17')](QUERY,{'type':dbH[_0x472e('0x16')]['QueryTypes'][_0x472e('0x18')]}));}var _0x4ade5a=path[_0x472e('0x1d')](PATH);var _0x57de69=path['basename'](PATH,_0x472e('0x1e'));var _0x229af4=_0x1a1ef1['split']&&_0x3464f1[_0x472e('0x1f')]>0x1;var _0x2ae54b=[];if(!fs['existsSync'](path[_0x472e('0x20')](_0x4ade5a,_0x57de69))&&_0x229af4){fs[_0x472e('0x21')](path['join'](_0x4ade5a,_0x57de69));}return BPromise[_0x472e('0x22')](_0x3464f1,function(_0x2ab10b){_0x2ae54b[_0x472e('0x1b')](_0x2ab10b);})['then'](function(){for(var _0x2cd7b7=0x0;_0x2cd7b7<_0x2ae54b[_0x472e('0x1f')];_0x2cd7b7+=0x1){var _0x6b7d2c;var _0x2e3a9b=_0x2ae54b[_0x2cd7b7];if(_0x229af4){_0x6b7d2c=path[_0x472e('0x20')](_0x4ade5a,_0x57de69,util[_0x472e('0xf')](_0x472e('0x23'),_0x57de69,_0x2cd7b7,_0x472e('0x24')));}else{_0x6b7d2c=path[_0x472e('0x20')](_0x4ade5a,util[_0x472e('0xf')]('%s.%s',_0x57de69,_0x472e('0x24')));}fs['writeFileSync'](_0x6b7d2c,json2xls(_0x2e3a9b),_0x472e('0x25'));}})[_0x472e('0x15')](function(){if(_0x229af4){zipdir(path['join'](_0x4ade5a,_0x57de69),{'saveTo':path[_0x472e('0x20')](_0x4ade5a,util[_0x472e('0xf')]('%s.%s',_0x57de69,_0x472e('0x26')))},function(_0x5c07ff,_0x14f45b){});rimraf(path[_0x472e('0x20')](_0x4ade5a,_0x57de69),function(){});}})['then'](function(){logger[_0x472e('0xe')](util[_0x472e('0xf')](_0x472e('0x27'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x472e('0x28'),_0x229af4?util[_0x472e('0xf')](_0x472e('0x29'),_0x57de69,_0x229af4?_0x472e('0x26'):_0x472e('0x24')):null);});})[_0x472e('0x2a')](function(_0x5195b2){logger[_0x472e('0xe')](util[_0x472e('0xf')](_0x472e('0x2b'),EXTRACTED_REPORT_ID,'XLSX'),util[_0x472e('0x2c')](_0x5195b2,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x472e('0x2d'));});}main();