b4463d351433e8310c87f5671a06be7d0be64a05
[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 _0x20d6=['push','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','util','path','lodash','json2xls','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','format','XLSX','Setting','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','length','range','num','isInteger','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','existsSync','join','each'];(function(_0x1a1455,_0x499829){var _0xeee74f=function(_0xb17297){while(--_0xb17297){_0x1a1455['push'](_0x1a1455['shift']());}};_0xeee74f(++_0x499829);}(_0x20d6,0x1b8));var _0x620d=function(_0x397e5f,_0x454c8f){_0x397e5f=_0x397e5f-0x0;var _0x5302b8=_0x20d6[_0x397e5f];return _0x5302b8;};'use strict';var util=require(_0x620d('0x0'));var path=require(_0x620d('0x1'));var _=require(_0x620d('0x2'));var fs=require('fs');var json2xls=require(_0x620d('0x3'));var BPromise=require('bluebird');var zipdir=require(_0x620d('0x4'));var rimraf=require(_0x620d('0x5'));var db=require(_0x620d('0x6'))['db'];var dbH=require(_0x620d('0x6'))[_0x620d('0x7')];var logger=require(_0x620d('0x8'))(_0x620d('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x620d('0xa')][0x2]);var QUERY=process[_0x620d('0xa')][0x3];var PATH=process[_0x620d('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x260d43,_0x52657f){var _0x3d93af={'status':_0x260d43};var _0x478aeb={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x52657f){_0x3d93af['savename']=_0x52657f;}return db[_0x620d('0xb')][_0x620d('0xc')](_0x3d93af,_0x478aeb);}function main(){var _0x3afc77=0x1388;var _0x4325de;logger[_0x620d('0xd')](util[_0x620d('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x620d('0xf')));return db[_0x620d('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x620d('0x11'),_0x620d('0x12')]})[_0x620d('0x13')](function(_0x20abc7){if(_0x20abc7){_0x4325de=_0x20abc7;_0x3afc77=_0x4325de[_0x620d('0x12')]||0x1388;}})[_0x620d('0x13')](function(){return dbH[_0x620d('0x14')][_0x620d('0x15')](util['format'](_0x620d('0x16'),QUERY),{'type':dbH[_0x620d('0x14')][_0x620d('0x17')][_0x620d('0x18')]});})[_0x620d('0x13')](function(_0x5e05d2){if(!_0x5e05d2[0x0]['num']){return analyticExtractedReport('Empty');}var _0x407e43=[];var _0x5a74cc=0x0;if(_0x4325de[_0x620d('0x11')]){if(_0x5e05d2&&_0x5e05d2[_0x620d('0x19')]){var _0x3f2a2d=_[_0x620d('0x1a')](_0x5e05d2[0x0][_0x620d('0x1b')]/_0x3afc77);var _0x3d2242=Number[_0x620d('0x1c')](_0x5e05d2[0x0]['num']/_0x3afc77)?_0x5e05d2[0x0]['num']%_0x3afc77:0x0;_0x3f2a2d[_0x620d('0x1d')](function(_0x4e4e1e){if(_0x4e4e1e>0x0){_0x5a74cc+=_0x3afc77;}_0x407e43['push'](dbH[_0x620d('0x14')]['query'](util[_0x620d('0xe')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x3afc77,_0x5a74cc),{'type':dbH[_0x620d('0x14')][_0x620d('0x17')][_0x620d('0x18')]}));});if(_0x3d2242>0x0){_0x5a74cc+=_0x3afc77;_0x407e43['push'](dbH[_0x620d('0x14')][_0x620d('0x15')](util[_0x620d('0xe')](_0x620d('0x1e'),QUERY,_0x3d2242,_0x5a74cc),{'type':dbH[_0x620d('0x14')]['QueryTypes'][_0x620d('0x18')]}));}}}else{_0x407e43['push'](dbH[_0x620d('0x14')][_0x620d('0x15')](QUERY,{'type':dbH[_0x620d('0x14')][_0x620d('0x17')][_0x620d('0x18')]}));}var _0x2a17c7=path[_0x620d('0x1f')](PATH);var _0x190421=path[_0x620d('0x20')](PATH,_0x620d('0x21'));var _0x2a596d=_0x4325de[_0x620d('0x11')]&&_0x407e43[_0x620d('0x19')]>0x1;var _0x9dfbaa=[];if(!fs[_0x620d('0x22')](path[_0x620d('0x23')](_0x2a17c7,_0x190421))&&_0x2a596d){fs['mkdirSync'](path['join'](_0x2a17c7,_0x190421));}return BPromise[_0x620d('0x24')](_0x407e43,function(_0x4ef879){_0x9dfbaa[_0x620d('0x25')](_0x4ef879);})[_0x620d('0x13')](function(){for(var _0x45813a=0x0;_0x45813a<_0x9dfbaa[_0x620d('0x19')];_0x45813a+=0x1){var _0x461272;var _0x188f3e=_0x9dfbaa[_0x45813a];if(_0x2a596d){_0x461272=path[_0x620d('0x23')](_0x2a17c7,_0x190421,util[_0x620d('0xe')](_0x620d('0x26'),_0x190421,_0x45813a,_0x620d('0x27')));}else{_0x461272=path[_0x620d('0x23')](_0x2a17c7,util['format'](_0x620d('0x28'),_0x190421,_0x620d('0x27')));}fs[_0x620d('0x29')](_0x461272,json2xls(_0x188f3e),_0x620d('0x2a'));}})[_0x620d('0x13')](function(){if(_0x2a596d){return new Promise(function(_0x2ac443){zipdir(path['join'](_0x2a17c7,_0x190421),{'saveTo':path[_0x620d('0x23')](_0x2a17c7,util[_0x620d('0xe')]('%s.%s',_0x190421,_0x620d('0x2b')))},function(_0x4aef43,_0x427c27){rimraf(path[_0x620d('0x23')](_0x2a17c7,_0x190421),function(){});_0x2ac443(_0x620d('0x2c'));});});}})[_0x620d('0x13')](function(){logger[_0x620d('0xd')](util[_0x620d('0xe')](_0x620d('0x2d'),EXTRACTED_REPORT_ID,_0x620d('0xf')));return analyticExtractedReport(_0x620d('0x2e'),_0x2a596d?util['format'](_0x620d('0x28'),_0x190421,_0x2a596d?_0x620d('0x2b'):_0x620d('0x27')):null);});})[_0x620d('0x2f')](function(_0x105b0f){logger['info'](util['format'](_0x620d('0x30'),EXTRACTED_REPORT_ID,_0x620d('0xf')),util[_0x620d('0x31')](_0x105b0f,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x620d('0x32'));})[_0x620d('0x33')](function(){process[_0x620d('0x34')](EXIT_CODE);});}main();