a5ea139d6cfbbf8d127af8dfcefd7e73c093f431
[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 _0xd9bc=['dirname','basename','existsSync','join','mkdirSync','%s%d.%s','%s.%s','xlsx','writeFileSync','binary','zip','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','num','Empty','length','push','query','QueryTypes','SELECT'];(function(_0x45c9fa,_0x352bdf){var _0x57baed=function(_0x4f8116){while(--_0x4f8116){_0x45c9fa['push'](_0x45c9fa['shift']());}};_0x57baed(++_0x352bdf);}(_0xd9bc,0xc7));var _0xcd9b=function(_0x205cb3,_0x5f15ec){_0x205cb3=_0x205cb3-0x0;var _0x41792b=_0xd9bc[_0x205cb3];return _0x41792b;};'use strict';var util=require(_0xcd9b('0x0'));var path=require(_0xcd9b('0x1'));var _=require(_0xcd9b('0x2'));var fs=require('fs');var json2xls=require(_0xcd9b('0x3'));var BPromise=require(_0xcd9b('0x4'));var zipdir=require(_0xcd9b('0x5'));var rimraf=require(_0xcd9b('0x6'));var db=require(_0xcd9b('0x7'))['db'];var dbH=require(_0xcd9b('0x7'))['dbH'];var logger=require(_0xcd9b('0x8'))(_0xcd9b('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xcd9b('0xa')][0x2]);var QUERY=process[_0xcd9b('0xa')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x3b1224,_0x257744){var _0xbab251={'status':_0x3b1224};var _0x5131cb={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x257744){_0xbab251[_0xcd9b('0xb')]=_0x257744;}return db[_0xcd9b('0xc')][_0xcd9b('0xd')](_0xbab251,_0x5131cb);}function main(){var _0x1bfd42=0x1388;var _0x9e4d2a;logger[_0xcd9b('0xe')](util[_0xcd9b('0xf')](_0xcd9b('0x10'),EXTRACTED_REPORT_ID,_0xcd9b('0x11')));return db[_0xcd9b('0x12')][_0xcd9b('0x13')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xcd9b('0x14'),_0xcd9b('0x15')]})[_0xcd9b('0x16')](function(_0x105b8d){if(_0x105b8d){_0x9e4d2a=_0x105b8d;_0x1bfd42=_0x9e4d2a[_0xcd9b('0x15')]||0x1388;}})[_0xcd9b('0x16')](function(){return dbH[_0xcd9b('0x17')]['query'](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize']['QueryTypes']['SELECT']});})[_0xcd9b('0x16')](function(_0x36a2fb){if(!_0x36a2fb[0x0][_0xcd9b('0x18')]){return analyticExtractedReport(_0xcd9b('0x19'));}var _0x1e8b40=[];var _0x1ac868=0x0;var _0x19e66b=!![];if(_0x9e4d2a['split']){if(_0x36a2fb&&_0x36a2fb[_0xcd9b('0x1a')]){var _0x425029=_0x36a2fb[0x0][_0xcd9b('0x18')]%(_0x1ac868+_0x1bfd42);for(;_0x19e66b;_0x1ac868+=_0x1bfd42,_0x425029=_0x36a2fb[0x0][_0xcd9b('0x18')]%(_0x1ac868+_0x1bfd42)){if(_0x425029==0x0||_0x425029==_0x36a2fb[0x0]['num']){_0x19e66b=![];}_0x1e8b40[_0xcd9b('0x1b')](dbH['sequelize'][_0xcd9b('0x1c')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x1bfd42,_0x1ac868),{'type':dbH[_0xcd9b('0x17')][_0xcd9b('0x1d')][_0xcd9b('0x1e')]}));}}}else{_0x1e8b40[_0xcd9b('0x1b')](dbH['sequelize']['query'](QUERY,{'type':dbH[_0xcd9b('0x17')][_0xcd9b('0x1d')][_0xcd9b('0x1e')]}));}var _0x20e1d6=path[_0xcd9b('0x1f')](PATH);var _0x44a9fe=path[_0xcd9b('0x20')](PATH,'.xlsx');var _0x1946bb=_0x9e4d2a['split']&&_0x1e8b40['length']>0x1;var _0x1f7abd=[];if(!fs[_0xcd9b('0x21')](path[_0xcd9b('0x22')](_0x20e1d6,_0x44a9fe))&&_0x1946bb){fs[_0xcd9b('0x23')](path[_0xcd9b('0x22')](_0x20e1d6,_0x44a9fe));}return BPromise['each'](_0x1e8b40,function(_0x37ece0){_0x1f7abd[_0xcd9b('0x1b')](_0x37ece0);})['then'](function(){for(var _0x490e6a=0x0;_0x490e6a<_0x1f7abd['length'];_0x490e6a+=0x1){var _0x49cffd;var _0x4553dc=_0x1f7abd[_0x490e6a];if(_0x1946bb){_0x49cffd=path[_0xcd9b('0x22')](_0x20e1d6,_0x44a9fe,util[_0xcd9b('0xf')](_0xcd9b('0x24'),_0x44a9fe,_0x490e6a,'xlsx'));}else{_0x49cffd=path[_0xcd9b('0x22')](_0x20e1d6,util[_0xcd9b('0xf')](_0xcd9b('0x25'),_0x44a9fe,_0xcd9b('0x26')));}fs[_0xcd9b('0x27')](_0x49cffd,json2xls(_0x4553dc),_0xcd9b('0x28'));}})[_0xcd9b('0x16')](function(){if(_0x1946bb){zipdir(path[_0xcd9b('0x22')](_0x20e1d6,_0x44a9fe),{'saveTo':path[_0xcd9b('0x22')](_0x20e1d6,util[_0xcd9b('0xf')]('%s.%s',_0x44a9fe,_0xcd9b('0x29')))},function(_0x36b8d1,_0x405be9){});rimraf(path[_0xcd9b('0x22')](_0x20e1d6,_0x44a9fe),function(){});}})[_0xcd9b('0x16')](function(){logger[_0xcd9b('0xe')](util['format']('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xcd9b('0x11')));return analyticExtractedReport(_0xcd9b('0x2a'),_0x1946bb?util['format'](_0xcd9b('0x25'),_0x44a9fe,_0x1946bb?_0xcd9b('0x29'):_0xcd9b('0x26')):null);});})['catch'](function(_0x19755f){logger[_0xcd9b('0xe')](util[_0xcd9b('0xf')](_0xcd9b('0x2b'),EXTRACTED_REPORT_ID,_0xcd9b('0x11')),util[_0xcd9b('0x2c')](_0x19755f,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xcd9b('0x2d'));});}main();