3c0ee21a164787e377777b63618bcba7c3d76429
[motion2.git] / server / api / saAsset / saAsset.controller.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 _0x9957=['path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','destroy','then','stack','name','send','index','SAAsset','rawAttributes','keys','query','filters','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','order','where','pick','merge','type','key','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','create','body','find','params','describe','getSubscriptions','sort','map','field','ppppp\x20\x20options','sequelize','transaction','CmCompany','findOne','companyId','DESC','pricelistId','subscriptionId','log','automaticSubscriptionInvoice\x20productForCompany->','push','Partial','all','TCL:\x20exports.automaticProformaInvoice\x20->\x20err','Duplicate\x20entry.','??????\x20updSubscriptionDetail\x20product->','??????\x20invoiceType','??????\x20updSubscriptionDetail\x20product.dateNextInvoice->','dateNextInvoice','add','subscriptionMonthly','nextInvoice','System','companyName','productName','productCode','productDescription','typeName','pricelistName','netPrice','discount','tax','note','subscriptionName','quantity','SAInvoiceDetail','SAPaymentMethod','saPaymentMethod','Invoice\x20','Automatic\x20Job','close','saStreet','saPostalCode','saCountry','saISOCode','saSDICode','saFiscalMessage','saExpiryDay','saEurope','saSocCap','saPIVA','bankAccount','bankName','bankpostalCode','bankcity','bankcountry','bankIBAN','phone','fax','email','bankABI','banckCAB','paypalEmail','groupBy','negate','isNull','createdAt','value','diff','days','dayPrice','total','££££££££\x20products','forEach','WARNING','No\x20product\x20to\x20assign\x20invoice.\x20Invoice\x20not\x20created!!\x20','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache'];(function(_0x5608a3,_0x5b33c5){var _0x1ed50a=function(_0x959171){while(--_0x959171){_0x5608a3['push'](_0x5608a3['shift']());}};_0x1ed50a(++_0x5b33c5);}(_0x9957,0x93));var _0x7995=function(_0x2f5ac5,_0x1ee939){_0x2f5ac5=_0x2f5ac5-0x0;var _0x37c9a8=_0x9957[_0x2f5ac5];return _0x37c9a8;};'use strict';var pdf=require(_0x7995('0x0'));var emlformat=require(_0x7995('0x1'));var rimraf=require(_0x7995('0x2'));var zipdir=require(_0x7995('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7995('0x4'));var moment=require(_0x7995('0x5'));var BPromise=require(_0x7995('0x6'));var Mustache=require(_0x7995('0x7'));var util=require('util');var path=require(_0x7995('0x8'));var sox=require(_0x7995('0x9'));var csv=require(_0x7995('0xa'));var ejs=require(_0x7995('0xb'));var fs=require('fs');var _=require(_0x7995('0xc'));var squel=require(_0x7995('0xd'));var crypto=require('crypto');var jsforce=require(_0x7995('0xe'));var deskjs=require(_0x7995('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7995('0x10'));var Papa=require(_0x7995('0x11'));var Redis=require(_0x7995('0x12'));var authService=require(_0x7995('0x13'));var qs=require(_0x7995('0x14'));var hardwareService=require(_0x7995('0x15'));var logger=require(_0x7995('0x16'))('api');var utils=require(_0x7995('0x17'));var config=require(_0x7995('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb0c872,_0x2cb37a){_0x2cb37a=_0x2cb37a||0xcc;return function(_0x19a27e){if(_0x19a27e){return _0xb0c872[_0x7995('0x19')](_0x2cb37a);}return _0xb0c872[_0x7995('0x1a')](_0x2cb37a)[_0x7995('0x1b')]();};}function respondWithResult(_0x2bbe7a,_0x4cc004){_0x4cc004=_0x4cc004||0xc8;return function(_0x58f5ad){if(_0x58f5ad){return _0x2bbe7a[_0x7995('0x1a')](_0x4cc004)[_0x7995('0x1c')](_0x58f5ad);}};}function respondWithFilteredResult(_0x24b5bb,_0x321ae8){return function(_0x3f1d3e){if(_0x3f1d3e){var _0x1a5310=_0x3f1d3e[_0x7995('0x1d')],_0x2202ce=_0x321ae8['offset'],_0x41cbf0=_0x321ae8[_0x7995('0x1e')]+_0x321ae8[_0x7995('0x1f')],_0x5377e5;if(_0x41cbf0>=_0x1a5310){_0x41cbf0=_0x1a5310;_0x5377e5=0xc8;}else{_0x5377e5=0xce;}_0x24b5bb[_0x7995('0x1a')](_0x5377e5);return _0x24b5bb[_0x7995('0x20')](_0x7995('0x21'),_0x2202ce+'-'+_0x41cbf0+'/'+_0x1a5310)[_0x7995('0x1c')](_0x3f1d3e);}return null;};}function patchUpdates(_0x4faa60){return function(_0x54c9ae){try{jsonpatch[_0x7995('0x22')](_0x54c9ae,_0x4faa60,!![]);}catch(_0x5e6f90){return BPromise['reject'](_0x5e6f90);}return _0x54c9ae[_0x7995('0x23')]();};}function saveUpdates(_0x3d463e,_0x4cbe10){return function(_0x3a9b54){if(_0x3a9b54){return _0x3a9b54['update'](_0x3d463e)['then'](function(_0x3e4c54){return _0x3e4c54;});}return null;};}function removeEntity(_0x327b1f,_0x350fd9){return function(_0x1a8568){if(_0x1a8568){return _0x1a8568[_0x7995('0x24')]()[_0x7995('0x25')](function(){_0x327b1f['status'](0xcc)[_0x7995('0x1b')]();});}};}function handleEntityNotFound(_0x46ee4b,_0x204507){return function(_0x285437){if(!_0x285437){_0x46ee4b[_0x7995('0x19')](0x194);}return _0x285437;};}function handleError(_0x13bc35,_0x475351){_0x475351=_0x475351||0x1f4;return function(_0x472195){logger['error'](_0x472195[_0x7995('0x26')]);if(_0x472195[_0x7995('0x27')]){delete _0x472195[_0x7995('0x27')];}_0x13bc35[_0x7995('0x1a')](_0x475351)[_0x7995('0x28')](_0x472195);};}exports[_0x7995('0x29')]=function(_0x56691a,_0x47625f){var _0x5911c3={},_0x229742={},_0x49bc7e={'count':0x0,'rows':[]};var _0xf16cc2=db[_0x7995('0x2a')][_0x7995('0x2b')];_0x229742['model']=_[_0x7995('0x2c')](_0xf16cc2);_0x229742['query']=_[_0x7995('0x2c')](_0x56691a[_0x7995('0x2d')]);_0x229742[_0x7995('0x2e')]=_['intersection'](_0x229742['model'],_0x229742['query']);_0x5911c3[_0x7995('0x2f')]=_[_0x7995('0x30')](_0x229742[_0x7995('0x31')],qs[_0x7995('0x32')](_0x56691a[_0x7995('0x2d')][_0x7995('0x32')]));_0x5911c3['attributes']=_0x5911c3['attributes'][_0x7995('0x33')]?_0x5911c3['attributes']:_0x229742[_0x7995('0x31')];if(!_0x56691a[_0x7995('0x2d')][_0x7995('0x34')](_0x7995('0x35'))){_0x5911c3[_0x7995('0x1f')]=qs['limit'](_0x56691a[_0x7995('0x2d')][_0x7995('0x1f')]);_0x5911c3['offset']=qs['offset'](_0x56691a['query'][_0x7995('0x1e')]);}_0x5911c3[_0x7995('0x36')]=qs['sort'](_0x56691a[_0x7995('0x2d')]['sort']);_0x5911c3[_0x7995('0x37')]=qs[_0x7995('0x2e')](_[_0x7995('0x38')](_0x56691a['query'],_0x229742['filters']));if(_0x56691a[_0x7995('0x2d')]['filter']){_0x5911c3['where']=_[_0x7995('0x39')](_0x5911c3[_0x7995('0x37')],{'$or':_['map'](_0xf16cc2,function(_0x1baa15){if(_0x1baa15[_0x7995('0x3a')][_0x7995('0x3b')]!==_0x7995('0x3c')){var _0x1e3dbf={};_0x1e3dbf[_0x1baa15['field']]={'$like':'%'+_0x56691a[_0x7995('0x2d')][_0x7995('0x3d')]+'%'};return _0x1e3dbf;}})});}_0x5911c3=_[_0x7995('0x39')]({},_0x5911c3,_0x56691a[_0x7995('0x3e')]);var _0x4b1541={'where':_0x5911c3[_0x7995('0x37')]};return db[_0x7995('0x2a')][_0x7995('0x1d')](_0x4b1541)[_0x7995('0x25')](function(_0x1f5bee){_0x49bc7e[_0x7995('0x1d')]=_0x1f5bee;if(_0x56691a['query'][_0x7995('0x3f')]){_0x5911c3[_0x7995('0x40')]=[{'all':!![]}];}return db[_0x7995('0x2a')][_0x7995('0x41')](_0x5911c3);})[_0x7995('0x25')](function(_0x298fc2){_0x49bc7e[_0x7995('0x42')]=_0x298fc2;return _0x49bc7e;})[_0x7995('0x25')](respondWithFilteredResult(_0x47625f,_0x5911c3))[_0x7995('0x43')](handleError(_0x47625f,null));};exports[_0x7995('0x44')]=function(_0x6fe77b,_0x270d52){var _0x7b4e67={'raw':![],'where':{'id':_0x6fe77b['params']['id']}},_0x53cda2={};_0x53cda2[_0x7995('0x31')]=_[_0x7995('0x2c')](db['SAAsset']['rawAttributes']);_0x53cda2[_0x7995('0x2d')]=_['keys'](_0x6fe77b['query']);_0x53cda2[_0x7995('0x2e')]=_[_0x7995('0x30')](_0x53cda2[_0x7995('0x31')],_0x53cda2['query']);_0x7b4e67[_0x7995('0x2f')]=_['intersection'](_0x53cda2[_0x7995('0x31')],qs['fields'](_0x6fe77b['query'][_0x7995('0x32')]));_0x7b4e67[_0x7995('0x2f')]=_0x7b4e67[_0x7995('0x2f')][_0x7995('0x33')]?_0x7b4e67['attributes']:_0x53cda2[_0x7995('0x31')];if(_0x6fe77b[_0x7995('0x2d')][_0x7995('0x3f')]){_0x7b4e67[_0x7995('0x40')]=[{'all':!![]}];}_0x7b4e67=_['merge']({},_0x7b4e67,_0x6fe77b['options']);return db[_0x7995('0x2a')]['find'](_0x7b4e67)[_0x7995('0x25')](handleEntityNotFound(_0x270d52,null))['then'](respondWithResult(_0x270d52,null))[_0x7995('0x43')](handleError(_0x270d52,null));};exports['create']=function(_0x1e795e,_0x1b0373){return db['SAAsset'][_0x7995('0x45')](_0x1e795e[_0x7995('0x46')],{})[_0x7995('0x25')](respondWithResult(_0x1b0373,0xc9))[_0x7995('0x43')](handleError(_0x1b0373,null));};exports['update']=function(_0x2458cb,_0x3e787d){if(_0x2458cb[_0x7995('0x46')]['id']){delete _0x2458cb['body']['id'];}return db[_0x7995('0x2a')][_0x7995('0x47')]({'where':{'id':_0x2458cb[_0x7995('0x48')]['id']}})[_0x7995('0x25')](handleEntityNotFound(_0x3e787d,null))[_0x7995('0x25')](saveUpdates(_0x2458cb['body'],null))[_0x7995('0x25')](respondWithResult(_0x3e787d,null))[_0x7995('0x43')](handleError(_0x3e787d,null));};exports['destroy']=function(_0x3d1dbb,_0x5843ba){return db[_0x7995('0x2a')][_0x7995('0x47')]({'where':{'id':_0x3d1dbb[_0x7995('0x48')]['id']}})[_0x7995('0x25')](handleEntityNotFound(_0x5843ba,null))[_0x7995('0x25')](removeEntity(_0x5843ba,null))[_0x7995('0x43')](handleError(_0x5843ba,null));};exports[_0x7995('0x49')]=function(_0x4d46bc,_0x427dcf){return db[_0x7995('0x2a')][_0x7995('0x49')]()['then'](respondWithResult(_0x427dcf,null))[_0x7995('0x43')](handleError(_0x427dcf,null));};exports[_0x7995('0x4a')]=function(_0x12d4b8,_0x47d1d8){var _0x4ec548={},_0x5a592e={},_0xb70620={'count':0x0,'rows':[]};var _0x1fd1ca=db['SAAsset'][_0x7995('0x2b')];_0x5a592e[_0x7995('0x31')]=_[_0x7995('0x2c')](_0x1fd1ca);_0x5a592e[_0x7995('0x2d')]=_[_0x7995('0x2c')](_0x12d4b8['query']);_0x5a592e[_0x7995('0x2e')]=_['intersection'](_0x5a592e[_0x7995('0x31')],_0x5a592e[_0x7995('0x2d')]);_0x4ec548[_0x7995('0x2f')]=_['intersection'](_0x5a592e['model'],qs['fields'](_0x12d4b8['query'][_0x7995('0x32')]));_0x4ec548[_0x7995('0x2f')]=_0x4ec548[_0x7995('0x2f')][_0x7995('0x33')]?_0x4ec548[_0x7995('0x2f')]:_0x5a592e[_0x7995('0x31')];if(!_0x12d4b8[_0x7995('0x2d')][_0x7995('0x34')](_0x7995('0x35'))){_0x4ec548[_0x7995('0x1f')]=qs[_0x7995('0x1f')](_0x12d4b8[_0x7995('0x2d')][_0x7995('0x1f')]);_0x4ec548[_0x7995('0x1e')]=qs[_0x7995('0x1e')](_0x12d4b8[_0x7995('0x2d')][_0x7995('0x1e')]);}_0x4ec548[_0x7995('0x36')]=qs[_0x7995('0x4b')](_0x12d4b8['query'][_0x7995('0x4b')]);_0x4ec548[_0x7995('0x37')]=qs[_0x7995('0x2e')](_[_0x7995('0x38')](_0x12d4b8['query'],_0x5a592e['filters']));if(_0x12d4b8[_0x7995('0x2d')][_0x7995('0x3d')]){_0x4ec548[_0x7995('0x37')]=_[_0x7995('0x39')](_0x4ec548['where'],{'$or':_[_0x7995('0x4c')](_0x1fd1ca,function(_0x74ff38){if(_0x74ff38[_0x7995('0x3a')][_0x7995('0x3b')]!=='VIRTUAL'){var _0x5e2d97={};_0x5e2d97[_0x74ff38[_0x7995('0x4d')]]={'$like':'%'+_0x12d4b8[_0x7995('0x2d')][_0x7995('0x3d')]+'%'};return _0x5e2d97;}})});}_0x4ec548=_[_0x7995('0x39')]({},_0x4ec548,_0x12d4b8[_0x7995('0x3e')]);var _0x27c5cd={'where':_0x4ec548[_0x7995('0x37')]};return db[_0x7995('0x2a')][_0x7995('0x1d')](_0x27c5cd)['then'](function(_0x18f230){_0xb70620[_0x7995('0x1d')]=_0x18f230;if(_0x12d4b8[_0x7995('0x2d')][_0x7995('0x3f')]){_0x4ec548['include']=[{'all':!![]}];}console['log'](_0x7995('0x4e'),_0x4ec548);return db[_0x7995('0x2a')]['findAll'](_0x4ec548);})[_0x7995('0x25')](function(_0x375fc9){_0xb70620[_0x7995('0x42')]=_0x375fc9;return _0xb70620;})[_0x7995('0x25')](respondWithFilteredResult(_0x47d1d8,_0x4ec548))[_0x7995('0x43')](handleError(_0x47d1d8,null));};exports['automaticSubscriptionInvoiceAlignment']=function(_0x457d09,_0x564fca,_0x3e0a46){var _0xe31dcb;if(_0x457d09[_0x7995('0x46')]['id']){delete _0x457d09[_0x7995('0x46')]['id'];}return db[_0x7995('0x4f')][_0x7995('0x50')](function(_0x2b3c1d){return db[_0x7995('0x51')][_0x7995('0x52')]({'where':{'defaultEntry':0x1},'raw':!![],'logging':!![]})[_0x7995('0x25')](function(_0x2618c4){_0xe31dcb=_0x2618c4;return db[_0x7995('0x2a')]['findAll']({'where':{'dateLastInvoice':null,'deleted':null,'status':null},'order':[[_0x7995('0x53'),_0x7995('0x54')],[_0x7995('0x55'),_0x7995('0x54')],[_0x7995('0x56'),'DESC']],'raw':!![],'logging':!![]});})['then'](function(_0x268fde){if(_0x268fde[_0x7995('0x33')]>0x0){var _0x221542=[];var _0xae6166=_['groupBy'](_0x268fde,_0x7995('0x53'));Object['keys'](_0xae6166)['forEach'](function(_0xca8238){var _0x36d27d=_0xae6166[_0xca8238];console[_0x7995('0x57')](_0x7995('0x58'),_0x36d27d);_0x221542[_0x7995('0x59')](addSubscriptionInvoice(_0x36d27d,_0xe31dcb,_0xca8238,_0x7995('0x5a'),_0x2b3c1d));});return BPromise[_0x7995('0x5b')](_0x221542);}});})[_0x7995('0x25')](function(){return _0x564fca[_0x7995('0x19')](0xc8);})[_0x7995('0x43')](function(_0x560b0a){console[_0x7995('0x57')](_0x7995('0x5c'),_0x560b0a);if(_0x560b0a[_0x7995('0x27')]==='SequelizeUniqueConstraintError'){var _0x560b0a={'errors':[{'message':_0x7995('0x5d')}]};}_0x564fca[_0x7995('0x1a')](0x1f4)[_0x7995('0x28')](_0x560b0a);});};function updSubscriptionDetail(_0x3b0d30,_0x51ab1e,_0x550a10){console[_0x7995('0x57')](_0x7995('0x5e'),_0x3b0d30);console[_0x7995('0x57')](_0x7995('0x5f'),_0x51ab1e);console['log']('??????\x20updSubscriptionDetail\x20product.id->',_0x3b0d30['id']);console[_0x7995('0x57')](_0x7995('0x60'),_0x3b0d30[_0x7995('0x61')]);var _0x35aaec;var _0x4dbab8;if(_0x51ab1e===_0x7995('0x5a')){_0x35aaec=moment();_0x4dbab8=_0x3b0d30[_0x7995('0x61')];}else{_0x35aaec=_0x3b0d30['dateNextInvoice'];_0x4dbab8=moment(_0x3b0d30['dateNextInvoice'])[_0x7995('0x62')](_0x3b0d30[_0x7995('0x63')],'months');}console[_0x7995('0x57')]('lastInvoice',_0x35aaec);console[_0x7995('0x57')](_0x7995('0x64'),_0x4dbab8);return db['SAAsset']['update']({'dateLastInvoice':_0x35aaec,'dateNextInvoice':_0x4dbab8,'agentFullname':_0x7995('0x65')},{'where':{'id':_0x3b0d30['id']},'raw':!![],'transaction':_0x550a10})['catch'](function(_0x31b9e6){throw _0x31b9e6;});}function addSubscriptionInvoiceDetail(_0xa41fff,_0x3dd197,_0x45bd8a){var _0x1a1873={'companyName':_0xa41fff[_0x7995('0x66')],'companyId':_0xa41fff[_0x7995('0x53')],'productName':_0xa41fff[_0x7995('0x67')],'productCode':_0xa41fff[_0x7995('0x68')],'productDescription':_0xa41fff[_0x7995('0x69')],'typeName':_0xa41fff[_0x7995('0x6a')],'pricelistName':_0xa41fff[_0x7995('0x6b')],'priceListId':_0xa41fff[_0x7995('0x55')],'netPrice':_0xa41fff[_0x7995('0x6c')],'discount':_0xa41fff[_0x7995('0x6d')],'tax':_0xa41fff[_0x7995('0x6e')],'agentFullname':_0x7995('0x65'),'note':_0xa41fff[_0x7995('0x6f')],'subscriptionId':_0xa41fff[_0x7995('0x56')],'subscriptionName':_0xa41fff[_0x7995('0x70')],'subscriptionMonthly':_0xa41fff[_0x7995('0x63')],'quantity':_0xa41fff[_0x7995('0x71')],'InvoiceId':_0x3dd197['id']};return db[_0x7995('0x72')][_0x7995('0x45')](_0x1a1873,{'raw':!![],'transaction':_0x45bd8a})[_0x7995('0x43')](function(_0x33479a){throw _0x33479a;});}function addSubscriptionInvoice(_0x2f7f51,_0x34724d,_0x59efff,_0x3fdb4b,_0x10f4ca){return db['CmCompany']['findOne']({'where':{'id':_0x59efff},'raw':!![]})[_0x7995('0x25')](function(_0x3fe8fc){return db[_0x7995('0x73')][_0x7995('0x52')]({'where':{'id':_0x3fe8fc[_0x7995('0x74')]},'raw':!![]})[_0x7995('0x25')](function(_0x5507a0){var _0x2f8a2d={'name':_0x7995('0x75')+moment()+'_'+_0x3fdb4b,'note':_0x7995('0x76'),'agentFullname':_0x7995('0x65'),'status':_0x7995('0x77'),'companyName':_0x3fe8fc[_0x7995('0x27')],'companyId':_0x3fe8fc['id'],'paid':0x0,'discount':0x0,'receivingStreet':_0x3fe8fc[_0x7995('0x78')],'receivingPostalCode':_0x3fe8fc[_0x7995('0x79')],'receivingCity':_0x3fe8fc['saCity'],'receivingCountry':_0x3fe8fc[_0x7995('0x7a')],'receivingISOCode':_0x3fe8fc[_0x7995('0x7b')],'receivingFiscalCode':_0x3fe8fc['saFiscalCode'],'receivingPIVA':_0x3fe8fc['saPIVA'],'receivingSDICode':_0x3fe8fc[_0x7995('0x7c')],'receivingFiscalMessage':_0x3fe8fc[_0x7995('0x7d')],'receivingExpiryDay':_0x3fe8fc[_0x7995('0x7e')],'receivingEurope':_0x3fe8fc[_0x7995('0x7f')],'receivingSocCap':_0x3fe8fc[_0x7995('0x80')],'issuerName':_0x34724d['name'],'issuerStreet':_0x34724d[_0x7995('0x78')],'issuerPostalCode':_0x34724d[_0x7995('0x79')],'issuerCity':_0x34724d['saCity'],'issuerCountry':_0x34724d[_0x7995('0x7a')],'issuerISOCode':_0x34724d[_0x7995('0x7b')],'issuerFiscalCode':_0x34724d['saFiscalCode'],'issuerPIVA':_0x34724d[_0x7995('0x81')],'issuerSDICode':_0x34724d['saSDICode'],'issuerFiscalMessage':_0x34724d[_0x7995('0x7d')],'issuerExpiryDay':_0x34724d[_0x7995('0x7e')],'issuerSocCap':_0x34724d[_0x7995('0x80')],'issuerBankAccount':_0x5507a0[_0x7995('0x82')],'issuerBankName':_0x5507a0[_0x7995('0x83')],'issuerBankStreet':_0x5507a0['bankstreet'],'issuerBankPostalCode':_0x5507a0[_0x7995('0x84')],'issuerBankCity':_0x5507a0[_0x7995('0x85')],'issuerBankCountry':_0x5507a0[_0x7995('0x86')],'issuerBankBICSWIFT':_0x5507a0['bankBICSWIFT'],'issuerBankIBAN':_0x5507a0[_0x7995('0x87')],'issuerPhone':_0x34724d[_0x7995('0x88')],'issuerFax':_0x34724d[_0x7995('0x89')],'issuerEmail':_0x34724d[_0x7995('0x8a')],'issuerWeb':_0x34724d['website'],'issuerABI':_0x5507a0[_0x7995('0x8b')],'issuerCAB':_0x5507a0[_0x7995('0x8c')],'issuerPayPal':_0x5507a0[_0x7995('0x8d')]};return db['SAInvoice']['create'](_0x2f8a2d,{'transaction':_0x10f4ca})[_0x7995('0x25')](function(_0x333379){var _0x4800a8=[];for(var _0x590373=0x0;_0x590373<_0x2f7f51[_0x7995('0x33')];_0x590373++){_0x4800a8[_0x7995('0x59')](updSubscriptionDetail(_0x2f7f51[_0x590373],_0x3fdb4b,_0x10f4ca));}var _0xcdbd2a=[_0x7995('0x68'),_0x7995('0x55'),'subscriptionId','netPrice'];_(_0x2f7f51)[_0x7995('0x8e')](function(_0x54fad4){return _['find'](_[_0x7995('0x38')](_0x54fad4,_0xcdbd2a),_[_0x7995('0x8f')](_[_0x7995('0x90')]));})['mapValues'](function(_0x3b1309){var _0x3cb1d2=_0x3b1309[0x0];_0x3cb1d2[_0x7995('0x71')]=_0x3b1309[_0x7995('0x33')];if(_0x3fdb4b===_0x7995('0x5a')){_0x3cb1d2['netPrice']=computePrice(_0x3cb1d2[_0x7995('0x91')],_0x3cb1d2[_0x7995('0x61')],_0x3cb1d2[_0x7995('0x6c')],_0x3cb1d2[_0x7995('0x63')]);}_0x4800a8['push'](addSubscriptionInvoiceDetail(_0x3cb1d2,_0x333379,_0x10f4ca));})[_0x7995('0x92')]();return BPromise[_0x7995('0x5b')](_0x4800a8);});});})['catch'](function(_0x310272){console[_0x7995('0x57')]('TCL:\x20exports.automaticProformaInvoice\x20->\x20err',_0x310272);throw _0x310272;});}function computePrice(_0x135f7a,_0x50efab,_0x1b4b34,_0x51e7d7){var _0x21f496=_0x1b4b34;console['log'](_0x7995('0x91'),_0x135f7a);console[_0x7995('0x57')]('dateNextInvoice',_0x50efab);console[_0x7995('0x57')]('subscriptionMonthly',_0x51e7d7);console['log'](_0x7995('0x6c'),_0x1b4b34);if(_0x51e7d7!=0x0){var _0x14812d=moment(_0x135f7a);var _0x784492=moment(_0x50efab);var _0xb7c078=Math['abs'](_0x14812d[_0x7995('0x93')](_0x784492,_0x7995('0x94')));console['log']('diffDay',_0xb7c078);var _0xc2648d=_0x1b4b34/(0x1e*_0x51e7d7);console['log'](_0x7995('0x95'),_0xc2648d);_0x21f496=_0xc2648d*_0xb7c078;}console[_0x7995('0x57')](_0x7995('0x96'),_0x21f496);return _0x21f496;}exports['automaticSubscriptionInvoice']=function(_0x48cfb7,_0x2b7852,_0x553c71){var _0x12e9d9;if(_0x48cfb7[_0x7995('0x46')]['id']){delete _0x48cfb7[_0x7995('0x46')]['id'];}return db[_0x7995('0x4f')]['transaction'](function(_0x52d102){return db['CmCompany'][_0x7995('0x52')]({'where':{'defaultEntry':0x1},'raw':!![]})[_0x7995('0x25')](function(_0x23b4c3){_0x12e9d9=_0x23b4c3;return db[_0x7995('0x2a')][_0x7995('0x41')]({'where':{'dateNextInvoice':{'$lt':moment()},'subscriptionMonthly':{'$ne':0x0},'deleted':null},'order':[[_0x7995('0x53'),'DESC'],['pricelistId',_0x7995('0x54')],['subscriptionId','DESC']],'raw':!![]});})[_0x7995('0x25')](function(_0x5e95c0){console['log'](_0x7995('0x97'),_0x5e95c0);if(_0x5e95c0[_0x7995('0x33')]>0x0){var _0x3873f3=[];var _0x5cef2e=_[_0x7995('0x8e')](_0x5e95c0,_0x7995('0x53'));Object[_0x7995('0x2c')](_0x5cef2e)[_0x7995('0x98')](function(_0x227372){var _0x178746=_0x5cef2e[_0x227372];console[_0x7995('0x57')](_0x7995('0x58'),_0x178746);_0x3873f3[_0x7995('0x59')](addSubscriptionInvoice(_0x178746,_0x12e9d9,_0x227372,'Total',_0x52d102));});return BPromise[_0x7995('0x5b')](_0x3873f3);}else{var _0x87a539={'errors':[{'type':_0x7995('0x99'),'message':_0x7995('0x9a')}]};throw _0x87a539;}});})[_0x7995('0x25')](function(){return _0x2b7852['sendStatus'](0xc8);})[_0x7995('0x43')](function(_0x9c67e5){console[_0x7995('0x57')]('TCL:\x20exports.automaticProformaInvoice\x20->\x20err',_0x9c67e5);if(_0x9c67e5['name']==='SequelizeUniqueConstraintError'){var _0x9c67e5={'errors':[{'message':_0x7995('0x5d')}]};}_0x2b7852[_0x7995('0x1a')](0x1f4)[_0x7995('0x28')](_0x9c67e5);});};