Merge pull request '3112 - addd cmr-authorization report' (#817) from 3112-cmr_report into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #817 Reviewed-by: Carlos Jimenez Ruiz <carlosjr@verdnatura.es>
This commit is contained in:
commit
9c518e182d
|
@ -0,0 +1,8 @@
|
||||||
|
const Stylesheet = require(`${appPath}/core/stylesheet`);
|
||||||
|
|
||||||
|
module.exports = new Stylesheet([
|
||||||
|
`${appPath}/common/css/layout.css`,
|
||||||
|
`${appPath}/common/css/report.css`,
|
||||||
|
`${appPath}/common/css/misc.css`,
|
||||||
|
`${__dirname}/style.css`])
|
||||||
|
.mergeStyles();
|
|
@ -0,0 +1,31 @@
|
||||||
|
.grid-block {
|
||||||
|
font-size: 1.2em
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature .dummy-signature {
|
||||||
|
width: 400px;
|
||||||
|
height: 190px;
|
||||||
|
display: block;
|
||||||
|
content: '';
|
||||||
|
overflow: hidden;
|
||||||
|
clear:both
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature img {
|
||||||
|
width: 400px
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature table {
|
||||||
|
width: 100%;
|
||||||
|
font-size: inherit;
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature table tr > td:first-child {
|
||||||
|
width: 50%
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature table tr > td:last-child {
|
||||||
|
border-bottom: 1px dashed #CCC
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 101 KiB |
|
@ -0,0 +1,99 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html v-bind:lang="$i18n.locale">
|
||||||
|
<body>
|
||||||
|
<table class="grid">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<!-- Header block -->
|
||||||
|
<report-header v-bind="$props"></report-header>
|
||||||
|
<!-- Block -->
|
||||||
|
<div class="grid-row">
|
||||||
|
<div class="grid-block">
|
||||||
|
<p v-html="$t('description', {
|
||||||
|
socialName: client.socialName,
|
||||||
|
name: client.name,
|
||||||
|
address: client.street,
|
||||||
|
country: client.country,
|
||||||
|
fiscalID: client.fi
|
||||||
|
})"></p>
|
||||||
|
<p v-html="$t('declaration', {
|
||||||
|
socialName: client.socialName
|
||||||
|
})"></p>
|
||||||
|
<p
|
||||||
|
v-for="(declaration, $index) in $t('declarations')"
|
||||||
|
v-html="$t('declarations[' + $index + ']', {
|
||||||
|
socialName: client.socialName,
|
||||||
|
destinationCountry: ticket.country,
|
||||||
|
destinationWarehouse: ticket.warehouse
|
||||||
|
})">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="columns">
|
||||||
|
<div class="size50 signature">
|
||||||
|
<p class="centered">{{client.name}}</p>
|
||||||
|
<div class="dummy-signature centered"></div>
|
||||||
|
<p>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{$t('signer.representative')}}:</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{$t('signer.representativeRole')}}:</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{$t('signer.signed')}}:</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="size50 signature centered">
|
||||||
|
<p>{{$t('signature')}}</p>
|
||||||
|
<img v-bind:src="getReportSrc('signature.png')">
|
||||||
|
<p>
|
||||||
|
<div>Juan Vicente Ferrer Roig</div>
|
||||||
|
<div>Director</div>
|
||||||
|
<p>{{$t('issued', [
|
||||||
|
'Algemesí',
|
||||||
|
issued.getDate(),
|
||||||
|
$t('months')[issued.getMonth()],
|
||||||
|
issued.getFullYear()])
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="signature">
|
||||||
|
<p>{{$t('issued', [
|
||||||
|
'Algemesí',
|
||||||
|
invoice.issued.getDate(),
|
||||||
|
$t('months')[invoice.issued.getMonth()],
|
||||||
|
invoice.issued.getFullYear()])
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
<p><em>({{$t('signature')}})</em></p>
|
||||||
|
<img v-bind:src="getReportSrc('signature.png')">
|
||||||
|
<p>
|
||||||
|
<div>{{$t('signer.name')}}: JUAN VICENTE FERRER ROIG</div>
|
||||||
|
<div>{{$t('signer.ID')}}: 73943586N</div>
|
||||||
|
<div>{{$t('signer.position')}}: ADMINISTRADOR</div>
|
||||||
|
</p>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Footer block -->
|
||||||
|
<report-footer id="pageFooter"
|
||||||
|
v-bind:left-text="$t('client', [client.id])"
|
||||||
|
v-bind="$props">
|
||||||
|
</report-footer>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,29 @@
|
||||||
|
const Component = require(`${appPath}/core/component`);
|
||||||
|
const reportHeader = new Component('report-header');
|
||||||
|
const reportFooter = new Component('report-footer');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'cmr-authorization',
|
||||||
|
async serverPrefetch() {
|
||||||
|
this.ticket = await this.findOneFromDef('ticket', [this.ticketId]);
|
||||||
|
if (!this.ticket)
|
||||||
|
throw new Error('Something went wrong');
|
||||||
|
|
||||||
|
this.client = await this.findOneFromDef('client', [this.ticket.clientFk]);
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
issued: function() {
|
||||||
|
return new Date();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
'report-header': reportHeader.build(),
|
||||||
|
'report-footer': reportFooter.build()
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
ticketId: {
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,41 @@
|
||||||
|
description: '<em>{socialName}</em> una sociedad debidamente constituida con responsabilidad <em>limitada</em>
|
||||||
|
y registrada conforme al derecho de sociedades de {country} y aquí representada por
|
||||||
|
<span>___________________</span>. {socialName}, con domicilio en {address},
|
||||||
|
CIF <em>{fiscalID}</em>. En adelante denominada {name}.'
|
||||||
|
issued: 'En {0}, a {1} de {2} de {3}'
|
||||||
|
client: 'Client {0}'
|
||||||
|
declaration: '<em>{socialName}</em> declara por la presente que:'
|
||||||
|
declarations:
|
||||||
|
- 'Todas las compras realizadas por {socialName} con Verdnatura Levante, S.L. se
|
||||||
|
entregan, Ex Works (Incoterms), en el almacén de Verdnatura Levante, S.L. situado en
|
||||||
|
{destinationWarehouse}.'
|
||||||
|
- '{socialName} reconoce que es importante para Verdnatura Levante, S.L. tener
|
||||||
|
comprobante de la entrega intracomunitaria de la mercancía a {destinationCountry} para
|
||||||
|
poder facturar con 0% de IVA.'
|
||||||
|
- 'Por tanto, al firmar este acuerdo, {socialName} declara que todos los bienes que
|
||||||
|
se compren a Verdnatura Levante, S.L. serán entregados a {destinationCountry}.'
|
||||||
|
- 'Además, {socialName} deberá, a primera solicitud de Verdnatura Levante, S.L.,
|
||||||
|
proporcionar una prueba de que todos los productos comprados a Verdnatura Levante, S.L. han
|
||||||
|
sido entregados en {destinationCountry}.'
|
||||||
|
- 'Además de lo anterior, Verdnatura Levante, S.L. proporcionará a {socialName}
|
||||||
|
un resumen mensual en el que se incluyen todas las facturas (y las entregas correspondientes).
|
||||||
|
{socialName} firmará y devolverá el resumen mensual a Verdnatura Levante,
|
||||||
|
S.L. dentro de los 5 días posteriores a la recepción del resumen.'
|
||||||
|
signature: Verdnatura Levante, S.L.
|
||||||
|
signer:
|
||||||
|
representative: Representante
|
||||||
|
representativeRole: Cargo del representante
|
||||||
|
signed: Fecha de firma
|
||||||
|
months:
|
||||||
|
- 'Enero'
|
||||||
|
- 'Febrero'
|
||||||
|
- 'Marzo'
|
||||||
|
- 'Abril'
|
||||||
|
- 'Mayo'
|
||||||
|
- 'Junio'
|
||||||
|
- 'Julio'
|
||||||
|
- 'Agosto'
|
||||||
|
- 'Septiembre'
|
||||||
|
- 'Octubre'
|
||||||
|
- 'Noviembre'
|
||||||
|
- 'Diciembre'
|
|
@ -0,0 +1,10 @@
|
||||||
|
SELECT
|
||||||
|
c.id,
|
||||||
|
c.socialName,
|
||||||
|
c.name,
|
||||||
|
c.fi,
|
||||||
|
c.street,
|
||||||
|
cty.country
|
||||||
|
FROM client c
|
||||||
|
JOIN country cty ON cty.id = c.countryFk
|
||||||
|
WHERE c.id = ?
|
|
@ -0,0 +1,12 @@
|
||||||
|
SELECT
|
||||||
|
t.id,
|
||||||
|
t.clientFk,
|
||||||
|
cty.country,
|
||||||
|
w.name AS warehouse
|
||||||
|
FROM ticket t
|
||||||
|
JOIN warehouse w ON w.id = t.warehouseFk
|
||||||
|
JOIN address a ON a.id = t.addressFk
|
||||||
|
JOIN province p ON p.id = a.provinceFk
|
||||||
|
JOIN autonomy au ON au.id = p.autonomyFk
|
||||||
|
JOIN country cty ON cty.id = au.countryFk
|
||||||
|
WHERE t.id = ?
|
Loading…
Reference in New Issue