Built motion from commit 994c64e1.|2.6.1
[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 _0x7e6a=['%s%d.%s','xlsx','writeFileSync','binary','then','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','Completed','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','Setting','find','splitSizeXlsx','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','num','Empty','length','isInteger','forEach','push','SELECT','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','split','mkdirSync','join','each'];(function(_0x3d8995,_0x5f4f4b){var _0x5dd8ed=function(_0x55e159){while(--_0x55e159){_0x3d8995['push'](_0x3d8995['shift']());}};_0x5dd8ed(++_0x5f4f4b);}(_0x7e6a,0xac));var _0xa7e6=function(_0x5e436d,_0x592fe8){_0x5e436d=_0x5e436d-0x0;var _0x355f6e=_0x7e6a[_0x5e436d];return _0x355f6e;};'use strict';var util=require(_0xa7e6('0x0'));var path=require(_0xa7e6('0x1'));var _=require(_0xa7e6('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xa7e6('0x3'));var zipdir=require(_0xa7e6('0x4'));var rimraf=require(_0xa7e6('0x5'));var db=require('../../mysqldb')['db'];var dbH=require(_0xa7e6('0x6'))[_0xa7e6('0x7')];var logger=require(_0xa7e6('0x8'))(_0xa7e6('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xa7e6('0xa')][0x2]);var QUERY=process[_0xa7e6('0xa')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x1b5054,_0x218d2b){var _0x4ea76d={'status':_0x1b5054};var _0x489136={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x218d2b){_0x4ea76d['savename']=_0x218d2b;}return db[_0xa7e6('0xb')][_0xa7e6('0xc')](_0x4ea76d,_0x489136);}function main(){var _0x49d5d8=0x1388;var _0x3fe023;logger['info'](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'));return db[_0xa7e6('0xd')][_0xa7e6('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeXlsx']})['then'](function(_0x398047){if(_0x398047){_0x3fe023=_0x398047;_0x49d5d8=_0x3fe023[_0xa7e6('0xf')]||0x1388;}})['then'](function(){return dbH[_0xa7e6('0x10')][_0xa7e6('0x11')](util[_0xa7e6('0x12')](_0xa7e6('0x13'),QUERY),{'type':dbH[_0xa7e6('0x10')][_0xa7e6('0x14')]['SELECT']});})['then'](function(_0x346333){if(!_0x346333[0x0][_0xa7e6('0x15')]){return analyticExtractedReport(_0xa7e6('0x16'));}var _0xb82162=[];var _0x3939e5=0x0;if(_0x3fe023['split']){if(_0x346333&&_0x346333[_0xa7e6('0x17')]){var _0x2752a0=_['range'](_0x346333[0x0][_0xa7e6('0x15')]/_0x49d5d8);var _0x1a8666=Number[_0xa7e6('0x18')](_0x346333[0x0][_0xa7e6('0x15')]/_0x49d5d8)?_0x346333[0x0]['num']%_0x49d5d8:0x0;_0x2752a0[_0xa7e6('0x19')](function(_0x10d70b){if(_0x10d70b>0x0){_0x3939e5+=_0x49d5d8;}_0xb82162[_0xa7e6('0x1a')](dbH[_0xa7e6('0x10')][_0xa7e6('0x11')](util[_0xa7e6('0x12')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x49d5d8,_0x3939e5),{'type':dbH[_0xa7e6('0x10')][_0xa7e6('0x14')][_0xa7e6('0x1b')]}));});if(_0x1a8666>0x0){_0x3939e5+=_0x49d5d8;_0xb82162[_0xa7e6('0x1a')](dbH[_0xa7e6('0x10')][_0xa7e6('0x11')](util[_0xa7e6('0x12')](_0xa7e6('0x1c'),QUERY,_0x1a8666,_0x3939e5),{'type':dbH[_0xa7e6('0x10')]['QueryTypes'][_0xa7e6('0x1b')]}));}}}else{_0xb82162[_0xa7e6('0x1a')](dbH['sequelize'][_0xa7e6('0x11')](QUERY,{'type':dbH[_0xa7e6('0x10')]['QueryTypes'][_0xa7e6('0x1b')]}));}var _0x4ab1b4=path[_0xa7e6('0x1d')](PATH);var _0x4a7dc0=path[_0xa7e6('0x1e')](PATH,_0xa7e6('0x1f'));var _0x5a7b77=_0x3fe023[_0xa7e6('0x20')]&&_0xb82162[_0xa7e6('0x17')]>0x1;var _0x30b97a=[];if(!fs['existsSync'](path['join'](_0x4ab1b4,_0x4a7dc0))&&_0x5a7b77){fs[_0xa7e6('0x21')](path[_0xa7e6('0x22')](_0x4ab1b4,_0x4a7dc0));}return BPromise[_0xa7e6('0x23')](_0xb82162,function(_0x15b664){_0x30b97a[_0xa7e6('0x1a')](_0x15b664);})['then'](function(){for(var _0x56eb72=0x0;_0x56eb72<_0x30b97a[_0xa7e6('0x17')];_0x56eb72+=0x1){var _0x17dc42;var _0x59d47a=_0x30b97a[_0x56eb72];if(_0x5a7b77){_0x17dc42=path[_0xa7e6('0x22')](_0x4ab1b4,_0x4a7dc0,util['format'](_0xa7e6('0x24'),_0x4a7dc0,_0x56eb72,_0xa7e6('0x25')));}else{_0x17dc42=path[_0xa7e6('0x22')](_0x4ab1b4,util[_0xa7e6('0x12')]('%s.%s',_0x4a7dc0,'xlsx'));}fs[_0xa7e6('0x26')](_0x17dc42,json2xls(_0x59d47a),_0xa7e6('0x27'));}})[_0xa7e6('0x28')](function(){if(_0x5a7b77){return new Promise(function(_0x1131e8){zipdir(path['join'](_0x4ab1b4,_0x4a7dc0),{'saveTo':path[_0xa7e6('0x22')](_0x4ab1b4,util['format'](_0xa7e6('0x29'),_0x4a7dc0,_0xa7e6('0x2a')))},function(_0x1613b1,_0x4d6b7e){rimraf(path[_0xa7e6('0x22')](_0x4ab1b4,_0x4a7dc0),function(){});_0x1131e8(_0xa7e6('0x2b'));});});}})[_0xa7e6('0x28')](function(){logger['info'](util[_0xa7e6('0x12')](_0xa7e6('0x2c'),EXTRACTED_REPORT_ID,_0xa7e6('0x2d')));return analyticExtractedReport(_0xa7e6('0x2e'),_0x5a7b77?util[_0xa7e6('0x12')](_0xa7e6('0x29'),_0x4a7dc0,_0x5a7b77?_0xa7e6('0x2a'):'xlsx'):null);});})['catch'](function(_0x2c9545){logger[_0xa7e6('0x2f')](util[_0xa7e6('0x12')](_0xa7e6('0x30'),EXTRACTED_REPORT_ID,'XLSX'),util[_0xa7e6('0x31')](_0x2c9545,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xa7e6('0x32'));})[_0xa7e6('0x33')](function(){process['exit'](EXIT_CODE);});}main();