74010d45aec6f10d26e0f591378d8f2d2ca79a63
[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 _0x78d5=['split','push','%s\x20limit\x20%d\x20OFFSET\x20%d','query','dirname','basename','.xlsx','length','existsSync','mkdirSync','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','lodash','json2xls','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','splitSizeXlsx','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty'];(function(_0x14b228,_0x5678b8){var _0x4b53e1=function(_0x2442c4){while(--_0x2442c4){_0x14b228['push'](_0x14b228['shift']());}};_0x4b53e1(++_0x5678b8);}(_0x78d5,0x1a8));var _0x578d=function(_0x4bd074,_0xb4376){_0x4bd074=_0x4bd074-0x0;var _0x4d6453=_0x78d5[_0x4bd074];return _0x4d6453;};'use strict';var util=require(_0x578d('0x0'));var path=require(_0x578d('0x1'));var _=require(_0x578d('0x2'));var fs=require('fs');var json2xls=require(_0x578d('0x3'));var BPromise=require(_0x578d('0x4'));var zipdir=require('zip-dir');var rimraf=require(_0x578d('0x5'));var db=require(_0x578d('0x6'))['db'];var dbH=require('../../mysqldb')[_0x578d('0x7')];var logger=require(_0x578d('0x8'))(_0x578d('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x578d('0xa')][0x2]);var QUERY=process[_0x578d('0xa')][0x3];var PATH=process[_0x578d('0xa')][0x4];function analyticExtractedReport(_0x16d152,_0x52ebea){var _0x310256={'status':_0x16d152};var _0x474fd9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x52ebea){_0x310256[_0x578d('0xb')]=_0x52ebea;}return db[_0x578d('0xc')][_0x578d('0xd')](_0x310256,_0x474fd9);}function main(){var _0x2d6bcf=0x1388;var _0x21a456;logger['info'](util[_0x578d('0xe')](_0x578d('0xf'),EXTRACTED_REPORT_ID,_0x578d('0x10')));return db[_0x578d('0x11')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeXlsx']})['then'](function(_0x5db9ac){if(_0x5db9ac){_0x21a456=_0x5db9ac;_0x2d6bcf=_0x21a456[_0x578d('0x12')]||0x1388;}})[_0x578d('0x13')](function(){return dbH[_0x578d('0x14')]['query'](util[_0x578d('0xe')](_0x578d('0x15'),QUERY),{'type':dbH['sequelize'][_0x578d('0x16')][_0x578d('0x17')]});})['then'](function(_0x5bb445){if(!_0x5bb445[0x0][_0x578d('0x18')]){return analyticExtractedReport(_0x578d('0x19'));}var _0x49d146=[];var _0x45f575=0x0;var _0x287d25=!![];if(_0x21a456[_0x578d('0x1a')]){if(_0x5bb445&&_0x5bb445['length']){var _0x454126=_0x5bb445[0x0][_0x578d('0x18')]%(_0x45f575+_0x2d6bcf);for(;_0x287d25;_0x45f575+=_0x2d6bcf,_0x454126=_0x5bb445[0x0][_0x578d('0x18')]%(_0x45f575+_0x2d6bcf)){if(_0x454126==0x0||_0x454126==_0x5bb445[0x0][_0x578d('0x18')]){_0x287d25=![];}_0x49d146[_0x578d('0x1b')](dbH[_0x578d('0x14')]['query'](util[_0x578d('0xe')](_0x578d('0x1c'),QUERY,_0x2d6bcf,_0x45f575),{'type':dbH[_0x578d('0x14')][_0x578d('0x16')][_0x578d('0x17')]}));}}}else{_0x49d146[_0x578d('0x1b')](dbH['sequelize'][_0x578d('0x1d')](QUERY,{'type':dbH[_0x578d('0x14')][_0x578d('0x16')][_0x578d('0x17')]}));}var _0x22edcc=path[_0x578d('0x1e')](PATH);var _0x3786ad=path[_0x578d('0x1f')](PATH,_0x578d('0x20'));var _0x2aa2b5=_0x21a456[_0x578d('0x1a')]&&_0x49d146[_0x578d('0x21')]>0x1;var _0xdfbd93=[];if(!fs[_0x578d('0x22')](path['join'](_0x22edcc,_0x3786ad))&&_0x2aa2b5){fs[_0x578d('0x23')](path[_0x578d('0x24')](_0x22edcc,_0x3786ad));}return BPromise[_0x578d('0x25')](_0x49d146,function(_0x396ec7){_0xdfbd93[_0x578d('0x1b')](_0x396ec7);})[_0x578d('0x13')](function(){for(var _0x355d3c=0x0;_0x355d3c<_0xdfbd93[_0x578d('0x21')];_0x355d3c+=0x1){var _0x179028;var _0x46b926=_0xdfbd93[_0x355d3c];if(_0x2aa2b5){_0x179028=path[_0x578d('0x24')](_0x22edcc,_0x3786ad,util[_0x578d('0xe')](_0x578d('0x26'),_0x3786ad,_0x355d3c,_0x578d('0x27')));}else{_0x179028=path[_0x578d('0x24')](_0x22edcc,util[_0x578d('0xe')](_0x578d('0x28'),_0x3786ad,'xlsx'));}fs[_0x578d('0x29')](_0x179028,json2xls(_0x46b926),_0x578d('0x2a'));}})['then'](function(){if(_0x2aa2b5){zipdir(path[_0x578d('0x24')](_0x22edcc,_0x3786ad),{'saveTo':path[_0x578d('0x24')](_0x22edcc,util[_0x578d('0xe')](_0x578d('0x28'),_0x3786ad,'zip'))},function(_0x124711,_0x1d2019){});rimraf(path[_0x578d('0x24')](_0x22edcc,_0x3786ad),function(){});}})[_0x578d('0x13')](function(){logger[_0x578d('0x2b')](util[_0x578d('0xe')](_0x578d('0x2c'),EXTRACTED_REPORT_ID,_0x578d('0x10')));return analyticExtractedReport(_0x578d('0x2d'),_0x2aa2b5?util['format']('%s.%s',_0x3786ad,_0x2aa2b5?_0x578d('0x2e'):_0x578d('0x27')):null);});})['catch'](function(_0x4ee5dd){logger[_0x578d('0x2b')](util[_0x578d('0xe')](_0x578d('0x2f'),EXTRACTED_REPORT_ID,_0x578d('0x10')),util[_0x578d('0x30')](_0x4ee5dd,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x578d('0x31'));});}main();