Built motion from commit (unavailable).|2.4.6
[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 _0x6829=['SELECT','num','Empty','split','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','existsSync','join','each','%s%d.%s','%s.%s','xlsx','writeFileSync','binary','zip','Completed','catch','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','util','path','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','format','XLSX','Setting','find','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes'];(function(_0x463f44,_0xc071ff){var _0x304163=function(_0x1cede6){while(--_0x1cede6){_0x463f44['push'](_0x463f44['shift']());}};_0x304163(++_0xc071ff);}(_0x6829,0x14c));var _0x9682=function(_0xc4001c,_0x1bf8f0){_0xc4001c=_0xc4001c-0x0;var _0x49f7bc=_0x6829[_0xc4001c];return _0x49f7bc;};'use strict';var util=require(_0x9682('0x0'));var path=require(_0x9682('0x1'));var _=require('lodash');var fs=require('fs');var json2xls=require('json2xls');var BPromise=require('bluebird');var zipdir=require(_0x9682('0x2'));var rimraf=require(_0x9682('0x3'));var db=require(_0x9682('0x4'))['db'];var dbH=require(_0x9682('0x4'))[_0x9682('0x5')];var logger=require(_0x9682('0x6'))(_0x9682('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x9682('0x8')][0x2]);var QUERY=process[_0x9682('0x8')][0x3];var PATH=process[_0x9682('0x8')][0x4];function analyticExtractedReport(_0x37ab0a,_0x1cca2f){var _0x576a39={'status':_0x37ab0a};var _0x519138={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1cca2f){_0x576a39['savename']=_0x1cca2f;}return db[_0x9682('0x9')][_0x9682('0xa')](_0x576a39,_0x519138);}function main(){var _0x4dc25f=0x1388;var _0x2d7493;logger['info'](util[_0x9682('0xb')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x9682('0xc')));return db[_0x9682('0xd')][_0x9682('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeXlsx']})[_0x9682('0xf')](function(_0x1391c3){if(_0x1391c3){_0x2d7493=_0x1391c3;_0x4dc25f=_0x2d7493['splitSizeXlsx']||0x1388;}})[_0x9682('0xf')](function(){return dbH['sequelize'][_0x9682('0x10')](util[_0x9682('0xb')](_0x9682('0x11'),QUERY),{'type':dbH[_0x9682('0x12')][_0x9682('0x13')][_0x9682('0x14')]});})[_0x9682('0xf')](function(_0xa26517){if(!_0xa26517[0x0][_0x9682('0x15')]){return analyticExtractedReport(_0x9682('0x16'));}var _0x526391=[];var _0x3935c2=0x0;var _0x567127=!![];if(_0x2d7493[_0x9682('0x17')]){if(_0xa26517&&_0xa26517[_0x9682('0x18')]){var _0x1f4971=_0xa26517[0x0]['num']%(_0x3935c2+_0x4dc25f);for(;_0x567127;_0x3935c2+=_0x4dc25f,_0x1f4971=_0xa26517[0x0][_0x9682('0x15')]%(_0x3935c2+_0x4dc25f)){if(_0x1f4971==0x0||_0x1f4971==_0xa26517[0x0]['num']){_0x567127=![];}_0x526391[_0x9682('0x19')](dbH['sequelize'][_0x9682('0x10')](util[_0x9682('0xb')](_0x9682('0x1a'),QUERY,_0x4dc25f,_0x3935c2),{'type':dbH[_0x9682('0x12')][_0x9682('0x13')]['SELECT']}));}}}else{_0x526391['push'](dbH['sequelize'][_0x9682('0x10')](QUERY,{'type':dbH['sequelize'][_0x9682('0x13')][_0x9682('0x14')]}));}var _0x484099=path[_0x9682('0x1b')](PATH);var _0x238361=path[_0x9682('0x1c')](PATH,_0x9682('0x1d'));var _0x1e018e=_0x2d7493[_0x9682('0x17')]&&_0x526391[_0x9682('0x18')]>0x1;var _0x40e927=[];if(!fs[_0x9682('0x1e')](path[_0x9682('0x1f')](_0x484099,_0x238361))&&_0x1e018e){fs['mkdirSync'](path[_0x9682('0x1f')](_0x484099,_0x238361));}return BPromise[_0x9682('0x20')](_0x526391,function(_0x88419f){_0x40e927[_0x9682('0x19')](_0x88419f);})[_0x9682('0xf')](function(){for(var _0x5319f2=0x0;_0x5319f2<_0x40e927[_0x9682('0x18')];_0x5319f2+=0x1){var _0x1dbf57;var _0x44808c=_0x40e927[_0x5319f2];if(_0x1e018e){_0x1dbf57=path[_0x9682('0x1f')](_0x484099,_0x238361,util[_0x9682('0xb')](_0x9682('0x21'),_0x238361,_0x5319f2,'xlsx'));}else{_0x1dbf57=path[_0x9682('0x1f')](_0x484099,util[_0x9682('0xb')](_0x9682('0x22'),_0x238361,_0x9682('0x23')));}fs[_0x9682('0x24')](_0x1dbf57,json2xls(_0x44808c),_0x9682('0x25'));}})[_0x9682('0xf')](function(){if(_0x1e018e){zipdir(path[_0x9682('0x1f')](_0x484099,_0x238361),{'saveTo':path['join'](_0x484099,util[_0x9682('0xb')]('%s.%s',_0x238361,_0x9682('0x26')))},function(_0x27d7f0,_0x598248){});rimraf(path['join'](_0x484099,_0x238361),function(){});}})['then'](function(){logger['info'](util[_0x9682('0xb')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x9682('0xc')));return analyticExtractedReport(_0x9682('0x27'),_0x1e018e?util[_0x9682('0xb')](_0x9682('0x22'),_0x238361,_0x1e018e?'zip':'xlsx'):null);});})[_0x9682('0x28')](function(_0x243db6){logger[_0x9682('0x29')](util[_0x9682('0xb')](_0x9682('0x2a'),EXTRACTED_REPORT_ID,'XLSX'),util['inspect'](_0x243db6,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x9682('0x2b'));});}main();