Built motion from commit 0900f080.|2.5.45
[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 _0x907e=['forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename','.xlsx','mkdirSync','each','join','%s.%s','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','xlsx','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','json2xls','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','split','then','splitSizeXlsx','query','sequelize','QueryTypes','SELECT','num','Empty','length','isInteger'];(function(_0x9077a4,_0x41748c){var _0x204bdc=function(_0x1c611e){while(--_0x1c611e){_0x9077a4['push'](_0x9077a4['shift']());}};_0x204bdc(++_0x41748c);}(_0x907e,0xc8));var _0xe907=function(_0x3511d3,_0x4107ae){_0x3511d3=_0x3511d3-0x0;var _0x5d6321=_0x907e[_0x3511d3];return _0x5d6321;};'use strict';var util=require('util');var path=require('path');var _=require('lodash');var fs=require('fs');var json2xls=require(_0xe907('0x0'));var BPromise=require(_0xe907('0x1'));var zipdir=require('zip-dir');var rimraf=require(_0xe907('0x2'));var db=require(_0xe907('0x3'))['db'];var dbH=require(_0xe907('0x3'))[_0xe907('0x4')];var logger=require(_0xe907('0x5'))(_0xe907('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0xe907('0x7')][0x2]);var QUERY=process[_0xe907('0x7')][0x3];var PATH=process[_0xe907('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xc5fe8c,_0x8d762f){var _0x451c8c={'status':_0xc5fe8c};var _0x591eea={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x8d762f){_0x451c8c[_0xe907('0x8')]=_0x8d762f;}return db['AnalyticExtractedReport']['update'](_0x451c8c,_0x591eea);}function main(){var _0x3b3c09=0x1388;var _0x28f4e7;logger[_0xe907('0x9')](util[_0xe907('0xa')](_0xe907('0xb'),EXTRACTED_REPORT_ID,_0xe907('0xc')));return db[_0xe907('0xd')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xe907('0xe'),'splitSizeXlsx']})[_0xe907('0xf')](function(_0x228971){if(_0x228971){_0x28f4e7=_0x228971;_0x3b3c09=_0x28f4e7[_0xe907('0x10')]||0x1388;}})[_0xe907('0xf')](function(){return dbH['sequelize'][_0xe907('0x11')](util[_0xe907('0xa')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xe907('0x12')][_0xe907('0x13')][_0xe907('0x14')]});})['then'](function(_0x56216e){if(!_0x56216e[0x0][_0xe907('0x15')]){return analyticExtractedReport(_0xe907('0x16'));}var _0x3c2f7d=[];var _0x3e05dd=0x0;if(_0x28f4e7[_0xe907('0xe')]){if(_0x56216e&&_0x56216e[_0xe907('0x17')]){var _0x2fe9e4=_['range'](_0x56216e[0x0][_0xe907('0x15')]/_0x3b3c09);var _0x334323=Number[_0xe907('0x18')](_0x56216e[0x0][_0xe907('0x15')]/_0x3b3c09)?_0x56216e[0x0][_0xe907('0x15')]%_0x3b3c09:0x0;_0x2fe9e4[_0xe907('0x19')](function(_0x54588e){if(_0x54588e>0x0){_0x3e05dd+=_0x3b3c09;}_0x3c2f7d['push'](dbH['sequelize'][_0xe907('0x11')](util[_0xe907('0xa')](_0xe907('0x1a'),QUERY,_0x3b3c09,_0x3e05dd),{'type':dbH[_0xe907('0x12')][_0xe907('0x13')][_0xe907('0x14')]}));});if(_0x334323>0x0){_0x3e05dd+=_0x3b3c09;_0x3c2f7d['push'](dbH[_0xe907('0x12')]['query'](util[_0xe907('0xa')](_0xe907('0x1a'),QUERY,_0x334323,_0x3e05dd),{'type':dbH[_0xe907('0x12')][_0xe907('0x13')][_0xe907('0x14')]}));}}}else{_0x3c2f7d[_0xe907('0x1b')](dbH[_0xe907('0x12')][_0xe907('0x11')](QUERY,{'type':dbH['sequelize'][_0xe907('0x13')]['SELECT']}));}var _0x1bc91f=path[_0xe907('0x1c')](PATH);var _0x2ad26a=path[_0xe907('0x1d')](PATH,_0xe907('0x1e'));var _0x54cffc=_0x28f4e7[_0xe907('0xe')]&&_0x3c2f7d[_0xe907('0x17')]>0x1;var _0x979d1f=[];if(!fs['existsSync'](path['join'](_0x1bc91f,_0x2ad26a))&&_0x54cffc){fs[_0xe907('0x1f')](path['join'](_0x1bc91f,_0x2ad26a));}return BPromise[_0xe907('0x20')](_0x3c2f7d,function(_0x2d1dfe){_0x979d1f['push'](_0x2d1dfe);})[_0xe907('0xf')](function(){for(var _0x4a22e4=0x0;_0x4a22e4<_0x979d1f[_0xe907('0x17')];_0x4a22e4+=0x1){var _0x52ff89;var _0x2f0d6d=_0x979d1f[_0x4a22e4];if(_0x54cffc){_0x52ff89=path['join'](_0x1bc91f,_0x2ad26a,util[_0xe907('0xa')]('%s%d.%s',_0x2ad26a,_0x4a22e4,'xlsx'));}else{_0x52ff89=path[_0xe907('0x21')](_0x1bc91f,util['format'](_0xe907('0x22'),_0x2ad26a,'xlsx'));}fs[_0xe907('0x23')](_0x52ff89,json2xls(_0x2f0d6d),_0xe907('0x24'));}})[_0xe907('0xf')](function(){if(_0x54cffc){return new Promise(function(_0x4473c1){zipdir(path[_0xe907('0x21')](_0x1bc91f,_0x2ad26a),{'saveTo':path[_0xe907('0x21')](_0x1bc91f,util[_0xe907('0xa')](_0xe907('0x22'),_0x2ad26a,_0xe907('0x25')))},function(_0x447b05,_0x2c0ead){rimraf(path[_0xe907('0x21')](_0x1bc91f,_0x2ad26a),function(){});_0x4473c1('zip\x20finished');});});}})['then'](function(){logger[_0xe907('0x9')](util['format'](_0xe907('0x26'),EXTRACTED_REPORT_ID,_0xe907('0xc')));return analyticExtractedReport(_0xe907('0x27'),_0x54cffc?util['format']('%s.%s',_0x2ad26a,_0x54cffc?_0xe907('0x25'):_0xe907('0x28')):null);});})[_0xe907('0x29')](function(_0x2d4a10){logger[_0xe907('0x9')](util[_0xe907('0xa')](_0xe907('0x2a'),EXTRACTED_REPORT_ID,_0xe907('0xc')),util[_0xe907('0x2b')](_0x2d4a10,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xe907('0x2c'));})['finally'](function(){process['exit'](EXIT_CODE);});}main();