fa7161acd3b6a3a47e6590b55f5b4dfb4f963358
[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 _0x57c3=['%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','zip\x20finished','Completed','inspect','Failed','util','path','lodash','rimraf','../../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','SELECT','Empty','length','range','isInteger','num','forEach','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','.xlsx','join','mkdirSync'];(function(_0x4b369d,_0x265eb8){var _0x571a98=function(_0x56341a){while(--_0x56341a){_0x4b369d['push'](_0x4b369d['shift']());}};_0x571a98(++_0x265eb8);}(_0x57c3,0xc2));var _0x357c=function(_0x51d271,_0x153b45){_0x51d271=_0x51d271-0x0;var _0x2e1343=_0x57c3[_0x51d271];return _0x2e1343;};'use strict';var util=require(_0x357c('0x0'));var path=require(_0x357c('0x1'));var _=require(_0x357c('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require('bluebird');var zipdir=require('zip-dir');var rimraf=require(_0x357c('0x3'));var db=require(_0x357c('0x4'))['db'];var dbH=require(_0x357c('0x4'))[_0x357c('0x5')];var logger=require('../../config/logger')(_0x357c('0x6'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x357c('0x7')][0x3];var PATH=process[_0x357c('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x2320eb,_0x44d3ee){var _0x1fc04b={'status':_0x2320eb};var _0x1e4977={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x44d3ee){_0x1fc04b[_0x357c('0x8')]=_0x44d3ee;}return db['AnalyticExtractedReport'][_0x357c('0x9')](_0x1fc04b,_0x1e4977);}function main(){var _0x1c30bd=0x1388;var _0x214216;logger[_0x357c('0xa')](util[_0x357c('0xb')](_0x357c('0xc'),EXTRACTED_REPORT_ID,_0x357c('0xd')));return db[_0x357c('0xe')][_0x357c('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x357c('0x10'),_0x357c('0x11')]})[_0x357c('0x12')](function(_0x4e4741){if(_0x4e4741){_0x214216=_0x4e4741;_0x1c30bd=_0x214216[_0x357c('0x11')]||0x1388;}})[_0x357c('0x12')](function(){return dbH[_0x357c('0x13')]['query'](util['format'](_0x357c('0x14'),QUERY),{'type':dbH[_0x357c('0x13')][_0x357c('0x15')][_0x357c('0x16')]});})[_0x357c('0x12')](function(_0xf2ccec){if(!_0xf2ccec[0x0]['num']){return analyticExtractedReport(_0x357c('0x17'));}var _0x288ed7=[];var _0x5e01dc=0x0;if(_0x214216['split']){if(_0xf2ccec&&_0xf2ccec[_0x357c('0x18')]){var _0x42ef5b=_[_0x357c('0x19')](_0xf2ccec[0x0]['num']/_0x1c30bd);var _0x21d0f9=Number[_0x357c('0x1a')](_0xf2ccec[0x0][_0x357c('0x1b')]/_0x1c30bd)?_0xf2ccec[0x0][_0x357c('0x1b')]%_0x1c30bd:0x0;_0x42ef5b[_0x357c('0x1c')](function(_0x312a51){if(_0x312a51>0x0){_0x5e01dc+=_0x1c30bd;}_0x288ed7[_0x357c('0x1d')](dbH[_0x357c('0x13')][_0x357c('0x1e')](util['format'](_0x357c('0x1f'),QUERY,_0x1c30bd,_0x5e01dc),{'type':dbH[_0x357c('0x13')]['QueryTypes']['SELECT']}));});if(_0x21d0f9>0x0){_0x5e01dc+=_0x1c30bd;_0x288ed7[_0x357c('0x1d')](dbH[_0x357c('0x13')]['query'](util[_0x357c('0xb')](_0x357c('0x1f'),QUERY,_0x21d0f9,_0x5e01dc),{'type':dbH['sequelize'][_0x357c('0x15')][_0x357c('0x16')]}));}}}else{_0x288ed7[_0x357c('0x1d')](dbH[_0x357c('0x13')][_0x357c('0x1e')](QUERY,{'type':dbH[_0x357c('0x13')][_0x357c('0x15')][_0x357c('0x16')]}));}var _0x47f4d8=path['dirname'](PATH);var _0x37c9e1=path[_0x357c('0x20')](PATH,_0x357c('0x21'));var _0x1c5c51=_0x214216[_0x357c('0x10')]&&_0x288ed7['length']>0x1;var _0x40983e=[];if(!fs['existsSync'](path[_0x357c('0x22')](_0x47f4d8,_0x37c9e1))&&_0x1c5c51){fs[_0x357c('0x23')](path[_0x357c('0x22')](_0x47f4d8,_0x37c9e1));}return BPromise['each'](_0x288ed7,function(_0x11dc9c){_0x40983e[_0x357c('0x1d')](_0x11dc9c);})[_0x357c('0x12')](function(){for(var _0x42a97a=0x0;_0x42a97a<_0x40983e[_0x357c('0x18')];_0x42a97a+=0x1){var _0x3125be;var _0x28031a=_0x40983e[_0x42a97a];if(_0x1c5c51){_0x3125be=path[_0x357c('0x22')](_0x47f4d8,_0x37c9e1,util['format'](_0x357c('0x24'),_0x37c9e1,_0x42a97a,_0x357c('0x25')));}else{_0x3125be=path[_0x357c('0x22')](_0x47f4d8,util[_0x357c('0xb')](_0x357c('0x26'),_0x37c9e1,'xlsx'));}fs[_0x357c('0x27')](_0x3125be,json2xls(_0x28031a),_0x357c('0x28'));}})[_0x357c('0x12')](function(){if(_0x1c5c51){return new Promise(function(_0x34a9b3){zipdir(path[_0x357c('0x22')](_0x47f4d8,_0x37c9e1),{'saveTo':path[_0x357c('0x22')](_0x47f4d8,util[_0x357c('0xb')](_0x357c('0x26'),_0x37c9e1,_0x357c('0x29')))},function(_0x98e241,_0x3235eb){rimraf(path[_0x357c('0x22')](_0x47f4d8,_0x37c9e1),function(){});_0x34a9b3(_0x357c('0x2a'));});});}})['then'](function(){logger[_0x357c('0xa')](util[_0x357c('0xb')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x357c('0xd')));return analyticExtractedReport(_0x357c('0x2b'),_0x1c5c51?util[_0x357c('0xb')](_0x357c('0x26'),_0x37c9e1,_0x1c5c51?_0x357c('0x29'):_0x357c('0x25')):null);});})['catch'](function(_0x453750){logger[_0x357c('0xa')](util[_0x357c('0xb')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x357c('0xd')),util[_0x357c('0x2c')](_0x453750,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x357c('0x2d'));})['finally'](function(){process['exit'](EXIT_CODE);});}main();