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 _0xbfa2=['info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','lodash','json2xls','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','query','SELECT','num','Empty','length','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','push','dirname','basename','.xlsx','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip'];(function(_0x13d07a,_0x41efc3){var _0x5ee0ee=function(_0x4ca94a){while(--_0x4ca94a){_0x13d07a['push'](_0x13d07a['shift']());}};_0x5ee0ee(++_0x41efc3);}(_0xbfa2,0xf1));var _0x2bfa=function(_0x551196,_0x78679f){_0x551196=_0x551196-0x0;var _0x498236=_0xbfa2[_0x551196];return _0x498236;};'use strict';var util=require(_0x2bfa('0x0'));var path=require(_0x2bfa('0x1'));var _=require(_0x2bfa('0x2'));var fs=require('fs');var json2xls=require(_0x2bfa('0x3'));var BPromise=require('bluebird');var zipdir=require(_0x2bfa('0x4'));var rimraf=require(_0x2bfa('0x5'));var db=require('../../mysqldb')['db'];var dbH=require(_0x2bfa('0x6'))[_0x2bfa('0x7')];var logger=require(_0x2bfa('0x8'))(_0x2bfa('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x2bfa('0xa')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x2bfa('0xa')][0x4];function analyticExtractedReport(_0xbd69ee,_0x377570){var _0x456067={'status':_0xbd69ee};var _0x1b126f={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x377570){_0x456067[_0x2bfa('0xb')]=_0x377570;}return db[_0x2bfa('0xc')]['update'](_0x456067,_0x1b126f);}function main(){var _0x3c6a1e=0x1388;var _0x2fce05;logger['info'](util[_0x2bfa('0xd')](_0x2bfa('0xe'),EXTRACTED_REPORT_ID,_0x2bfa('0xf')));return db[_0x2bfa('0x10')][_0x2bfa('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x2bfa('0x12'),_0x2bfa('0x13')]})['then'](function(_0x39d8d5){if(_0x39d8d5){_0x2fce05=_0x39d8d5;_0x3c6a1e=_0x2fce05[_0x2bfa('0x13')]||0x1388;}})[_0x2bfa('0x14')](function(){return dbH[_0x2bfa('0x15')][_0x2bfa('0x16')](util[_0x2bfa('0xd')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize']['QueryTypes'][_0x2bfa('0x17')]});})[_0x2bfa('0x14')](function(_0x15864e){if(!_0x15864e[0x0][_0x2bfa('0x18')]){return analyticExtractedReport(_0x2bfa('0x19'));}var _0x2938fe=[];var _0xfab820=0x0;var _0x2f85cb=!![];if(_0x2fce05[_0x2bfa('0x12')]){if(_0x15864e&&_0x15864e[_0x2bfa('0x1a')]){var _0x446d57=_0x15864e[0x0][_0x2bfa('0x18')]%(_0xfab820+_0x3c6a1e);for(;_0x2f85cb;_0xfab820+=_0x3c6a1e,_0x446d57=_0x15864e[0x0]['num']%(_0xfab820+_0x3c6a1e)){if(_0x446d57==0x0||_0x446d57==_0x15864e[0x0][_0x2bfa('0x18')]){_0x2f85cb=![];}_0x2938fe['push'](dbH[_0x2bfa('0x15')][_0x2bfa('0x16')](util[_0x2bfa('0xd')](_0x2bfa('0x1b'),QUERY,_0x3c6a1e,_0xfab820),{'type':dbH[_0x2bfa('0x15')][_0x2bfa('0x1c')]['SELECT']}));}}}else{_0x2938fe[_0x2bfa('0x1d')](dbH[_0x2bfa('0x15')][_0x2bfa('0x16')](QUERY,{'type':dbH[_0x2bfa('0x15')]['QueryTypes'][_0x2bfa('0x17')]}));}var _0x540833=path[_0x2bfa('0x1e')](PATH);var _0x39536b=path[_0x2bfa('0x1f')](PATH,_0x2bfa('0x20'));var _0x54dab3=_0x2fce05['split']&&_0x2938fe[_0x2bfa('0x1a')]>0x1;var _0x344764=[];if(!fs['existsSync'](path[_0x2bfa('0x21')](_0x540833,_0x39536b))&&_0x54dab3){fs['mkdirSync'](path[_0x2bfa('0x21')](_0x540833,_0x39536b));}return BPromise[_0x2bfa('0x22')](_0x2938fe,function(_0xafd786){_0x344764['push'](_0xafd786);})[_0x2bfa('0x14')](function(){for(var _0x5b0277=0x0;_0x5b0277<_0x344764['length'];_0x5b0277+=0x1){var _0x7aef00;var _0x3dfaa0=_0x344764[_0x5b0277];if(_0x54dab3){_0x7aef00=path[_0x2bfa('0x21')](_0x540833,_0x39536b,util[_0x2bfa('0xd')](_0x2bfa('0x23'),_0x39536b,_0x5b0277,_0x2bfa('0x24')));}else{_0x7aef00=path['join'](_0x540833,util[_0x2bfa('0xd')](_0x2bfa('0x25'),_0x39536b,_0x2bfa('0x24')));}fs[_0x2bfa('0x26')](_0x7aef00,json2xls(_0x3dfaa0),_0x2bfa('0x27'));}})['then'](function(){if(_0x54dab3){zipdir(path[_0x2bfa('0x21')](_0x540833,_0x39536b),{'saveTo':path['join'](_0x540833,util[_0x2bfa('0xd')](_0x2bfa('0x25'),_0x39536b,_0x2bfa('0x28')))},function(_0x51ae78,_0x411867){});rimraf(path[_0x2bfa('0x21')](_0x540833,_0x39536b),function(){});}})[_0x2bfa('0x14')](function(){logger[_0x2bfa('0x29')](util['format'](_0x2bfa('0x2a'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x2bfa('0x2b'),_0x54dab3?util['format'](_0x2bfa('0x25'),_0x39536b,_0x54dab3?_0x2bfa('0x28'):'xlsx'):null);});})['catch'](function(_0x4f43c1){logger['info'](util[_0x2bfa('0xd')](_0x2bfa('0x2c'),EXTRACTED_REPORT_ID,_0x2bfa('0xf')),util[_0x2bfa('0x2d')](_0x4f43c1,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x2bfa('0x2e'));});}main();