Built motion from commit 5b761a7b.|2.5.36
[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 _0x3de3=['Failed','finally','exit','util','lodash','json2xls','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','length','range','isInteger','query','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','join','mkdirSync','each','push','%s%d.%s','xlsx','writeFileSync','binary','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','%s.%s','zip','inspect'];(function(_0xc2b7aa,_0x30fad5){var _0x1438b8=function(_0x461b48){while(--_0x461b48){_0xc2b7aa['push'](_0xc2b7aa['shift']());}};_0x1438b8(++_0x30fad5);}(_0x3de3,0x1ce));var _0x33de=function(_0x225271,_0x42907b){_0x225271=_0x225271-0x0;var _0x5c50a8=_0x3de3[_0x225271];return _0x5c50a8;};'use strict';var util=require(_0x33de('0x0'));var path=require('path');var _=require(_0x33de('0x1'));var fs=require('fs');var json2xls=require(_0x33de('0x2'));var BPromise=require('bluebird');var zipdir=require(_0x33de('0x3'));var rimraf=require(_0x33de('0x4'));var db=require(_0x33de('0x5'))['db'];var dbH=require(_0x33de('0x5'))['dbH'];var logger=require(_0x33de('0x6'))(_0x33de('0x7'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x33de('0x8')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x13afea,_0x35ee93){var _0x7ceca6={'status':_0x13afea};var _0x486ab6={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x35ee93){_0x7ceca6[_0x33de('0x9')]=_0x35ee93;}return db[_0x33de('0xa')][_0x33de('0xb')](_0x7ceca6,_0x486ab6);}function main(){var _0x5e1be7=0x1388;var _0x2cbf35;logger[_0x33de('0xc')](util[_0x33de('0xd')](_0x33de('0xe'),EXTRACTED_REPORT_ID,_0x33de('0xf')));return db[_0x33de('0x10')][_0x33de('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x33de('0x12'),_0x33de('0x13')]})[_0x33de('0x14')](function(_0x27d1d8){if(_0x27d1d8){_0x2cbf35=_0x27d1d8;_0x5e1be7=_0x2cbf35['splitSizeXlsx']||0x1388;}})[_0x33de('0x14')](function(){return dbH[_0x33de('0x15')]['query'](util['format'](_0x33de('0x16'),QUERY),{'type':dbH[_0x33de('0x15')][_0x33de('0x17')][_0x33de('0x18')]});})['then'](function(_0x11e6b5){if(!_0x11e6b5[0x0][_0x33de('0x19')]){return analyticExtractedReport('Empty');}var _0x4ff69f=[];var _0x185849=0x0;if(_0x2cbf35[_0x33de('0x12')]){if(_0x11e6b5&&_0x11e6b5[_0x33de('0x1a')]){var _0x4de4ef=_[_0x33de('0x1b')](_0x11e6b5[0x0][_0x33de('0x19')]/_0x5e1be7);var _0x52cfa0=Number[_0x33de('0x1c')](_0x11e6b5[0x0][_0x33de('0x19')]/_0x5e1be7)?_0x11e6b5[0x0]['num']%_0x5e1be7:0x0;_0x4de4ef['forEach'](function(_0x1cf3dd){if(_0x1cf3dd>0x0){_0x185849+=_0x5e1be7;}_0x4ff69f['push'](dbH[_0x33de('0x15')][_0x33de('0x1d')](util[_0x33de('0xd')](_0x33de('0x1e'),QUERY,_0x5e1be7,_0x185849),{'type':dbH[_0x33de('0x15')][_0x33de('0x17')][_0x33de('0x18')]}));});if(_0x52cfa0>0x0){_0x185849+=_0x5e1be7;_0x4ff69f['push'](dbH['sequelize'][_0x33de('0x1d')](util['format'](_0x33de('0x1e'),QUERY,_0x52cfa0,_0x185849),{'type':dbH['sequelize'][_0x33de('0x17')][_0x33de('0x18')]}));}}}else{_0x4ff69f['push'](dbH[_0x33de('0x15')]['query'](QUERY,{'type':dbH[_0x33de('0x15')]['QueryTypes'][_0x33de('0x18')]}));}var _0x24e282=path[_0x33de('0x1f')](PATH);var _0x5b79d7=path[_0x33de('0x20')](PATH,_0x33de('0x21'));var _0x140979=_0x2cbf35['split']&&_0x4ff69f[_0x33de('0x1a')]>0x1;var _0x5585a2=[];if(!fs['existsSync'](path[_0x33de('0x22')](_0x24e282,_0x5b79d7))&&_0x140979){fs[_0x33de('0x23')](path[_0x33de('0x22')](_0x24e282,_0x5b79d7));}return BPromise[_0x33de('0x24')](_0x4ff69f,function(_0x44b10e){_0x5585a2[_0x33de('0x25')](_0x44b10e);})[_0x33de('0x14')](function(){for(var _0x1b4703=0x0;_0x1b4703<_0x5585a2['length'];_0x1b4703+=0x1){var _0x5ae0e8;var _0x2755e6=_0x5585a2[_0x1b4703];if(_0x140979){_0x5ae0e8=path[_0x33de('0x22')](_0x24e282,_0x5b79d7,util[_0x33de('0xd')](_0x33de('0x26'),_0x5b79d7,_0x1b4703,_0x33de('0x27')));}else{_0x5ae0e8=path[_0x33de('0x22')](_0x24e282,util[_0x33de('0xd')]('%s.%s',_0x5b79d7,_0x33de('0x27')));}fs[_0x33de('0x28')](_0x5ae0e8,json2xls(_0x2755e6),_0x33de('0x29'));}})[_0x33de('0x14')](function(){if(_0x140979){return new Promise(function(_0x49e857){zipdir(path[_0x33de('0x22')](_0x24e282,_0x5b79d7),{'saveTo':path[_0x33de('0x22')](_0x24e282,util['format']('%s.%s',_0x5b79d7,'zip'))},function(_0x2dd46e,_0x2f9d24){rimraf(path['join'](_0x24e282,_0x5b79d7),function(){});_0x49e857(_0x33de('0x2a'));});});}})['then'](function(){logger['info'](util[_0x33de('0xd')](_0x33de('0x2b'),EXTRACTED_REPORT_ID,_0x33de('0xf')));return analyticExtractedReport(_0x33de('0x2c'),_0x140979?util[_0x33de('0xd')](_0x33de('0x2d'),_0x5b79d7,_0x140979?_0x33de('0x2e'):_0x33de('0x27')):null);});})['catch'](function(_0x26d2a5){logger['info'](util[_0x33de('0xd')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'),util[_0x33de('0x2f')](_0x26d2a5,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x33de('0x30'));})[_0x33de('0x31')](function(){process[_0x33de('0x32')](EXIT_CODE);});}main();