Built motion from commit 9d1906d1.|2.5.40
[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 _0xfabf=['Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','then','num','Empty','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','length','existsSync','mkdirSync','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','exit','util','path','lodash','json2xls','bluebird','rimraf','../../mysqldb','../../config/logger','analytics','argv','update','info'];(function(_0x3dfb9d,_0x34bdb2){var _0x48911d=function(_0x2d55b0){while(--_0x2d55b0){_0x3dfb9d['push'](_0x3dfb9d['shift']());}};_0x48911d(++_0x34bdb2);}(_0xfabf,0x11a));var _0xffab=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0xfabf[_0x2641f9];return _0x585741;};'use strict';var util=require(_0xffab('0x0'));var path=require(_0xffab('0x1'));var _=require(_0xffab('0x2'));var fs=require('fs');var json2xls=require(_0xffab('0x3'));var BPromise=require(_0xffab('0x4'));var zipdir=require('zip-dir');var rimraf=require(_0xffab('0x5'));var db=require(_0xffab('0x6'))['db'];var dbH=require(_0xffab('0x6'))['dbH'];var logger=require(_0xffab('0x7'))(_0xffab('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xffab('0x9')][0x3];var PATH=process[_0xffab('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x717e32,_0x496028){var _0xad0c1f={'status':_0x717e32};var _0x5e4932={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x496028){_0xad0c1f['savename']=_0x496028;}return db['AnalyticExtractedReport'][_0xffab('0xa')](_0xad0c1f,_0x5e4932);}function main(){var _0x55f1d7=0x1388;var _0x4fd8e8;logger[_0xffab('0xb')](util['format'](_0xffab('0xc'),EXTRACTED_REPORT_ID,_0xffab('0xd')));return db[_0xffab('0xe')][_0xffab('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xffab('0x10'),'splitSizeXlsx']})['then'](function(_0x4eca91){if(_0x4eca91){_0x4fd8e8=_0x4eca91;_0x55f1d7=_0x4fd8e8[_0xffab('0x11')]||0x1388;}})['then'](function(){return dbH[_0xffab('0x12')][_0xffab('0x13')](util[_0xffab('0x14')](_0xffab('0x15'),QUERY),{'type':dbH[_0xffab('0x12')][_0xffab('0x16')][_0xffab('0x17')]});})[_0xffab('0x18')](function(_0x2f0aec){if(!_0x2f0aec[0x0][_0xffab('0x19')]){return analyticExtractedReport(_0xffab('0x1a'));}var _0x1e90ee=[];var _0x351be7=0x0;if(_0x4fd8e8[_0xffab('0x10')]){if(_0x2f0aec&&_0x2f0aec['length']){var _0x2a02c8=_[_0xffab('0x1b')](_0x2f0aec[0x0][_0xffab('0x19')]/_0x55f1d7);var _0x32e6ae=Number[_0xffab('0x1c')](_0x2f0aec[0x0][_0xffab('0x19')]/_0x55f1d7)?_0x2f0aec[0x0]['num']%_0x55f1d7:0x0;_0x2a02c8[_0xffab('0x1d')](function(_0x4e58d8){if(_0x4e58d8>0x0){_0x351be7+=_0x55f1d7;}_0x1e90ee[_0xffab('0x1e')](dbH[_0xffab('0x12')][_0xffab('0x13')](util[_0xffab('0x14')](_0xffab('0x1f'),QUERY,_0x55f1d7,_0x351be7),{'type':dbH['sequelize'][_0xffab('0x16')]['SELECT']}));});if(_0x32e6ae>0x0){_0x351be7+=_0x55f1d7;_0x1e90ee['push'](dbH[_0xffab('0x12')]['query'](util[_0xffab('0x14')](_0xffab('0x1f'),QUERY,_0x32e6ae,_0x351be7),{'type':dbH[_0xffab('0x12')]['QueryTypes']['SELECT']}));}}}else{_0x1e90ee['push'](dbH[_0xffab('0x12')][_0xffab('0x13')](QUERY,{'type':dbH[_0xffab('0x12')][_0xffab('0x16')]['SELECT']}));}var _0x50437b=path[_0xffab('0x20')](PATH);var _0x396552=path[_0xffab('0x21')](PATH,'.xlsx');var _0x431496=_0x4fd8e8[_0xffab('0x10')]&&_0x1e90ee[_0xffab('0x22')]>0x1;var _0x5d2be8=[];if(!fs[_0xffab('0x23')](path['join'](_0x50437b,_0x396552))&&_0x431496){fs[_0xffab('0x24')](path[_0xffab('0x25')](_0x50437b,_0x396552));}return BPromise[_0xffab('0x26')](_0x1e90ee,function(_0x24fd5b){_0x5d2be8[_0xffab('0x1e')](_0x24fd5b);})[_0xffab('0x18')](function(){for(var _0x1973ed=0x0;_0x1973ed<_0x5d2be8[_0xffab('0x22')];_0x1973ed+=0x1){var _0x29686e;var _0x19a3e0=_0x5d2be8[_0x1973ed];if(_0x431496){_0x29686e=path[_0xffab('0x25')](_0x50437b,_0x396552,util[_0xffab('0x14')](_0xffab('0x27'),_0x396552,_0x1973ed,_0xffab('0x28')));}else{_0x29686e=path[_0xffab('0x25')](_0x50437b,util[_0xffab('0x14')](_0xffab('0x29'),_0x396552,'xlsx'));}fs[_0xffab('0x2a')](_0x29686e,json2xls(_0x19a3e0),'binary');}})['then'](function(){if(_0x431496){return new Promise(function(_0x35b588){zipdir(path['join'](_0x50437b,_0x396552),{'saveTo':path[_0xffab('0x25')](_0x50437b,util[_0xffab('0x14')](_0xffab('0x29'),_0x396552,_0xffab('0x2b')))},function(_0x10c436,_0x306824){rimraf(path[_0xffab('0x25')](_0x50437b,_0x396552),function(){});_0x35b588('zip\x20finished');});});}})[_0xffab('0x18')](function(){logger['info'](util['format'](_0xffab('0x2c'),EXTRACTED_REPORT_ID,_0xffab('0xd')));return analyticExtractedReport('Completed',_0x431496?util[_0xffab('0x14')]('%s.%s',_0x396552,_0x431496?_0xffab('0x2b'):_0xffab('0x28')):null);});})['catch'](function(_0x2ad34c){logger['info'](util['format'](_0xffab('0x2d'),EXTRACTED_REPORT_ID,_0xffab('0xd')),util[_0xffab('0x2e')](_0x2ad34c,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xffab('0x2f'));})['finally'](function(){process[_0xffab('0x30')](EXIT_CODE);});}main();