Built motion from commit (unavailable).|2.5.10
[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 _0x8a15=['then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','push','format','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','length','join','mkdirSync','each','%s%d.%s','%s.%s','xlsx','writeFileSync','zip','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','split','splitSizeXlsx'];(function(_0x4410cb,_0x7bb767){var _0x38b7b5=function(_0x4c4d5d){while(--_0x4c4d5d){_0x4410cb['push'](_0x4410cb['shift']());}};_0x38b7b5(++_0x7bb767);}(_0x8a15,0x17a));var _0x58a1=function(_0x77773a,_0x5a7026){_0x77773a=_0x77773a-0x0;var _0x1091a2=_0x8a15[_0x77773a];return _0x1091a2;};'use strict';var util=require(_0x58a1('0x0'));var path=require(_0x58a1('0x1'));var _=require(_0x58a1('0x2'));var fs=require('fs');var json2xls=require(_0x58a1('0x3'));var BPromise=require(_0x58a1('0x4'));var zipdir=require(_0x58a1('0x5'));var rimraf=require(_0x58a1('0x6'));var db=require(_0x58a1('0x7'))['db'];var dbH=require('../../mysqldb')[_0x58a1('0x8')];var logger=require(_0x58a1('0x9'))(_0x58a1('0xa'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x58a1('0xb')][0x3];var PATH=process[_0x58a1('0xb')][0x4];function analyticExtractedReport(_0x17c48a,_0x346f3b){var _0x3f102f={'status':_0x17c48a};var _0xc6a676={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x346f3b){_0x3f102f[_0x58a1('0xc')]=_0x346f3b;}return db['AnalyticExtractedReport']['update'](_0x3f102f,_0xc6a676);}function main(){var _0x561858=0x1388;var _0x47bbbc;logger[_0x58a1('0xd')](util['format'](_0x58a1('0xe'),EXTRACTED_REPORT_ID,_0x58a1('0xf')));return db['Setting']['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x58a1('0x10'),_0x58a1('0x11')]})[_0x58a1('0x12')](function(_0x53588d){if(_0x53588d){_0x47bbbc=_0x53588d;_0x561858=_0x47bbbc[_0x58a1('0x11')]||0x1388;}})['then'](function(){return dbH[_0x58a1('0x13')][_0x58a1('0x14')](util['format'](_0x58a1('0x15'),QUERY),{'type':dbH['sequelize'][_0x58a1('0x16')][_0x58a1('0x17')]});})[_0x58a1('0x12')](function(_0x3475){if(!_0x3475[0x0][_0x58a1('0x18')]){return analyticExtractedReport('Empty');}var _0x1d4dd0=[];var _0xf97db1=0x0;var _0x2f7f5c=!![];if(_0x47bbbc[_0x58a1('0x10')]){if(_0x3475&&_0x3475['length']){var _0x38961b=_0x3475[0x0][_0x58a1('0x18')]%(_0xf97db1+_0x561858);for(;_0x2f7f5c;_0xf97db1+=_0x561858,_0x38961b=_0x3475[0x0]['num']%(_0xf97db1+_0x561858)){if(_0x38961b==0x0||_0x38961b==_0x3475[0x0][_0x58a1('0x18')]){_0x2f7f5c=![];}_0x1d4dd0[_0x58a1('0x19')](dbH[_0x58a1('0x13')][_0x58a1('0x14')](util[_0x58a1('0x1a')](_0x58a1('0x1b'),QUERY,_0x561858,_0xf97db1),{'type':dbH[_0x58a1('0x13')][_0x58a1('0x16')]['SELECT']}));}}}else{_0x1d4dd0[_0x58a1('0x19')](dbH[_0x58a1('0x13')][_0x58a1('0x14')](QUERY,{'type':dbH[_0x58a1('0x13')][_0x58a1('0x16')][_0x58a1('0x17')]}));}var _0x11cd86=path[_0x58a1('0x1c')](PATH);var _0x227655=path[_0x58a1('0x1d')](PATH,_0x58a1('0x1e'));var _0x30580b=_0x47bbbc[_0x58a1('0x10')]&&_0x1d4dd0[_0x58a1('0x1f')]>0x1;var _0x378281=[];if(!fs['existsSync'](path[_0x58a1('0x20')](_0x11cd86,_0x227655))&&_0x30580b){fs[_0x58a1('0x21')](path[_0x58a1('0x20')](_0x11cd86,_0x227655));}return BPromise[_0x58a1('0x22')](_0x1d4dd0,function(_0x131490){_0x378281[_0x58a1('0x19')](_0x131490);})['then'](function(){for(var _0x3b5175=0x0;_0x3b5175<_0x378281[_0x58a1('0x1f')];_0x3b5175+=0x1){var _0x14cec2;var _0xd567d9=_0x378281[_0x3b5175];if(_0x30580b){_0x14cec2=path[_0x58a1('0x20')](_0x11cd86,_0x227655,util[_0x58a1('0x1a')](_0x58a1('0x23'),_0x227655,_0x3b5175,'xlsx'));}else{_0x14cec2=path[_0x58a1('0x20')](_0x11cd86,util[_0x58a1('0x1a')](_0x58a1('0x24'),_0x227655,_0x58a1('0x25')));}fs[_0x58a1('0x26')](_0x14cec2,json2xls(_0xd567d9),'binary');}})[_0x58a1('0x12')](function(){if(_0x30580b){zipdir(path[_0x58a1('0x20')](_0x11cd86,_0x227655),{'saveTo':path[_0x58a1('0x20')](_0x11cd86,util[_0x58a1('0x1a')](_0x58a1('0x24'),_0x227655,_0x58a1('0x27')))},function(_0x50c199,_0x5cae00){});rimraf(path[_0x58a1('0x20')](_0x11cd86,_0x227655),function(){});}})['then'](function(){logger[_0x58a1('0xd')](util[_0x58a1('0x1a')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x58a1('0x28'),_0x30580b?util[_0x58a1('0x1a')](_0x58a1('0x24'),_0x227655,_0x30580b?'zip':_0x58a1('0x25')):null);});})[_0x58a1('0x29')](function(_0x346408){logger[_0x58a1('0xd')](util[_0x58a1('0x1a')](_0x58a1('0x2a'),EXTRACTED_REPORT_ID,_0x58a1('0xf')),util[_0x58a1('0x2b')](_0x346408,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();