Built motion from commit (unavailable).|2.5.12
[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 _0xe855=['Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','json2xls','zip-dir','rimraf','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','split','splitSizeXlsx','then','sequelize','QueryTypes','SELECT','Empty','length','num','query','%s\x20limit\x20%d\x20OFFSET\x20%d','push','basename','.xlsx','existsSync','join','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch'];(function(_0x5950bd,_0x103e16){var _0x33e816=function(_0x439344){while(--_0x439344){_0x5950bd['push'](_0x5950bd['shift']());}};_0x33e816(++_0x103e16);}(_0xe855,0x130));var _0x5e85=function(_0x36fdc7,_0x507f3f){_0x36fdc7=_0x36fdc7-0x0;var _0x5eddfd=_0xe855[_0x36fdc7];return _0x5eddfd;};'use strict';var util=require(_0x5e85('0x0'));var path=require(_0x5e85('0x1'));var _=require('lodash');var fs=require('fs');var json2xls=require(_0x5e85('0x2'));var BPromise=require('bluebird');var zipdir=require(_0x5e85('0x3'));var rimraf=require(_0x5e85('0x4'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')['dbH'];var logger=require(_0x5e85('0x5'))(_0x5e85('0x6'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x5e85('0x7')][0x4];function analyticExtractedReport(_0x1476c8,_0x56035d){var _0x45b191={'status':_0x1476c8};var _0x6f744e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x56035d){_0x45b191[_0x5e85('0x8')]=_0x56035d;}return db[_0x5e85('0x9')][_0x5e85('0xa')](_0x45b191,_0x6f744e);}function main(){var _0x4b0822=0x1388;var _0x9e8664;logger[_0x5e85('0xb')](util[_0x5e85('0xc')](_0x5e85('0xd'),EXTRACTED_REPORT_ID,_0x5e85('0xe')));return db['Setting']['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x5e85('0xf'),_0x5e85('0x10')]})[_0x5e85('0x11')](function(_0x19fab3){if(_0x19fab3){_0x9e8664=_0x19fab3;_0x4b0822=_0x9e8664['splitSizeXlsx']||0x1388;}})[_0x5e85('0x11')](function(){return dbH[_0x5e85('0x12')]['query'](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x5e85('0x12')][_0x5e85('0x13')][_0x5e85('0x14')]});})[_0x5e85('0x11')](function(_0x18f6f7){if(!_0x18f6f7[0x0]['num']){return analyticExtractedReport(_0x5e85('0x15'));}var _0x44eb2b=[];var _0x57fb71=0x0;var _0x4d66d2=!![];if(_0x9e8664[_0x5e85('0xf')]){if(_0x18f6f7&&_0x18f6f7[_0x5e85('0x16')]){var _0x386ea4=_0x18f6f7[0x0][_0x5e85('0x17')]%(_0x57fb71+_0x4b0822);for(;_0x4d66d2;_0x57fb71+=_0x4b0822,_0x386ea4=_0x18f6f7[0x0][_0x5e85('0x17')]%(_0x57fb71+_0x4b0822)){if(_0x386ea4==0x0||_0x386ea4==_0x18f6f7[0x0]['num']){_0x4d66d2=![];}_0x44eb2b['push'](dbH[_0x5e85('0x12')][_0x5e85('0x18')](util['format'](_0x5e85('0x19'),QUERY,_0x4b0822,_0x57fb71),{'type':dbH[_0x5e85('0x12')][_0x5e85('0x13')]['SELECT']}));}}}else{_0x44eb2b[_0x5e85('0x1a')](dbH[_0x5e85('0x12')]['query'](QUERY,{'type':dbH[_0x5e85('0x12')]['QueryTypes']['SELECT']}));}var _0x491419=path['dirname'](PATH);var _0x628064=path[_0x5e85('0x1b')](PATH,_0x5e85('0x1c'));var _0x37b837=_0x9e8664[_0x5e85('0xf')]&&_0x44eb2b[_0x5e85('0x16')]>0x1;var _0x127c88=[];if(!fs[_0x5e85('0x1d')](path[_0x5e85('0x1e')](_0x491419,_0x628064))&&_0x37b837){fs['mkdirSync'](path[_0x5e85('0x1e')](_0x491419,_0x628064));}return BPromise['each'](_0x44eb2b,function(_0x292dbb){_0x127c88[_0x5e85('0x1a')](_0x292dbb);})[_0x5e85('0x11')](function(){for(var _0x1fd82f=0x0;_0x1fd82f<_0x127c88[_0x5e85('0x16')];_0x1fd82f+=0x1){var _0x6675df;var _0x3b34b1=_0x127c88[_0x1fd82f];if(_0x37b837){_0x6675df=path['join'](_0x491419,_0x628064,util['format'](_0x5e85('0x1f'),_0x628064,_0x1fd82f,_0x5e85('0x20')));}else{_0x6675df=path[_0x5e85('0x1e')](_0x491419,util[_0x5e85('0xc')](_0x5e85('0x21'),_0x628064,_0x5e85('0x20')));}fs[_0x5e85('0x22')](_0x6675df,json2xls(_0x3b34b1),_0x5e85('0x23'));}})[_0x5e85('0x11')](function(){if(_0x37b837){zipdir(path['join'](_0x491419,_0x628064),{'saveTo':path['join'](_0x491419,util['format'](_0x5e85('0x21'),_0x628064,_0x5e85('0x24')))},function(_0x154d30,_0xbb0a4f){});rimraf(path['join'](_0x491419,_0x628064),function(){});}})[_0x5e85('0x11')](function(){logger['info'](util[_0x5e85('0xc')](_0x5e85('0x25'),EXTRACTED_REPORT_ID,_0x5e85('0xe')));return analyticExtractedReport(_0x5e85('0x26'),_0x37b837?util[_0x5e85('0xc')]('%s.%s',_0x628064,_0x37b837?_0x5e85('0x24'):'xlsx'):null);});})[_0x5e85('0x27')](function(_0x2e706c){logger[_0x5e85('0xb')](util[_0x5e85('0xc')](_0x5e85('0x28'),EXTRACTED_REPORT_ID,_0x5e85('0xe')),util[_0x5e85('0x29')](_0x2e706c,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x5e85('0x2a'));});}main();