Built motion from commit f25620e4.|2.6.30
[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 _0x4b74=['each','xlsx','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','%s.%s','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','finally','exit','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','update','info','format','XLSX','Setting','find','splitSizeXlsx','then','sequelize','query','QueryTypes','num','Empty','split','length','range','isInteger','forEach','push','SELECT','dirname','join','mkdirSync'];(function(_0x27b44f,_0x4a3547){var _0x5c4c8b=function(_0x561495){while(--_0x561495){_0x27b44f['push'](_0x27b44f['shift']());}};_0x5c4c8b(++_0x4a3547);}(_0x4b74,0x103));var _0x44b7=function(_0x465a4c,_0x228080){_0x465a4c=_0x465a4c-0x0;var _0x1df8c5=_0x4b74[_0x465a4c];return _0x1df8c5;};'use strict';var util=require(_0x44b7('0x0'));var path=require(_0x44b7('0x1'));var _=require(_0x44b7('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x44b7('0x3'));var zipdir=require(_0x44b7('0x4'));var rimraf=require(_0x44b7('0x5'));var db=require(_0x44b7('0x6'))['db'];var dbH=require(_0x44b7('0x6'))[_0x44b7('0x7')];var logger=require(_0x44b7('0x8'))(_0x44b7('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x44b7('0xa')][0x3];var PATH=process[_0x44b7('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x7b80e9,_0x4a582b){var _0x45dfbe={'status':_0x7b80e9};var _0xabf05c={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4a582b){_0x45dfbe[_0x44b7('0xb')]=_0x4a582b;}return db['AnalyticExtractedReport'][_0x44b7('0xc')](_0x45dfbe,_0xabf05c);}function main(){var _0x4765e6=0x1388;var _0x592286;logger[_0x44b7('0xd')](util[_0x44b7('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x44b7('0xf')));return db[_0x44b7('0x10')][_0x44b7('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x44b7('0x12')]})[_0x44b7('0x13')](function(_0x47e9f2){if(_0x47e9f2){_0x592286=_0x47e9f2;_0x4765e6=_0x592286[_0x44b7('0x12')]||0x1388;}})['then'](function(){return dbH[_0x44b7('0x14')][_0x44b7('0x15')](util[_0x44b7('0xe')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize'][_0x44b7('0x16')]['SELECT']});})['then'](function(_0x52419d){if(!_0x52419d[0x0][_0x44b7('0x17')]){return analyticExtractedReport(_0x44b7('0x18'));}var _0x4bae25=[];var _0x304807=0x0;if(_0x592286[_0x44b7('0x19')]){if(_0x52419d&&_0x52419d[_0x44b7('0x1a')]){var _0xb3f580=_[_0x44b7('0x1b')](_0x52419d[0x0][_0x44b7('0x17')]/_0x4765e6);var _0x40c84e=Number[_0x44b7('0x1c')](_0x52419d[0x0][_0x44b7('0x17')]/_0x4765e6)?_0x52419d[0x0][_0x44b7('0x17')]%_0x4765e6:0x0;_0xb3f580[_0x44b7('0x1d')](function(_0x490b4b){if(_0x490b4b>0x0){_0x304807+=_0x4765e6;}_0x4bae25[_0x44b7('0x1e')](dbH['sequelize'][_0x44b7('0x15')](util[_0x44b7('0xe')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x4765e6,_0x304807),{'type':dbH[_0x44b7('0x14')][_0x44b7('0x16')][_0x44b7('0x1f')]}));});if(_0x40c84e>0x0){_0x304807+=_0x4765e6;_0x4bae25[_0x44b7('0x1e')](dbH[_0x44b7('0x14')][_0x44b7('0x15')](util[_0x44b7('0xe')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x40c84e,_0x304807),{'type':dbH[_0x44b7('0x14')]['QueryTypes'][_0x44b7('0x1f')]}));}}}else{_0x4bae25[_0x44b7('0x1e')](dbH['sequelize'][_0x44b7('0x15')](QUERY,{'type':dbH[_0x44b7('0x14')][_0x44b7('0x16')][_0x44b7('0x1f')]}));}var _0x27d96c=path[_0x44b7('0x20')](PATH);var _0xe90edf=path['basename'](PATH,'.xlsx');var _0x2c2a29=_0x592286['split']&&_0x4bae25[_0x44b7('0x1a')]>0x1;var _0x5e5f58=[];if(!fs['existsSync'](path[_0x44b7('0x21')](_0x27d96c,_0xe90edf))&&_0x2c2a29){fs[_0x44b7('0x22')](path[_0x44b7('0x21')](_0x27d96c,_0xe90edf));}return BPromise[_0x44b7('0x23')](_0x4bae25,function(_0x2bad24){_0x5e5f58['push'](_0x2bad24);})[_0x44b7('0x13')](function(){for(var _0x5d33af=0x0;_0x5d33af<_0x5e5f58[_0x44b7('0x1a')];_0x5d33af+=0x1){var _0x3da272;var _0x115f80=_0x5e5f58[_0x5d33af];if(_0x2c2a29){_0x3da272=path['join'](_0x27d96c,_0xe90edf,util['format']('%s%d.%s',_0xe90edf,_0x5d33af,_0x44b7('0x24')));}else{_0x3da272=path[_0x44b7('0x21')](_0x27d96c,util['format']('%s.%s',_0xe90edf,_0x44b7('0x24')));}fs[_0x44b7('0x25')](_0x3da272,json2xls(_0x115f80),_0x44b7('0x26'));}})[_0x44b7('0x13')](function(){if(_0x2c2a29){return new Promise(function(_0x420fc5){zipdir(path[_0x44b7('0x21')](_0x27d96c,_0xe90edf),{'saveTo':path[_0x44b7('0x21')](_0x27d96c,util['format']('%s.%s',_0xe90edf,_0x44b7('0x27')))},function(_0x41a178,_0xe40ce4){rimraf(path[_0x44b7('0x21')](_0x27d96c,_0xe90edf),function(){});_0x420fc5(_0x44b7('0x28'));});});}})[_0x44b7('0x13')](function(){logger['info'](util[_0x44b7('0xe')](_0x44b7('0x29'),EXTRACTED_REPORT_ID,_0x44b7('0xf')));return analyticExtractedReport(_0x44b7('0x2a'),_0x2c2a29?util[_0x44b7('0xe')](_0x44b7('0x2b'),_0xe90edf,_0x2c2a29?_0x44b7('0x27'):_0x44b7('0x24')):null);});})[_0x44b7('0x2c')](function(_0x278383){logger[_0x44b7('0xd')](util['format'](_0x44b7('0x2d'),EXTRACTED_REPORT_ID,_0x44b7('0xf')),util['inspect'](_0x278383,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x44b7('0x2e'));})[_0x44b7('0x2f')](function(){process[_0x44b7('0x30')](EXIT_CODE);});}main();