918390b8a3a1313d2040ab3bdc546740f75f86ec
[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 _0x6635=['splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','num','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','length','existsSync','join','mkdirSync','each','%s%d.%s','xlsx','%s.%s','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split'];(function(_0x50a2f9,_0x19277a){var _0x3e240d=function(_0x3baf5c){while(--_0x3baf5c){_0x50a2f9['push'](_0x50a2f9['shift']());}};_0x3e240d(++_0x19277a);}(_0x6635,0x10d));var _0x5663=function(_0x87b0ff,_0x314389){_0x87b0ff=_0x87b0ff-0x0;var _0x3bc0b2=_0x6635[_0x87b0ff];return _0x3bc0b2;};'use strict';var util=require('util');var path=require('path');var _=require(_0x5663('0x0'));var fs=require('fs');var json2xls=require(_0x5663('0x1'));var BPromise=require(_0x5663('0x2'));var zipdir=require(_0x5663('0x3'));var rimraf=require(_0x5663('0x4'));var db=require('../../mysqldb')['db'];var dbH=require(_0x5663('0x5'))[_0x5663('0x6')];var logger=require(_0x5663('0x7'))(_0x5663('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x5663('0x9')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x5663('0x9')][0x4];function analyticExtractedReport(_0x5382a2,_0xcaac89){var _0x23fce5={'status':_0x5382a2};var _0x4351dd={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xcaac89){_0x23fce5[_0x5663('0xa')]=_0xcaac89;}return db[_0x5663('0xb')][_0x5663('0xc')](_0x23fce5,_0x4351dd);}function main(){var _0x1333a0=0x1388;var _0x434214;logger['info'](util[_0x5663('0xd')](_0x5663('0xe'),EXTRACTED_REPORT_ID,_0x5663('0xf')));return db[_0x5663('0x10')][_0x5663('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x5663('0x12'),_0x5663('0x13')]})[_0x5663('0x14')](function(_0x295cf8){if(_0x295cf8){_0x434214=_0x295cf8;_0x1333a0=_0x434214[_0x5663('0x13')]||0x1388;}})[_0x5663('0x14')](function(){return dbH[_0x5663('0x15')][_0x5663('0x16')](util[_0x5663('0xd')](_0x5663('0x17'),QUERY),{'type':dbH[_0x5663('0x15')][_0x5663('0x18')][_0x5663('0x19')]});})['then'](function(_0x2514e0){if(!_0x2514e0[0x0]['num']){return analyticExtractedReport(_0x5663('0x1a'));}var _0x2b8e77=[];var _0x24e888=0x0;var _0xa2fbec=!![];if(_0x434214[_0x5663('0x12')]){if(_0x2514e0&&_0x2514e0['length']){var _0x2c7b70=_0x2514e0[0x0][_0x5663('0x1b')]%(_0x24e888+_0x1333a0);for(;_0xa2fbec;_0x24e888+=_0x1333a0,_0x2c7b70=_0x2514e0[0x0][_0x5663('0x1b')]%(_0x24e888+_0x1333a0)){if(_0x2c7b70==0x0||_0x2c7b70==_0x2514e0[0x0]['num']){_0xa2fbec=![];}_0x2b8e77[_0x5663('0x1c')](dbH[_0x5663('0x15')][_0x5663('0x16')](util['format'](_0x5663('0x1d'),QUERY,_0x1333a0,_0x24e888),{'type':dbH[_0x5663('0x15')][_0x5663('0x18')][_0x5663('0x19')]}));}}}else{_0x2b8e77[_0x5663('0x1c')](dbH[_0x5663('0x15')][_0x5663('0x16')](QUERY,{'type':dbH['sequelize'][_0x5663('0x18')][_0x5663('0x19')]}));}var _0x1d503f=path[_0x5663('0x1e')](PATH);var _0x5772b8=path[_0x5663('0x1f')](PATH,_0x5663('0x20'));var _0xe133dc=_0x434214[_0x5663('0x12')]&&_0x2b8e77[_0x5663('0x21')]>0x1;var _0xabba00=[];if(!fs[_0x5663('0x22')](path[_0x5663('0x23')](_0x1d503f,_0x5772b8))&&_0xe133dc){fs[_0x5663('0x24')](path[_0x5663('0x23')](_0x1d503f,_0x5772b8));}return BPromise[_0x5663('0x25')](_0x2b8e77,function(_0x19f382){_0xabba00['push'](_0x19f382);})[_0x5663('0x14')](function(){for(var _0x29df9e=0x0;_0x29df9e<_0xabba00[_0x5663('0x21')];_0x29df9e+=0x1){var _0x305781;var _0xdbed91=_0xabba00[_0x29df9e];if(_0xe133dc){_0x305781=path[_0x5663('0x23')](_0x1d503f,_0x5772b8,util['format'](_0x5663('0x26'),_0x5772b8,_0x29df9e,_0x5663('0x27')));}else{_0x305781=path[_0x5663('0x23')](_0x1d503f,util[_0x5663('0xd')](_0x5663('0x28'),_0x5772b8,_0x5663('0x27')));}fs['writeFileSync'](_0x305781,json2xls(_0xdbed91),_0x5663('0x29'));}})[_0x5663('0x14')](function(){if(_0xe133dc){zipdir(path[_0x5663('0x23')](_0x1d503f,_0x5772b8),{'saveTo':path['join'](_0x1d503f,util[_0x5663('0xd')]('%s.%s',_0x5772b8,_0x5663('0x2a')))},function(_0x17831e,_0x1d0479){});rimraf(path[_0x5663('0x23')](_0x1d503f,_0x5772b8),function(){});}})['then'](function(){logger['info'](util[_0x5663('0xd')](_0x5663('0x2b'),EXTRACTED_REPORT_ID,_0x5663('0xf')));return analyticExtractedReport(_0x5663('0x2c'),_0xe133dc?util['format'](_0x5663('0x28'),_0x5772b8,_0xe133dc?'zip':_0x5663('0x27')):null);});})[_0x5663('0x2d')](function(_0x43e938){logger[_0x5663('0x2e')](util[_0x5663('0xd')](_0x5663('0x2f'),EXTRACTED_REPORT_ID,_0x5663('0xf')),util['inspect'](_0x43e938,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();