Built motion from commit (unavailable).|2.5.13
[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 _0xb1a7=['zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','inspect','Failed','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','info','format','XLSX','Setting','find','splitSizeXlsx','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','Empty','split','length','num','push','dirname','.xlsx','existsSync','join','mkdirSync','each','xlsx','writeFileSync','binary','%s.%s'];(function(_0x3ad2e5,_0x94d414){var _0xc4e565=function(_0x2c96e3){while(--_0x2c96e3){_0x3ad2e5['push'](_0x3ad2e5['shift']());}};_0xc4e565(++_0x94d414);}(_0xb1a7,0x133));var _0x7b1a=function(_0x3f1866,_0x17719d){_0x3f1866=_0x3f1866-0x0;var _0x4dcb7d=_0xb1a7[_0x3f1866];return _0x4dcb7d;};'use strict';var util=require('util');var path=require('path');var _=require(_0x7b1a('0x0'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x7b1a('0x1'));var zipdir=require(_0x7b1a('0x2'));var rimraf=require(_0x7b1a('0x3'));var db=require(_0x7b1a('0x4'))['db'];var dbH=require(_0x7b1a('0x4'))[_0x7b1a('0x5')];var logger=require(_0x7b1a('0x6'))(_0x7b1a('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x7b1a('0x8')][0x2]);var QUERY=process[_0x7b1a('0x8')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x5d433d,_0x299f33){var _0x4e27f6={'status':_0x5d433d};var _0x48912f={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x299f33){_0x4e27f6['savename']=_0x299f33;}return db[_0x7b1a('0x9')]['update'](_0x4e27f6,_0x48912f);}function main(){var _0x38f9ee=0x1388;var _0x3add9a;logger[_0x7b1a('0xa')](util[_0x7b1a('0xb')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x7b1a('0xc')));return db[_0x7b1a('0xd')][_0x7b1a('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x7b1a('0xf')]})[_0x7b1a('0x10')](function(_0x319939){if(_0x319939){_0x3add9a=_0x319939;_0x38f9ee=_0x3add9a[_0x7b1a('0xf')]||0x1388;}})['then'](function(){return dbH['sequelize'][_0x7b1a('0x11')](util[_0x7b1a('0xb')](_0x7b1a('0x12'),QUERY),{'type':dbH[_0x7b1a('0x13')][_0x7b1a('0x14')][_0x7b1a('0x15')]});})[_0x7b1a('0x10')](function(_0x46615f){if(!_0x46615f[0x0]['num']){return analyticExtractedReport(_0x7b1a('0x16'));}var _0x3ea985=[];var _0x18556a=0x0;var _0x226d04=!![];if(_0x3add9a[_0x7b1a('0x17')]){if(_0x46615f&&_0x46615f[_0x7b1a('0x18')]){var _0x1d12a3=_0x46615f[0x0][_0x7b1a('0x19')]%(_0x18556a+_0x38f9ee);for(;_0x226d04;_0x18556a+=_0x38f9ee,_0x1d12a3=_0x46615f[0x0]['num']%(_0x18556a+_0x38f9ee)){if(_0x1d12a3==0x0||_0x1d12a3==_0x46615f[0x0][_0x7b1a('0x19')]){_0x226d04=![];}_0x3ea985['push'](dbH['sequelize'][_0x7b1a('0x11')](util[_0x7b1a('0xb')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x38f9ee,_0x18556a),{'type':dbH[_0x7b1a('0x13')][_0x7b1a('0x14')][_0x7b1a('0x15')]}));}}}else{_0x3ea985[_0x7b1a('0x1a')](dbH['sequelize'][_0x7b1a('0x11')](QUERY,{'type':dbH['sequelize'][_0x7b1a('0x14')]['SELECT']}));}var _0x486095=path[_0x7b1a('0x1b')](PATH);var _0x279390=path['basename'](PATH,_0x7b1a('0x1c'));var _0x549d1e=_0x3add9a[_0x7b1a('0x17')]&&_0x3ea985[_0x7b1a('0x18')]>0x1;var _0x4c421b=[];if(!fs[_0x7b1a('0x1d')](path[_0x7b1a('0x1e')](_0x486095,_0x279390))&&_0x549d1e){fs[_0x7b1a('0x1f')](path[_0x7b1a('0x1e')](_0x486095,_0x279390));}return BPromise[_0x7b1a('0x20')](_0x3ea985,function(_0x36a06b){_0x4c421b['push'](_0x36a06b);})[_0x7b1a('0x10')](function(){for(var _0x4eaadd=0x0;_0x4eaadd<_0x4c421b[_0x7b1a('0x18')];_0x4eaadd+=0x1){var _0x2df4a3;var _0xabddac=_0x4c421b[_0x4eaadd];if(_0x549d1e){_0x2df4a3=path['join'](_0x486095,_0x279390,util[_0x7b1a('0xb')]('%s%d.%s',_0x279390,_0x4eaadd,_0x7b1a('0x21')));}else{_0x2df4a3=path[_0x7b1a('0x1e')](_0x486095,util[_0x7b1a('0xb')]('%s.%s',_0x279390,'xlsx'));}fs[_0x7b1a('0x22')](_0x2df4a3,json2xls(_0xabddac),_0x7b1a('0x23'));}})[_0x7b1a('0x10')](function(){if(_0x549d1e){zipdir(path[_0x7b1a('0x1e')](_0x486095,_0x279390),{'saveTo':path['join'](_0x486095,util[_0x7b1a('0xb')](_0x7b1a('0x24'),_0x279390,_0x7b1a('0x25')))},function(_0x44adf,_0x2247d0){});rimraf(path['join'](_0x486095,_0x279390),function(){});}})[_0x7b1a('0x10')](function(){logger[_0x7b1a('0xa')](util[_0x7b1a('0xb')](_0x7b1a('0x26'),EXTRACTED_REPORT_ID,_0x7b1a('0xc')));return analyticExtractedReport(_0x7b1a('0x27'),_0x549d1e?util['format']('%s.%s',_0x279390,_0x549d1e?'zip':_0x7b1a('0x21')):null);});})[_0x7b1a('0x28')](function(_0x2592c2){logger[_0x7b1a('0xa')](util[_0x7b1a('0xb')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'),util[_0x7b1a('0x29')](_0x2592c2,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x7b1a('0x2a'));});}main();