Built motion from commit 4c281f94.|2.6.31
[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 _0x46d9=['Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','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','XLSX','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','length','num','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','.xlsx','existsSync','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch'];(function(_0x41d4bf,_0x4e6790){var _0x58f411=function(_0x574d33){while(--_0x574d33){_0x41d4bf['push'](_0x41d4bf['shift']());}};_0x58f411(++_0x4e6790);}(_0x46d9,0x16a));var _0x946d=function(_0x31d025,_0x3237e1){_0x31d025=_0x31d025-0x0;var _0x1d69df=_0x46d9[_0x31d025];return _0x1d69df;};'use strict';var util=require(_0x946d('0x0'));var path=require(_0x946d('0x1'));var _=require(_0x946d('0x2'));var fs=require('fs');var json2xls=require(_0x946d('0x3'));var BPromise=require(_0x946d('0x4'));var zipdir=require(_0x946d('0x5'));var rimraf=require(_0x946d('0x6'));var db=require('../../mysqldb')['db'];var dbH=require(_0x946d('0x7'))[_0x946d('0x8')];var logger=require(_0x946d('0x9'))(_0x946d('0xa'));var EXTRACTED_REPORT_ID=Number(process[_0x946d('0xb')][0x2]);var QUERY=process[_0x946d('0xb')][0x3];var PATH=process[_0x946d('0xb')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x1fa598,_0x4d4d2d){var _0x40b800={'status':_0x1fa598};var _0xf7200a={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4d4d2d){_0x40b800[_0x946d('0xc')]=_0x4d4d2d;}return db[_0x946d('0xd')][_0x946d('0xe')](_0x40b800,_0xf7200a);}function main(){var _0x3c1612=0x1388;var _0xac810f;logger[_0x946d('0xf')](util[_0x946d('0x10')](_0x946d('0x11'),EXTRACTED_REPORT_ID,_0x946d('0x12')));return db['Setting']['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x946d('0x13'),_0x946d('0x14')]})[_0x946d('0x15')](function(_0x510f49){if(_0x510f49){_0xac810f=_0x510f49;_0x3c1612=_0xac810f['splitSizeXlsx']||0x1388;}})[_0x946d('0x15')](function(){return dbH[_0x946d('0x16')][_0x946d('0x17')](util[_0x946d('0x10')](_0x946d('0x18'),QUERY),{'type':dbH[_0x946d('0x16')][_0x946d('0x19')][_0x946d('0x1a')]});})[_0x946d('0x15')](function(_0x597bbb){if(!_0x597bbb[0x0]['num']){return analyticExtractedReport(_0x946d('0x1b'));}var _0x307eeb=[];var _0x30412c=0x0;if(_0xac810f[_0x946d('0x13')]){if(_0x597bbb&&_0x597bbb[_0x946d('0x1c')]){var _0x483235=_['range'](_0x597bbb[0x0][_0x946d('0x1d')]/_0x3c1612);var _0x207953=Number['isInteger'](_0x597bbb[0x0][_0x946d('0x1d')]/_0x3c1612)?_0x597bbb[0x0]['num']%_0x3c1612:0x0;_0x483235[_0x946d('0x1e')](function(_0x47cf91){if(_0x47cf91>0x0){_0x30412c+=_0x3c1612;}_0x307eeb['push'](dbH[_0x946d('0x16')][_0x946d('0x17')](util[_0x946d('0x10')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x3c1612,_0x30412c),{'type':dbH[_0x946d('0x16')][_0x946d('0x19')]['SELECT']}));});if(_0x207953>0x0){_0x30412c+=_0x3c1612;_0x307eeb[_0x946d('0x1f')](dbH[_0x946d('0x16')]['query'](util[_0x946d('0x10')](_0x946d('0x20'),QUERY,_0x207953,_0x30412c),{'type':dbH[_0x946d('0x16')][_0x946d('0x19')][_0x946d('0x1a')]}));}}}else{_0x307eeb['push'](dbH['sequelize'][_0x946d('0x17')](QUERY,{'type':dbH[_0x946d('0x16')][_0x946d('0x19')]['SELECT']}));}var _0x2a0a9e=path['dirname'](PATH);var _0x3d756c=path['basename'](PATH,_0x946d('0x21'));var _0x22e5f2=_0xac810f[_0x946d('0x13')]&&_0x307eeb['length']>0x1;var _0x249ffb=[];if(!fs[_0x946d('0x22')](path[_0x946d('0x23')](_0x2a0a9e,_0x3d756c))&&_0x22e5f2){fs['mkdirSync'](path[_0x946d('0x23')](_0x2a0a9e,_0x3d756c));}return BPromise[_0x946d('0x24')](_0x307eeb,function(_0x17f268){_0x249ffb[_0x946d('0x1f')](_0x17f268);})[_0x946d('0x15')](function(){for(var _0x7b41e5=0x0;_0x7b41e5<_0x249ffb[_0x946d('0x1c')];_0x7b41e5+=0x1){var _0x315f89;var _0x2490e1=_0x249ffb[_0x7b41e5];if(_0x22e5f2){_0x315f89=path[_0x946d('0x23')](_0x2a0a9e,_0x3d756c,util[_0x946d('0x10')](_0x946d('0x25'),_0x3d756c,_0x7b41e5,_0x946d('0x26')));}else{_0x315f89=path['join'](_0x2a0a9e,util[_0x946d('0x10')](_0x946d('0x27'),_0x3d756c,_0x946d('0x26')));}fs[_0x946d('0x28')](_0x315f89,json2xls(_0x2490e1),_0x946d('0x29'));}})[_0x946d('0x15')](function(){if(_0x22e5f2){return new Promise(function(_0x119a4a){zipdir(path['join'](_0x2a0a9e,_0x3d756c),{'saveTo':path[_0x946d('0x23')](_0x2a0a9e,util[_0x946d('0x10')](_0x946d('0x27'),_0x3d756c,_0x946d('0x2a')))},function(_0x4dbffc,_0x4be787){rimraf(path[_0x946d('0x23')](_0x2a0a9e,_0x3d756c),function(){});_0x119a4a('zip\x20finished');});});}})[_0x946d('0x15')](function(){logger['info'](util[_0x946d('0x10')](_0x946d('0x2b'),EXTRACTED_REPORT_ID,_0x946d('0x12')));return analyticExtractedReport(_0x946d('0x2c'),_0x22e5f2?util[_0x946d('0x10')](_0x946d('0x27'),_0x3d756c,_0x22e5f2?'zip':'xlsx'):null);});})[_0x946d('0x2d')](function(_0x4d74e9){logger[_0x946d('0xf')](util['format'](_0x946d('0x2e'),EXTRACTED_REPORT_ID,_0x946d('0x12')),util[_0x946d('0x2f')](_0x4d74e9,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x946d('0x30'));})[_0x946d('0x31')](function(){process[_0x946d('0x32')](EXIT_CODE);});}main();