bcb81bf842791c06a9a5989cbee1205983e25cab
[motion2.git] / server / api / saInvoice / saInvoice.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 _0x2546=['</tr>','<tr>','<td\x20colspan=\x223\x22>','<div\x20class=\x22invoiceNumber\x22>','\x20N.%d</div>','number','startDate','DD/MM/YYYY','%s\x20</div>','saExpiryDay','days','endDate','<div\x20class=\x22duedDate\x22>',':\x20%s</div></td>','<table\x20class=\x22roundedCorners\x22>','item','</th>','<th\x20class=\x22itemTabTitle\x22>','description','hrsqty','unitprice','subtotal','netPrice','discount','quantity','productName','<td>%s</td>','<td\x20class=\x22numberCenter\x22>%d</td>','<td\x20class=\x22numberRight\x22>','toFixed','&euro;</td>','isNil','tax','receivingFiscalMessage','indexOf','split\x20payment','<td\x20class=\x22numberRight\x22>\x20','total','<td\x20class=\x22total\x22>','nettopay','</td><td\x20class=\x22total\x20numberRight\x22>','</table>\x20</td>','<tr><td\x20class=\x22totalEmpty\x22>&nbsp;</td></tr>','replace','fromCharCode','<br\x20/>','sendpayment',':</div>','issuerBankAccount','<div\x20class=\x22issuerFiled\x22>','accountholder',':\x20<span\x20class=\x22issuerData\x22>','</span></div>','bankname','issuerBankPostalCode','\x20-\x20','issuerBankCity','issuerBankCountry','cab','issuerABI','swif','iban','issuerBankIBAN','issuerPayPal','paypal','<br\x20/></span></div>','<span>','</span>','thank2','paid','</html>','toFile','log','err','foldername','years','select','from','sa_invoices','count(id)','invoiceNumber','YEAR(startDate)','MONTH(startDate)','invoiceMonth','YEAR(startDate)\x20IN\x20(','group','QueryTypes','SELECT','getInvoicesRevenueBy','sa_invoice_details','said','(startDate)','month','sum(said.netPrice\x20*\x20said.quantity)','monthTotal','sai','sai.id\x20=\x20said.InvoiceId','getYearToCompare','distinct\x20YEAR(startDate)','year','YEAR(startDate)\x20!=\x20YEAR(CURDATE())','getTopClients','dateEnd','relatedCompany','italy','europe','sai.receivingEurope\x20=\x201','com.saCompanyRelationship\x20=\x20','com.CmCompanyId\x20=\x20','sai.companyName','sai.receivingCountry','sum(((said.netPrice\x20-\x20(said.netPrice\x20/\x20100\x20*\x20said.discount))\x20*\x20said.quantity))\x20-\x20coalesce(sai.discount,0)','com.saCompanyRelationship','relationshipId','com.CmCompanyId','relatedCompanyId','relationshipName','relCom.name','cm_companies','com','sai.companyName\x20=\x20com.name','left_join','sa_company_relationships','rel.Id\x20=\x20saCompanyRelationship','relCom','relCom.Id\x20=\x20com.CmCompanyId','sai.startDate\x20>=\x20?','sai.startDate\x20<=\x20?','rel.name','said.discount','sai.discount','addInvoiceCreditnoteDetail->>','companyId','productCode','typeName','pricelistName','priceListId','note','subscriptionId','subscriptionName','SACreditNoteDetail','automaticInvoiceCreditnote','transaction','SACreditNote','push','all','No\x20product\x20to\x20assign\x20credit\x20note.\x20Credit\x20note\x20not\x20created!!\x20','TCL:\x20exports.automaticInvoiceCreditnote\x20->\x20err','SequelizeUniqueConstraintError','Duplicate\x20entry.','html-pdf','eml-format','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','limit','set','Content-Range','json','apply','reject','save','destroy','then','error','stack','name','send','index','SAInvoice','rawAttributes','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filter','merge','map','key','VIRTUAL','field','options','count','includeAll','include','findAll','rows','catch','params','create','sequelize','Sequelize','Transaction','SERIALIZABLE','update','body','find','describe','getInvoicePDF','toString','join','root','server','files','tmp','logos','images','paid-invoice.png','format','Invoice_%s-%s.pdf','invoice','SAInvoiceDetail','details','portrait','1cm','10mm','<span\x20style=\x22color:\x20#444;\x22>{{page}}</span>/<span>{{pages}}</span>','footer','contents','default','<div\x20class=\x22issuerFiledWeb\x22>','</div>','mkdirSync','<html>','<head>\x20<style\x20type=\x22text/css\x22>\x20body{font-family:\x20Roboto,\x20\x27Segoe\x20UI\x27,\x20Tahoma,\x20sans-serif;}.itemTabTitle{background-color:\x20lightgray;\x20height:\x2040px;}.issuerInfo{color:\x20lightgray;\x20padding-top:\x2020px;\x20padding-bottom:\x2020px;\x20font-size:\x2010px;}.issuerData{font-weight:\x20normal}.issuerFiled{font-weight:\x20bold;\x20font-size:\x2010px;\x20padding-left:\x2010px;}.issuerFiledWeb{font-weight:\x20bold;\x20text-align:\x20center;}.receiperInfo{text-align:\x20right;\x20font-size:\x2012px}.receiperCompanyName{font-weight:\x20bolder;\x20padding-bottom:\x2010px;\x20font-size:\x2010px}.reciperFiscalInfo{padding-top:\x205px;\x20padding-bottom:\x205px;,\x20font-size:\x2010px;}table.center{margin-left:\x20auto;\x20margin-right:\x20auto;\x20width:\x2090%;}.total{background-color:\x20lightgray;\x20font-size:\x2018px;\x20font-weight:\x20bold;}.totalText{background-color:\x20lightgray;\x20text-align:\x20right;\x20font-size:\x2016px;\x20padding-right:\x2010px;}.totalEmpty{background-color:\x20#ffffff;}.invoiceNumber{font-weight:\x20bolder;\x20font-size:\x2024px;\x20padding-bottom:\x2020px;}.invoiceNumber{font-weight:\x20bold;\x20font-size:\x2018px;}.createdDate{font-size:\x2014px;\x20padding-top:\x2020px;\x20padding-bottom:\x2020px;}.duedDate{font-size:\x2014px;\x20padding-bottom:\x2010px;}.TFtable{width:\x20100%;\x20font-size:\x208px;\x20border-collapse:\x20collapse;}.TFtable\x20td{padding:\x207px;}.TFtable\x20tr:nth-child(even){background:\x20#ffffff;}.TFtable\x20tr:nth-child(odd){background:\x20rgb(237,\x20232,\x20232);}.numberRight{text-align:\x20right;}.numberCenter{text-align:\x20center}.currency{text-align:\x20left;}table.roundedCorners{border:\x202px\x20solid\x20lightgray;\x20border-radius:\x205px;\x20border-spacing:\x200;\x20width:\x20100%;\x20font-size:\x208px;}table.roundedCorners\x20td,\x20table.roundedCorners\x20th{border-bottom:\x201px\x20solid\x20lightgray;\x20padding:\x2010px;}table.roundedCorners\x20tr:last-child\x20>\x20td{border-bottom:\x20none;}table.roundedCorners\x20tr:nth-child(even){background:\x20#ffffff;}table.roundedCorners\x20tr:nth-child(odd){background:\x20rgb(237,\x20232,\x20232);}.lex{padding-left:\x2010px;font-size:\x2010px;padding-bottom:\x2020px;}.divTotal{float:\x20right;\x20border-radius:\x205px;\x20border:\x202px\x20solid\x20lightgray;\x20padding:\x2010px;\x20margin-top:30px;}.itemTotal{width:\x20200px;\x20line-height:\x2030px;}.tabTotal{border-collapse:\x20collapse;}</style></head>','<body>','Phone','Fax','Email','VAT\x20number','P.IVA','Tax\x20code','C.F.','Cap.Soc.\x20iv','Invoice','Fattura','Proforma','Credit\x20note','Nota\x20di\x20credito','Scadenza','Item','Articolo','Description','Descrizione','Hrs/Qty','Unit\x20Price','Sub\x20Totale','Sconto','Subtotal','Imponibile','Tax','Tasse','Total','Totale','Please\x20send\x20PAYMENT\x20to','Account\x20Holder','Conto\x20intestato\x20a','Bank\x20name','Nome\x20banca','Indirizzo\x20banca','ABI','CAB','BIC','SWIF','IBAN','Pay\x20via\x20Paypal','Paga\x20con\x20Paypal','Thank\x20you\x20for\x20your\x20business.\x20We\x20do\x20expect\x20payment\x20by\x20','Grazie.\x20Prevediamo\x20il\x20pagamento\x20entro\x20',',\x20so\x20please\x20do\x20so\x20within\x20this\x20time.','\x20quindi\x20vi\x20preghiamo\x20di\x20provvedere\x20entro\x20tale\x20termine.','receivingCountry','Italy','<tr>\x20<td\x20colspan=\x223\x22><img\x20src=\x22file://','\x22\x20width=\x22180\x22></td></tr>','issuerName','issuerPostalCode','\x20%s','issuerCity','-\x20%s\x20<br/>','issuerCountry','phone',':\x20%s<br/>','fax','email','issuerEmail','piva','issuerFiscalCode','issuerSDICode','issuerSocCap','</td>','<td></td>','<div\x20class=\x22receiperCompanyName\x22>%s</div>','companyName','%s<br/>','receivingStreet','%s\x20-\x20','receivingPostalCode','receivingCity','<div\x20class=\x22reciperFiscalInfo\x22>','receivingFiscalCode','receivingPIVA','receivingSDICode'];(function(_0x441f4c,_0x50ac69){var _0x2a24e5=function(_0x19ae1e){while(--_0x19ae1e){_0x441f4c['push'](_0x441f4c['shift']());}};_0x2a24e5(++_0x50ac69);}(_0x2546,0x1e2));var _0x6254=function(_0x3906af,_0x149c12){_0x3906af=_0x3906af-0x0;var _0x29883b=_0x2546[_0x3906af];return _0x29883b;};'use strict';var pdf=require(_0x6254('0x0'));var emlformat=require(_0x6254('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6254('0x2'));var rp=require(_0x6254('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6254('0x4'));var util=require(_0x6254('0x5'));var path=require(_0x6254('0x6'));var sox=require(_0x6254('0x7'));var csv=require(_0x6254('0x8'));var ejs=require(_0x6254('0x9'));var fs=require('fs');var _=require(_0x6254('0xa'));var squel=require('squel');var crypto=require(_0x6254('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6254('0xc'));var toCsv=require(_0x6254('0x8'));var querystring=require(_0x6254('0xd'));var Papa=require(_0x6254('0xe'));var Redis=require(_0x6254('0xf'));var authService=require(_0x6254('0x10'));var qs=require(_0x6254('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6254('0x12'))(_0x6254('0x13'));var utils=require(_0x6254('0x14'));var config=require(_0x6254('0x15'));var db=require(_0x6254('0x16'))['db'];function respondWithStatusCode(_0x597138,_0x530b68){_0x530b68=_0x530b68||0xcc;return function(_0x1b5896){if(_0x1b5896){return _0x597138[_0x6254('0x17')](_0x530b68);}return _0x597138[_0x6254('0x18')](_0x530b68)['end']();};}function respondWithResult(_0x142ed2,_0x4bea18){_0x4bea18=_0x4bea18||0xc8;return function(_0x199fc2){if(_0x199fc2){return _0x142ed2[_0x6254('0x18')](_0x4bea18)['json'](_0x199fc2);}};}function respondWithFilteredResult(_0x3ff342,_0x265de5){return function(_0x169f17){if(_0x169f17){var _0x534bd2=_0x169f17['count'],_0x31d13f=_0x265de5['offset'],_0x283a4c=_0x265de5[_0x6254('0x19')]+_0x265de5[_0x6254('0x1a')],_0x11375d;if(_0x283a4c>=_0x534bd2){_0x283a4c=_0x534bd2;_0x11375d=0xc8;}else{_0x11375d=0xce;}_0x3ff342[_0x6254('0x18')](_0x11375d);return _0x3ff342[_0x6254('0x1b')](_0x6254('0x1c'),_0x31d13f+'-'+_0x283a4c+'/'+_0x534bd2)[_0x6254('0x1d')](_0x169f17);}return null;};}function patchUpdates(_0x361380){return function(_0x419288){try{jsonpatch[_0x6254('0x1e')](_0x419288,_0x361380,!![]);}catch(_0xb8560d){return BPromise[_0x6254('0x1f')](_0xb8560d);}return _0x419288[_0x6254('0x20')]();};}function saveUpdates(_0x1f25cc,_0x5d5323){return function(_0x41c535){if(_0x41c535){return _0x41c535['update'](_0x1f25cc)['then'](function(_0x4e1118){return _0x4e1118;});}return null;};}function removeEntity(_0x35d9a5,_0x18c54e){return function(_0x2cd033){if(_0x2cd033){return _0x2cd033[_0x6254('0x21')]()[_0x6254('0x22')](function(){_0x35d9a5[_0x6254('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x46415a,_0x4e1a11){return function(_0x9209){if(!_0x9209){_0x46415a[_0x6254('0x17')](0x194);}return _0x9209;};}function handleError(_0x1cdb7a,_0x408f34){_0x408f34=_0x408f34||0x1f4;return function(_0x40c83e){logger[_0x6254('0x23')](_0x40c83e[_0x6254('0x24')]);if(_0x40c83e[_0x6254('0x25')]){delete _0x40c83e['name'];}_0x1cdb7a[_0x6254('0x18')](_0x408f34)[_0x6254('0x26')](_0x40c83e);};}exports[_0x6254('0x27')]=function(_0x5b9086,_0x4e0ae6){var _0x2c062b={},_0x4e1af5={},_0x2c1879={'count':0x0,'rows':[]};var _0x22bb14=db[_0x6254('0x28')][_0x6254('0x29')];_0x4e1af5[_0x6254('0x2a')]=_[_0x6254('0x2b')](_0x22bb14);_0x4e1af5[_0x6254('0x2c')]=_[_0x6254('0x2b')](_0x5b9086[_0x6254('0x2c')]);_0x4e1af5[_0x6254('0x2d')]=_['intersection'](_0x4e1af5[_0x6254('0x2a')],_0x4e1af5['query']);_0x2c062b[_0x6254('0x2e')]=_[_0x6254('0x2f')](_0x4e1af5['model'],qs[_0x6254('0x30')](_0x5b9086[_0x6254('0x2c')][_0x6254('0x30')]));_0x2c062b[_0x6254('0x2e')]=_0x2c062b[_0x6254('0x2e')][_0x6254('0x31')]?_0x2c062b[_0x6254('0x2e')]:_0x4e1af5['model'];if(!_0x5b9086[_0x6254('0x2c')][_0x6254('0x32')]('nolimit')){_0x2c062b[_0x6254('0x1a')]=qs['limit'](_0x5b9086[_0x6254('0x2c')]['limit']);_0x2c062b[_0x6254('0x19')]=qs[_0x6254('0x19')](_0x5b9086[_0x6254('0x2c')][_0x6254('0x19')]);}_0x2c062b[_0x6254('0x33')]=qs['sort'](_0x5b9086[_0x6254('0x2c')][_0x6254('0x34')]);_0x2c062b[_0x6254('0x35')]=qs[_0x6254('0x2d')](_['pick'](_0x5b9086[_0x6254('0x2c')],_0x4e1af5[_0x6254('0x2d')]));if(_0x5b9086[_0x6254('0x2c')][_0x6254('0x36')]){_0x2c062b[_0x6254('0x35')]=_[_0x6254('0x37')](_0x2c062b[_0x6254('0x35')],{'$or':_[_0x6254('0x38')](_0x22bb14,function(_0x5af94c){if(_0x5af94c['type'][_0x6254('0x39')]!==_0x6254('0x3a')){var _0x51a688={};_0x51a688[_0x5af94c[_0x6254('0x3b')]]={'$like':'%'+_0x5b9086['query'][_0x6254('0x36')]+'%'};return _0x51a688;}})});}_0x2c062b=_[_0x6254('0x37')]({},_0x2c062b,_0x5b9086[_0x6254('0x3c')]);var _0x2597c0={'where':_0x2c062b[_0x6254('0x35')]};return db[_0x6254('0x28')][_0x6254('0x3d')](_0x2597c0)['then'](function(_0x3a8ec3){_0x2c1879['count']=_0x3a8ec3;if(_0x5b9086['query'][_0x6254('0x3e')]){_0x2c062b[_0x6254('0x3f')]=[{'all':!![]}];}return db['SAInvoice'][_0x6254('0x40')](_0x2c062b);})[_0x6254('0x22')](function(_0x1240a6){_0x2c1879[_0x6254('0x41')]=_0x1240a6;return _0x2c1879;})[_0x6254('0x22')](respondWithFilteredResult(_0x4e0ae6,_0x2c062b))[_0x6254('0x42')](handleError(_0x4e0ae6,null));};exports['show']=function(_0x3e760c,_0x609cb0){var _0x20a4f9={'raw':![],'where':{'id':_0x3e760c[_0x6254('0x43')]['id']}},_0x5187b6={};_0x5187b6[_0x6254('0x2a')]=_[_0x6254('0x2b')](db['SAInvoice'][_0x6254('0x29')]);_0x5187b6[_0x6254('0x2c')]=_[_0x6254('0x2b')](_0x3e760c[_0x6254('0x2c')]);_0x5187b6[_0x6254('0x2d')]=_[_0x6254('0x2f')](_0x5187b6[_0x6254('0x2a')],_0x5187b6['query']);_0x20a4f9[_0x6254('0x2e')]=_['intersection'](_0x5187b6['model'],qs['fields'](_0x3e760c[_0x6254('0x2c')][_0x6254('0x30')]));_0x20a4f9[_0x6254('0x2e')]=_0x20a4f9['attributes'][_0x6254('0x31')]?_0x20a4f9[_0x6254('0x2e')]:_0x5187b6['model'];if(_0x3e760c[_0x6254('0x2c')][_0x6254('0x3e')]){_0x20a4f9['include']=[{'all':!![]}];}_0x20a4f9=_[_0x6254('0x37')]({},_0x20a4f9,_0x3e760c[_0x6254('0x3c')]);return db[_0x6254('0x28')]['find'](_0x20a4f9)['then'](handleEntityNotFound(_0x609cb0,null))[_0x6254('0x22')](respondWithResult(_0x609cb0,null))[_0x6254('0x42')](handleError(_0x609cb0,null));};exports[_0x6254('0x44')]=function(_0x230957,_0x4f182e){return db[_0x6254('0x45')]['transaction']({'isolationLevel':db[_0x6254('0x46')][_0x6254('0x47')]['ISOLATION_LEVELS'][_0x6254('0x48')]},function(_0x5a294f){return db[_0x6254('0x28')][_0x6254('0x44')](_0x230957['body'],{'transaction':_0x5a294f});})[_0x6254('0x22')](respondWithResult(_0x4f182e,0xc9))[_0x6254('0x42')](handleError(_0x4f182e,null));};exports[_0x6254('0x49')]=function(_0x15ee7b,_0x46a772){if(_0x15ee7b[_0x6254('0x4a')]['id']){delete _0x15ee7b[_0x6254('0x4a')]['id'];}return db[_0x6254('0x28')]['find']({'where':{'id':_0x15ee7b['params']['id']}})[_0x6254('0x22')](handleEntityNotFound(_0x46a772,null))[_0x6254('0x22')](saveUpdates(_0x15ee7b[_0x6254('0x4a')],null))['then'](respondWithResult(_0x46a772,null))[_0x6254('0x42')](handleError(_0x46a772,null));};exports[_0x6254('0x21')]=function(_0x4e340c,_0x6b4e60){return db['SAInvoice'][_0x6254('0x4b')]({'where':{'id':_0x4e340c['params']['id']}})[_0x6254('0x22')](handleEntityNotFound(_0x6b4e60,null))[_0x6254('0x22')](removeEntity(_0x6b4e60,null))[_0x6254('0x42')](handleError(_0x6b4e60,null));};exports[_0x6254('0x4c')]=function(_0x37a8a4,_0x3f0160){return db[_0x6254('0x28')][_0x6254('0x4c')]()[_0x6254('0x22')](respondWithResult(_0x3f0160,null))['catch'](handleError(_0x3f0160,null));};exports[_0x6254('0x4d')]=function(_0xc2075b,_0x406ca4){var _0x31fdcd=moment()['unix']()[_0x6254('0x4e')]();var _0x5bd202=path[_0x6254('0x4f')](config[_0x6254('0x50')],_0x6254('0x51'),_0x6254('0x52'),_0x6254('0x53'));var _0x3f32e1=path[_0x6254('0x4f')](config['root'],_0x6254('0x51'),'files','images',_0x6254('0x54'),'logo-invoice.png');var _0x44b963=path[_0x6254('0x4f')](config[_0x6254('0x50')],_0x6254('0x51'),'files',_0x6254('0x55'),_0x6254('0x54'),_0x6254('0x56'));var _0xa516d1=path['join'](_0x5bd202,_0x31fdcd);var _0x423253=util[_0x6254('0x57')](_0x6254('0x58'),_0xc2075b[_0x6254('0x43')]['id'],_0x31fdcd);var _0x12e7e9=path[_0x6254('0x4f')](_0xa516d1,_0x423253);var _0x20b65f=![];var _0x5a5da4={};return db[_0x6254('0x28')]['find']({'where':{'id':_0xc2075b[_0x6254('0x43')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x406ca4,null))[_0x6254('0x22')](function(_0x1956ec){if(_0x1956ec){_0x5a5da4[_0x6254('0x59')]=_0x1956ec;return db[_0x6254('0x5a')][_0x6254('0x40')]({'where':{'InvoiceId':_0x1956ec['id']},'raw':!![]})[_0x6254('0x22')](function(_0x4aa09a){_0x5a5da4[_0x6254('0x5b')]=_0x4aa09a;_0x20b65f=!![];var _0x8b9995='';var _0xa6ce7={'format':'A4','orientation':_0x6254('0x5c'),'border':_0x6254('0x5d'),'footer':{'height':_0x6254('0x5e'),'contents':{'default':_0x6254('0x5f')}}};_0xa6ce7[_0x6254('0x60')][_0x6254('0x61')][_0x6254('0x62')]=_0xa6ce7[_0x6254('0x60')][_0x6254('0x61')][_0x6254('0x62')]+_0x6254('0x63')+_0x5a5da4[_0x6254('0x59')]['issuerWeb']+_0x6254('0x64');fs[_0x6254('0x65')](_0xa516d1);_0x8b9995=_0x6254('0x66');_0x8b9995+=_0x6254('0x67');_0x8b9995+=_0x6254('0x68');var _0x45c783={'phone':{'en':_0x6254('0x69'),'it':'Telefono'},'fax':{'en':_0x6254('0x6a'),'it':_0x6254('0x6a')},'email':{'en':_0x6254('0x6b'),'it':'Email'},'piva':{'en':_0x6254('0x6c'),'it':_0x6254('0x6d')},'cf':{'en':_0x6254('0x6e'),'it':_0x6254('0x6f')},'sdi':{'en':'I.S.\x20code','it':'Codice\x20S.D.I.'},'cs':{'en':'Soc.Cap.\x20fp','it':_0x6254('0x70')},'invoice':{'en':_0x6254('0x71'),'it':_0x6254('0x72')},'proforma':{'en':_0x6254('0x73'),'it':'Proforma'},'creditnote':{'en':_0x6254('0x74'),'it':_0x6254('0x75')},'duedate':{'en':'Due\x20date','it':_0x6254('0x76')},'item':{'en':_0x6254('0x77'),'it':_0x6254('0x78')},'description':{'en':_0x6254('0x79'),'it':_0x6254('0x7a')},'hrsqty':{'en':_0x6254('0x7b'),'it':'Ore/Qta'},'unitprice':{'en':_0x6254('0x7c'),'it':'Prezzo\x20Unitario'},'subtotal':{'en':'Sub\x20Total','it':_0x6254('0x7d')},'discount':{'en':'Discount','it':_0x6254('0x7e')},'total':{'en':_0x6254('0x7f'),'it':_0x6254('0x80')},'tax':{'en':_0x6254('0x81'),'it':_0x6254('0x82')},'nettopay':{'en':_0x6254('0x83'),'it':_0x6254('0x84')},'sendpayment':{'en':_0x6254('0x85'),'it':'Si\x20prega\x20di\x20inviare\x20il\x20pagamento\x20a'},'accountholder':{'en':_0x6254('0x86'),'it':_0x6254('0x87')},'bankname':{'en':_0x6254('0x88'),'it':_0x6254('0x89')},'bankaddress':{'en':'Bank\x20Address','it':_0x6254('0x8a')},'abi':{'en':_0x6254('0x8b'),'it':'ABI'},'cab':{'en':_0x6254('0x8c'),'it':_0x6254('0x8c')},'bic':{'en':_0x6254('0x8d'),'it':'BIC'},'swif':{'en':_0x6254('0x8e'),'it':'SWIF'},'iban':{'en':_0x6254('0x8f'),'it':_0x6254('0x8f')},'paypal':{'en':_0x6254('0x90'),'it':_0x6254('0x91')},'thank1':{'en':_0x6254('0x92'),'it':_0x6254('0x93')},'thank2':{'en':_0x6254('0x94'),'it':_0x6254('0x95')}};var _0x1d0022='it';if(_0x5a5da4[_0x6254('0x59')][_0x6254('0x96')]!==_0x6254('0x97')){_0x1d0022='en';}_0x8b9995+='<table\x20class=\x22center\x22>';_0x8b9995+=_0x6254('0x98')+_0x3f32e1+_0x6254('0x99');_0x8b9995+='<tr>';_0x8b9995+=util[_0x6254('0x57')]('<td\x20class=\x22issuerInfo\x22>\x20%s<br/>',_0x5a5da4[_0x6254('0x59')][_0x6254('0x9a')]);_0x8b9995+=util[_0x6254('0x57')]('%s<br/>',_0x5a5da4[_0x6254('0x59')]['issuerStreet']);_0x8b9995+=util[_0x6254('0x57')]('%s',_0x5a5da4['invoice'][_0x6254('0x9b')]);_0x8b9995+=util['format'](_0x6254('0x9c'),_0x5a5da4[_0x6254('0x59')][_0x6254('0x9d')]);_0x8b9995+=util['format'](_0x6254('0x9e'),_0x5a5da4[_0x6254('0x59')][_0x6254('0x9f')]);_0x8b9995+=util[_0x6254('0x57')](_0x45c783[_0x6254('0xa0')][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')]['issuerPhone']);_0x8b9995+=util[_0x6254('0x57')](_0x45c783[_0x6254('0xa2')][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')]['issuerFax']);_0x8b9995+=util[_0x6254('0x57')](_0x45c783[_0x6254('0xa3')][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xa4')]);_0x8b9995+=util['format'](_0x45c783[_0x6254('0xa5')][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')]['issuerPIVA']);_0x8b9995+=util[_0x6254('0x57')](_0x45c783['cf'][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4['invoice'][_0x6254('0xa6')]);_0x8b9995+=util[_0x6254('0x57')](_0x45c783['sdi'][_0x1d0022]+':\x20%s<br/>',_0x5a5da4[_0x6254('0x59')][_0x6254('0xa7')]);_0x8b9995+=util['format'](_0x45c783['cs'][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xa8')]);_0x8b9995+=_0x6254('0xa9');_0x8b9995+=_0x6254('0xaa');_0x8b9995+='<td\x20class=\x22receiperInfo\x22>';_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xab'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xac')]);_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xad'),_0x5a5da4['invoice'][_0x6254('0xae')]);_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xaf'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xb0')]);_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xad'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xb1')]);_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xad'),_0x5a5da4[_0x6254('0x59')]['receivingCountry']);_0x8b9995+=_0x6254('0xb2');if(_0x5a5da4['invoice'][_0x6254('0xb3')]){_0x8b9995+=util[_0x6254('0x57')](_0x45c783['cf'][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xb3')]);}_0x8b9995+=util['format'](_0x45c783[_0x6254('0xa5')][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xb4')]);if(_0x5a5da4[_0x6254('0x59')][_0x6254('0xb5')]){_0x8b9995+=util[_0x6254('0x57')](_0x45c783['sdi'][_0x1d0022]+_0x6254('0xa1'),_0x5a5da4[_0x6254('0x59')][_0x6254('0xb5')]);}_0x8b9995+='</div></td>';_0x8b9995+=_0x6254('0xb6');_0x8b9995+=_0x6254('0xb7');_0x8b9995+=_0x6254('0xb8');_0x8b9995+=util['format'](_0x6254('0xb9')+_0x45c783[_0x6254('0x59')][_0x1d0022]+_0x6254('0xba'),_0x1956ec[_0x6254('0xbb')]);_0x8b9995+=util[_0x6254('0x57')]('<div\x20class=\x22createdDate\x22>%s,\x20',_0x5a5da4[_0x6254('0x59')][_0x6254('0x9d')]);var _0x245bcf=moment(_0x5a5da4[_0x6254('0x59')][_0x6254('0xbc')])['format'](_0x6254('0xbd'));_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xbe'),_0x245bcf);var _0x4dab07=moment(_0x5a5da4[_0x6254('0x59')][_0x6254('0xbc')])['add'](_0x5a5da4[_0x6254('0x59')][_0x6254('0xbf')],_0x6254('0xc0'))[_0x6254('0x57')]('DD/MM/YYYY');if(_0x5a5da4[_0x6254('0x59')][_0x6254('0xc1')]){_0x4dab07=moment(_0x5a5da4['invoice'][_0x6254('0xc1')])[_0x6254('0x57')](_0x6254('0xbd'));}_0x8b9995+=util['format'](_0x6254('0xc2')+_0x45c783['duedate'][_0x1d0022]+_0x6254('0xc3'),_0x4dab07);_0x8b9995+=_0x6254('0xb6');_0x8b9995+=_0x6254('0xb7');_0x8b9995+=_0x6254('0xb8');_0x8b9995+=_0x6254('0xc4');_0x8b9995+=_0x6254('0xb7');_0x8b9995+='<th\x20class=\x22itemTabTitle\x22>'+_0x45c783[_0x6254('0xc5')][_0x1d0022]+_0x6254('0xc6');_0x8b9995+=_0x6254('0xc7')+_0x45c783[_0x6254('0xc8')][_0x1d0022]+_0x6254('0xc6');_0x8b9995+='<th\x20class=\x22itemTabTitle\x22>'+_0x45c783[_0x6254('0xc9')][_0x1d0022]+_0x6254('0xc6');_0x8b9995+=_0x6254('0xc7')+_0x45c783[_0x6254('0xca')][_0x1d0022]+_0x6254('0xc6');_0x8b9995+=_0x6254('0xc7')+_0x45c783[_0x6254('0xcb')][_0x1d0022]+_0x6254('0xc6');_0x8b9995+=_0x6254('0xb6');var _0x13992b=0x0;var _0x520c94=0x0;for(var _0x4cff56=0x0;_0x4cff56<_0x5a5da4[_0x6254('0x5b')][_0x6254('0x31')];_0x4cff56++){var _0x1eab30=0x0;var _0x106d7c=0x0;var _0x5a726b=0x0;var _0xefe165=0x0;_0x1eab30=_0x5a5da4['details'][_0x4cff56][_0x6254('0xcc')]-_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xcc')]/0x64*_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xcd')];_0x106d7c=_0x1eab30/0x64*_0x5a5da4[_0x6254('0x5b')][_0x4cff56]['tax'];_0x5a726b=_0x1eab30*_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xce')];_0xefe165=_0x106d7c*_0x5a5da4['details'][_0x4cff56][_0x6254('0xce')];_0x8b9995+=_0x6254('0xb7');_0x8b9995+=util[_0x6254('0x57')]('<td>%s</td>',_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xcf')]);_0x8b9995+=util[_0x6254('0x57')](_0x6254('0xd0'),_0x5a5da4[_0x6254('0x5b')][_0x4cff56]['productDescription']);_0x8b9995+=util['format'](_0x6254('0xd1'),_0x5a5da4['details'][_0x4cff56][_0x6254('0xce')]);_0x8b9995+=_0x6254('0xd2')+_0x1eab30[_0x6254('0xd3')](0x2)+'&euro;</td>';_0x8b9995+=_0x6254('0xd2')+_0x5a726b[_0x6254('0xd3')](0x2)+_0x6254('0xd4');_0x8b9995+=_0x6254('0xb6');_0x13992b+=_0x5a726b;_0x520c94+=_0xefe165;}_0x8b9995+='</tr></table><div\x20class=\x22divTotal\x22><table\x20class=\x22tabTotal\x22>';if(!_[_0x6254('0xd5')](_0x5a5da4[_0x6254('0x59')][_0x6254('0xcd')])){var _0x3278f7=0x0;var _0x4e58e4=0x0;var _0x26a92b=_0x5a5da4[_0x6254('0x59')][_0x6254('0xcd')]*0x64/_0x13992b;for(var _0x4cff56=0x0;_0x4cff56<_0x5a5da4[_0x6254('0x5b')]['length'];_0x4cff56++){var _0x380012=0x0;var _0x325697=0x0;var _0x149988=0x0;_0x1eab30=_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xcc')]-_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xcc')]/0x64*_0x5a5da4[_0x6254('0x5b')][_0x4cff56]['discount'];_0x380012=_0x1eab30/0x64*_0x26a92b;_0x325697=_0x1eab30-_0x380012;_0x149988=_0x325697*_0x5a5da4['details'][_0x4cff56]['quantity'];_0x3278f7+=_0x149988;_0x4e58e4+=_0x149988/0x64*_0x5a5da4[_0x6254('0x5b')][_0x4cff56][_0x6254('0xd6')];}}var _0x393253=0x0;var _0x56ef3f=0x0;var _0x4b0164=![];var _0x34826b=_0x5a5da4['invoice'][_0x6254('0xd7')];if(_0x34826b[_0x6254('0xd8')](_0x6254('0xd9'))!=-0x1){_0x4b0164=!![];}if(!_[_0x6254('0xd5')](_0x5a5da4[_0x6254('0x59')][_0x6254('0xcd')])){_0x8b9995+=_0x6254('0xb7');if(_0x5a5da4[_0x6254('0x59')][_0x6254('0xcd')]>0x0){_0x8b9995+='<td\x20>'+_0x45c783[_0x6254('0xcd')][_0x1d0022]+'</td>';_0x8b9995+=_0x6254('0xda')+_0x5a5da4['invoice'][_0x6254('0xcd')][_0x6254('0xd3')](0x2)+_0x6254('0xd4');}_0x8b9995+=_0x6254('0xb6');_0x393253=_0x4e58e4;_0x56ef3f=_0x3278f7;}else{_0x393253=_0x520c94;_0x56ef3f=_0x13992b;}if(_0x393253>0x0||_0x5a5da4[_0x6254('0x59')][_0x6254('0xcd')]>0x0){_0x8b9995+=_0x6254('0xb7');_0x8b9995+='<td\x20class=\x22itemTotal\x22>'+_0x45c783[_0x6254('0xdb')][_0x1d0022]+_0x6254('0xa9');_0x8b9995+=_0x6254('0xd2')+_0x56ef3f['toFixed'](0x2)+_0x6254('0xd4');_0x8b9995+=_0x6254('0xb6');}if(_0x393253>0x0){_0x8b9995+=_0x6254('0xb7');_0x8b9995+='<td\x20class=\x22itemTotal\x22>'+_0x45c783['tax'][_0x1d0022]+_0x6254('0xa9');_0x8b9995+=_0x6254('0xd2')+_0x393253[_0x6254('0xd3')](0x2)+_0x6254('0xd4');_0x8b9995+=_0x6254('0xb6');}_0x8b9995+='<tr>';var _0x26210f;if(_0x4b0164){_0x26210f=_0x56ef3f;}else{_0x26210f=_0x56ef3f+_0x393253;}_0x8b9995+=_0x6254('0xdc')+_0x45c783[_0x6254('0xdd')][_0x1d0022]+_0x6254('0xde')+_0x26210f[_0x6254('0xd3')](0x2)+_0x6254('0xd4');_0x8b9995+=_0x6254('0xdf');_0x8b9995+=_0x6254('0xb6');_0x8b9995+=_0x6254('0xe0');_0x8b9995+='</table></div><table>';_0x8b9995+='<tr>';_0x8b9995+=util[_0x6254('0x57')]('<td\x20class=\x22lex\x22\x20colspan=\x222\x22>\x20%s\x20</td>',_0x5a5da4[_0x6254('0x59')][_0x6254('0xd7')][_0x6254('0xe1')](new RegExp(String[_0x6254('0xe2')](0xd),'g'),_0x6254('0xe3')));_0x8b9995+=_0x6254('0xb6');_0x8b9995+=_0x6254('0xb7');_0x8b9995+=_0x6254('0xb8');_0x8b9995+='<div\x20class=\x22issuerFiled\x22>'+_0x45c783[_0x6254('0xe4')][_0x1d0022]+_0x6254('0xe5');if(!_['isNil'](_0x5a5da4[_0x6254('0x59')][_0x6254('0xe6')])){_0x8b9995+=_0x6254('0xe7')+_0x45c783[_0x6254('0xe8')][_0x1d0022]+_0x6254('0xe9')+_0x5a5da4[_0x6254('0x59')][_0x6254('0xe6')]+_0x6254('0xea');_0x8b9995+=_0x6254('0xe7')+_0x45c783[_0x6254('0xeb')][_0x1d0022]+_0x6254('0xe9')+_0x5a5da4[_0x6254('0x59')]['issuerBankName']+'</span>\x20</div>';_0x8b9995+=_0x6254('0xe7')+_0x45c783['bankaddress'][_0x1d0022]+_0x6254('0xe9')+_0x5a5da4[_0x6254('0x59')]['issuerBankStreet']+',\x20'+_0x5a5da4['invoice'][_0x6254('0xec')]+_0x6254('0xed')+_0x5a5da4[_0x6254('0x59')][_0x6254('0xee')]+'\x20('+_0x5a5da4['invoice'][_0x6254('0xef')]+')'+_0x6254('0xea');_0x8b9995+='<div\x20class=\x22issuerFiled\x22>'+_0x45c783['abi'][_0x1d0022]+'/'+_0x45c783[_0x6254('0xf0')][_0x1d0022]+_0x6254('0xe9')+_0x5a5da4[_0x6254('0x59')][_0x6254('0xf1')]+'/'+_0x5a5da4[_0x6254('0x59')]['issuerCAB']+'</span></div>';_0x8b9995+=_0x6254('0xe7')+_0x45c783['bic'][_0x1d0022]+'/'+_0x45c783[_0x6254('0xf2')][_0x1d0022]+':\x20<span\x20class=\x22issuerData\x22>'+_0x5a5da4[_0x6254('0x59')]['issuerBankBICSWIFT']+_0x6254('0xea');_0x8b9995+=_0x6254('0xe7')+_0x45c783[_0x6254('0xf3')][_0x1d0022]+_0x6254('0xe9')+_0x5a5da4[_0x6254('0x59')][_0x6254('0xf4')]+_0x6254('0xea');}if(!_[_0x6254('0xd5')](_0x5a5da4[_0x6254('0x59')][_0x6254('0xf5')])){_0x8b9995+='<div\x20class=\x22issuerFiled\x22>'+_0x45c783[_0x6254('0xf6')][_0x1d0022]+_0x6254('0xe9')+_0x5a5da4['invoice']['issuerPayPal']+_0x6254('0xf7');}_0x8b9995+=_0x6254('0xe7')+_0x45c783['thank1'][_0x1d0022]+_0x6254('0xf8')+_0x4dab07+_0x6254('0xf9')+_0x45c783[_0x6254('0xfa')][_0x1d0022]+_0x6254('0x64');_0x8b9995+=_0x6254('0xa9');_0x8b9995+=_0x6254('0xb6');if(_0x5a5da4[_0x6254('0x59')][_0x6254('0xfb')]===0x1){_0x8b9995+=_0x6254('0x98')+_0x44b963+_0x6254('0x99');}_0x8b9995+='</table>';_0x8b9995+='</body>';_0x8b9995+=_0x6254('0xfc');console['log'](_0x6254('0x4a'),_0x8b9995);return new BPromise(function(_0x1ab279,_0x1570eb){pdf['create'](_0x8b9995,_0xa6ce7)[_0x6254('0xfd')](path[_0x6254('0x4f')](_0xa516d1,_0x423253),function(_0x2826af,_0x259b6f){if(_0x2826af)return _0x1570eb(_0x2826af);_0x1ab279(_0x259b6f);});});});}})[_0x6254('0x22')](function(){if(_0x20b65f){console[_0x6254('0xfe')]('TCL:\x20exports.getInvoicePDF\x20->\x20saveTo,\x20fileName',_0x12e7e9,_0x423253);return _0x406ca4['download'](_0x12e7e9,_0x423253,function(_0x434b38){if(_0x434b38){console['log'](_0x6254('0xff'),_0x434b38);}else{console[_0x6254('0xfe')](_0x6254('0x100'),_0xa516d1);rimraf(_0xa516d1,function(){});}});}else{return _0x406ca4[_0x6254('0x17')](0xc8);}})[_0x6254('0x42')](handleError(_0x406ca4,null));};exports['getInvoicesNumberByYear']=function(_0x4bc0ca,_0x3e9273){var _0x5b2cc0=_0x4bc0ca[_0x6254('0x2c')][_0x6254('0x101')];var _0x4f4a72=squel[_0x6254('0x102')]()[_0x6254('0x103')](_0x6254('0x104'))[_0x6254('0x3b')](_0x6254('0x105'),_0x6254('0x106'))[_0x6254('0x3b')](_0x6254('0x107'),'invoiceYear')[_0x6254('0x3b')](_0x6254('0x108'),_0x6254('0x109'))['where'](_0x6254('0x10a')+_0x5b2cc0+')')['order'](_0x6254('0x108'))[_0x6254('0x33')]('YEAR(startDate)',![])['group'](_0x6254('0x107'))[_0x6254('0x10b')](_0x6254('0x108'));return db['sequelize']['query'](_0x4f4a72[_0x6254('0x4e')](),{'type':db[_0x6254('0x45')][_0x6254('0x10c')][_0x6254('0x10d')]})[_0x6254('0x22')](function(_0x475330){return{'count':_0x475330[_0x6254('0x31')],'rows':_0x475330};})[_0x6254('0x22')](handleEntityNotFound(_0x3e9273,null))['then'](respondWithResult(_0x3e9273,null))[_0x6254('0x42')](handleError(_0x3e9273,null));};exports[_0x6254('0x10e')]=function(_0x2ec895,_0x176034){var _0x66b250=_0x2ec895['query'][_0x6254('0x101')];var _0x2e9cf0=squel[_0x6254('0x102')]()['from'](_0x6254('0x10f'),_0x6254('0x110'))[_0x6254('0x3b')](_0x2ec895[_0x6254('0x2c')][_0x6254('0x10b')]+_0x6254('0x111'),_0x6254('0x112'))['field']('YEAR(startDate)','year')[_0x6254('0x3b')](_0x6254('0x113'),_0x6254('0x114'))[_0x6254('0x4f')](_0x6254('0x104'),_0x6254('0x115'),_0x6254('0x116'))[_0x6254('0x35')](_0x6254('0x10a')+_0x66b250+')')[_0x6254('0x33')](_0x2ec895[_0x6254('0x2c')][_0x6254('0x10b')]+_0x6254('0x111'))[_0x6254('0x33')](_0x2ec895[_0x6254('0x2c')][_0x6254('0x10b')]+'(startDate)',![])['group'](_0x6254('0x107'))['group'](_0x2ec895[_0x6254('0x2c')][_0x6254('0x10b')]+'(startDate)');return db[_0x6254('0x45')]['query'](_0x2e9cf0[_0x6254('0x4e')](),{'type':db[_0x6254('0x45')][_0x6254('0x10c')]['SELECT']})[_0x6254('0x22')](function(_0xd3ba34){return{'count':_0xd3ba34[_0x6254('0x31')],'rows':_0xd3ba34};})[_0x6254('0x22')](handleEntityNotFound(_0x176034,null))[_0x6254('0x22')](respondWithResult(_0x176034,null))['catch'](handleError(_0x176034,null));};exports[_0x6254('0x117')]=function(_0x5ed6bd,_0x5d80ac){var _0x240408=squel[_0x6254('0x102')]()[_0x6254('0x103')](_0x6254('0x104'))[_0x6254('0x3b')](_0x6254('0x118'),_0x6254('0x119'))[_0x6254('0x35')](_0x6254('0x11a'))[_0x6254('0x33')](_0x6254('0x107'),![])[_0x6254('0x10b')]('YEAR(startDate)');return db[_0x6254('0x45')]['query'](_0x240408[_0x6254('0x4e')](),{'type':db[_0x6254('0x45')][_0x6254('0x10c')]['SELECT']})[_0x6254('0x22')](function(_0x3c4097){return{'count':_0x3c4097[_0x6254('0x31')],'rows':_0x3c4097};})['then'](handleEntityNotFound(_0x5d80ac,null))[_0x6254('0x22')](respondWithResult(_0x5d80ac,null))[_0x6254('0x42')](handleError(_0x5d80ac,null));};exports[_0x6254('0x11b')]=function(_0x57af71,_0x2d92fb){var _0x2fbce4=_0x57af71[_0x6254('0x2c')]['dateStart'];var _0x5ddfa1=_0x57af71[_0x6254('0x2c')][_0x6254('0x11c')];var _0x258ebc=_0x57af71[_0x6254('0x2c')]['top'];var _0x194c17=_0x57af71[_0x6254('0x2c')]['area'];var _0x199bbb=_0x57af71[_0x6254('0x2c')]['relationship'];var _0x4824c5=_0x57af71[_0x6254('0x2c')][_0x6254('0x11d')];var _0x40860d='';var _0x1a9266='';var _0x33da33='';if(_0x194c17){switch(_0x194c17){case _0x6254('0x11e'):_0x40860d='sai.receivingCountry\x20=\x20\x22italy\x22';break;case _0x6254('0x11f'):_0x40860d=_0x6254('0x120');}}if(_0x199bbb){_0x1a9266=_0x6254('0x121')+_0x199bbb;}if(_0x4824c5){_0x33da33=_0x6254('0x122')+_0x4824c5;}var _0x4b3a12=squel[_0x6254('0x102')]()[_0x6254('0x103')](_0x6254('0x10f'),_0x6254('0x110'))[_0x6254('0x3b')](_0x6254('0x123'),_0x6254('0x25'))[_0x6254('0x3b')](_0x6254('0x124'),'nation')[_0x6254('0x3b')](_0x6254('0x125'),_0x6254('0xdb'))[_0x6254('0x3b')](_0x6254('0x126'),_0x6254('0x127'))[_0x6254('0x3b')](_0x6254('0x128'),_0x6254('0x129'))[_0x6254('0x3b')]('rel.name',_0x6254('0x12a'))[_0x6254('0x3b')](_0x6254('0x12b'),'companyRelatedName')[_0x6254('0x1a')](_0x258ebc)[_0x6254('0x19')](0x0)['join']('sa_invoices',_0x6254('0x115'),_0x6254('0x116'))[_0x6254('0x4f')](_0x6254('0x12c'),_0x6254('0x12d'),_0x6254('0x12e'))[_0x6254('0x12f')](_0x6254('0x130'),'rel',_0x6254('0x131'))['left_join']('cm_companies',_0x6254('0x132'),_0x6254('0x133'))[_0x6254('0x35')](_0x6254('0x134'),_0x2fbce4)[_0x6254('0x35')](_0x6254('0x135'),_0x5ddfa1)[_0x6254('0x35')](_0x40860d)['where'](_0x1a9266)[_0x6254('0x35')](_0x33da33)[_0x6254('0x33')](_0x6254('0x125'),![])[_0x6254('0x10b')](_0x6254('0x123'))[_0x6254('0x10b')]('sai.receivingCountry')[_0x6254('0x10b')](_0x6254('0x126'))[_0x6254('0x10b')](_0x6254('0x128'))[_0x6254('0x10b')](_0x6254('0x136'))['group'](_0x6254('0x12b'))[_0x6254('0x10b')](_0x6254('0x137'))[_0x6254('0x10b')](_0x6254('0x138'));console[_0x6254('0xfe')]('query.toString()',_0x4b3a12[_0x6254('0x4e')]());return db[_0x6254('0x45')][_0x6254('0x2c')](_0x4b3a12['toString'](),{'type':db['sequelize']['QueryTypes']['SELECT']})[_0x6254('0x22')](function(_0x501279){return{'count':_0x501279[_0x6254('0x31')],'rows':_0x501279};})[_0x6254('0x22')](handleEntityNotFound(_0x2d92fb,null))[_0x6254('0x22')](respondWithResult(_0x2d92fb,null))['catch'](handleError(_0x2d92fb,null));};function addInvoiceCreditnoteDetail(_0x2a6150,_0x5d5015,_0x51dbe7){console[_0x6254('0xfe')](_0x6254('0x139'),_0x2a6150);var _0x305a44={'companyName':_0x2a6150['companyName'],'companyId':_0x2a6150[_0x6254('0x13a')],'productName':_0x2a6150[_0x6254('0xcf')],'productCode':_0x2a6150[_0x6254('0x13b')],'productDescription':_0x2a6150['productDescription'],'typeName':_0x2a6150[_0x6254('0x13c')],'pricelistName':_0x2a6150[_0x6254('0x13d')],'priceListId':_0x2a6150[_0x6254('0x13e')],'netPrice':_0x2a6150[_0x6254('0xcc')],'discount':_0x2a6150[_0x6254('0xcd')],'tax':_0x2a6150[_0x6254('0xd6')],'agentFullname':_0x2a6150['agentFullname'],'note':_0x2a6150[_0x6254('0x13f')],'subscriptionId':_0x2a6150[_0x6254('0x140')],'subscriptionName':_0x2a6150[_0x6254('0x141')],'subscriptionMonthly':_0x2a6150['subscriptionMonthly'],'quantity':_0x2a6150[_0x6254('0xce')],'CreditNoteId':_0x5d5015,'unitName':_0x2a6150['unitName']};return db[_0x6254('0x142')]['create'](_0x305a44,{'transaction':_0x51dbe7});}exports[_0x6254('0x143')]=function(_0x42ecb9,_0x5f562e,_0x12db78){var _0x2de61d;if(_0x42ecb9[_0x6254('0x4a')]['id']){delete _0x42ecb9[_0x6254('0x4a')]['id'];}console[_0x6254('0xfe')](_0x42ecb9);return db['sequelize'][_0x6254('0x144')](function(_0x37a2c3){return db[_0x6254('0x145')][_0x6254('0x44')](_0x42ecb9[_0x6254('0x4a')],{'transaction':_0x37a2c3})['then'](function(_0x5a0b6f){_0x2de61d=_0x5a0b6f;var _0x34dca3=_0x42ecb9[_0x6254('0x43')]['id'];return db['SAInvoiceDetail'][_0x6254('0x40')]({'where':{'InvoiceId':_0x34dca3},'raw':!![],'logging':console[_0x6254('0xfe')]});})[_0x6254('0x22')](function(_0x30ed6f){if(_0x30ed6f[_0x6254('0x31')]>0x0){var _0x134688=[];for(var _0x33ec13=0x0;_0x33ec13<_0x30ed6f['length'];_0x33ec13++){_0x134688[_0x6254('0x146')](addInvoiceCreditnoteDetail(_0x30ed6f[_0x33ec13],_0x2de61d['id'],_0x37a2c3));}return BPromise[_0x6254('0x147')](_0x134688);}else{var _0x167f85={'errors':[{'type':'WARNING','message':_0x6254('0x148')}]};throw _0x167f85;}});})[_0x6254('0x22')](function(){return _0x5f562e['sendStatus'](0xc8);})['catch'](function(_0xf99f7b){console[_0x6254('0xfe')](_0x6254('0x149'),_0xf99f7b);if(_0xf99f7b[_0x6254('0x25')]===_0x6254('0x14a')){var _0xf99f7b={'errors':[{'message':_0x6254('0x14b')}]};}_0x5f562e[_0x6254('0x18')](0x1f4)[_0x6254('0x26')](_0xf99f7b);});};