8d089b524ae8cb600441342333f976a4bae53d62
[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 _0x35ec=['analytics','argv','savename','AnalyticExtractedReport','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','split','splitSizeXlsx','then','sequelize','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','query','dirname','basename','.xlsx','join','mkdirSync','each','%s%d.%s','xlsx','writeFileSync','%s.%s','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Failed','util','lodash','json2xls','bluebird','rimraf','../../mysqldb','dbH','../../config/logger'];(function(_0x1568bd,_0x2559e0){var _0x1be0e1=function(_0x37c405){while(--_0x37c405){_0x1568bd['push'](_0x1568bd['shift']());}};_0x1be0e1(++_0x2559e0);}(_0x35ec,0xde));var _0xc35e=function(_0x504a09,_0x8e6e45){_0x504a09=_0x504a09-0x0;var _0x1ae7d8=_0x35ec[_0x504a09];return _0x1ae7d8;};'use strict';var util=require(_0xc35e('0x0'));var path=require('path');var _=require(_0xc35e('0x1'));var fs=require('fs');var json2xls=require(_0xc35e('0x2'));var BPromise=require(_0xc35e('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0xc35e('0x4'));var db=require(_0xc35e('0x5'))['db'];var dbH=require(_0xc35e('0x5'))[_0xc35e('0x6')];var logger=require(_0xc35e('0x7'))(_0xc35e('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0xc35e('0x9')][0x2]);var QUERY=process['argv'][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0xde4328,_0x438ba0){var _0xb0de51={'status':_0xde4328};var _0x3faca9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x438ba0){_0xb0de51[_0xc35e('0xa')]=_0x438ba0;}return db[_0xc35e('0xb')]['update'](_0xb0de51,_0x3faca9);}function main(){var _0x61f872=0x1388;var _0x50dd02;logger[_0xc35e('0xc')](util['format'](_0xc35e('0xd'),EXTRACTED_REPORT_ID,'XLSX'));return db[_0xc35e('0xe')][_0xc35e('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xc35e('0x10'),_0xc35e('0x11')]})[_0xc35e('0x12')](function(_0x8049eb){if(_0x8049eb){_0x50dd02=_0x8049eb;_0x61f872=_0x50dd02[_0xc35e('0x11')]||0x1388;}})[_0xc35e('0x12')](function(){return dbH[_0xc35e('0x13')]['query'](util[_0xc35e('0x14')](_0xc35e('0x15'),QUERY),{'type':dbH[_0xc35e('0x13')][_0xc35e('0x16')][_0xc35e('0x17')]});})[_0xc35e('0x12')](function(_0x131836){if(!_0x131836[0x0][_0xc35e('0x18')]){return analyticExtractedReport(_0xc35e('0x19'));}var _0x13a6ab=[];var _0x509710=0x0;var _0x377a1c=!![];if(_0x50dd02[_0xc35e('0x10')]){if(_0x131836&&_0x131836[_0xc35e('0x1a')]){var _0x5894a8=_0x131836[0x0][_0xc35e('0x18')]%(_0x509710+_0x61f872);for(;_0x377a1c;_0x509710+=_0x61f872,_0x5894a8=_0x131836[0x0][_0xc35e('0x18')]%(_0x509710+_0x61f872)){if(_0x5894a8==0x0||_0x5894a8==_0x131836[0x0][_0xc35e('0x18')]){_0x377a1c=![];}_0x13a6ab[_0xc35e('0x1b')](dbH['sequelize']['query'](util['format'](_0xc35e('0x1c'),QUERY,_0x61f872,_0x509710),{'type':dbH[_0xc35e('0x13')][_0xc35e('0x16')]['SELECT']}));}}}else{_0x13a6ab[_0xc35e('0x1b')](dbH[_0xc35e('0x13')][_0xc35e('0x1d')](QUERY,{'type':dbH[_0xc35e('0x13')][_0xc35e('0x16')][_0xc35e('0x17')]}));}var _0x5d67fc=path[_0xc35e('0x1e')](PATH);var _0x4fb00b=path[_0xc35e('0x1f')](PATH,_0xc35e('0x20'));var _0xa8641=_0x50dd02[_0xc35e('0x10')]&&_0x13a6ab[_0xc35e('0x1a')]>0x1;var _0x17b2ee=[];if(!fs['existsSync'](path[_0xc35e('0x21')](_0x5d67fc,_0x4fb00b))&&_0xa8641){fs[_0xc35e('0x22')](path[_0xc35e('0x21')](_0x5d67fc,_0x4fb00b));}return BPromise[_0xc35e('0x23')](_0x13a6ab,function(_0x24571c){_0x17b2ee[_0xc35e('0x1b')](_0x24571c);})[_0xc35e('0x12')](function(){for(var _0x6e11c3=0x0;_0x6e11c3<_0x17b2ee[_0xc35e('0x1a')];_0x6e11c3+=0x1){var _0x257b96;var _0x3b1551=_0x17b2ee[_0x6e11c3];if(_0xa8641){_0x257b96=path[_0xc35e('0x21')](_0x5d67fc,_0x4fb00b,util[_0xc35e('0x14')](_0xc35e('0x24'),_0x4fb00b,_0x6e11c3,_0xc35e('0x25')));}else{_0x257b96=path[_0xc35e('0x21')](_0x5d67fc,util[_0xc35e('0x14')]('%s.%s',_0x4fb00b,_0xc35e('0x25')));}fs[_0xc35e('0x26')](_0x257b96,json2xls(_0x3b1551),'binary');}})[_0xc35e('0x12')](function(){if(_0xa8641){zipdir(path[_0xc35e('0x21')](_0x5d67fc,_0x4fb00b),{'saveTo':path[_0xc35e('0x21')](_0x5d67fc,util[_0xc35e('0x14')](_0xc35e('0x27'),_0x4fb00b,_0xc35e('0x28')))},function(_0x3e4bc1,_0x21d6e5){});rimraf(path[_0xc35e('0x21')](_0x5d67fc,_0x4fb00b),function(){});}})[_0xc35e('0x12')](function(){logger['info'](util[_0xc35e('0x14')](_0xc35e('0x29'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport('Completed',_0xa8641?util[_0xc35e('0x14')](_0xc35e('0x27'),_0x4fb00b,_0xa8641?_0xc35e('0x28'):_0xc35e('0x25')):null);});})[_0xc35e('0x2a')](function(_0x4da543){logger[_0xc35e('0xc')](util[_0xc35e('0x14')](_0xc35e('0x2b'),EXTRACTED_REPORT_ID,_0xc35e('0x2c')),util['inspect'](_0x4da543,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xc35e('0x2d'));});}main();