Built motion from commit (unavailable).|2.5.1
[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 _0xafdb=['catch','inspect','util','path','lodash','json2xls','bluebird','zip-dir','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','find','split','then','sequelize','query','format','QueryTypes','num','Empty','length','%s\x20limit\x20%d\x20OFFSET\x20%d','SELECT','push','dirname','.xlsx','existsSync','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','Completed'];(function(_0x58bec1,_0x42c53f){var _0x16439f=function(_0x19b7ec){while(--_0x19b7ec){_0x58bec1['push'](_0x58bec1['shift']());}};_0x16439f(++_0x42c53f);}(_0xafdb,0xae));var _0xbafd=function(_0x29d6e6,_0x264220){_0x29d6e6=_0x29d6e6-0x0;var _0xc75ff0=_0xafdb[_0x29d6e6];return _0xc75ff0;};'use strict';var util=require(_0xbafd('0x0'));var path=require(_0xbafd('0x1'));var _=require(_0xbafd('0x2'));var fs=require('fs');var json2xls=require(_0xbafd('0x3'));var BPromise=require(_0xbafd('0x4'));var zipdir=require(_0xbafd('0x5'));var rimraf=require('rimraf');var db=require(_0xbafd('0x6'))['db'];var dbH=require(_0xbafd('0x6'))[_0xbafd('0x7')];var logger=require(_0xbafd('0x8'))(_0xbafd('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xbafd('0xa')][0x3];var PATH=process[_0xbafd('0xa')][0x4];function analyticExtractedReport(_0x19adf0,_0x26ff99){var _0x4b9282={'status':_0x19adf0};var _0xb93bf={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x26ff99){_0x4b9282[_0xbafd('0xb')]=_0x26ff99;}return db['AnalyticExtractedReport'][_0xbafd('0xc')](_0x4b9282,_0xb93bf);}function main(){var _0x1022ec=0x1388;var _0x4a958e;logger[_0xbafd('0xd')](util['format'](_0xbafd('0xe'),EXTRACTED_REPORT_ID,'XLSX'));return db['Setting'][_0xbafd('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xbafd('0x10'),'splitSizeXlsx']})[_0xbafd('0x11')](function(_0x15104e){if(_0x15104e){_0x4a958e=_0x15104e;_0x1022ec=_0x4a958e['splitSizeXlsx']||0x1388;}})[_0xbafd('0x11')](function(){return dbH[_0xbafd('0x12')][_0xbafd('0x13')](util[_0xbafd('0x14')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize'][_0xbafd('0x15')]['SELECT']});})[_0xbafd('0x11')](function(_0x129037){if(!_0x129037[0x0][_0xbafd('0x16')]){return analyticExtractedReport(_0xbafd('0x17'));}var _0x469ada=[];var _0xd6194f=0x0;var _0xea1c32=!![];if(_0x4a958e[_0xbafd('0x10')]){if(_0x129037&&_0x129037[_0xbafd('0x18')]){var _0x1798d8=_0x129037[0x0][_0xbafd('0x16')]%(_0xd6194f+_0x1022ec);for(;_0xea1c32;_0xd6194f+=_0x1022ec,_0x1798d8=_0x129037[0x0]['num']%(_0xd6194f+_0x1022ec)){if(_0x1798d8==0x0||_0x1798d8==_0x129037[0x0][_0xbafd('0x16')]){_0xea1c32=![];}_0x469ada['push'](dbH[_0xbafd('0x12')]['query'](util['format'](_0xbafd('0x19'),QUERY,_0x1022ec,_0xd6194f),{'type':dbH[_0xbafd('0x12')][_0xbafd('0x15')][_0xbafd('0x1a')]}));}}}else{_0x469ada[_0xbafd('0x1b')](dbH[_0xbafd('0x12')][_0xbafd('0x13')](QUERY,{'type':dbH[_0xbafd('0x12')][_0xbafd('0x15')][_0xbafd('0x1a')]}));}var _0x1869c5=path[_0xbafd('0x1c')](PATH);var _0x3b54f3=path['basename'](PATH,_0xbafd('0x1d'));var _0x24f000=_0x4a958e[_0xbafd('0x10')]&&_0x469ada[_0xbafd('0x18')]>0x1;var _0x16aa8f=[];if(!fs[_0xbafd('0x1e')](path[_0xbafd('0x1f')](_0x1869c5,_0x3b54f3))&&_0x24f000){fs['mkdirSync'](path[_0xbafd('0x1f')](_0x1869c5,_0x3b54f3));}return BPromise[_0xbafd('0x20')](_0x469ada,function(_0x3870a7){_0x16aa8f['push'](_0x3870a7);})[_0xbafd('0x11')](function(){for(var _0xeed692=0x0;_0xeed692<_0x16aa8f['length'];_0xeed692+=0x1){var _0x5329f6;var _0x4e4f46=_0x16aa8f[_0xeed692];if(_0x24f000){_0x5329f6=path[_0xbafd('0x1f')](_0x1869c5,_0x3b54f3,util[_0xbafd('0x14')](_0xbafd('0x21'),_0x3b54f3,_0xeed692,_0xbafd('0x22')));}else{_0x5329f6=path['join'](_0x1869c5,util['format'](_0xbafd('0x23'),_0x3b54f3,_0xbafd('0x22')));}fs[_0xbafd('0x24')](_0x5329f6,json2xls(_0x4e4f46),'binary');}})[_0xbafd('0x11')](function(){if(_0x24f000){zipdir(path[_0xbafd('0x1f')](_0x1869c5,_0x3b54f3),{'saveTo':path[_0xbafd('0x1f')](_0x1869c5,util['format'](_0xbafd('0x23'),_0x3b54f3,_0xbafd('0x25')))},function(_0x419821,_0x1d86cd){});rimraf(path[_0xbafd('0x1f')](_0x1869c5,_0x3b54f3),function(){});}})['then'](function(){logger[_0xbafd('0xd')](util['format'](_0xbafd('0x26'),EXTRACTED_REPORT_ID,_0xbafd('0x27')));return analyticExtractedReport(_0xbafd('0x28'),_0x24f000?util[_0xbafd('0x14')](_0xbafd('0x23'),_0x3b54f3,_0x24f000?_0xbafd('0x25'):_0xbafd('0x22')):null);});})[_0xbafd('0x29')](function(_0x5dbab6){logger[_0xbafd('0xd')](util[_0xbafd('0x14')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xbafd('0x27')),util[_0xbafd('0x2a')](_0x5dbab6,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();