Built motion from commit (unavailable).|2.5.4
[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 _0xe5ee=['num','Empty','length','push','dirname','.xlsx','existsSync','join','mkdirSync','each','%s%d.%s','%s.%s','xlsx','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','util','path','lodash','bluebird','zip-dir','rimraf','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','query','sequelize','QueryTypes','SELECT'];(function(_0xc10ab5,_0x398c72){var _0x5ebfd7=function(_0x44cfcc){while(--_0x44cfcc){_0xc10ab5['push'](_0xc10ab5['shift']());}};_0x5ebfd7(++_0x398c72);}(_0xe5ee,0x8f));var _0xee5e=function(_0x49d145,_0x532c15){_0x49d145=_0x49d145-0x0;var _0x33a234=_0xe5ee[_0x49d145];return _0x33a234;};'use strict';var util=require(_0xee5e('0x0'));var path=require(_0xee5e('0x1'));var _=require(_0xee5e('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xee5e('0x3'));var zipdir=require(_0xee5e('0x4'));var rimraf=require(_0xee5e('0x5'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0xee5e('0x6')];var logger=require(_0xee5e('0x7'))(_0xee5e('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0xee5e('0x9')][0x2]);var QUERY=process[_0xee5e('0x9')][0x3];var PATH=process[_0xee5e('0x9')][0x4];function analyticExtractedReport(_0x413988,_0x4deade){var _0x4c2615={'status':_0x413988};var _0x2e0ef9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4deade){_0x4c2615['savename']=_0x4deade;}return db[_0xee5e('0xa')][_0xee5e('0xb')](_0x4c2615,_0x2e0ef9);}function main(){var _0x4d3df5=0x1388;var _0x260990;logger[_0xee5e('0xc')](util[_0xee5e('0xd')](_0xee5e('0xe'),EXTRACTED_REPORT_ID,_0xee5e('0xf')));return db[_0xee5e('0x10')][_0xee5e('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xee5e('0x12'),_0xee5e('0x13')]})[_0xee5e('0x14')](function(_0x59fddd){if(_0x59fddd){_0x260990=_0x59fddd;_0x4d3df5=_0x260990['splitSizeXlsx']||0x1388;}})['then'](function(){return dbH['sequelize'][_0xee5e('0x15')](util[_0xee5e('0xd')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xee5e('0x16')][_0xee5e('0x17')][_0xee5e('0x18')]});})[_0xee5e('0x14')](function(_0x2884a3){if(!_0x2884a3[0x0][_0xee5e('0x19')]){return analyticExtractedReport(_0xee5e('0x1a'));}var _0x2aa865=[];var _0x96961c=0x0;var _0x15950a=!![];if(_0x260990[_0xee5e('0x12')]){if(_0x2884a3&&_0x2884a3[_0xee5e('0x1b')]){var _0x51cef6=_0x2884a3[0x0][_0xee5e('0x19')]%(_0x96961c+_0x4d3df5);for(;_0x15950a;_0x96961c+=_0x4d3df5,_0x51cef6=_0x2884a3[0x0][_0xee5e('0x19')]%(_0x96961c+_0x4d3df5)){if(_0x51cef6==0x0||_0x51cef6==_0x2884a3[0x0][_0xee5e('0x19')]){_0x15950a=![];}_0x2aa865[_0xee5e('0x1c')](dbH[_0xee5e('0x16')]['query'](util[_0xee5e('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x4d3df5,_0x96961c),{'type':dbH[_0xee5e('0x16')]['QueryTypes'][_0xee5e('0x18')]}));}}}else{_0x2aa865[_0xee5e('0x1c')](dbH[_0xee5e('0x16')][_0xee5e('0x15')](QUERY,{'type':dbH['sequelize'][_0xee5e('0x17')][_0xee5e('0x18')]}));}var _0x2afb2a=path[_0xee5e('0x1d')](PATH);var _0x1cfdad=path['basename'](PATH,_0xee5e('0x1e'));var _0x2ddfbf=_0x260990[_0xee5e('0x12')]&&_0x2aa865['length']>0x1;var _0x573d58=[];if(!fs[_0xee5e('0x1f')](path[_0xee5e('0x20')](_0x2afb2a,_0x1cfdad))&&_0x2ddfbf){fs[_0xee5e('0x21')](path['join'](_0x2afb2a,_0x1cfdad));}return BPromise[_0xee5e('0x22')](_0x2aa865,function(_0x453b4f){_0x573d58[_0xee5e('0x1c')](_0x453b4f);})['then'](function(){for(var _0x2b11e0=0x0;_0x2b11e0<_0x573d58['length'];_0x2b11e0+=0x1){var _0x4b81f4;var _0x514f37=_0x573d58[_0x2b11e0];if(_0x2ddfbf){_0x4b81f4=path[_0xee5e('0x20')](_0x2afb2a,_0x1cfdad,util[_0xee5e('0xd')](_0xee5e('0x23'),_0x1cfdad,_0x2b11e0,'xlsx'));}else{_0x4b81f4=path['join'](_0x2afb2a,util['format'](_0xee5e('0x24'),_0x1cfdad,_0xee5e('0x25')));}fs['writeFileSync'](_0x4b81f4,json2xls(_0x514f37),_0xee5e('0x26'));}})['then'](function(){if(_0x2ddfbf){zipdir(path[_0xee5e('0x20')](_0x2afb2a,_0x1cfdad),{'saveTo':path[_0xee5e('0x20')](_0x2afb2a,util[_0xee5e('0xd')](_0xee5e('0x24'),_0x1cfdad,_0xee5e('0x27')))},function(_0x1bae17,_0x5d8aa0){});rimraf(path[_0xee5e('0x20')](_0x2afb2a,_0x1cfdad),function(){});}})[_0xee5e('0x14')](function(){logger[_0xee5e('0xc')](util[_0xee5e('0xd')](_0xee5e('0x28'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport('Completed',_0x2ddfbf?util[_0xee5e('0xd')]('%s.%s',_0x1cfdad,_0x2ddfbf?_0xee5e('0x27'):'xlsx'):null);});})['catch'](function(_0x5b314a){logger[_0xee5e('0xc')](util[_0xee5e('0xd')](_0xee5e('0x29'),EXTRACTED_REPORT_ID,'XLSX'),util['inspect'](_0x5b314a,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();