Built motion from commit 64440dd5.|2.6.29
[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 _0x75a6=['basename','.xlsx','existsSync','join','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip\x20finished','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','finally','exit','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','split','splitSizeXlsx','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','query','dirname'];(function(_0x3e6d7c,_0x4ce27c){var _0x2e0e1a=function(_0x1c08cf){while(--_0x1c08cf){_0x3e6d7c['push'](_0x3e6d7c['shift']());}};_0x2e0e1a(++_0x4ce27c);}(_0x75a6,0x11d));var _0x675a=function(_0x4e845c,_0x183036){_0x4e845c=_0x4e845c-0x0;var _0x7a81bf=_0x75a6[_0x4e845c];return _0x7a81bf;};'use strict';var util=require(_0x675a('0x0'));var path=require(_0x675a('0x1'));var _=require(_0x675a('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x675a('0x3'));var zipdir=require(_0x675a('0x4'));var rimraf=require(_0x675a('0x5'));var db=require(_0x675a('0x6'))['db'];var dbH=require(_0x675a('0x6'))[_0x675a('0x7')];var logger=require(_0x675a('0x8'))(_0x675a('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x675a('0xa')][0x3];var PATH=process[_0x675a('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x339f61,_0x12a618){var _0xdc63e1={'status':_0x339f61};var _0x368d22={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x12a618){_0xdc63e1['savename']=_0x12a618;}return db[_0x675a('0xb')]['update'](_0xdc63e1,_0x368d22);}function main(){var _0x5c8599=0x1388;var _0x2b255b;logger['info'](util[_0x675a('0xc')](_0x675a('0xd'),EXTRACTED_REPORT_ID,_0x675a('0xe')));return db[_0x675a('0xf')][_0x675a('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x675a('0x11'),_0x675a('0x12')]})[_0x675a('0x13')](function(_0x1c5da3){if(_0x1c5da3){_0x2b255b=_0x1c5da3;_0x5c8599=_0x2b255b['splitSizeXlsx']||0x1388;}})[_0x675a('0x13')](function(){return dbH[_0x675a('0x14')]['query'](util['format'](_0x675a('0x15'),QUERY),{'type':dbH[_0x675a('0x14')][_0x675a('0x16')][_0x675a('0x17')]});})['then'](function(_0x2a473f){if(!_0x2a473f[0x0][_0x675a('0x18')]){return analyticExtractedReport(_0x675a('0x19'));}var _0x2b6d12=[];var _0x1bd2f0=0x0;if(_0x2b255b['split']){if(_0x2a473f&&_0x2a473f[_0x675a('0x1a')]){var _0x3ed759=_['range'](_0x2a473f[0x0]['num']/_0x5c8599);var _0x5592ed=Number[_0x675a('0x1b')](_0x2a473f[0x0][_0x675a('0x18')]/_0x5c8599)?_0x2a473f[0x0][_0x675a('0x18')]%_0x5c8599:0x0;_0x3ed759[_0x675a('0x1c')](function(_0xfafe90){if(_0xfafe90>0x0){_0x1bd2f0+=_0x5c8599;}_0x2b6d12[_0x675a('0x1d')](dbH[_0x675a('0x14')]['query'](util[_0x675a('0xc')](_0x675a('0x1e'),QUERY,_0x5c8599,_0x1bd2f0),{'type':dbH['sequelize'][_0x675a('0x16')]['SELECT']}));});if(_0x5592ed>0x0){_0x1bd2f0+=_0x5c8599;_0x2b6d12['push'](dbH[_0x675a('0x14')]['query'](util[_0x675a('0xc')](_0x675a('0x1e'),QUERY,_0x5592ed,_0x1bd2f0),{'type':dbH[_0x675a('0x14')][_0x675a('0x16')][_0x675a('0x17')]}));}}}else{_0x2b6d12[_0x675a('0x1d')](dbH[_0x675a('0x14')][_0x675a('0x1f')](QUERY,{'type':dbH[_0x675a('0x14')][_0x675a('0x16')][_0x675a('0x17')]}));}var _0x3c9a1a=path[_0x675a('0x20')](PATH);var _0x1b6258=path[_0x675a('0x21')](PATH,_0x675a('0x22'));var _0x59f3ce=_0x2b255b[_0x675a('0x11')]&&_0x2b6d12[_0x675a('0x1a')]>0x1;var _0x3b4fc9=[];if(!fs[_0x675a('0x23')](path['join'](_0x3c9a1a,_0x1b6258))&&_0x59f3ce){fs['mkdirSync'](path[_0x675a('0x24')](_0x3c9a1a,_0x1b6258));}return BPromise[_0x675a('0x25')](_0x2b6d12,function(_0x1ab954){_0x3b4fc9[_0x675a('0x1d')](_0x1ab954);})[_0x675a('0x13')](function(){for(var _0x4053ad=0x0;_0x4053ad<_0x3b4fc9[_0x675a('0x1a')];_0x4053ad+=0x1){var _0x4edf6d;var _0x98c4a6=_0x3b4fc9[_0x4053ad];if(_0x59f3ce){_0x4edf6d=path['join'](_0x3c9a1a,_0x1b6258,util[_0x675a('0xc')](_0x675a('0x26'),_0x1b6258,_0x4053ad,_0x675a('0x27')));}else{_0x4edf6d=path['join'](_0x3c9a1a,util[_0x675a('0xc')](_0x675a('0x28'),_0x1b6258,_0x675a('0x27')));}fs[_0x675a('0x29')](_0x4edf6d,json2xls(_0x98c4a6),_0x675a('0x2a'));}})[_0x675a('0x13')](function(){if(_0x59f3ce){return new Promise(function(_0xe8b083){zipdir(path[_0x675a('0x24')](_0x3c9a1a,_0x1b6258),{'saveTo':path[_0x675a('0x24')](_0x3c9a1a,util[_0x675a('0xc')](_0x675a('0x28'),_0x1b6258,'zip'))},function(_0x4689ae,_0x4e03f1){rimraf(path[_0x675a('0x24')](_0x3c9a1a,_0x1b6258),function(){});_0xe8b083(_0x675a('0x2b'));});});}})[_0x675a('0x13')](function(){logger[_0x675a('0x2c')](util['format'](_0x675a('0x2d'),EXTRACTED_REPORT_ID,_0x675a('0xe')));return analyticExtractedReport(_0x675a('0x2e'),_0x59f3ce?util['format'](_0x675a('0x28'),_0x1b6258,_0x59f3ce?_0x675a('0x2f'):'xlsx'):null);});})[_0x675a('0x30')](function(_0x2d605d){logger[_0x675a('0x2c')](util[_0x675a('0xc')](_0x675a('0x31'),EXTRACTED_REPORT_ID,_0x675a('0xe')),util[_0x675a('0x32')](_0x2d605d,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0x675a('0x33')](function(){process[_0x675a('0x34')](EXIT_CODE);});}main();