Built motion from commit (unavailable).|2.4.17
[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 _0x5944=['xlsx','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','inspect','Failed','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','../../config/logger','argv','AnalyticExtractedReport','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','split','splitSizeXlsx','then','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','existsSync','join','mkdirSync','each','%s%d.%s','%s.%s'];(function(_0x132a19,_0x26fae6){var _0x33bf22=function(_0xf80837){while(--_0xf80837){_0x132a19['push'](_0x132a19['shift']());}};_0x33bf22(++_0x26fae6);}(_0x5944,0x10e));var _0x4594=function(_0x36eaaa,_0x326732){_0x36eaaa=_0x36eaaa-0x0;var _0x461349=_0x5944[_0x36eaaa];return _0x461349;};'use strict';var util=require(_0x4594('0x0'));var path=require(_0x4594('0x1'));var _=require(_0x4594('0x2'));var fs=require('fs');var json2xls=require(_0x4594('0x3'));var BPromise=require(_0x4594('0x4'));var zipdir=require(_0x4594('0x5'));var rimraf=require(_0x4594('0x6'));var db=require('../../mysqldb')['db'];var dbH=require(_0x4594('0x7'))['dbH'];var logger=require(_0x4594('0x8'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x4594('0x9')][0x3];var PATH=process[_0x4594('0x9')][0x4];function analyticExtractedReport(_0x5c782a,_0x447e38){var _0x30b8da={'status':_0x5c782a};var _0x459976={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x447e38){_0x30b8da['savename']=_0x447e38;}return db[_0x4594('0xa')][_0x4594('0xb')](_0x30b8da,_0x459976);}function main(){var _0x1e1c28=0x1388;var _0xb8cf41;logger[_0x4594('0xc')](util['format'](_0x4594('0xd'),EXTRACTED_REPORT_ID,'XLSX'));return db[_0x4594('0xe')][_0x4594('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x4594('0x10'),'splitSizeXlsx']})['then'](function(_0x25a26d){if(_0x25a26d){_0xb8cf41=_0x25a26d;_0x1e1c28=_0xb8cf41[_0x4594('0x11')]||0x1388;}})[_0x4594('0x12')](function(){return dbH[_0x4594('0x13')][_0x4594('0x14')](util[_0x4594('0x15')](_0x4594('0x16'),QUERY),{'type':dbH[_0x4594('0x13')][_0x4594('0x17')][_0x4594('0x18')]});})[_0x4594('0x12')](function(_0x3db137){if(!_0x3db137[0x0][_0x4594('0x19')]){return analyticExtractedReport('Empty');}var _0x5aa314=[];var _0x1be746=0x0;var _0x150cbf=!![];if(_0xb8cf41[_0x4594('0x10')]){if(_0x3db137&&_0x3db137[_0x4594('0x1a')]){var _0x73920b=_0x3db137[0x0]['num']%(_0x1be746+_0x1e1c28);for(;_0x150cbf;_0x1be746+=_0x1e1c28,_0x73920b=_0x3db137[0x0][_0x4594('0x19')]%(_0x1be746+_0x1e1c28)){if(_0x73920b==0x0||_0x73920b==_0x3db137[0x0][_0x4594('0x19')]){_0x150cbf=![];}_0x5aa314[_0x4594('0x1b')](dbH[_0x4594('0x13')][_0x4594('0x14')](util[_0x4594('0x15')](_0x4594('0x1c'),QUERY,_0x1e1c28,_0x1be746),{'type':dbH[_0x4594('0x13')][_0x4594('0x17')][_0x4594('0x18')]}));}}}else{_0x5aa314[_0x4594('0x1b')](dbH[_0x4594('0x13')][_0x4594('0x14')](QUERY,{'type':dbH['sequelize'][_0x4594('0x17')][_0x4594('0x18')]}));}var _0x30dd0f=path[_0x4594('0x1d')](PATH);var _0x3e206e=path[_0x4594('0x1e')](PATH,_0x4594('0x1f'));var _0x2d0c4a=_0xb8cf41['split']&&_0x5aa314['length']>0x1;var _0x5d0183=[];if(!fs[_0x4594('0x20')](path[_0x4594('0x21')](_0x30dd0f,_0x3e206e))&&_0x2d0c4a){fs[_0x4594('0x22')](path[_0x4594('0x21')](_0x30dd0f,_0x3e206e));}return BPromise[_0x4594('0x23')](_0x5aa314,function(_0x45a584){_0x5d0183['push'](_0x45a584);})[_0x4594('0x12')](function(){for(var _0x1a42c4=0x0;_0x1a42c4<_0x5d0183[_0x4594('0x1a')];_0x1a42c4+=0x1){var _0x478660;var _0x18e030=_0x5d0183[_0x1a42c4];if(_0x2d0c4a){_0x478660=path[_0x4594('0x21')](_0x30dd0f,_0x3e206e,util[_0x4594('0x15')](_0x4594('0x24'),_0x3e206e,_0x1a42c4,'xlsx'));}else{_0x478660=path[_0x4594('0x21')](_0x30dd0f,util[_0x4594('0x15')](_0x4594('0x25'),_0x3e206e,_0x4594('0x26')));}fs['writeFileSync'](_0x478660,json2xls(_0x18e030),'binary');}})[_0x4594('0x12')](function(){if(_0x2d0c4a){zipdir(path[_0x4594('0x21')](_0x30dd0f,_0x3e206e),{'saveTo':path[_0x4594('0x21')](_0x30dd0f,util[_0x4594('0x15')](_0x4594('0x25'),_0x3e206e,_0x4594('0x27')))},function(_0xe3b1e5,_0x589563){});rimraf(path['join'](_0x30dd0f,_0x3e206e),function(){});}})[_0x4594('0x12')](function(){logger[_0x4594('0xc')](util[_0x4594('0x15')](_0x4594('0x28'),EXTRACTED_REPORT_ID,_0x4594('0x29')));return analyticExtractedReport('Completed',_0x2d0c4a?util['format'](_0x4594('0x25'),_0x3e206e,_0x2d0c4a?_0x4594('0x27'):_0x4594('0x26')):null);});})['catch'](function(_0x5ea0dc){logger[_0x4594('0xc')](util['format']('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x4594('0x29')),util[_0x4594('0x2a')](_0x5ea0dc,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x4594('0x2b'));});}main();