Built motion from commit (unavailable).|2.4.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 _0x0fc4=['basename','.xlsx','join','xlsx','%s.%s','writeFileSync','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','inspect','Failed','util','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname'];(function(_0x2f19d1,_0x2867df){var _0x9fd241=function(_0x181c13){while(--_0x181c13){_0x2f19d1['push'](_0x2f19d1['shift']());}};_0x9fd241(++_0x2867df);}(_0x0fc4,0xc2));var _0x40fc=function(_0x5e3b04,_0xbb6795){_0x5e3b04=_0x5e3b04-0x0;var _0x1fc44d=_0x0fc4[_0x5e3b04];return _0x1fc44d;};'use strict';var util=require(_0x40fc('0x0'));var path=require('path');var _=require(_0x40fc('0x1'));var fs=require('fs');var json2xls=require(_0x40fc('0x2'));var BPromise=require(_0x40fc('0x3'));var zipdir=require(_0x40fc('0x4'));var rimraf=require(_0x40fc('0x5'));var db=require(_0x40fc('0x6'))['db'];var dbH=require(_0x40fc('0x6'))[_0x40fc('0x7')];var logger=require(_0x40fc('0x8'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x40fc('0x9')][0x3];var PATH=process[_0x40fc('0x9')][0x4];function analyticExtractedReport(_0x3d7c16,_0x4827d1){var _0x1f14ac={'status':_0x3d7c16};var _0x3eaf72={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4827d1){_0x1f14ac[_0x40fc('0xa')]=_0x4827d1;}return db[_0x40fc('0xb')][_0x40fc('0xc')](_0x1f14ac,_0x3eaf72);}function main(){var _0x4210d4=0x1388;var _0x555310;logger[_0x40fc('0xd')](util[_0x40fc('0xe')](_0x40fc('0xf'),EXTRACTED_REPORT_ID,'XLSX'));return db[_0x40fc('0x10')][_0x40fc('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x40fc('0x12'),_0x40fc('0x13')]})[_0x40fc('0x14')](function(_0x58428e){if(_0x58428e){_0x555310=_0x58428e;_0x4210d4=_0x555310[_0x40fc('0x13')]||0x1388;}})['then'](function(){return dbH[_0x40fc('0x15')][_0x40fc('0x16')](util[_0x40fc('0xe')](_0x40fc('0x17'),QUERY),{'type':dbH['sequelize'][_0x40fc('0x18')][_0x40fc('0x19')]});})['then'](function(_0x1ac8e6){if(!_0x1ac8e6[0x0][_0x40fc('0x1a')]){return analyticExtractedReport('Empty');}var _0x1766af=[];var _0x2675c0=0x0;var _0x45e023=!![];if(_0x555310[_0x40fc('0x12')]){if(_0x1ac8e6&&_0x1ac8e6[_0x40fc('0x1b')]){var _0x1963e1=_0x1ac8e6[0x0][_0x40fc('0x1a')]%(_0x2675c0+_0x4210d4);for(;_0x45e023;_0x2675c0+=_0x4210d4,_0x1963e1=_0x1ac8e6[0x0][_0x40fc('0x1a')]%(_0x2675c0+_0x4210d4)){if(_0x1963e1==0x0||_0x1963e1==_0x1ac8e6[0x0][_0x40fc('0x1a')]){_0x45e023=![];}_0x1766af[_0x40fc('0x1c')](dbH['sequelize']['query'](util[_0x40fc('0xe')](_0x40fc('0x1d'),QUERY,_0x4210d4,_0x2675c0),{'type':dbH[_0x40fc('0x15')][_0x40fc('0x18')][_0x40fc('0x19')]}));}}}else{_0x1766af['push'](dbH[_0x40fc('0x15')]['query'](QUERY,{'type':dbH['sequelize'][_0x40fc('0x18')][_0x40fc('0x19')]}));}var _0x5059c2=path[_0x40fc('0x1e')](PATH);var _0xb4f5ff=path[_0x40fc('0x1f')](PATH,_0x40fc('0x20'));var _0xee5349=_0x555310[_0x40fc('0x12')]&&_0x1766af[_0x40fc('0x1b')]>0x1;var _0x52b56d=[];if(!fs['existsSync'](path[_0x40fc('0x21')](_0x5059c2,_0xb4f5ff))&&_0xee5349){fs['mkdirSync'](path['join'](_0x5059c2,_0xb4f5ff));}return BPromise['each'](_0x1766af,function(_0x3cece5){_0x52b56d[_0x40fc('0x1c')](_0x3cece5);})[_0x40fc('0x14')](function(){for(var _0x1608aa=0x0;_0x1608aa<_0x52b56d[_0x40fc('0x1b')];_0x1608aa+=0x1){var _0x2fd236;var _0x2c8f15=_0x52b56d[_0x1608aa];if(_0xee5349){_0x2fd236=path[_0x40fc('0x21')](_0x5059c2,_0xb4f5ff,util[_0x40fc('0xe')]('%s%d.%s',_0xb4f5ff,_0x1608aa,_0x40fc('0x22')));}else{_0x2fd236=path['join'](_0x5059c2,util[_0x40fc('0xe')](_0x40fc('0x23'),_0xb4f5ff,_0x40fc('0x22')));}fs[_0x40fc('0x24')](_0x2fd236,json2xls(_0x2c8f15),'binary');}})[_0x40fc('0x14')](function(){if(_0xee5349){zipdir(path[_0x40fc('0x21')](_0x5059c2,_0xb4f5ff),{'saveTo':path[_0x40fc('0x21')](_0x5059c2,util[_0x40fc('0xe')]('%s.%s',_0xb4f5ff,'zip'))},function(_0x2bc472,_0x7a8d21){});rimraf(path[_0x40fc('0x21')](_0x5059c2,_0xb4f5ff),function(){});}})[_0x40fc('0x14')](function(){logger[_0x40fc('0xd')](util[_0x40fc('0xe')](_0x40fc('0x25'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x40fc('0x26'),_0xee5349?util[_0x40fc('0xe')]('%s.%s',_0xb4f5ff,_0xee5349?_0x40fc('0x27'):_0x40fc('0x22')):null);});})[_0x40fc('0x28')](function(_0x4ef063){logger[_0x40fc('0xd')](util[_0x40fc('0xe')](_0x40fc('0x29'),EXTRACTED_REPORT_ID,_0x40fc('0x2a')),util[_0x40fc('0x2b')](_0x4ef063,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x40fc('0x2c'));});}main();