Built motion from commit (unavailable).|2.5.18
[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 _0x63f1=['mkdirSync','each','length','xlsx','%s.%s','writeFileSync','binary','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','path','json2xls','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','split','num','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','join'];(function(_0x490be3,_0xf0fca3){var _0x3f5140=function(_0x15fa80){while(--_0x15fa80){_0x490be3['push'](_0x490be3['shift']());}};_0x3f5140(++_0xf0fca3);}(_0x63f1,0x1da));var _0x163f=function(_0x12fc8d,_0x19ee33){_0x12fc8d=_0x12fc8d-0x0;var _0x3f9d04=_0x63f1[_0x12fc8d];return _0x3f9d04;};'use strict';var util=require(_0x163f('0x0'));var path=require(_0x163f('0x1'));var _=require('lodash');var fs=require('fs');var json2xls=require(_0x163f('0x2'));var BPromise=require('bluebird');var zipdir=require(_0x163f('0x3'));var rimraf=require(_0x163f('0x4'));var db=require('../../mysqldb')['db'];var dbH=require(_0x163f('0x5'))[_0x163f('0x6')];var logger=require(_0x163f('0x7'))(_0x163f('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x163f('0x9')][0x2]);var QUERY=process[_0x163f('0x9')][0x3];var PATH=process[_0x163f('0x9')][0x4];function analyticExtractedReport(_0x366f8f,_0x59813b){var _0x11c52b={'status':_0x366f8f};var _0x1eeef8={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x59813b){_0x11c52b[_0x163f('0xa')]=_0x59813b;}return db[_0x163f('0xb')]['update'](_0x11c52b,_0x1eeef8);}function main(){var _0x11d3df=0x1388;var _0xc1f46c;logger[_0x163f('0xc')](util[_0x163f('0xd')](_0x163f('0xe'),EXTRACTED_REPORT_ID,'XLSX'));return db[_0x163f('0xf')][_0x163f('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x163f('0x11')]})[_0x163f('0x12')](function(_0x331cde){if(_0x331cde){_0xc1f46c=_0x331cde;_0x11d3df=_0xc1f46c[_0x163f('0x11')]||0x1388;}})['then'](function(){return dbH[_0x163f('0x13')][_0x163f('0x14')](util[_0x163f('0xd')](_0x163f('0x15'),QUERY),{'type':dbH[_0x163f('0x13')][_0x163f('0x16')][_0x163f('0x17')]});})[_0x163f('0x12')](function(_0x1603af){if(!_0x1603af[0x0]['num']){return analyticExtractedReport(_0x163f('0x18'));}var _0x261d7b=[];var _0x33b4c3=0x0;var _0x30f0e1=!![];if(_0xc1f46c[_0x163f('0x19')]){if(_0x1603af&&_0x1603af['length']){var _0x37dacc=_0x1603af[0x0][_0x163f('0x1a')]%(_0x33b4c3+_0x11d3df);for(;_0x30f0e1;_0x33b4c3+=_0x11d3df,_0x37dacc=_0x1603af[0x0]['num']%(_0x33b4c3+_0x11d3df)){if(_0x37dacc==0x0||_0x37dacc==_0x1603af[0x0][_0x163f('0x1a')]){_0x30f0e1=![];}_0x261d7b[_0x163f('0x1b')](dbH[_0x163f('0x13')][_0x163f('0x14')](util[_0x163f('0xd')](_0x163f('0x1c'),QUERY,_0x11d3df,_0x33b4c3),{'type':dbH['sequelize'][_0x163f('0x16')][_0x163f('0x17')]}));}}}else{_0x261d7b['push'](dbH[_0x163f('0x13')]['query'](QUERY,{'type':dbH[_0x163f('0x13')][_0x163f('0x16')][_0x163f('0x17')]}));}var _0x12c1c2=path[_0x163f('0x1d')](PATH);var _0x169d66=path[_0x163f('0x1e')](PATH,'.xlsx');var _0x286224=_0xc1f46c['split']&&_0x261d7b['length']>0x1;var _0x371c22=[];if(!fs['existsSync'](path[_0x163f('0x1f')](_0x12c1c2,_0x169d66))&&_0x286224){fs[_0x163f('0x20')](path[_0x163f('0x1f')](_0x12c1c2,_0x169d66));}return BPromise[_0x163f('0x21')](_0x261d7b,function(_0x380124){_0x371c22[_0x163f('0x1b')](_0x380124);})[_0x163f('0x12')](function(){for(var _0x3eabb1=0x0;_0x3eabb1<_0x371c22[_0x163f('0x22')];_0x3eabb1+=0x1){var _0x498b5c;var _0xf03f21=_0x371c22[_0x3eabb1];if(_0x286224){_0x498b5c=path[_0x163f('0x1f')](_0x12c1c2,_0x169d66,util[_0x163f('0xd')]('%s%d.%s',_0x169d66,_0x3eabb1,_0x163f('0x23')));}else{_0x498b5c=path[_0x163f('0x1f')](_0x12c1c2,util[_0x163f('0xd')](_0x163f('0x24'),_0x169d66,_0x163f('0x23')));}fs[_0x163f('0x25')](_0x498b5c,json2xls(_0xf03f21),_0x163f('0x26'));}})[_0x163f('0x12')](function(){if(_0x286224){zipdir(path['join'](_0x12c1c2,_0x169d66),{'saveTo':path['join'](_0x12c1c2,util[_0x163f('0xd')](_0x163f('0x24'),_0x169d66,_0x163f('0x27')))},function(_0xe89ef7,_0x55f05c){});rimraf(path[_0x163f('0x1f')](_0x12c1c2,_0x169d66),function(){});}})[_0x163f('0x12')](function(){logger[_0x163f('0xc')](util[_0x163f('0xd')](_0x163f('0x28'),EXTRACTED_REPORT_ID,_0x163f('0x29')));return analyticExtractedReport(_0x163f('0x2a'),_0x286224?util['format'](_0x163f('0x24'),_0x169d66,_0x286224?_0x163f('0x27'):'xlsx'):null);});})['catch'](function(_0x1e2111){logger[_0x163f('0xc')](util[_0x163f('0xd')](_0x163f('0x2b'),EXTRACTED_REPORT_ID,'XLSX'),util[_0x163f('0x2c')](_0x1e2111,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x163f('0x2d'));});}main();