Built motion from commit (unavailable).|2.0.74
[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 _0xa583=['join','mkdirSync','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','catch','error','Error','util','path','lodash','json2xls','bluebird','rimraf','../../mysqldb','dbH','argv','savename','update','split','splitSizeXlsx','then','sequelize','query','QueryTypes','SELECT','Empty','num','push','format','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.xlsx','length'];(function(_0x4ce1b9,_0x397a4b){var _0x2bb15d=function(_0x3790ad){while(--_0x3790ad){_0x4ce1b9['push'](_0x4ce1b9['shift']());}};_0x2bb15d(++_0x397a4b);}(_0xa583,0xa3));var _0x3a58=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0xa583[_0x3ab51d];return _0x29a04e;};'use strict';var util=require(_0x3a58('0x0'));var path=require(_0x3a58('0x1'));var _=require(_0x3a58('0x2'));var fs=require('fs');var json2xls=require(_0x3a58('0x3'));var BPromise=require(_0x3a58('0x4'));var zipdir=require('zip-dir');var rimraf=require(_0x3a58('0x5'));var db=require('../../mysqldb')['db'];var dbH=require(_0x3a58('0x6'))[_0x3a58('0x7')];var EXTRACTED_REPORT_ID=Number(process[_0x3a58('0x8')][0x2]);var QUERY=process[_0x3a58('0x8')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x28d233,_0x1ea534){var _0x273078={'status':_0x28d233};var _0x4bad1f={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1ea534){_0x273078[_0x3a58('0x9')]=_0x1ea534;}return db['AnalyticExtractedReport'][_0x3a58('0xa')](_0x273078,_0x4bad1f);}function main(){var _0x4ace2e=0x1388;var _0x338ffb;return db['Setting']['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x3a58('0xb'),_0x3a58('0xc')]})[_0x3a58('0xd')](function(_0x44699d){if(_0x44699d){_0x338ffb=_0x44699d;_0x4ace2e=_0x338ffb['splitSizeXlsx']||0x1388;}})['then'](function(){return dbH[_0x3a58('0xe')][_0x3a58('0xf')](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x3a58('0xe')][_0x3a58('0x10')][_0x3a58('0x11')]});})[_0x3a58('0xd')](function(_0x4416a7){if(!_0x4416a7[0x0]['num']){return analyticExtractedReport(_0x3a58('0x12'));}var _0x45798b=[];var _0x1dd828=0x0;var _0x40f4be=!![];if(_0x338ffb['split']){if(_0x4416a7&&_0x4416a7['length']){var _0x1413d9=_0x4416a7[0x0][_0x3a58('0x13')]%(_0x1dd828+_0x4ace2e);for(;_0x40f4be;_0x1dd828+=_0x4ace2e,_0x1413d9=_0x4416a7[0x0][_0x3a58('0x13')]%(_0x1dd828+_0x4ace2e)){if(_0x1413d9==0x0||_0x1413d9==_0x4416a7[0x0][_0x3a58('0x13')]){_0x40f4be=![];}_0x45798b[_0x3a58('0x14')](dbH['sequelize']['query'](util[_0x3a58('0x15')](_0x3a58('0x16'),QUERY,_0x4ace2e,_0x1dd828),{'type':dbH[_0x3a58('0xe')][_0x3a58('0x10')][_0x3a58('0x11')]}));}}}else{_0x45798b[_0x3a58('0x14')](dbH[_0x3a58('0xe')][_0x3a58('0xf')](QUERY,{'type':dbH[_0x3a58('0xe')][_0x3a58('0x10')][_0x3a58('0x11')]}));}var _0x3f2136=path[_0x3a58('0x17')](PATH);var _0x531b03=path[_0x3a58('0x18')](PATH,_0x3a58('0x19'));var _0x269f9c=_0x338ffb['split']&&_0x45798b[_0x3a58('0x1a')]>0x1;var _0x5995f8=[];if(!fs['existsSync'](path[_0x3a58('0x1b')](_0x3f2136,_0x531b03))&&_0x269f9c){fs[_0x3a58('0x1c')](path[_0x3a58('0x1b')](_0x3f2136,_0x531b03));}return BPromise['each'](_0x45798b,function(_0x1b20d6){_0x5995f8[_0x3a58('0x14')](_0x1b20d6);})[_0x3a58('0xd')](function(){for(var _0x2d1742=0x0;_0x2d1742<_0x5995f8[_0x3a58('0x1a')];_0x2d1742+=0x1){var _0x57096b;var _0x4aae1f=_0x5995f8[_0x2d1742];if(_0x269f9c){_0x57096b=path[_0x3a58('0x1b')](_0x3f2136,_0x531b03,util[_0x3a58('0x15')](_0x3a58('0x1d'),_0x531b03,_0x2d1742,_0x3a58('0x1e')));}else{_0x57096b=path[_0x3a58('0x1b')](_0x3f2136,util[_0x3a58('0x15')](_0x3a58('0x1f'),_0x531b03,_0x3a58('0x1e')));}fs[_0x3a58('0x20')](_0x57096b,json2xls(_0x4aae1f),_0x3a58('0x21'));}})[_0x3a58('0xd')](function(){if(_0x269f9c){zipdir(path[_0x3a58('0x1b')](_0x3f2136,_0x531b03),{'saveTo':path[_0x3a58('0x1b')](_0x3f2136,util[_0x3a58('0x15')](_0x3a58('0x1f'),_0x531b03,'zip'))},function(_0x3bb095,_0x45bc88){});rimraf(path[_0x3a58('0x1b')](_0x3f2136,_0x531b03),function(){});}})[_0x3a58('0xd')](function(){return analyticExtractedReport('Completed',_0x269f9c?util[_0x3a58('0x15')]('%s.%s',_0x531b03,_0x269f9c?_0x3a58('0x22'):_0x3a58('0x1e')):null);});})[_0x3a58('0x23')](function(_0x4e930d){console[_0x3a58('0x24')](_0x4e930d);return analyticExtractedReport(_0x3a58('0x25'));});}main();