Built motion from commit cb845558.|2.6.34
[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 _0x2f2d=['savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','find','split','splitSizeXlsx','then','query','sequelize','QueryTypes','SELECT','num','range','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','existsSync','join','mkdirSync','each','length','%s%d.%s','xlsx','%s.%s','writeFileSync','zip\x20finished','XLSX','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x2f2d,0x17f));var _0xd2f2=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x2f2d[_0x3dd15e];return _0x231fd0;};'use strict';var util=require('util');var path=require(_0xd2f2('0x0'));var _=require(_0xd2f2('0x1'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xd2f2('0x2'));var zipdir=require(_0xd2f2('0x3'));var rimraf=require(_0xd2f2('0x4'));var db=require(_0xd2f2('0x5'))['db'];var dbH=require('../../mysqldb')[_0xd2f2('0x6')];var logger=require('../../config/logger')(_0xd2f2('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0xd2f2('0x8')][0x2]);var QUERY=process[_0xd2f2('0x8')][0x3];var PATH=process[_0xd2f2('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x31141d,_0x54b4a6){var _0x5acd70={'status':_0x31141d};var _0x31ddb3={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x54b4a6){_0x5acd70[_0xd2f2('0x9')]=_0x54b4a6;}return db[_0xd2f2('0xa')][_0xd2f2('0xb')](_0x5acd70,_0x31ddb3);}function main(){var _0x5997bb=0x1388;var _0x363886;logger[_0xd2f2('0xc')](util[_0xd2f2('0xd')](_0xd2f2('0xe'),EXTRACTED_REPORT_ID,'XLSX'));return db['Setting'][_0xd2f2('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xd2f2('0x10'),_0xd2f2('0x11')]})[_0xd2f2('0x12')](function(_0x3a7bd4){if(_0x3a7bd4){_0x363886=_0x3a7bd4;_0x5997bb=_0x363886['splitSizeXlsx']||0x1388;}})[_0xd2f2('0x12')](function(){return dbH['sequelize'][_0xd2f2('0x13')](util[_0xd2f2('0xd')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xd2f2('0x14')][_0xd2f2('0x15')][_0xd2f2('0x16')]});})[_0xd2f2('0x12')](function(_0x8c478c){if(!_0x8c478c[0x0][_0xd2f2('0x17')]){return analyticExtractedReport('Empty');}var _0x5b91eb=[];var _0x180c3a=0x0;if(_0x363886[_0xd2f2('0x10')]){if(_0x8c478c&&_0x8c478c['length']){var _0x1ccbe6=_[_0xd2f2('0x18')](_0x8c478c[0x0][_0xd2f2('0x17')]/_0x5997bb);var _0x3ce71e=Number['isInteger'](_0x8c478c[0x0][_0xd2f2('0x17')]/_0x5997bb)?_0x8c478c[0x0][_0xd2f2('0x17')]%_0x5997bb:0x0;_0x1ccbe6[_0xd2f2('0x19')](function(_0x122434){if(_0x122434>0x0){_0x180c3a+=_0x5997bb;}_0x5b91eb[_0xd2f2('0x1a')](dbH[_0xd2f2('0x14')][_0xd2f2('0x13')](util[_0xd2f2('0xd')](_0xd2f2('0x1b'),QUERY,_0x5997bb,_0x180c3a),{'type':dbH[_0xd2f2('0x14')]['QueryTypes']['SELECT']}));});if(_0x3ce71e>0x0){_0x180c3a+=_0x5997bb;_0x5b91eb[_0xd2f2('0x1a')](dbH['sequelize'][_0xd2f2('0x13')](util[_0xd2f2('0xd')](_0xd2f2('0x1b'),QUERY,_0x3ce71e,_0x180c3a),{'type':dbH[_0xd2f2('0x14')][_0xd2f2('0x15')][_0xd2f2('0x16')]}));}}}else{_0x5b91eb['push'](dbH[_0xd2f2('0x14')][_0xd2f2('0x13')](QUERY,{'type':dbH[_0xd2f2('0x14')][_0xd2f2('0x15')][_0xd2f2('0x16')]}));}var _0x1f4f7f=path[_0xd2f2('0x1c')](PATH);var _0x589696=path[_0xd2f2('0x1d')](PATH,_0xd2f2('0x1e'));var _0x8c1625=_0x363886[_0xd2f2('0x10')]&&_0x5b91eb['length']>0x1;var _0x47b9d4=[];if(!fs[_0xd2f2('0x1f')](path[_0xd2f2('0x20')](_0x1f4f7f,_0x589696))&&_0x8c1625){fs[_0xd2f2('0x21')](path[_0xd2f2('0x20')](_0x1f4f7f,_0x589696));}return BPromise[_0xd2f2('0x22')](_0x5b91eb,function(_0x4bf115){_0x47b9d4[_0xd2f2('0x1a')](_0x4bf115);})[_0xd2f2('0x12')](function(){for(var _0x594223=0x0;_0x594223<_0x47b9d4[_0xd2f2('0x23')];_0x594223+=0x1){var _0x26fbb9;var _0xf99f92=_0x47b9d4[_0x594223];if(_0x8c1625){_0x26fbb9=path[_0xd2f2('0x20')](_0x1f4f7f,_0x589696,util['format'](_0xd2f2('0x24'),_0x589696,_0x594223,_0xd2f2('0x25')));}else{_0x26fbb9=path[_0xd2f2('0x20')](_0x1f4f7f,util[_0xd2f2('0xd')](_0xd2f2('0x26'),_0x589696,'xlsx'));}fs[_0xd2f2('0x27')](_0x26fbb9,json2xls(_0xf99f92),'binary');}})[_0xd2f2('0x12')](function(){if(_0x8c1625){return new Promise(function(_0x334433){zipdir(path['join'](_0x1f4f7f,_0x589696),{'saveTo':path['join'](_0x1f4f7f,util['format'](_0xd2f2('0x26'),_0x589696,'zip'))},function(_0x85a479,_0x118318){rimraf(path['join'](_0x1f4f7f,_0x589696),function(){});_0x334433(_0xd2f2('0x28'));});});}})['then'](function(){logger['info'](util[_0xd2f2('0xd')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xd2f2('0x29')));return analyticExtractedReport('Completed',_0x8c1625?util['format'](_0xd2f2('0x26'),_0x589696,_0x8c1625?_0xd2f2('0x2a'):_0xd2f2('0x25')):null);});})[_0xd2f2('0x2b')](function(_0x1a6f96){logger[_0xd2f2('0xc')](util[_0xd2f2('0xd')](_0xd2f2('0x2c'),EXTRACTED_REPORT_ID,_0xd2f2('0x29')),util[_0xd2f2('0x2d')](_0x1a6f96,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xd2f2('0x2e'));})[_0xd2f2('0x2f')](function(){process[_0xd2f2('0x30')](EXIT_CODE);});}main();