Built motion from commit c738b9ac.|2.6.25
[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 _0x8814=['sequelize','QueryTypes','SELECT','length','range','num','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','.xlsx','join','mkdirSync','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','finally','util','json2xls','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','then','splitSizeXlsx','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t'];(function(_0x89f97c,_0x28cbdb){var _0x3b04a6=function(_0xea16a1){while(--_0xea16a1){_0x89f97c['push'](_0x89f97c['shift']());}};_0x3b04a6(++_0x28cbdb);}(_0x8814,0x1b8));var _0x4881=function(_0x82129b,_0x484ae9){_0x82129b=_0x82129b-0x0;var _0x2ae5dc=_0x8814[_0x82129b];return _0x2ae5dc;};'use strict';var util=require(_0x4881('0x0'));var path=require('path');var _=require('lodash');var fs=require('fs');var json2xls=require(_0x4881('0x1'));var BPromise=require('bluebird');var zipdir=require(_0x4881('0x2'));var rimraf=require(_0x4881('0x3'));var db=require(_0x4881('0x4'))['db'];var dbH=require(_0x4881('0x4'))['dbH'];var logger=require(_0x4881('0x5'))(_0x4881('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0x4881('0x7')][0x2]);var QUERY=process[_0x4881('0x7')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x1151b4,_0x505b8a){var _0x23a0d4={'status':_0x1151b4};var _0x471090={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x505b8a){_0x23a0d4[_0x4881('0x8')]=_0x505b8a;}return db[_0x4881('0x9')]['update'](_0x23a0d4,_0x471090);}function main(){var _0xda4edd=0x1388;var _0x3b05bf;logger['info'](util[_0x4881('0xa')](_0x4881('0xb'),EXTRACTED_REPORT_ID,_0x4881('0xc')));return db[_0x4881('0xd')][_0x4881('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x4881('0xf'),'splitSizeXlsx']})[_0x4881('0x10')](function(_0x1aa300){if(_0x1aa300){_0x3b05bf=_0x1aa300;_0xda4edd=_0x3b05bf[_0x4881('0x11')]||0x1388;}})[_0x4881('0x10')](function(){return dbH['sequelize'][_0x4881('0x12')](util[_0x4881('0xa')](_0x4881('0x13'),QUERY),{'type':dbH[_0x4881('0x14')][_0x4881('0x15')][_0x4881('0x16')]});})['then'](function(_0x4bdffa){if(!_0x4bdffa[0x0]['num']){return analyticExtractedReport('Empty');}var _0x22df92=[];var _0x5b6add=0x0;if(_0x3b05bf['split']){if(_0x4bdffa&&_0x4bdffa[_0x4881('0x17')]){var _0x38237b=_[_0x4881('0x18')](_0x4bdffa[0x0]['num']/_0xda4edd);var _0x4f7f4e=Number['isInteger'](_0x4bdffa[0x0][_0x4881('0x19')]/_0xda4edd)?_0x4bdffa[0x0]['num']%_0xda4edd:0x0;_0x38237b[_0x4881('0x1a')](function(_0x3d455b){if(_0x3d455b>0x0){_0x5b6add+=_0xda4edd;}_0x22df92['push'](dbH['sequelize']['query'](util['format'](_0x4881('0x1b'),QUERY,_0xda4edd,_0x5b6add),{'type':dbH['sequelize']['QueryTypes'][_0x4881('0x16')]}));});if(_0x4f7f4e>0x0){_0x5b6add+=_0xda4edd;_0x22df92[_0x4881('0x1c')](dbH[_0x4881('0x14')][_0x4881('0x12')](util[_0x4881('0xa')](_0x4881('0x1b'),QUERY,_0x4f7f4e,_0x5b6add),{'type':dbH['sequelize']['QueryTypes']['SELECT']}));}}}else{_0x22df92[_0x4881('0x1c')](dbH[_0x4881('0x14')][_0x4881('0x12')](QUERY,{'type':dbH[_0x4881('0x14')][_0x4881('0x15')][_0x4881('0x16')]}));}var _0x4cf5c3=path[_0x4881('0x1d')](PATH);var _0x383c70=path['basename'](PATH,_0x4881('0x1e'));var _0x1a8fb0=_0x3b05bf[_0x4881('0xf')]&&_0x22df92[_0x4881('0x17')]>0x1;var _0x1d3a30=[];if(!fs['existsSync'](path[_0x4881('0x1f')](_0x4cf5c3,_0x383c70))&&_0x1a8fb0){fs[_0x4881('0x20')](path[_0x4881('0x1f')](_0x4cf5c3,_0x383c70));}return BPromise['each'](_0x22df92,function(_0x339600){_0x1d3a30[_0x4881('0x1c')](_0x339600);})['then'](function(){for(var _0x273995=0x0;_0x273995<_0x1d3a30[_0x4881('0x17')];_0x273995+=0x1){var _0x3096d1;var _0xe66a47=_0x1d3a30[_0x273995];if(_0x1a8fb0){_0x3096d1=path[_0x4881('0x1f')](_0x4cf5c3,_0x383c70,util['format'](_0x4881('0x21'),_0x383c70,_0x273995,_0x4881('0x22')));}else{_0x3096d1=path[_0x4881('0x1f')](_0x4cf5c3,util[_0x4881('0xa')](_0x4881('0x23'),_0x383c70,_0x4881('0x22')));}fs[_0x4881('0x24')](_0x3096d1,json2xls(_0xe66a47),_0x4881('0x25'));}})[_0x4881('0x10')](function(){if(_0x1a8fb0){return new Promise(function(_0x4ff11e){zipdir(path['join'](_0x4cf5c3,_0x383c70),{'saveTo':path[_0x4881('0x1f')](_0x4cf5c3,util[_0x4881('0xa')]('%s.%s',_0x383c70,_0x4881('0x26')))},function(_0x29c7c5,_0x5da6d1){rimraf(path[_0x4881('0x1f')](_0x4cf5c3,_0x383c70),function(){});_0x4ff11e(_0x4881('0x27'));});});}})[_0x4881('0x10')](function(){logger['info'](util['format'](_0x4881('0x28'),EXTRACTED_REPORT_ID,_0x4881('0xc')));return analyticExtractedReport(_0x4881('0x29'),_0x1a8fb0?util['format'](_0x4881('0x23'),_0x383c70,_0x1a8fb0?_0x4881('0x26'):_0x4881('0x22')):null);});})['catch'](function(_0x40055d){logger[_0x4881('0x2a')](util[_0x4881('0xa')](_0x4881('0x2b'),EXTRACTED_REPORT_ID,_0x4881('0xc')),util['inspect'](_0x40055d,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x4881('0x2c'));})[_0x4881('0x2d')](function(){process['exit'](EXIT_CODE);});}main();