5120-reports_loopback #1389

Merged
joan merged 8 commits from 5120-reports_loopback into dev 2023-03-16 06:34:52 +00:00
6 changed files with 32 additions and 28 deletions

View File

@ -62,6 +62,11 @@
"type": "belongsTo", "type": "belongsTo",
"model": "Bank", "model": "Bank",
"foreignKey": "bankFk" "foreignKey": "bankFk"
},
"supplier": {
"type": "belongsTo",
"model": "Supplier",
"foreignKey": "companyFk"
} }
} }
} }

View File

@ -17,8 +17,8 @@
</p> </p>
<h4 style="text-align: center; margin-top: 10%">{{$t('Agree') | uppercase}}</h4> <h4 style="text-align: center; margin-top: 10%">{{$t('Agree') | uppercase}}</h4>
<p style="margin-top: 8%; text-align: justify"> <p style="margin-top: 8%; text-align: justify">
{{$t('Date')}} {{client.payed | date('%d-%m-%Y')}} {{$t('Compensate')}} {{client.amountPaid}} € {{$t('Date')}} {{formatDate(receipt.payed, '%d-%m-%Y')}} {{$t('Compensate')}} {{receipt.amountPaid}} €
{{$t('From client')}} {{client.name}} {{$t('Against the balance of')}}: {{client.invoiceFk}}. {{$t('From client')}} {{client.name}} {{$t('Against the balance of')}}: {{receipt.description}}.
</p> </p>
<p style="margin-top: 8%"> <p style="margin-top: 8%">
{{$t('Reception')}} <span style="color: blue">administracion@verdnatura.es</span> {{$t('Reception')}} <span style="color: blue">administracion@verdnatura.es</span>

View File

@ -1,12 +1,31 @@
const vnReport = require('../../../core/mixins/vn-report.js'); const vnReport = require('../../../core/mixins/vn-report.js');
const app = require('vn-loopback/server/server');
module.exports = { module.exports = {
name: 'balance-compensation', name: 'balance-compensation',
mixins: [vnReport], mixins: [vnReport],
async serverPrefetch() { async serverPrefetch() {
this.client = await this.findOneFromDef('client', [this.id]); this.receipt = await app.models.Receipt.findOne({
this.checkMainEntity(this.client); fields: ['amountPaid', 'payed', 'clientFk', 'companyFk', 'description'],
this.company = await this.findOneFromDef('company', [this.id]); include: [
{
relation: 'client',
scope: {
fields: ['name', 'street', 'fi', 'city'],
}
}, {
relation: 'supplier',
scope: {
fields: ['name', 'street', 'nif', 'city'],
}
}
],
where: {id: this.id}
});
this.client = this.receipt.client();
this.company = this.receipt.supplier();
this.checkMainEntity(this.receipt);
}, },
props: { props: {
id: { id: {

View File

@ -1,12 +0,0 @@
SELECT
c.name,
c.socialName,
c.street,
c.fi,
c.city,
r.invoiceFk,
r.amountPaid,
r.payed
FROM client c
JOIN receipt r ON r.clientFk = c.id
WHERE r.id = ?

View File

@ -1,8 +0,0 @@
SELECT
s.name,
s.nif,
s.street,
s.city
FROM supplier s
JOIN receipt r ON r.companyFk = s.id
WHERE r.id = ?;

View File

@ -38,11 +38,11 @@ module.exports = {
computed: { computed: {
landedEnd: function() { landedEnd: function() {
if (!this.landedTo) return; if (!this.landedTo) return;
return formatDate(this.landedTo, '%Y-%m-%d'); return this.formatDate(this.landedTo, '%Y-%m-%d');
}, },
shippedStart: function() { shippedStart: function() {
if (!this.shippedFrom) return; if (!this.shippedFrom) return;
return formatDate(this.shippedFrom, '%Y-%m-%d'); return this.formatDate(this.shippedFrom, '%Y-%m-%d');
} }
}, },
methods: { methods: {