79d69d8b55e697040813254688e4bf640de57635
[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 _0x41f5=['writeFileSync','binary','zip','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','exit','path','lodash','bluebird','rimraf','../../mysqldb','dbH','argv','savename','AnalyticExtractedReport','update','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','SELECT','num','Empty','length','range','forEach','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','basename','existsSync','join','mkdirSync','%s%d.%s','xlsx','%s.%s'];(function(_0x6b085f,_0x26959c){var _0x40a408=function(_0x17a0d9){while(--_0x17a0d9){_0x6b085f['push'](_0x6b085f['shift']());}};_0x40a408(++_0x26959c);}(_0x41f5,0x96));var _0x541f=function(_0x408a63,_0x4cc182){_0x408a63=_0x408a63-0x0;var _0x27c11a=_0x41f5[_0x408a63];return _0x27c11a;};'use strict';var util=require('util');var path=require(_0x541f('0x0'));var _=require(_0x541f('0x1'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x541f('0x2'));var zipdir=require('zip-dir');var rimraf=require(_0x541f('0x3'));var db=require(_0x541f('0x4'))['db'];var dbH=require('../../mysqldb')[_0x541f('0x5')];var logger=require('../../config/logger')('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x541f('0x6')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x541f('0x6')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x475e29,_0x261880){var _0x2867aa={'status':_0x475e29};var _0x58a6b1={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x261880){_0x2867aa[_0x541f('0x7')]=_0x261880;}return db[_0x541f('0x8')][_0x541f('0x9')](_0x2867aa,_0x58a6b1);}function main(){var _0x44ce37=0x1388;var _0x1de133;logger['info'](util[_0x541f('0xa')](_0x541f('0xb'),EXTRACTED_REPORT_ID,_0x541f('0xc')));return db[_0x541f('0xd')][_0x541f('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x541f('0xf'),_0x541f('0x10')]})[_0x541f('0x11')](function(_0x2839d5){if(_0x2839d5){_0x1de133=_0x2839d5;_0x44ce37=_0x1de133[_0x541f('0x10')]||0x1388;}})[_0x541f('0x11')](function(){return dbH[_0x541f('0x12')]['query'](util['format'](_0x541f('0x13'),QUERY),{'type':dbH['sequelize']['QueryTypes'][_0x541f('0x14')]});})[_0x541f('0x11')](function(_0x3d3645){if(!_0x3d3645[0x0][_0x541f('0x15')]){return analyticExtractedReport(_0x541f('0x16'));}var _0x21bc8b=[];var _0x551a86=0x0;if(_0x1de133[_0x541f('0xf')]){if(_0x3d3645&&_0x3d3645[_0x541f('0x17')]){var _0xcfb88d=_[_0x541f('0x18')](_0x3d3645[0x0]['num']/_0x44ce37);var _0x17877d=Number['isInteger'](_0x3d3645[0x0][_0x541f('0x15')]/_0x44ce37)?_0x3d3645[0x0][_0x541f('0x15')]%_0x44ce37:0x0;_0xcfb88d[_0x541f('0x19')](function(_0x55e25f){if(_0x55e25f>0x0){_0x551a86+=_0x44ce37;}_0x21bc8b[_0x541f('0x1a')](dbH[_0x541f('0x12')][_0x541f('0x1b')](util[_0x541f('0xa')](_0x541f('0x1c'),QUERY,_0x44ce37,_0x551a86),{'type':dbH['sequelize'][_0x541f('0x1d')][_0x541f('0x14')]}));});if(_0x17877d>0x0){_0x551a86+=_0x44ce37;_0x21bc8b[_0x541f('0x1a')](dbH[_0x541f('0x12')][_0x541f('0x1b')](util['format'](_0x541f('0x1c'),QUERY,_0x17877d,_0x551a86),{'type':dbH['sequelize'][_0x541f('0x1d')][_0x541f('0x14')]}));}}}else{_0x21bc8b[_0x541f('0x1a')](dbH[_0x541f('0x12')][_0x541f('0x1b')](QUERY,{'type':dbH['sequelize']['QueryTypes'][_0x541f('0x14')]}));}var _0x5111bc=path[_0x541f('0x1e')](PATH);var _0x263ce2=path[_0x541f('0x1f')](PATH,'.xlsx');var _0x5e4253=_0x1de133[_0x541f('0xf')]&&_0x21bc8b[_0x541f('0x17')]>0x1;var _0x48eed5=[];if(!fs[_0x541f('0x20')](path[_0x541f('0x21')](_0x5111bc,_0x263ce2))&&_0x5e4253){fs[_0x541f('0x22')](path[_0x541f('0x21')](_0x5111bc,_0x263ce2));}return BPromise['each'](_0x21bc8b,function(_0x2ec321){_0x48eed5[_0x541f('0x1a')](_0x2ec321);})[_0x541f('0x11')](function(){for(var _0x12ae8a=0x0;_0x12ae8a<_0x48eed5['length'];_0x12ae8a+=0x1){var _0x4d608f;var _0x1b45f4=_0x48eed5[_0x12ae8a];if(_0x5e4253){_0x4d608f=path[_0x541f('0x21')](_0x5111bc,_0x263ce2,util[_0x541f('0xa')](_0x541f('0x23'),_0x263ce2,_0x12ae8a,_0x541f('0x24')));}else{_0x4d608f=path[_0x541f('0x21')](_0x5111bc,util[_0x541f('0xa')](_0x541f('0x25'),_0x263ce2,_0x541f('0x24')));}fs[_0x541f('0x26')](_0x4d608f,json2xls(_0x1b45f4),_0x541f('0x27'));}})[_0x541f('0x11')](function(){if(_0x5e4253){return new Promise(function(_0x250252){zipdir(path[_0x541f('0x21')](_0x5111bc,_0x263ce2),{'saveTo':path[_0x541f('0x21')](_0x5111bc,util[_0x541f('0xa')](_0x541f('0x25'),_0x263ce2,_0x541f('0x28')))},function(_0x222b25,_0x255812){rimraf(path['join'](_0x5111bc,_0x263ce2),function(){});_0x250252('zip\x20finished');});});}})[_0x541f('0x11')](function(){logger[_0x541f('0x29')](util[_0x541f('0xa')](_0x541f('0x2a'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport('Completed',_0x5e4253?util[_0x541f('0xa')](_0x541f('0x25'),_0x263ce2,_0x5e4253?_0x541f('0x28'):_0x541f('0x24')):null);});})['catch'](function(_0x47d966){logger[_0x541f('0x29')](util[_0x541f('0xa')](_0x541f('0x2b'),EXTRACTED_REPORT_ID,_0x541f('0xc')),util[_0x541f('0x2c')](_0x47d966,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x541f('0x2d'));})['finally'](function(){process[_0x541f('0x2e')](EXIT_CODE);});}main();