d9d85e787c3ad3d6a0c412a556ec390411ad86c7
[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 _0x78e7=['../../mysqldb','dbH','analytics','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','num','Empty','length','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','SELECT','dirname','basename','join','each','%s.%s','xlsx','binary','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','lodash','json2xls','bluebird','zip-dir','rimraf'];(function(_0x4c321c,_0x3e9da0){var _0x25accb=function(_0x21bf7a){while(--_0x21bf7a){_0x4c321c['push'](_0x4c321c['shift']());}};_0x25accb(++_0x3e9da0);}(_0x78e7,0xb1));var _0x778e=function(_0x483438,_0x997daf){_0x483438=_0x483438-0x0;var _0x4cc2e6=_0x78e7[_0x483438];return _0x4cc2e6;};'use strict';var util=require(_0x778e('0x0'));var path=require(_0x778e('0x1'));var _=require(_0x778e('0x2'));var fs=require('fs');var json2xls=require(_0x778e('0x3'));var BPromise=require(_0x778e('0x4'));var zipdir=require(_0x778e('0x5'));var rimraf=require(_0x778e('0x6'));var db=require(_0x778e('0x7'))['db'];var dbH=require(_0x778e('0x7'))[_0x778e('0x8')];var logger=require('../../config/logger')(_0x778e('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x778e('0xa')][0x2]);var QUERY=process[_0x778e('0xa')][0x3];var PATH=process[_0x778e('0xa')][0x4];function analyticExtractedReport(_0x4de8d1,_0x31cab5){var _0x17942b={'status':_0x4de8d1};var _0x246bcb={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x31cab5){_0x17942b[_0x778e('0xb')]=_0x31cab5;}return db['AnalyticExtractedReport'][_0x778e('0xc')](_0x17942b,_0x246bcb);}function main(){var _0x4c2ede=0x1388;var _0x561fd2;logger[_0x778e('0xd')](util[_0x778e('0xe')](_0x778e('0xf'),EXTRACTED_REPORT_ID,_0x778e('0x10')));return db[_0x778e('0x11')][_0x778e('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x778e('0x13'),_0x778e('0x14')]})[_0x778e('0x15')](function(_0x351f1f){if(_0x351f1f){_0x561fd2=_0x351f1f;_0x4c2ede=_0x561fd2[_0x778e('0x14')]||0x1388;}})[_0x778e('0x15')](function(){return dbH[_0x778e('0x16')]['query'](util['format'](_0x778e('0x17'),QUERY),{'type':dbH['sequelize'][_0x778e('0x18')]['SELECT']});})[_0x778e('0x15')](function(_0xb9eef5){if(!_0xb9eef5[0x0][_0x778e('0x19')]){return analyticExtractedReport(_0x778e('0x1a'));}var _0x2836fd=[];var _0xe6d38c=0x0;var _0x583017=!![];if(_0x561fd2['split']){if(_0xb9eef5&&_0xb9eef5[_0x778e('0x1b')]){var _0x2ab1a3=_0xb9eef5[0x0][_0x778e('0x19')]%(_0xe6d38c+_0x4c2ede);for(;_0x583017;_0xe6d38c+=_0x4c2ede,_0x2ab1a3=_0xb9eef5[0x0][_0x778e('0x19')]%(_0xe6d38c+_0x4c2ede)){if(_0x2ab1a3==0x0||_0x2ab1a3==_0xb9eef5[0x0][_0x778e('0x19')]){_0x583017=![];}_0x2836fd[_0x778e('0x1c')](dbH[_0x778e('0x16')][_0x778e('0x1d')](util['format'](_0x778e('0x1e'),QUERY,_0x4c2ede,_0xe6d38c),{'type':dbH[_0x778e('0x16')][_0x778e('0x18')][_0x778e('0x1f')]}));}}}else{_0x2836fd[_0x778e('0x1c')](dbH['sequelize'][_0x778e('0x1d')](QUERY,{'type':dbH[_0x778e('0x16')][_0x778e('0x18')][_0x778e('0x1f')]}));}var _0x21b8f3=path[_0x778e('0x20')](PATH);var _0x4ec1ba=path[_0x778e('0x21')](PATH,'.xlsx');var _0x4f472e=_0x561fd2['split']&&_0x2836fd[_0x778e('0x1b')]>0x1;var _0x236fe8=[];if(!fs['existsSync'](path[_0x778e('0x22')](_0x21b8f3,_0x4ec1ba))&&_0x4f472e){fs['mkdirSync'](path[_0x778e('0x22')](_0x21b8f3,_0x4ec1ba));}return BPromise[_0x778e('0x23')](_0x2836fd,function(_0x68b145){_0x236fe8[_0x778e('0x1c')](_0x68b145);})[_0x778e('0x15')](function(){for(var _0x22ad05=0x0;_0x22ad05<_0x236fe8[_0x778e('0x1b')];_0x22ad05+=0x1){var _0x3f0dcf;var _0x3755fe=_0x236fe8[_0x22ad05];if(_0x4f472e){_0x3f0dcf=path[_0x778e('0x22')](_0x21b8f3,_0x4ec1ba,util[_0x778e('0xe')]('%s%d.%s',_0x4ec1ba,_0x22ad05,'xlsx'));}else{_0x3f0dcf=path['join'](_0x21b8f3,util[_0x778e('0xe')](_0x778e('0x24'),_0x4ec1ba,_0x778e('0x25')));}fs['writeFileSync'](_0x3f0dcf,json2xls(_0x3755fe),_0x778e('0x26'));}})[_0x778e('0x15')](function(){if(_0x4f472e){zipdir(path[_0x778e('0x22')](_0x21b8f3,_0x4ec1ba),{'saveTo':path['join'](_0x21b8f3,util[_0x778e('0xe')](_0x778e('0x24'),_0x4ec1ba,'zip'))},function(_0x503ca4,_0xb3308c){});rimraf(path['join'](_0x21b8f3,_0x4ec1ba),function(){});}})[_0x778e('0x15')](function(){logger[_0x778e('0xd')](util[_0x778e('0xe')](_0x778e('0x27'),EXTRACTED_REPORT_ID,_0x778e('0x10')));return analyticExtractedReport(_0x778e('0x28'),_0x4f472e?util['format'](_0x778e('0x24'),_0x4ec1ba,_0x4f472e?_0x778e('0x29'):_0x778e('0x25')):null);});})[_0x778e('0x2a')](function(_0x2ada1d){logger[_0x778e('0xd')](util['format'](_0x778e('0x2b'),EXTRACTED_REPORT_ID,_0x778e('0x10')),util[_0x778e('0x2c')](_0x2ada1d,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x778e('0x2d'));});}main();