Built motion from commit d1eab355.|2.6.28
[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 _0xd7da=['xlsx','%s.%s','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','exit','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','split','then','splitSizeXlsx','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','join','each','%s%d.%s'];(function(_0x2b5eae,_0x55010d){var _0x5f3ac9=function(_0x397bfc){while(--_0x397bfc){_0x2b5eae['push'](_0x2b5eae['shift']());}};_0x5f3ac9(++_0x55010d);}(_0xd7da,0xec));var _0xad7d=function(_0x3960d1,_0xf16b39){_0x3960d1=_0x3960d1-0x0;var _0x3c9747=_0xd7da[_0x3960d1];return _0x3c9747;};'use strict';var util=require('util');var path=require('path');var _=require(_0xad7d('0x0'));var fs=require('fs');var json2xls=require(_0xad7d('0x1'));var BPromise=require(_0xad7d('0x2'));var zipdir=require(_0xad7d('0x3'));var rimraf=require(_0xad7d('0x4'));var db=require(_0xad7d('0x5'))['db'];var dbH=require(_0xad7d('0x5'))[_0xad7d('0x6')];var logger=require('../../config/logger')(_0xad7d('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0xad7d('0x8')][0x2]);var QUERY=process[_0xad7d('0x8')][0x3];var PATH=process[_0xad7d('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x4c3a67,_0x23459c){var _0x2f3370={'status':_0x4c3a67};var _0xe5c245={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x23459c){_0x2f3370[_0xad7d('0x9')]=_0x23459c;}return db['AnalyticExtractedReport'][_0xad7d('0xa')](_0x2f3370,_0xe5c245);}function main(){var _0x11e904=0x1388;var _0x3b5a63;logger[_0xad7d('0xb')](util[_0xad7d('0xc')](_0xad7d('0xd'),EXTRACTED_REPORT_ID,_0xad7d('0xe')));return db['Setting']['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xad7d('0xf'),'splitSizeXlsx']})[_0xad7d('0x10')](function(_0x2091cb){if(_0x2091cb){_0x3b5a63=_0x2091cb;_0x11e904=_0x3b5a63[_0xad7d('0x11')]||0x1388;}})[_0xad7d('0x10')](function(){return dbH[_0xad7d('0x12')][_0xad7d('0x13')](util[_0xad7d('0xc')](_0xad7d('0x14'),QUERY),{'type':dbH[_0xad7d('0x12')][_0xad7d('0x15')][_0xad7d('0x16')]});})[_0xad7d('0x10')](function(_0x4884a9){if(!_0x4884a9[0x0][_0xad7d('0x17')]){return analyticExtractedReport(_0xad7d('0x18'));}var _0x12e295=[];var _0xafc809=0x0;if(_0x3b5a63[_0xad7d('0xf')]){if(_0x4884a9&&_0x4884a9[_0xad7d('0x19')]){var _0x1811ab=_[_0xad7d('0x1a')](_0x4884a9[0x0][_0xad7d('0x17')]/_0x11e904);var _0x19972b=Number[_0xad7d('0x1b')](_0x4884a9[0x0][_0xad7d('0x17')]/_0x11e904)?_0x4884a9[0x0][_0xad7d('0x17')]%_0x11e904:0x0;_0x1811ab[_0xad7d('0x1c')](function(_0x517ca4){if(_0x517ca4>0x0){_0xafc809+=_0x11e904;}_0x12e295[_0xad7d('0x1d')](dbH[_0xad7d('0x12')][_0xad7d('0x13')](util[_0xad7d('0xc')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x11e904,_0xafc809),{'type':dbH['sequelize']['QueryTypes']['SELECT']}));});if(_0x19972b>0x0){_0xafc809+=_0x11e904;_0x12e295[_0xad7d('0x1d')](dbH[_0xad7d('0x12')][_0xad7d('0x13')](util[_0xad7d('0xc')](_0xad7d('0x1e'),QUERY,_0x19972b,_0xafc809),{'type':dbH[_0xad7d('0x12')]['QueryTypes'][_0xad7d('0x16')]}));}}}else{_0x12e295['push'](dbH[_0xad7d('0x12')]['query'](QUERY,{'type':dbH[_0xad7d('0x12')][_0xad7d('0x15')][_0xad7d('0x16')]}));}var _0x34706f=path['dirname'](PATH);var _0x2577b3=path['basename'](PATH,'.xlsx');var _0x19a048=_0x3b5a63[_0xad7d('0xf')]&&_0x12e295[_0xad7d('0x19')]>0x1;var _0x36a8c7=[];if(!fs['existsSync'](path[_0xad7d('0x1f')](_0x34706f,_0x2577b3))&&_0x19a048){fs['mkdirSync'](path[_0xad7d('0x1f')](_0x34706f,_0x2577b3));}return BPromise[_0xad7d('0x20')](_0x12e295,function(_0x483640){_0x36a8c7['push'](_0x483640);})[_0xad7d('0x10')](function(){for(var _0x4a88e4=0x0;_0x4a88e4<_0x36a8c7[_0xad7d('0x19')];_0x4a88e4+=0x1){var _0x5b5ae6;var _0x879cc4=_0x36a8c7[_0x4a88e4];if(_0x19a048){_0x5b5ae6=path['join'](_0x34706f,_0x2577b3,util['format'](_0xad7d('0x21'),_0x2577b3,_0x4a88e4,_0xad7d('0x22')));}else{_0x5b5ae6=path[_0xad7d('0x1f')](_0x34706f,util['format'](_0xad7d('0x23'),_0x2577b3,_0xad7d('0x22')));}fs[_0xad7d('0x24')](_0x5b5ae6,json2xls(_0x879cc4),_0xad7d('0x25'));}})[_0xad7d('0x10')](function(){if(_0x19a048){return new Promise(function(_0x1c0010){zipdir(path[_0xad7d('0x1f')](_0x34706f,_0x2577b3),{'saveTo':path['join'](_0x34706f,util[_0xad7d('0xc')](_0xad7d('0x23'),_0x2577b3,_0xad7d('0x26')))},function(_0x178832,_0x42e58d){rimraf(path['join'](_0x34706f,_0x2577b3),function(){});_0x1c0010(_0xad7d('0x27'));});});}})[_0xad7d('0x10')](function(){logger[_0xad7d('0xb')](util['format'](_0xad7d('0x28'),EXTRACTED_REPORT_ID,_0xad7d('0xe')));return analyticExtractedReport(_0xad7d('0x29'),_0x19a048?util[_0xad7d('0xc')](_0xad7d('0x23'),_0x2577b3,_0x19a048?_0xad7d('0x26'):'xlsx'):null);});})[_0xad7d('0x2a')](function(_0x262817){logger['info'](util[_0xad7d('0xc')](_0xad7d('0x2b'),EXTRACTED_REPORT_ID,_0xad7d('0xe')),util['inspect'](_0x262817,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process[_0xad7d('0x2c')](EXIT_CODE);});}main();