Built motion from commit (unavailable).|2.4.5
[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 _0x661e=['Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','lodash','json2xls','zip-dir','rimraf','../../mysqldb','../../config/logger','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','find','split','splitSizeXlsx','then','sequelize','SELECT','num','Empty','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','basename','.xlsx','existsSync','mkdirSync','join','each','%s%d.%s','%s.%s','writeFileSync','binary','zip'];(function(_0x3011ae,_0x151717){var _0x1f99f5=function(_0x3fbb0d){while(--_0x3fbb0d){_0x3011ae['push'](_0x3011ae['shift']());}};_0x1f99f5(++_0x151717);}(_0x661e,0x188));var _0xe661=function(_0x598c68,_0x38832b){_0x598c68=_0x598c68-0x0;var _0x25afe9=_0x661e[_0x598c68];return _0x25afe9;};'use strict';var util=require(_0xe661('0x0'));var path=require('path');var _=require(_0xe661('0x1'));var fs=require('fs');var json2xls=require(_0xe661('0x2'));var BPromise=require('bluebird');var zipdir=require(_0xe661('0x3'));var rimraf=require(_0xe661('0x4'));var db=require(_0xe661('0x5'))['db'];var dbH=require(_0xe661('0x5'))['dbH'];var logger=require(_0xe661('0x6'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0xe661('0x7')][0x2]);var QUERY=process['argv'][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x9423,_0x86b52e){var _0x20ac73={'status':_0x9423};var _0x23c900={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x86b52e){_0x20ac73[_0xe661('0x8')]=_0x86b52e;}return db['AnalyticExtractedReport'][_0xe661('0x9')](_0x20ac73,_0x23c900);}function main(){var _0x8813f=0x1388;var _0x3c7182;logger[_0xe661('0xa')](util[_0xe661('0xb')](_0xe661('0xc'),EXTRACTED_REPORT_ID,_0xe661('0xd')));return db['Setting'][_0xe661('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xe661('0xf'),_0xe661('0x10')]})[_0xe661('0x11')](function(_0x53d9e2){if(_0x53d9e2){_0x3c7182=_0x53d9e2;_0x8813f=_0x3c7182[_0xe661('0x10')]||0x1388;}})[_0xe661('0x11')](function(){return dbH[_0xe661('0x12')]['query'](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xe661('0x12')]['QueryTypes'][_0xe661('0x13')]});})['then'](function(_0x3a016a){if(!_0x3a016a[0x0][_0xe661('0x14')]){return analyticExtractedReport(_0xe661('0x15'));}var _0x57169d=[];var _0x56c17b=0x0;var _0x5a3bfb=!![];if(_0x3c7182['split']){if(_0x3a016a&&_0x3a016a[_0xe661('0x16')]){var _0x18c0f3=_0x3a016a[0x0]['num']%(_0x56c17b+_0x8813f);for(;_0x5a3bfb;_0x56c17b+=_0x8813f,_0x18c0f3=_0x3a016a[0x0][_0xe661('0x14')]%(_0x56c17b+_0x8813f)){if(_0x18c0f3==0x0||_0x18c0f3==_0x3a016a[0x0][_0xe661('0x14')]){_0x5a3bfb=![];}_0x57169d[_0xe661('0x17')](dbH['sequelize']['query'](util['format'](_0xe661('0x18'),QUERY,_0x8813f,_0x56c17b),{'type':dbH[_0xe661('0x12')][_0xe661('0x19')]['SELECT']}));}}}else{_0x57169d['push'](dbH[_0xe661('0x12')]['query'](QUERY,{'type':dbH['sequelize'][_0xe661('0x19')]['SELECT']}));}var _0x42504e=path[_0xe661('0x1a')](PATH);var _0x12e1d0=path[_0xe661('0x1b')](PATH,_0xe661('0x1c'));var _0x3bd4a1=_0x3c7182[_0xe661('0xf')]&&_0x57169d[_0xe661('0x16')]>0x1;var _0xde402c=[];if(!fs[_0xe661('0x1d')](path['join'](_0x42504e,_0x12e1d0))&&_0x3bd4a1){fs[_0xe661('0x1e')](path[_0xe661('0x1f')](_0x42504e,_0x12e1d0));}return BPromise[_0xe661('0x20')](_0x57169d,function(_0x39314b){_0xde402c[_0xe661('0x17')](_0x39314b);})[_0xe661('0x11')](function(){for(var _0x2d2aa0=0x0;_0x2d2aa0<_0xde402c[_0xe661('0x16')];_0x2d2aa0+=0x1){var _0x364137;var _0x26d9f6=_0xde402c[_0x2d2aa0];if(_0x3bd4a1){_0x364137=path[_0xe661('0x1f')](_0x42504e,_0x12e1d0,util[_0xe661('0xb')](_0xe661('0x21'),_0x12e1d0,_0x2d2aa0,'xlsx'));}else{_0x364137=path['join'](_0x42504e,util[_0xe661('0xb')](_0xe661('0x22'),_0x12e1d0,'xlsx'));}fs[_0xe661('0x23')](_0x364137,json2xls(_0x26d9f6),_0xe661('0x24'));}})[_0xe661('0x11')](function(){if(_0x3bd4a1){zipdir(path[_0xe661('0x1f')](_0x42504e,_0x12e1d0),{'saveTo':path[_0xe661('0x1f')](_0x42504e,util[_0xe661('0xb')](_0xe661('0x22'),_0x12e1d0,_0xe661('0x25')))},function(_0x418407,_0x4ceb2c){});rimraf(path[_0xe661('0x1f')](_0x42504e,_0x12e1d0),function(){});}})[_0xe661('0x11')](function(){logger[_0xe661('0xa')](util[_0xe661('0xb')](_0xe661('0x26'),EXTRACTED_REPORT_ID,_0xe661('0xd')));return analyticExtractedReport('Completed',_0x3bd4a1?util['format'](_0xe661('0x22'),_0x12e1d0,_0x3bd4a1?_0xe661('0x25'):'xlsx'):null);});})[_0xe661('0x27')](function(_0x3531f8){logger['info'](util[_0xe661('0xb')](_0xe661('0x28'),EXTRACTED_REPORT_ID,_0xe661('0xd')),util[_0xe661('0x29')](_0x3531f8,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xe661('0x2a'));});}main();