c46af41903cf7155ec9a6b4dad3727da732f02c9
[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 _0x6901=['splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','num','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename','.xlsx','existsSync','join','mkdirSync','each','%s%d.%s','xlsx','writeFileSync','binary','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','exit','util','lodash','json2xls','rimraf','../../mysqldb','../../config/logger','argv','AnalyticExtractedReport','update','info','format','XLSX','Setting','split'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6901,0x100));var _0x1690=function(_0x29daa3,_0x2a5039){_0x29daa3=_0x29daa3-0x0;var _0x121af7=_0x6901[_0x29daa3];return _0x121af7;};'use strict';var util=require(_0x1690('0x0'));var path=require('path');var _=require(_0x1690('0x1'));var fs=require('fs');var json2xls=require(_0x1690('0x2'));var BPromise=require('bluebird');var zipdir=require('zip-dir');var rimraf=require(_0x1690('0x3'));var db=require(_0x1690('0x4'))['db'];var dbH=require('../../mysqldb')['dbH'];var logger=require(_0x1690('0x5'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x1690('0x6')][0x3];var PATH=process[_0x1690('0x6')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x1635f8,_0x13edbe){var _0x24ef20={'status':_0x1635f8};var _0x888ca9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x13edbe){_0x24ef20['savename']=_0x13edbe;}return db[_0x1690('0x7')][_0x1690('0x8')](_0x24ef20,_0x888ca9);}function main(){var _0x21f1ba=0x1388;var _0x2a82ae;logger[_0x1690('0x9')](util[_0x1690('0xa')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x1690('0xb')));return db[_0x1690('0xc')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x1690('0xd'),_0x1690('0xe')]})[_0x1690('0xf')](function(_0x37114f){if(_0x37114f){_0x2a82ae=_0x37114f;_0x21f1ba=_0x2a82ae[_0x1690('0xe')]||0x1388;}})[_0x1690('0xf')](function(){return dbH[_0x1690('0x10')][_0x1690('0x11')](util[_0x1690('0xa')](_0x1690('0x12'),QUERY),{'type':dbH['sequelize'][_0x1690('0x13')][_0x1690('0x14')]});})[_0x1690('0xf')](function(_0x5e0d7f){if(!_0x5e0d7f[0x0]['num']){return analyticExtractedReport(_0x1690('0x15'));}var _0x575010=[];var _0x1e2061=0x0;if(_0x2a82ae['split']){if(_0x5e0d7f&&_0x5e0d7f['length']){var _0x279032=_['range'](_0x5e0d7f[0x0][_0x1690('0x16')]/_0x21f1ba);var _0x2e1696=Number['isInteger'](_0x5e0d7f[0x0][_0x1690('0x16')]/_0x21f1ba)?_0x5e0d7f[0x0][_0x1690('0x16')]%_0x21f1ba:0x0;_0x279032[_0x1690('0x17')](function(_0x65414){if(_0x65414>0x0){_0x1e2061+=_0x21f1ba;}_0x575010['push'](dbH[_0x1690('0x10')]['query'](util[_0x1690('0xa')](_0x1690('0x18'),QUERY,_0x21f1ba,_0x1e2061),{'type':dbH[_0x1690('0x10')][_0x1690('0x13')][_0x1690('0x14')]}));});if(_0x2e1696>0x0){_0x1e2061+=_0x21f1ba;_0x575010[_0x1690('0x19')](dbH[_0x1690('0x10')][_0x1690('0x11')](util[_0x1690('0xa')](_0x1690('0x18'),QUERY,_0x2e1696,_0x1e2061),{'type':dbH[_0x1690('0x10')][_0x1690('0x13')][_0x1690('0x14')]}));}}}else{_0x575010[_0x1690('0x19')](dbH[_0x1690('0x10')][_0x1690('0x11')](QUERY,{'type':dbH[_0x1690('0x10')][_0x1690('0x13')]['SELECT']}));}var _0x1a81a4=path[_0x1690('0x1a')](PATH);var _0x5c1cf8=path[_0x1690('0x1b')](PATH,_0x1690('0x1c'));var _0x252e88=_0x2a82ae[_0x1690('0xd')]&&_0x575010['length']>0x1;var _0x30755f=[];if(!fs[_0x1690('0x1d')](path[_0x1690('0x1e')](_0x1a81a4,_0x5c1cf8))&&_0x252e88){fs[_0x1690('0x1f')](path[_0x1690('0x1e')](_0x1a81a4,_0x5c1cf8));}return BPromise[_0x1690('0x20')](_0x575010,function(_0x4fb78c){_0x30755f['push'](_0x4fb78c);})[_0x1690('0xf')](function(){for(var _0x536c54=0x0;_0x536c54<_0x30755f['length'];_0x536c54+=0x1){var _0x49bd71;var _0x197f60=_0x30755f[_0x536c54];if(_0x252e88){_0x49bd71=path[_0x1690('0x1e')](_0x1a81a4,_0x5c1cf8,util[_0x1690('0xa')](_0x1690('0x21'),_0x5c1cf8,_0x536c54,_0x1690('0x22')));}else{_0x49bd71=path[_0x1690('0x1e')](_0x1a81a4,util[_0x1690('0xa')]('%s.%s',_0x5c1cf8,_0x1690('0x22')));}fs[_0x1690('0x23')](_0x49bd71,json2xls(_0x197f60),_0x1690('0x24'));}})[_0x1690('0xf')](function(){if(_0x252e88){return new Promise(function(_0x584c7b){zipdir(path[_0x1690('0x1e')](_0x1a81a4,_0x5c1cf8),{'saveTo':path[_0x1690('0x1e')](_0x1a81a4,util['format'](_0x1690('0x25'),_0x5c1cf8,_0x1690('0x26')))},function(_0x58a7e5,_0xb89799){rimraf(path[_0x1690('0x1e')](_0x1a81a4,_0x5c1cf8),function(){});_0x584c7b(_0x1690('0x27'));});});}})[_0x1690('0xf')](function(){logger[_0x1690('0x9')](util[_0x1690('0xa')](_0x1690('0x28'),EXTRACTED_REPORT_ID,_0x1690('0xb')));return analyticExtractedReport('Completed',_0x252e88?util[_0x1690('0xa')](_0x1690('0x25'),_0x5c1cf8,_0x252e88?_0x1690('0x26'):_0x1690('0x22')):null);});})['catch'](function(_0x4e43fd){logger[_0x1690('0x9')](util[_0x1690('0xa')](_0x1690('0x29'),EXTRACTED_REPORT_ID,_0x1690('0xb')),util[_0x1690('0x2a')](_0x4e43fd,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x1690('0x2b'));})['finally'](function(){process[_0x1690('0x2c')](EXIT_CODE);});}main();