3acd25b62710ea0fe7d14c04703c7cdb61956350
[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 _0x5557=['SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','Empty','split','%s\x20limit\x20%d\x20OFFSET\x20%d','push','basename','.xlsx','length','existsSync','join','mkdirSync','each','%s.%s','xlsx','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','lodash','bluebird','zip-dir','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Setting','splitSizeXlsx','then','query'];(function(_0x165f2d,_0xadfaef){var _0x437fd2=function(_0x56632d){while(--_0x56632d){_0x165f2d['push'](_0x165f2d['shift']());}};_0x437fd2(++_0xadfaef);}(_0x5557,0x1ba));var _0x7555=function(_0x55677b,_0x3e5655){_0x55677b=_0x55677b-0x0;var _0x104b88=_0x5557[_0x55677b];return _0x104b88;};'use strict';var util=require(_0x7555('0x0'));var path=require('path');var _=require(_0x7555('0x1'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x7555('0x2'));var zipdir=require(_0x7555('0x3'));var rimraf=require('rimraf');var db=require(_0x7555('0x4'))['db'];var dbH=require('../../mysqldb')[_0x7555('0x5')];var logger=require(_0x7555('0x6'))(_0x7555('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x7555('0x8')][0x2]);var QUERY=process[_0x7555('0x8')][0x3];var PATH=process[_0x7555('0x8')][0x4];function analyticExtractedReport(_0x3f06d7,_0x3283d7){var _0x30e29a={'status':_0x3f06d7};var _0x18f453={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3283d7){_0x30e29a[_0x7555('0x9')]=_0x3283d7;}return db[_0x7555('0xa')][_0x7555('0xb')](_0x30e29a,_0x18f453);}function main(){var _0x4eacd6=0x1388;var _0x121ad7;logger[_0x7555('0xc')](util[_0x7555('0xd')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'));return db[_0x7555('0xe')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x7555('0xf')]})[_0x7555('0x10')](function(_0x4cdb92){if(_0x4cdb92){_0x121ad7=_0x4cdb92;_0x4eacd6=_0x121ad7[_0x7555('0xf')]||0x1388;}})[_0x7555('0x10')](function(){return dbH['sequelize'][_0x7555('0x11')](util[_0x7555('0xd')](_0x7555('0x12'),QUERY),{'type':dbH[_0x7555('0x13')][_0x7555('0x14')][_0x7555('0x15')]});})['then'](function(_0xd91fdc){if(!_0xd91fdc[0x0][_0x7555('0x16')]){return analyticExtractedReport(_0x7555('0x17'));}var _0x4ca619=[];var _0x4c86ee=0x0;var _0x49e341=!![];if(_0x121ad7[_0x7555('0x18')]){if(_0xd91fdc&&_0xd91fdc['length']){var _0x5ef44f=_0xd91fdc[0x0][_0x7555('0x16')]%(_0x4c86ee+_0x4eacd6);for(;_0x49e341;_0x4c86ee+=_0x4eacd6,_0x5ef44f=_0xd91fdc[0x0][_0x7555('0x16')]%(_0x4c86ee+_0x4eacd6)){if(_0x5ef44f==0x0||_0x5ef44f==_0xd91fdc[0x0][_0x7555('0x16')]){_0x49e341=![];}_0x4ca619['push'](dbH[_0x7555('0x13')][_0x7555('0x11')](util[_0x7555('0xd')](_0x7555('0x19'),QUERY,_0x4eacd6,_0x4c86ee),{'type':dbH['sequelize']['QueryTypes'][_0x7555('0x15')]}));}}}else{_0x4ca619[_0x7555('0x1a')](dbH['sequelize'][_0x7555('0x11')](QUERY,{'type':dbH[_0x7555('0x13')]['QueryTypes'][_0x7555('0x15')]}));}var _0x4edc6e=path['dirname'](PATH);var _0x18acd1=path[_0x7555('0x1b')](PATH,_0x7555('0x1c'));var _0x3a7a74=_0x121ad7['split']&&_0x4ca619[_0x7555('0x1d')]>0x1;var _0x44dadf=[];if(!fs[_0x7555('0x1e')](path[_0x7555('0x1f')](_0x4edc6e,_0x18acd1))&&_0x3a7a74){fs[_0x7555('0x20')](path['join'](_0x4edc6e,_0x18acd1));}return BPromise[_0x7555('0x21')](_0x4ca619,function(_0x439361){_0x44dadf[_0x7555('0x1a')](_0x439361);})['then'](function(){for(var _0x12ec09=0x0;_0x12ec09<_0x44dadf[_0x7555('0x1d')];_0x12ec09+=0x1){var _0x24eba1;var _0x2c0140=_0x44dadf[_0x12ec09];if(_0x3a7a74){_0x24eba1=path['join'](_0x4edc6e,_0x18acd1,util[_0x7555('0xd')]('%s%d.%s',_0x18acd1,_0x12ec09,'xlsx'));}else{_0x24eba1=path[_0x7555('0x1f')](_0x4edc6e,util[_0x7555('0xd')](_0x7555('0x22'),_0x18acd1,_0x7555('0x23')));}fs[_0x7555('0x24')](_0x24eba1,json2xls(_0x2c0140),_0x7555('0x25'));}})[_0x7555('0x10')](function(){if(_0x3a7a74){zipdir(path[_0x7555('0x1f')](_0x4edc6e,_0x18acd1),{'saveTo':path[_0x7555('0x1f')](_0x4edc6e,util[_0x7555('0xd')](_0x7555('0x22'),_0x18acd1,_0x7555('0x26')))},function(_0xf82196,_0x5e77a8){});rimraf(path[_0x7555('0x1f')](_0x4edc6e,_0x18acd1),function(){});}})[_0x7555('0x10')](function(){logger['info'](util[_0x7555('0xd')](_0x7555('0x27'),EXTRACTED_REPORT_ID,_0x7555('0x28')));return analyticExtractedReport(_0x7555('0x29'),_0x3a7a74?util['format'](_0x7555('0x22'),_0x18acd1,_0x3a7a74?_0x7555('0x26'):_0x7555('0x23')):null);});})[_0x7555('0x2a')](function(_0x4b8acb){logger['info'](util[_0x7555('0xd')](_0x7555('0x2b'),EXTRACTED_REPORT_ID,'XLSX'),util[_0x7555('0x2c')](_0x4b8acb,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x7555('0x2d'));});}main();