Built motion from commit (unavailable).|2.3.1
[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 _0x9652=['%s%d.%s','xlsx','%s.%s','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','util','lodash','bluebird','zip-dir','dbH','../../config/logger','argv','savename','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename','.xlsx','length','existsSync','join','mkdirSync','each'];(function(_0x51020b,_0x38c2c7){var _0x371e47=function(_0x2a538f){while(--_0x2a538f){_0x51020b['push'](_0x51020b['shift']());}};_0x371e47(++_0x38c2c7);}(_0x9652,0x198));var _0x2965=function(_0x48783c,_0x1f986b){_0x48783c=_0x48783c-0x0;var _0x2ce586=_0x9652[_0x48783c];return _0x2ce586;};'use strict';var util=require(_0x2965('0x0'));var path=require('path');var _=require(_0x2965('0x1'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x2965('0x2'));var zipdir=require(_0x2965('0x3'));var rimraf=require('rimraf');var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0x2965('0x4')];var logger=require(_0x2965('0x5'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x2965('0x6')][0x3];var PATH=process[_0x2965('0x6')][0x4];function analyticExtractedReport(_0x5374cf,_0xba36ae){var _0x2f788c={'status':_0x5374cf};var _0x6eec43={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xba36ae){_0x2f788c[_0x2965('0x7')]=_0xba36ae;}return db['AnalyticExtractedReport']['update'](_0x2f788c,_0x6eec43);}function main(){var _0xc964ec=0x1388;var _0x13d5f1;logger[_0x2965('0x8')](util[_0x2965('0x9')](_0x2965('0xa'),EXTRACTED_REPORT_ID,_0x2965('0xb')));return db[_0x2965('0xc')][_0x2965('0xd')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x2965('0xe'),_0x2965('0xf')]})[_0x2965('0x10')](function(_0x36ea5b){if(_0x36ea5b){_0x13d5f1=_0x36ea5b;_0xc964ec=_0x13d5f1[_0x2965('0xf')]||0x1388;}})[_0x2965('0x10')](function(){return dbH['sequelize']['query'](util[_0x2965('0x9')](_0x2965('0x11'),QUERY),{'type':dbH[_0x2965('0x12')][_0x2965('0x13')][_0x2965('0x14')]});})[_0x2965('0x10')](function(_0x3fea95){if(!_0x3fea95[0x0][_0x2965('0x15')]){return analyticExtractedReport('Empty');}var _0x163eaf=[];var _0x5b213c=0x0;var _0x8e0d10=!![];if(_0x13d5f1[_0x2965('0xe')]){if(_0x3fea95&&_0x3fea95['length']){var _0x3f1a56=_0x3fea95[0x0]['num']%(_0x5b213c+_0xc964ec);for(;_0x8e0d10;_0x5b213c+=_0xc964ec,_0x3f1a56=_0x3fea95[0x0][_0x2965('0x15')]%(_0x5b213c+_0xc964ec)){if(_0x3f1a56==0x0||_0x3f1a56==_0x3fea95[0x0][_0x2965('0x15')]){_0x8e0d10=![];}_0x163eaf['push'](dbH[_0x2965('0x12')]['query'](util[_0x2965('0x9')](_0x2965('0x16'),QUERY,_0xc964ec,_0x5b213c),{'type':dbH[_0x2965('0x12')][_0x2965('0x13')]['SELECT']}));}}}else{_0x163eaf[_0x2965('0x17')](dbH[_0x2965('0x12')]['query'](QUERY,{'type':dbH[_0x2965('0x12')]['QueryTypes'][_0x2965('0x14')]}));}var _0x3aad06=path[_0x2965('0x18')](PATH);var _0x3237e1=path[_0x2965('0x19')](PATH,_0x2965('0x1a'));var _0x43e58b=_0x13d5f1[_0x2965('0xe')]&&_0x163eaf[_0x2965('0x1b')]>0x1;var _0x22bf91=[];if(!fs[_0x2965('0x1c')](path[_0x2965('0x1d')](_0x3aad06,_0x3237e1))&&_0x43e58b){fs[_0x2965('0x1e')](path[_0x2965('0x1d')](_0x3aad06,_0x3237e1));}return BPromise[_0x2965('0x1f')](_0x163eaf,function(_0x1f83d1){_0x22bf91[_0x2965('0x17')](_0x1f83d1);})['then'](function(){for(var _0x9735ba=0x0;_0x9735ba<_0x22bf91[_0x2965('0x1b')];_0x9735ba+=0x1){var _0x223ccc;var _0xe2f5fe=_0x22bf91[_0x9735ba];if(_0x43e58b){_0x223ccc=path['join'](_0x3aad06,_0x3237e1,util[_0x2965('0x9')](_0x2965('0x20'),_0x3237e1,_0x9735ba,_0x2965('0x21')));}else{_0x223ccc=path[_0x2965('0x1d')](_0x3aad06,util['format'](_0x2965('0x22'),_0x3237e1,_0x2965('0x21')));}fs['writeFileSync'](_0x223ccc,json2xls(_0xe2f5fe),'binary');}})[_0x2965('0x10')](function(){if(_0x43e58b){zipdir(path[_0x2965('0x1d')](_0x3aad06,_0x3237e1),{'saveTo':path[_0x2965('0x1d')](_0x3aad06,util[_0x2965('0x9')](_0x2965('0x22'),_0x3237e1,'zip'))},function(_0x164a65,_0x49d8cb){});rimraf(path[_0x2965('0x1d')](_0x3aad06,_0x3237e1),function(){});}})[_0x2965('0x10')](function(){logger[_0x2965('0x8')](util[_0x2965('0x9')](_0x2965('0x23'),EXTRACTED_REPORT_ID,_0x2965('0xb')));return analyticExtractedReport(_0x2965('0x24'),_0x43e58b?util[_0x2965('0x9')](_0x2965('0x22'),_0x3237e1,_0x43e58b?_0x2965('0x25'):_0x2965('0x21')):null);});})[_0x2965('0x26')](function(_0x16853b){logger[_0x2965('0x8')](util[_0x2965('0x9')](_0x2965('0x27'),EXTRACTED_REPORT_ID,_0x2965('0xb')),util['inspect'](_0x16853b,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();