f6fcb845c42076431733909d08f5881fc6da0487
[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 _0xc63e=['.xlsx','join','mkdirSync','each','length','%s%d.%s','%s.%s','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','xlsx','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','format','XLSX','Setting','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename'];(function(_0x808520,_0x43ba0c){var _0x371691=function(_0x133384){while(--_0x133384){_0x808520['push'](_0x808520['shift']());}};_0x371691(++_0x43ba0c);}(_0xc63e,0x1db));var _0xec63=function(_0x1f44e4,_0x22d9fd){_0x1f44e4=_0x1f44e4-0x0;var _0x591989=_0xc63e[_0x1f44e4];return _0x591989;};'use strict';var util=require(_0xec63('0x0'));var path=require(_0xec63('0x1'));var _=require(_0xec63('0x2'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0xec63('0x3'));var zipdir=require(_0xec63('0x4'));var rimraf=require(_0xec63('0x5'));var db=require(_0xec63('0x6'))['db'];var dbH=require('../../mysqldb')[_0xec63('0x7')];var logger=require(_0xec63('0x8'))(_0xec63('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xec63('0xa')][0x4];function analyticExtractedReport(_0x3472a5,_0x488a16){var _0x4dba5a={'status':_0x3472a5};var _0x518241={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x488a16){_0x4dba5a[_0xec63('0xb')]=_0x488a16;}return db[_0xec63('0xc')][_0xec63('0xd')](_0x4dba5a,_0x518241);}function main(){var _0x5c268a=0x1388;var _0x182cb7;logger['info'](util[_0xec63('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xec63('0xf')));return db[_0xec63('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xec63('0x11'),_0xec63('0x12')]})[_0xec63('0x13')](function(_0xb1daef){if(_0xb1daef){_0x182cb7=_0xb1daef;_0x5c268a=_0x182cb7[_0xec63('0x12')]||0x1388;}})[_0xec63('0x13')](function(){return dbH[_0xec63('0x14')][_0xec63('0x15')](util[_0xec63('0xe')](_0xec63('0x16'),QUERY),{'type':dbH['sequelize'][_0xec63('0x17')][_0xec63('0x18')]});})[_0xec63('0x13')](function(_0x2806e0){if(!_0x2806e0[0x0][_0xec63('0x19')]){return analyticExtractedReport(_0xec63('0x1a'));}var _0x4cd0f9=[];var _0x366303=0x0;var _0x363e6c=!![];if(_0x182cb7['split']){if(_0x2806e0&&_0x2806e0['length']){var _0x586ccb=_0x2806e0[0x0][_0xec63('0x19')]%(_0x366303+_0x5c268a);for(;_0x363e6c;_0x366303+=_0x5c268a,_0x586ccb=_0x2806e0[0x0][_0xec63('0x19')]%(_0x366303+_0x5c268a)){if(_0x586ccb==0x0||_0x586ccb==_0x2806e0[0x0][_0xec63('0x19')]){_0x363e6c=![];}_0x4cd0f9[_0xec63('0x1b')](dbH[_0xec63('0x14')]['query'](util['format'](_0xec63('0x1c'),QUERY,_0x5c268a,_0x366303),{'type':dbH[_0xec63('0x14')]['QueryTypes'][_0xec63('0x18')]}));}}}else{_0x4cd0f9[_0xec63('0x1b')](dbH[_0xec63('0x14')][_0xec63('0x15')](QUERY,{'type':dbH['sequelize'][_0xec63('0x17')]['SELECT']}));}var _0x3e5611=path[_0xec63('0x1d')](PATH);var _0x7453a3=path[_0xec63('0x1e')](PATH,_0xec63('0x1f'));var _0x27d28b=_0x182cb7[_0xec63('0x11')]&&_0x4cd0f9['length']>0x1;var _0x2576ed=[];if(!fs['existsSync'](path[_0xec63('0x20')](_0x3e5611,_0x7453a3))&&_0x27d28b){fs[_0xec63('0x21')](path[_0xec63('0x20')](_0x3e5611,_0x7453a3));}return BPromise[_0xec63('0x22')](_0x4cd0f9,function(_0x307fb8){_0x2576ed[_0xec63('0x1b')](_0x307fb8);})[_0xec63('0x13')](function(){for(var _0x368726=0x0;_0x368726<_0x2576ed[_0xec63('0x23')];_0x368726+=0x1){var _0x5d4eda;var _0x3731f0=_0x2576ed[_0x368726];if(_0x27d28b){_0x5d4eda=path[_0xec63('0x20')](_0x3e5611,_0x7453a3,util[_0xec63('0xe')](_0xec63('0x24'),_0x7453a3,_0x368726,'xlsx'));}else{_0x5d4eda=path[_0xec63('0x20')](_0x3e5611,util[_0xec63('0xe')](_0xec63('0x25'),_0x7453a3,'xlsx'));}fs[_0xec63('0x26')](_0x5d4eda,json2xls(_0x3731f0),_0xec63('0x27'));}})[_0xec63('0x13')](function(){if(_0x27d28b){zipdir(path[_0xec63('0x20')](_0x3e5611,_0x7453a3),{'saveTo':path[_0xec63('0x20')](_0x3e5611,util['format'](_0xec63('0x25'),_0x7453a3,_0xec63('0x28')))},function(_0x46ca31,_0xbf6761){});rimraf(path[_0xec63('0x20')](_0x3e5611,_0x7453a3),function(){});}})['then'](function(){logger['info'](util[_0xec63('0xe')](_0xec63('0x29'),EXTRACTED_REPORT_ID,'XLSX'));return analyticExtractedReport(_0xec63('0x2a'),_0x27d28b?util[_0xec63('0xe')]('%s.%s',_0x7453a3,_0x27d28b?_0xec63('0x28'):_0xec63('0x2b')):null);});})[_0xec63('0x2c')](function(_0x2f1670){logger['info'](util[_0xec63('0xe')](_0xec63('0x2d'),EXTRACTED_REPORT_ID,_0xec63('0xf')),util['inspect'](_0x2f1670,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();