Built motion from commit da617fac.|2.6.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 _0xd87d=['Failed','finally','exit','util','lodash','bluebird','zip-dir','../../mysqldb','dbH','analytics','argv','update','info','XLSX','Setting','find','splitSizeXlsx','then','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','split','range','num','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','QueryTypes','basename','.xlsx','mkdirSync','join','each','length','%s%d.%s','xlsx','%s.%s','writeFileSync','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(_0x579abe,_0x26f745){var _0x5b35f6=function(_0x1b8c08){while(--_0x1b8c08){_0x579abe['push'](_0x579abe['shift']());}};_0x5b35f6(++_0x26f745);}(_0xd87d,0x16b));var _0xdd87=function(_0x38ac49,_0x461ef4){_0x38ac49=_0x38ac49-0x0;var _0x5be48c=_0xd87d[_0x38ac49];return _0x5be48c;};'use strict';var util=require(_0xdd87('0x0'));var path=require('path');var _=require(_0xdd87('0x1'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xdd87('0x2'));var zipdir=require(_0xdd87('0x3'));var rimraf=require('rimraf');var db=require('../../mysqldb')['db'];var dbH=require(_0xdd87('0x4'))[_0xdd87('0x5')];var logger=require('../../config/logger')(_0xdd87('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0xdd87('0x7')][0x2]);var QUERY=process[_0xdd87('0x7')][0x3];var PATH=process[_0xdd87('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x2a4ee0,_0x57a2cb){var _0x368e34={'status':_0x2a4ee0};var _0x22f608={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x57a2cb){_0x368e34['savename']=_0x57a2cb;}return db['AnalyticExtractedReport'][_0xdd87('0x8')](_0x368e34,_0x22f608);}function main(){var _0x271734=0x1388;var _0x11cd01;logger[_0xdd87('0x9')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xdd87('0xa')));return db[_0xdd87('0xb')][_0xdd87('0xc')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xdd87('0xd')]})[_0xdd87('0xe')](function(_0x39b484){if(_0x39b484){_0x11cd01=_0x39b484;_0x271734=_0x11cd01[_0xdd87('0xd')]||0x1388;}})[_0xdd87('0xe')](function(){return dbH[_0xdd87('0xf')][_0xdd87('0x10')](util[_0xdd87('0x11')](_0xdd87('0x12'),QUERY),{'type':dbH[_0xdd87('0xf')]['QueryTypes'][_0xdd87('0x13')]});})[_0xdd87('0xe')](function(_0x25127a){if(!_0x25127a[0x0]['num']){return analyticExtractedReport('Empty');}var _0x5f4462=[];var _0x4fb84b=0x0;if(_0x11cd01[_0xdd87('0x14')]){if(_0x25127a&&_0x25127a['length']){var _0x3d99e4=_[_0xdd87('0x15')](_0x25127a[0x0][_0xdd87('0x16')]/_0x271734);var _0x20aaf8=Number['isInteger'](_0x25127a[0x0][_0xdd87('0x16')]/_0x271734)?_0x25127a[0x0]['num']%_0x271734:0x0;_0x3d99e4[_0xdd87('0x17')](function(_0x18b1c6){if(_0x18b1c6>0x0){_0x4fb84b+=_0x271734;}_0x5f4462['push'](dbH['sequelize'][_0xdd87('0x10')](util[_0xdd87('0x11')](_0xdd87('0x18'),QUERY,_0x271734,_0x4fb84b),{'type':dbH[_0xdd87('0xf')]['QueryTypes'][_0xdd87('0x13')]}));});if(_0x20aaf8>0x0){_0x4fb84b+=_0x271734;_0x5f4462[_0xdd87('0x19')](dbH['sequelize']['query'](util[_0xdd87('0x11')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x20aaf8,_0x4fb84b),{'type':dbH['sequelize'][_0xdd87('0x1a')][_0xdd87('0x13')]}));}}}else{_0x5f4462[_0xdd87('0x19')](dbH[_0xdd87('0xf')][_0xdd87('0x10')](QUERY,{'type':dbH[_0xdd87('0xf')][_0xdd87('0x1a')][_0xdd87('0x13')]}));}var _0x5b6ab2=path['dirname'](PATH);var _0x183502=path[_0xdd87('0x1b')](PATH,_0xdd87('0x1c'));var _0x1c30e7=_0x11cd01[_0xdd87('0x14')]&&_0x5f4462['length']>0x1;var _0x191fe6=[];if(!fs['existsSync'](path['join'](_0x5b6ab2,_0x183502))&&_0x1c30e7){fs[_0xdd87('0x1d')](path[_0xdd87('0x1e')](_0x5b6ab2,_0x183502));}return BPromise[_0xdd87('0x1f')](_0x5f4462,function(_0x500c93){_0x191fe6[_0xdd87('0x19')](_0x500c93);})['then'](function(){for(var _0x1932c6=0x0;_0x1932c6<_0x191fe6[_0xdd87('0x20')];_0x1932c6+=0x1){var _0x164222;var _0x4ce6c4=_0x191fe6[_0x1932c6];if(_0x1c30e7){_0x164222=path['join'](_0x5b6ab2,_0x183502,util[_0xdd87('0x11')](_0xdd87('0x21'),_0x183502,_0x1932c6,_0xdd87('0x22')));}else{_0x164222=path[_0xdd87('0x1e')](_0x5b6ab2,util[_0xdd87('0x11')](_0xdd87('0x23'),_0x183502,_0xdd87('0x22')));}fs[_0xdd87('0x24')](_0x164222,json2xls(_0x4ce6c4),'binary');}})[_0xdd87('0xe')](function(){if(_0x1c30e7){return new Promise(function(_0x71ba1c){zipdir(path[_0xdd87('0x1e')](_0x5b6ab2,_0x183502),{'saveTo':path[_0xdd87('0x1e')](_0x5b6ab2,util['format'](_0xdd87('0x23'),_0x183502,_0xdd87('0x25')))},function(_0x57bcd2,_0x2de53c){rimraf(path[_0xdd87('0x1e')](_0x5b6ab2,_0x183502),function(){});_0x71ba1c('zip\x20finished');});});}})[_0xdd87('0xe')](function(){logger[_0xdd87('0x9')](util[_0xdd87('0x11')](_0xdd87('0x26'),EXTRACTED_REPORT_ID,_0xdd87('0xa')));return analyticExtractedReport(_0xdd87('0x27'),_0x1c30e7?util[_0xdd87('0x11')](_0xdd87('0x23'),_0x183502,_0x1c30e7?'zip':_0xdd87('0x22')):null);});})[_0xdd87('0x28')](function(_0x13e07b){logger[_0xdd87('0x9')](util['format'](_0xdd87('0x29'),EXTRACTED_REPORT_ID,_0xdd87('0xa')),util['inspect'](_0x13e07b,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xdd87('0x2a'));})[_0xdd87('0x2b')](function(){process[_0xdd87('0x2c')](EXIT_CODE);});}main();