Built motion from commit f7863d46.|2.5.41
[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 _0xfb54=['Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','inspect','Failed','finally','exit','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','split','splitSizeXlsx','then','sequelize','query','SELECT','num','length','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','basename','existsSync','join','mkdirSync','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','zip\x20finished'];(function(_0x2d9f6d,_0x107451){var _0x186c03=function(_0x426067){while(--_0x426067){_0x2d9f6d['push'](_0x2d9f6d['shift']());}};_0x186c03(++_0x107451);}(_0xfb54,0x116));var _0x4fb5=function(_0x3b7a0e,_0x2e228d){_0x3b7a0e=_0x3b7a0e-0x0;var _0xd00eab=_0xfb54[_0x3b7a0e];return _0xd00eab;};'use strict';var util=require(_0x4fb5('0x0'));var path=require(_0x4fb5('0x1'));var _=require(_0x4fb5('0x2'));var fs=require('fs');var json2xls=require(_0x4fb5('0x3'));var BPromise=require(_0x4fb5('0x4'));var zipdir=require(_0x4fb5('0x5'));var rimraf=require(_0x4fb5('0x6'));var db=require(_0x4fb5('0x7'))['db'];var dbH=require(_0x4fb5('0x7'))[_0x4fb5('0x8')];var logger=require(_0x4fb5('0x9'))(_0x4fb5('0xa'));var EXTRACTED_REPORT_ID=Number(process[_0x4fb5('0xb')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x4fb5('0xb')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x53f324,_0x566e80){var _0x1f9674={'status':_0x53f324};var _0x2234a8={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x566e80){_0x1f9674[_0x4fb5('0xc')]=_0x566e80;}return db[_0x4fb5('0xd')][_0x4fb5('0xe')](_0x1f9674,_0x2234a8);}function main(){var _0x27a614=0x1388;var _0x43d570;logger[_0x4fb5('0xf')](util[_0x4fb5('0x10')](_0x4fb5('0x11'),EXTRACTED_REPORT_ID,'XLSX'));return db[_0x4fb5('0x12')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x4fb5('0x13'),_0x4fb5('0x14')]})[_0x4fb5('0x15')](function(_0x13a6ed){if(_0x13a6ed){_0x43d570=_0x13a6ed;_0x27a614=_0x43d570['splitSizeXlsx']||0x1388;}})[_0x4fb5('0x15')](function(){return dbH[_0x4fb5('0x16')][_0x4fb5('0x17')](util[_0x4fb5('0x10')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize']['QueryTypes'][_0x4fb5('0x18')]});})['then'](function(_0x3137f9){if(!_0x3137f9[0x0][_0x4fb5('0x19')]){return analyticExtractedReport('Empty');}var _0x9fbd9a=[];var _0x4073ee=0x0;if(_0x43d570[_0x4fb5('0x13')]){if(_0x3137f9&&_0x3137f9[_0x4fb5('0x1a')]){var _0x31e4a7=_[_0x4fb5('0x1b')](_0x3137f9[0x0][_0x4fb5('0x19')]/_0x27a614);var _0x46870f=Number[_0x4fb5('0x1c')](_0x3137f9[0x0][_0x4fb5('0x19')]/_0x27a614)?_0x3137f9[0x0][_0x4fb5('0x19')]%_0x27a614:0x0;_0x31e4a7[_0x4fb5('0x1d')](function(_0x64029c){if(_0x64029c>0x0){_0x4073ee+=_0x27a614;}_0x9fbd9a[_0x4fb5('0x1e')](dbH['sequelize'][_0x4fb5('0x17')](util[_0x4fb5('0x10')](_0x4fb5('0x1f'),QUERY,_0x27a614,_0x4073ee),{'type':dbH[_0x4fb5('0x16')]['QueryTypes'][_0x4fb5('0x18')]}));});if(_0x46870f>0x0){_0x4073ee+=_0x27a614;_0x9fbd9a[_0x4fb5('0x1e')](dbH[_0x4fb5('0x16')][_0x4fb5('0x17')](util[_0x4fb5('0x10')](_0x4fb5('0x1f'),QUERY,_0x46870f,_0x4073ee),{'type':dbH[_0x4fb5('0x16')][_0x4fb5('0x20')][_0x4fb5('0x18')]}));}}}else{_0x9fbd9a['push'](dbH[_0x4fb5('0x16')][_0x4fb5('0x17')](QUERY,{'type':dbH[_0x4fb5('0x16')][_0x4fb5('0x20')][_0x4fb5('0x18')]}));}var _0x3c2a50=path[_0x4fb5('0x21')](PATH);var _0x1c6388=path[_0x4fb5('0x22')](PATH,'.xlsx');var _0x8cdf59=_0x43d570['split']&&_0x9fbd9a[_0x4fb5('0x1a')]>0x1;var _0x277526=[];if(!fs[_0x4fb5('0x23')](path[_0x4fb5('0x24')](_0x3c2a50,_0x1c6388))&&_0x8cdf59){fs[_0x4fb5('0x25')](path[_0x4fb5('0x24')](_0x3c2a50,_0x1c6388));}return BPromise[_0x4fb5('0x26')](_0x9fbd9a,function(_0x5f2261){_0x277526[_0x4fb5('0x1e')](_0x5f2261);})['then'](function(){for(var _0x38268c=0x0;_0x38268c<_0x277526[_0x4fb5('0x1a')];_0x38268c+=0x1){var _0xa5cbaa;var _0x1288f7=_0x277526[_0x38268c];if(_0x8cdf59){_0xa5cbaa=path[_0x4fb5('0x24')](_0x3c2a50,_0x1c6388,util[_0x4fb5('0x10')](_0x4fb5('0x27'),_0x1c6388,_0x38268c,_0x4fb5('0x28')));}else{_0xa5cbaa=path[_0x4fb5('0x24')](_0x3c2a50,util['format'](_0x4fb5('0x29'),_0x1c6388,_0x4fb5('0x28')));}fs[_0x4fb5('0x2a')](_0xa5cbaa,json2xls(_0x1288f7),_0x4fb5('0x2b'));}})[_0x4fb5('0x15')](function(){if(_0x8cdf59){return new Promise(function(_0x104ca3){zipdir(path[_0x4fb5('0x24')](_0x3c2a50,_0x1c6388),{'saveTo':path[_0x4fb5('0x24')](_0x3c2a50,util[_0x4fb5('0x10')](_0x4fb5('0x29'),_0x1c6388,_0x4fb5('0x2c')))},function(_0x292ac0,_0x188b76){rimraf(path[_0x4fb5('0x24')](_0x3c2a50,_0x1c6388),function(){});_0x104ca3(_0x4fb5('0x2d'));});});}})[_0x4fb5('0x15')](function(){logger['info'](util['format'](_0x4fb5('0x2e'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x4fb5('0x2f'),_0x8cdf59?util[_0x4fb5('0x10')](_0x4fb5('0x29'),_0x1c6388,_0x8cdf59?_0x4fb5('0x2c'):_0x4fb5('0x28')):null);});})['catch'](function(_0x70b551){logger[_0x4fb5('0xf')](util[_0x4fb5('0x10')](_0x4fb5('0x30'),EXTRACTED_REPORT_ID,_0x4fb5('0x31')),util[_0x4fb5('0x32')](_0x70b551,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x4fb5('0x33'));})[_0x4fb5('0x34')](function(){process[_0x4fb5('0x35')](EXIT_CODE);});}main();