737adca1d1c42233e1769d28c117efb45a199aac
[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 _0x23d2=['Failed','exit','util','path','json2xls','bluebird','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','SELECT','num','Empty','range','isInteger','push','QueryTypes','dirname','basename','.xlsx','length','mkdirSync','join','each','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'];(function(_0x58e469,_0x95ee3e){var _0x4c01c5=function(_0x1ef7ae){while(--_0x1ef7ae){_0x58e469['push'](_0x58e469['shift']());}};_0x4c01c5(++_0x95ee3e);}(_0x23d2,0x18a));var _0x223d=function(_0x2053c9,_0x185255){_0x2053c9=_0x2053c9-0x0;var _0x44de59=_0x23d2[_0x2053c9];return _0x44de59;};'use strict';var util=require(_0x223d('0x0'));var path=require(_0x223d('0x1'));var _=require('lodash');var fs=require('fs');var json2xls=require(_0x223d('0x2'));var BPromise=require(_0x223d('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x223d('0x4'));var db=require('../../mysqldb')['db'];var dbH=require(_0x223d('0x5'))[_0x223d('0x6')];var logger=require(_0x223d('0x7'))(_0x223d('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x223d('0x9')][0x2]);var QUERY=process[_0x223d('0x9')][0x3];var PATH=process[_0x223d('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x39e57a,_0x3a8634){var _0x5d7a05={'status':_0x39e57a};var _0x2d64d8={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3a8634){_0x5d7a05['savename']=_0x3a8634;}return db[_0x223d('0xa')][_0x223d('0xb')](_0x5d7a05,_0x2d64d8);}function main(){var _0x2bf9bb=0x1388;var _0x5bd883;logger[_0x223d('0xc')](util[_0x223d('0xd')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x223d('0xe')));return db[_0x223d('0xf')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x223d('0x10'),_0x223d('0x11')]})[_0x223d('0x12')](function(_0x478263){if(_0x478263){_0x5bd883=_0x478263;_0x2bf9bb=_0x5bd883[_0x223d('0x11')]||0x1388;}})[_0x223d('0x12')](function(){return dbH[_0x223d('0x13')][_0x223d('0x14')](util[_0x223d('0xd')](_0x223d('0x15'),QUERY),{'type':dbH[_0x223d('0x13')]['QueryTypes'][_0x223d('0x16')]});})[_0x223d('0x12')](function(_0x2d61cc){if(!_0x2d61cc[0x0][_0x223d('0x17')]){return analyticExtractedReport(_0x223d('0x18'));}var _0x5a8532=[];var _0x39e3fc=0x0;if(_0x5bd883[_0x223d('0x10')]){if(_0x2d61cc&&_0x2d61cc['length']){var _0x527918=_[_0x223d('0x19')](_0x2d61cc[0x0]['num']/_0x2bf9bb);var _0xe534b8=Number[_0x223d('0x1a')](_0x2d61cc[0x0]['num']/_0x2bf9bb)?_0x2d61cc[0x0][_0x223d('0x17')]%_0x2bf9bb:0x0;_0x527918['forEach'](function(_0x4fbdb5){if(_0x4fbdb5>0x0){_0x39e3fc+=_0x2bf9bb;}_0x5a8532['push'](dbH[_0x223d('0x13')][_0x223d('0x14')](util[_0x223d('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x2bf9bb,_0x39e3fc),{'type':dbH[_0x223d('0x13')]['QueryTypes'][_0x223d('0x16')]}));});if(_0xe534b8>0x0){_0x39e3fc+=_0x2bf9bb;_0x5a8532[_0x223d('0x1b')](dbH[_0x223d('0x13')]['query'](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0xe534b8,_0x39e3fc),{'type':dbH[_0x223d('0x13')]['QueryTypes'][_0x223d('0x16')]}));}}}else{_0x5a8532[_0x223d('0x1b')](dbH[_0x223d('0x13')][_0x223d('0x14')](QUERY,{'type':dbH[_0x223d('0x13')][_0x223d('0x1c')]['SELECT']}));}var _0x2c1b37=path[_0x223d('0x1d')](PATH);var _0x2bf6b2=path[_0x223d('0x1e')](PATH,_0x223d('0x1f'));var _0x45cd14=_0x5bd883[_0x223d('0x10')]&&_0x5a8532[_0x223d('0x20')]>0x1;var _0x44b1fa=[];if(!fs['existsSync'](path['join'](_0x2c1b37,_0x2bf6b2))&&_0x45cd14){fs[_0x223d('0x21')](path[_0x223d('0x22')](_0x2c1b37,_0x2bf6b2));}return BPromise[_0x223d('0x23')](_0x5a8532,function(_0x11c65f){_0x44b1fa[_0x223d('0x1b')](_0x11c65f);})[_0x223d('0x12')](function(){for(var _0x1bd277=0x0;_0x1bd277<_0x44b1fa[_0x223d('0x20')];_0x1bd277+=0x1){var _0x30dfb6;var _0x5c05bc=_0x44b1fa[_0x1bd277];if(_0x45cd14){_0x30dfb6=path[_0x223d('0x22')](_0x2c1b37,_0x2bf6b2,util[_0x223d('0xd')]('%s%d.%s',_0x2bf6b2,_0x1bd277,_0x223d('0x24')));}else{_0x30dfb6=path[_0x223d('0x22')](_0x2c1b37,util['format'](_0x223d('0x25'),_0x2bf6b2,_0x223d('0x24')));}fs[_0x223d('0x26')](_0x30dfb6,json2xls(_0x5c05bc),_0x223d('0x27'));}})['then'](function(){if(_0x45cd14){return new Promise(function(_0x1a3be2){zipdir(path[_0x223d('0x22')](_0x2c1b37,_0x2bf6b2),{'saveTo':path[_0x223d('0x22')](_0x2c1b37,util[_0x223d('0xd')](_0x223d('0x25'),_0x2bf6b2,_0x223d('0x28')))},function(_0x4d3a7a,_0x4d08bb){rimraf(path[_0x223d('0x22')](_0x2c1b37,_0x2bf6b2),function(){});_0x1a3be2(_0x223d('0x29'));});});}})[_0x223d('0x12')](function(){logger['info'](util[_0x223d('0xd')](_0x223d('0x2a'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0x223d('0x2b'),_0x45cd14?util['format'](_0x223d('0x25'),_0x2bf6b2,_0x45cd14?'zip':'xlsx'):null);});})[_0x223d('0x2c')](function(_0x149ede){logger['info'](util[_0x223d('0xd')](_0x223d('0x2d'),EXTRACTED_REPORT_ID,'XLSX'),util[_0x223d('0x2e')](_0x149ede,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x223d('0x2f'));})['finally'](function(){process[_0x223d('0x30')](EXIT_CODE);});}main();