Built motion from commit 9d7072cc.|2.5.39
[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 _0x55f1=['Failed','exit','util','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','split','length','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','existsSync','join','mkdirSync','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch'];(function(_0x4370c7,_0x5dbfb0){var _0xce78a9=function(_0x157b2c){while(--_0x157b2c){_0x4370c7['push'](_0x4370c7['shift']());}};_0xce78a9(++_0x5dbfb0);}(_0x55f1,0x9b));var _0x155f=function(_0x5eff5b,_0x28106e){_0x5eff5b=_0x5eff5b-0x0;var _0x283f89=_0x55f1[_0x5eff5b];return _0x283f89;};'use strict';var util=require(_0x155f('0x0'));var path=require('path');var _=require(_0x155f('0x1'));var fs=require('fs');var json2xls=require(_0x155f('0x2'));var BPromise=require(_0x155f('0x3'));var zipdir=require(_0x155f('0x4'));var rimraf=require(_0x155f('0x5'));var db=require(_0x155f('0x6'))['db'];var dbH=require(_0x155f('0x6'))['dbH'];var logger=require('../../config/logger')(_0x155f('0x7'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x155f('0x8')][0x3];var PATH=process[_0x155f('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x39b14d,_0x1bcf84){var _0x2a0a02={'status':_0x39b14d};var _0x9fc06e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1bcf84){_0x2a0a02[_0x155f('0x9')]=_0x1bcf84;}return db[_0x155f('0xa')][_0x155f('0xb')](_0x2a0a02,_0x9fc06e);}function main(){var _0x281c5a=0x1388;var _0x11c946;logger[_0x155f('0xc')](util[_0x155f('0xd')](_0x155f('0xe'),EXTRACTED_REPORT_ID,_0x155f('0xf')));return db[_0x155f('0x10')][_0x155f('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x155f('0x12')]})[_0x155f('0x13')](function(_0x18fd42){if(_0x18fd42){_0x11c946=_0x18fd42;_0x281c5a=_0x11c946['splitSizeXlsx']||0x1388;}})['then'](function(){return dbH[_0x155f('0x14')][_0x155f('0x15')](util[_0x155f('0xd')](_0x155f('0x16'),QUERY),{'type':dbH[_0x155f('0x14')][_0x155f('0x17')][_0x155f('0x18')]});})['then'](function(_0x3a3207){if(!_0x3a3207[0x0][_0x155f('0x19')]){return analyticExtractedReport('Empty');}var _0x44c018=[];var _0x1c2d06=0x0;if(_0x11c946[_0x155f('0x1a')]){if(_0x3a3207&&_0x3a3207[_0x155f('0x1b')]){var _0x9bf908=_[_0x155f('0x1c')](_0x3a3207[0x0][_0x155f('0x19')]/_0x281c5a);var _0x343a1e=Number[_0x155f('0x1d')](_0x3a3207[0x0][_0x155f('0x19')]/_0x281c5a)?_0x3a3207[0x0][_0x155f('0x19')]%_0x281c5a:0x0;_0x9bf908[_0x155f('0x1e')](function(_0x243dd2){if(_0x243dd2>0x0){_0x1c2d06+=_0x281c5a;}_0x44c018[_0x155f('0x1f')](dbH[_0x155f('0x14')][_0x155f('0x15')](util['format'](_0x155f('0x20'),QUERY,_0x281c5a,_0x1c2d06),{'type':dbH[_0x155f('0x14')][_0x155f('0x17')][_0x155f('0x18')]}));});if(_0x343a1e>0x0){_0x1c2d06+=_0x281c5a;_0x44c018['push'](dbH['sequelize']['query'](util[_0x155f('0xd')](_0x155f('0x20'),QUERY,_0x343a1e,_0x1c2d06),{'type':dbH[_0x155f('0x14')][_0x155f('0x17')][_0x155f('0x18')]}));}}}else{_0x44c018['push'](dbH[_0x155f('0x14')][_0x155f('0x15')](QUERY,{'type':dbH[_0x155f('0x14')][_0x155f('0x17')][_0x155f('0x18')]}));}var _0x2588f5=path[_0x155f('0x21')](PATH);var _0x3bdbe1=path[_0x155f('0x22')](PATH,_0x155f('0x23'));var _0x143749=_0x11c946[_0x155f('0x1a')]&&_0x44c018['length']>0x1;var _0x5c0a30=[];if(!fs[_0x155f('0x24')](path[_0x155f('0x25')](_0x2588f5,_0x3bdbe1))&&_0x143749){fs[_0x155f('0x26')](path[_0x155f('0x25')](_0x2588f5,_0x3bdbe1));}return BPromise['each'](_0x44c018,function(_0x2c0f05){_0x5c0a30[_0x155f('0x1f')](_0x2c0f05);})[_0x155f('0x13')](function(){for(var _0x29e9dd=0x0;_0x29e9dd<_0x5c0a30[_0x155f('0x1b')];_0x29e9dd+=0x1){var _0x3d3e46;var _0x1a89bb=_0x5c0a30[_0x29e9dd];if(_0x143749){_0x3d3e46=path['join'](_0x2588f5,_0x3bdbe1,util[_0x155f('0xd')](_0x155f('0x27'),_0x3bdbe1,_0x29e9dd,_0x155f('0x28')));}else{_0x3d3e46=path[_0x155f('0x25')](_0x2588f5,util[_0x155f('0xd')](_0x155f('0x29'),_0x3bdbe1,_0x155f('0x28')));}fs[_0x155f('0x2a')](_0x3d3e46,json2xls(_0x1a89bb),_0x155f('0x2b'));}})['then'](function(){if(_0x143749){return new Promise(function(_0x36b196){zipdir(path[_0x155f('0x25')](_0x2588f5,_0x3bdbe1),{'saveTo':path[_0x155f('0x25')](_0x2588f5,util['format'](_0x155f('0x29'),_0x3bdbe1,_0x155f('0x2c')))},function(_0x4839ae,_0x1cfb66){rimraf(path['join'](_0x2588f5,_0x3bdbe1),function(){});_0x36b196(_0x155f('0x2d'));});});}})[_0x155f('0x13')](function(){logger['info'](util['format'](_0x155f('0x2e'),EXTRACTED_REPORT_ID,_0x155f('0xf')));return analyticExtractedReport(_0x155f('0x2f'),_0x143749?util['format'](_0x155f('0x29'),_0x3bdbe1,_0x143749?_0x155f('0x2c'):_0x155f('0x28')):null);});})[_0x155f('0x30')](function(_0x5c1f6b){logger[_0x155f('0xc')](util[_0x155f('0xd')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x155f('0xf')),util['inspect'](_0x5c1f6b,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x155f('0x31'));})['finally'](function(){process[_0x155f('0x32')](EXIT_CODE);});}main();