Built motion from commit (unavailable).|2.5.16
[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 _0xcd94=['bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','XLSX','Setting','splitSizeXlsx','then','sequelize','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','split','length','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','existsSync','join','mkdirSync','%s%d.%s','xlsx','writeFileSync','binary','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','%s.%s','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','path','lodash','json2xls'];(function(_0x38e87a,_0x2c6239){var _0x30541e=function(_0x32251d){while(--_0x32251d){_0x38e87a['push'](_0x38e87a['shift']());}};_0x30541e(++_0x2c6239);}(_0xcd94,0x19b));var _0x4cd9=function(_0xf0330b,_0x814253){_0xf0330b=_0xf0330b-0x0;var _0x538518=_0xcd94[_0xf0330b];return _0x538518;};'use strict';var util=require('util');var path=require(_0x4cd9('0x0'));var _=require(_0x4cd9('0x1'));var fs=require('fs');var json2xls=require(_0x4cd9('0x2'));var BPromise=require(_0x4cd9('0x3'));var zipdir=require(_0x4cd9('0x4'));var rimraf=require(_0x4cd9('0x5'));var db=require(_0x4cd9('0x6'))['db'];var dbH=require('../../mysqldb')[_0x4cd9('0x7')];var logger=require(_0x4cd9('0x8'))(_0x4cd9('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x4cd9('0xa')][0x2]);var QUERY=process[_0x4cd9('0xa')][0x3];var PATH=process[_0x4cd9('0xa')][0x4];function analyticExtractedReport(_0x423311,_0x405291){var _0x22b848={'status':_0x423311};var _0x51236e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x405291){_0x22b848['savename']=_0x405291;}return db[_0x4cd9('0xb')][_0x4cd9('0xc')](_0x22b848,_0x51236e);}function main(){var _0x5e6845=0x1388;var _0x5a5568;logger['info'](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x4cd9('0xd')));return db[_0x4cd9('0xe')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x4cd9('0xf')]})[_0x4cd9('0x10')](function(_0x2ac6c9){if(_0x2ac6c9){_0x5a5568=_0x2ac6c9;_0x5e6845=_0x5a5568[_0x4cd9('0xf')]||0x1388;}})['then'](function(){return dbH[_0x4cd9('0x11')]['query'](util[_0x4cd9('0x12')](_0x4cd9('0x13'),QUERY),{'type':dbH[_0x4cd9('0x11')][_0x4cd9('0x14')][_0x4cd9('0x15')]});})[_0x4cd9('0x10')](function(_0x40da0e){if(!_0x40da0e[0x0][_0x4cd9('0x16')]){return analyticExtractedReport('Empty');}var _0x4b0ba3=[];var _0x3c1dfe=0x0;var _0x4263a4=!![];if(_0x5a5568[_0x4cd9('0x17')]){if(_0x40da0e&&_0x40da0e[_0x4cd9('0x18')]){var _0x1b619a=_0x40da0e[0x0][_0x4cd9('0x16')]%(_0x3c1dfe+_0x5e6845);for(;_0x4263a4;_0x3c1dfe+=_0x5e6845,_0x1b619a=_0x40da0e[0x0]['num']%(_0x3c1dfe+_0x5e6845)){if(_0x1b619a==0x0||_0x1b619a==_0x40da0e[0x0][_0x4cd9('0x16')]){_0x4263a4=![];}_0x4b0ba3[_0x4cd9('0x19')](dbH[_0x4cd9('0x11')][_0x4cd9('0x1a')](util[_0x4cd9('0x12')](_0x4cd9('0x1b'),QUERY,_0x5e6845,_0x3c1dfe),{'type':dbH[_0x4cd9('0x11')][_0x4cd9('0x14')][_0x4cd9('0x15')]}));}}}else{_0x4b0ba3['push'](dbH[_0x4cd9('0x11')][_0x4cd9('0x1a')](QUERY,{'type':dbH['sequelize'][_0x4cd9('0x14')]['SELECT']}));}var _0x26ee3c=path[_0x4cd9('0x1c')](PATH);var _0x2cc1b4=path[_0x4cd9('0x1d')](PATH,_0x4cd9('0x1e'));var _0x2d7bb0=_0x5a5568[_0x4cd9('0x17')]&&_0x4b0ba3['length']>0x1;var _0x1ece07=[];if(!fs[_0x4cd9('0x1f')](path[_0x4cd9('0x20')](_0x26ee3c,_0x2cc1b4))&&_0x2d7bb0){fs[_0x4cd9('0x21')](path[_0x4cd9('0x20')](_0x26ee3c,_0x2cc1b4));}return BPromise['each'](_0x4b0ba3,function(_0x5a47ab){_0x1ece07[_0x4cd9('0x19')](_0x5a47ab);})[_0x4cd9('0x10')](function(){for(var _0x1954ed=0x0;_0x1954ed<_0x1ece07[_0x4cd9('0x18')];_0x1954ed+=0x1){var _0x4458fa;var _0x50e234=_0x1ece07[_0x1954ed];if(_0x2d7bb0){_0x4458fa=path[_0x4cd9('0x20')](_0x26ee3c,_0x2cc1b4,util[_0x4cd9('0x12')](_0x4cd9('0x22'),_0x2cc1b4,_0x1954ed,'xlsx'));}else{_0x4458fa=path[_0x4cd9('0x20')](_0x26ee3c,util['format']('%s.%s',_0x2cc1b4,_0x4cd9('0x23')));}fs[_0x4cd9('0x24')](_0x4458fa,json2xls(_0x50e234),_0x4cd9('0x25'));}})[_0x4cd9('0x10')](function(){if(_0x2d7bb0){zipdir(path[_0x4cd9('0x20')](_0x26ee3c,_0x2cc1b4),{'saveTo':path[_0x4cd9('0x20')](_0x26ee3c,util[_0x4cd9('0x12')]('%s.%s',_0x2cc1b4,'zip'))},function(_0x57ecc4,_0x533709){});rimraf(path[_0x4cd9('0x20')](_0x26ee3c,_0x2cc1b4),function(){});}})['then'](function(){logger[_0x4cd9('0x26')](util[_0x4cd9('0x12')](_0x4cd9('0x27'),EXTRACTED_REPORT_ID,_0x4cd9('0xd')));return analyticExtractedReport(_0x4cd9('0x28'),_0x2d7bb0?util['format'](_0x4cd9('0x29'),_0x2cc1b4,_0x2d7bb0?_0x4cd9('0x2a'):_0x4cd9('0x23')):null);});})[_0x4cd9('0x2b')](function(_0x3d9b03){logger[_0x4cd9('0x26')](util[_0x4cd9('0x12')](_0x4cd9('0x2c'),EXTRACTED_REPORT_ID,_0x4cd9('0xd')),util['inspect'](_0x3d9b03,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x4cd9('0x2d'));});}main();