Built motion from commit (unavailable).|2.5.11
[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 _0x783e=['Failed','util','path','lodash','json2xls','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','split','splitSizeXlsx','then','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','Empty','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','.xlsx','existsSync','join','mkdirSync','%s%d.%s','%s.%s','xlsx','binary','zip','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'];(function(_0x49ca18,_0x5e6d05){var _0x145d54=function(_0x30b9be){while(--_0x30b9be){_0x49ca18['push'](_0x49ca18['shift']());}};_0x145d54(++_0x5e6d05);}(_0x783e,0xe2));var _0xe783=function(_0x3c234a,_0x4821dd){_0x3c234a=_0x3c234a-0x0;var _0x39821a=_0x783e[_0x3c234a];return _0x39821a;};'use strict';var util=require(_0xe783('0x0'));var path=require(_0xe783('0x1'));var _=require(_0xe783('0x2'));var fs=require('fs');var json2xls=require(_0xe783('0x3'));var BPromise=require('bluebird');var zipdir=require(_0xe783('0x4'));var rimraf=require(_0xe783('0x5'));var db=require('../../mysqldb')['db'];var dbH=require(_0xe783('0x6'))['dbH'];var logger=require(_0xe783('0x7'))(_0xe783('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0xe783('0x9')][0x2]);var QUERY=process[_0xe783('0x9')][0x3];var PATH=process[_0xe783('0x9')][0x4];function analyticExtractedReport(_0x1639f5,_0x278465){var _0x14a956={'status':_0x1639f5};var _0x36d655={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x278465){_0x14a956['savename']=_0x278465;}return db[_0xe783('0xa')][_0xe783('0xb')](_0x14a956,_0x36d655);}function main(){var _0x1d2d39=0x1388;var _0x5f4768;logger[_0xe783('0xc')](util['format'](_0xe783('0xd'),EXTRACTED_REPORT_ID,_0xe783('0xe')));return db[_0xe783('0xf')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xe783('0x10'),_0xe783('0x11')]})[_0xe783('0x12')](function(_0x56a370){if(_0x56a370){_0x5f4768=_0x56a370;_0x1d2d39=_0x5f4768['splitSizeXlsx']||0x1388;}})[_0xe783('0x12')](function(){return dbH['sequelize'][_0xe783('0x13')](util[_0xe783('0x14')](_0xe783('0x15'),QUERY),{'type':dbH[_0xe783('0x16')][_0xe783('0x17')][_0xe783('0x18')]});})[_0xe783('0x12')](function(_0x5db3b9){if(!_0x5db3b9[0x0][_0xe783('0x19')]){return analyticExtractedReport(_0xe783('0x1a'));}var _0x5cdb94=[];var _0x472b9f=0x0;var _0x521031=!![];if(_0x5f4768[_0xe783('0x10')]){if(_0x5db3b9&&_0x5db3b9[_0xe783('0x1b')]){var _0xbb39fc=_0x5db3b9[0x0][_0xe783('0x19')]%(_0x472b9f+_0x1d2d39);for(;_0x521031;_0x472b9f+=_0x1d2d39,_0xbb39fc=_0x5db3b9[0x0][_0xe783('0x19')]%(_0x472b9f+_0x1d2d39)){if(_0xbb39fc==0x0||_0xbb39fc==_0x5db3b9[0x0][_0xe783('0x19')]){_0x521031=![];}_0x5cdb94[_0xe783('0x1c')](dbH[_0xe783('0x16')][_0xe783('0x13')](util[_0xe783('0x14')](_0xe783('0x1d'),QUERY,_0x1d2d39,_0x472b9f),{'type':dbH['sequelize'][_0xe783('0x17')][_0xe783('0x18')]}));}}}else{_0x5cdb94['push'](dbH[_0xe783('0x16')][_0xe783('0x13')](QUERY,{'type':dbH['sequelize'][_0xe783('0x17')][_0xe783('0x18')]}));}var _0x4a232d=path['dirname'](PATH);var _0x487c92=path[_0xe783('0x1e')](PATH,_0xe783('0x1f'));var _0x5bebbe=_0x5f4768[_0xe783('0x10')]&&_0x5cdb94['length']>0x1;var _0x2ec8c1=[];if(!fs[_0xe783('0x20')](path[_0xe783('0x21')](_0x4a232d,_0x487c92))&&_0x5bebbe){fs[_0xe783('0x22')](path[_0xe783('0x21')](_0x4a232d,_0x487c92));}return BPromise['each'](_0x5cdb94,function(_0x33cd33){_0x2ec8c1['push'](_0x33cd33);})['then'](function(){for(var _0x557a18=0x0;_0x557a18<_0x2ec8c1[_0xe783('0x1b')];_0x557a18+=0x1){var _0x31addb;var _0x5202d3=_0x2ec8c1[_0x557a18];if(_0x5bebbe){_0x31addb=path[_0xe783('0x21')](_0x4a232d,_0x487c92,util[_0xe783('0x14')](_0xe783('0x23'),_0x487c92,_0x557a18,'xlsx'));}else{_0x31addb=path[_0xe783('0x21')](_0x4a232d,util[_0xe783('0x14')](_0xe783('0x24'),_0x487c92,_0xe783('0x25')));}fs['writeFileSync'](_0x31addb,json2xls(_0x5202d3),_0xe783('0x26'));}})[_0xe783('0x12')](function(){if(_0x5bebbe){zipdir(path[_0xe783('0x21')](_0x4a232d,_0x487c92),{'saveTo':path[_0xe783('0x21')](_0x4a232d,util[_0xe783('0x14')](_0xe783('0x24'),_0x487c92,_0xe783('0x27')))},function(_0x58efd9,_0x59d00d){});rimraf(path['join'](_0x4a232d,_0x487c92),function(){});}})[_0xe783('0x12')](function(){logger['info'](util['format'](_0xe783('0x28'),EXTRACTED_REPORT_ID,_0xe783('0xe')));return analyticExtractedReport(_0xe783('0x29'),_0x5bebbe?util['format'](_0xe783('0x24'),_0x487c92,_0x5bebbe?'zip':_0xe783('0x25')):null);});})[_0xe783('0x2a')](function(_0x21a0bd){logger[_0xe783('0xc')](util[_0xe783('0x14')](_0xe783('0x2b'),EXTRACTED_REPORT_ID,_0xe783('0xe')),util['inspect'](_0x21a0bd,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xe783('0x2c'));});}main();