Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into dev
gitea/salix/dev This commit looks good Details

This commit is contained in:
Joan Sanchez 2019-04-10 12:04:22 +02:00
commit 49ef341eb6
15 changed files with 111 additions and 36 deletions

View File

@ -1,7 +1,7 @@
const app = require('vn-loopback/server/server');
describe('message send()', () => {
it('should call the send method and return the response', async() => {
it('should return a response containing the same message in params', async() => {
let ctx = {req: {accessToken: {userId: 1}}};
let params = {
recipientFk: 1,

View File

@ -355,15 +355,15 @@ INSERT INTO `vn`.`creditInsurance`(`id`, `creditClassification`, `credit`, `crea
(2, 2 , 6000, DATE_ADD(CURDATE(), INTERVAL -2 MONTH), NULL),
(3, 3, 10000 , DATE_ADD(CURDATE(), INTERVAL -3 MONTH), NULL);
INSERT INTO `vn`.`route`(`id`, `workerFk`, `created`, `vehicleFk`, `agencyModeFk`, `description`, `m3`, `cost`, `started`, `finished`)
INSERT INTO `vn`.`route`(`id`, `time`, `workerFk`, `created`, `vehicleFk`, `agencyModeFk`, `description`, `m3`, `cost`, `started`, `finished`)
VALUES
(1, 56, CURDATE(), 1, 1, 'first route', null, 10, CURDATE(), CURDATE()),
(2, 56, CURDATE(), 1, 1, 'second route', 4.2, 20, CURDATE(), CURDATE()),
(3, 56, CURDATE(), 2, 7, 'third route', 5.3, 30, CURDATE(), CURDATE()),
(4, 56, CURDATE(), 3, 7, 'fourth route', 6.4, 40, CURDATE(), CURDATE()),
(5, 56, CURDATE(), 4, 8, 'fifth route', 7.5, 50, CURDATE(), CURDATE()),
(6, 57, CURDATE(), 5, 8, 'sixth route', 8.6, 60, CURDATE(), CURDATE()),
(7, 57, CURDATE(), 6, null, 'seventh route', 9.7, 70, CURDATE(), CURDATE());
(1, '1899-12-30 12:15:00', 56, CURDATE(), 1, 1, 'first route', null, 10, CURDATE(), CURDATE()),
(2, '1899-12-30 13:20:00', 56, CURDATE(), 1, 1, 'second route', 4.2, 20, CURDATE(), CURDATE()),
(3, '1899-12-30 14:30:00', 56, CURDATE(), 2, 7, 'third route', 5.3, 30, CURDATE(), CURDATE()),
(4, '1899-12-30 15:45:00', 56, CURDATE(), 3, 7, 'fourth route', 6.4, 40, CURDATE(), CURDATE()),
(5, '1899-12-30 16:00:00', 56, CURDATE(), 4, 8, 'fifth route', 7.5, 50, CURDATE(), CURDATE()),
(6, null, 57, CURDATE(), 5, 8, 'sixth route', 8.6, 60, CURDATE(), CURDATE()),
(7, null, 57, CURDATE(), 6, null, 'seventh route', 9.7, 70, CURDATE(), CURDATE());
INSERT INTO `vn2008`.`empresa_grupo`(`empresa_grupo_id`, `grupo`)
VALUES

View File

@ -118,7 +118,7 @@ describe('Client risk path', () => {
let result = await nightmare
.waitToGetProperty(selectors.clientRisk.firstRiskLineBalance, 'innerText');
expect(result).toContain('-€50.00');
expect(result).toContain('€50.00');
});
it('should now click on the Clients button of the top bar menu', async() => {

View File

@ -1,5 +1,5 @@
<div ng-if="$ctrl.$state.current.name === 'home'">
<div class="modules">
<div class="modules">
<a
ng-repeat="mod in ::$ctrl.modules"
ui-sref="{{::mod.route.state}}"
@ -18,5 +18,5 @@
<span ng-show='!mod.keyBind'>&nbsp;</span>
</a>
</div>
</div>
</div>

View File

@ -16,7 +16,7 @@ vn-home {
flex-direction: row;
justify-content: center;
flex-wrap: wrap;
max-width: 40em;
max-width: 44em;
margin: 0 auto;
& > a {
@ -28,7 +28,7 @@ vn-home {
display: flex;
flex-direction: column;
height: 8em;
width: 7em;
width: 8em;
margin: .5em;
padding: 1em;
justify-content: center;
@ -49,13 +49,13 @@ vn-home {
text-align: center;
}
& > h4 {
max-width: 7em;
text-align: center;
font-size: 16pt;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 13pt;
overflow: hidden;
color: inherit;
margin: 0;
line-height: 1.5em;
/* & > .bind-letter {
color: #FD0;

View File

@ -6,7 +6,7 @@ const app = require('vn-loopback/server/server');
* por destinatario inválido, pero puede llegar a fallar.
*/
describe('sms send()', () => {
it('should call the send method', async() => {
it('should should return the expected message and status code', async() => {
let ctx = {req: {accessToken: {userId: 1}}};
let result = await app.models.Sms.send(ctx, null, 'Invalid', 'My SMS Body');

View File

@ -1,7 +1,7 @@
{
"module": "invoiceOut",
"name": "Invoices out",
"icon": "icon-invoices1",
"icon": "icon-invoices",
"validations" : true,
"dependencies": ["worker", "client", "ticket"],
"routes": [

View File

@ -14,7 +14,8 @@ class Controller {
{callback: this.showDeliveryNote, name: 'Show Delivery Note', show: true},
{callback: this.showDeleteTicketDialog, name: 'Delete ticket', show: true},
{callback: this.showChangeShipped, name: 'Change shipped hour', show: true},
{callback: this.showSMSDialog, name: 'Send SMS', show: true}
{callback: this.showSMSDialog, name: 'Send SMS', show: true},
{callback: this.openRptRoute, name: 'Show pallet report', show: true}
];
}
@ -109,6 +110,11 @@ class Controller {
}
}
openRptRoute() {
let url = `/api/report/rpt-route?routeFk=${this.ticket.routeFk}`;
window.open(url);
}
showAddStowaway() {
this.$scope.addStowaway.show();
}

View File

@ -8,6 +8,7 @@ Add stowaway: Añadir polizón
Remove stowaway: Borrar polizón
Are you sure you want to delete this stowaway?: ¿Estas seguro de que quieres borrar este polizón?
Show Delivery Note: Ver albarán
Show pallet report: Mostrar hoja de pallet
Change shipped hour: Cambiar hora de envío
Shipped hour: Hora de envío
SMSPayment: >-

View File

@ -12,6 +12,7 @@
{"type": "report", "name": "rpt-letter-debtor"},
{"type": "report", "name": "rpt-sepa-core"},
{"type": "report", "name": "rpt-receipt"},
{"type": "report", "name": "rpt-route"},
{"type": "static", "name": "email-header"},
{"type": "static", "name": "email-footer"},
{"type": "static", "name": "report-header"},

View File

@ -0,0 +1,7 @@
const CssReader = require(`${appPath}/lib/cssReader`);
module.exports = new CssReader([
`${appPath}/common/css/layout.css`,
`${appPath}/common/css/report.css`,
`${__dirname}/style.css`])
.mergeStyles();

View File

@ -0,0 +1,9 @@
section .text {
font-family: Tahoma;
font-weight: bold;
color: white;
font-size: 7.5em;
text-align: center;
background-color: black;
margin-bottom: 0.2em
}

View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="es">
<body>
<section class="container" id="report">
<section class="main">
<!-- Report start -->
<section class="text">{{route.agencyName}}</section>
<section class="text">{{route.id}}</section>
<section class="text">{{route.plateNumber}} {{routeTime(route.time)}}</section>
<section></section>
<!-- Report end -->
</section>
</section>
</body>
</html>

36
print/report/rpt-route/index.js Executable file
View File

@ -0,0 +1,36 @@
const strftime = require('strftime');
const database = require(`${appPath}/lib/database`);
const UserException = require(`${appPath}/lib/exceptions/userException`);
module.exports = {
name: 'rpt-route',
async asyncData(ctx, params) {
if (!params.routeFk)
throw new UserException('No route id specified');
let [[route]] = await this.methods.fetchRoute(params.routeFk);
if (!route)
throw new UserException('Route not ready');
return {route};
},
methods: {
fetchRoute(routeFk) {
return database.pool.query(
`SELECT
r.id,
r.time,
am.name agencyName,
v.numberPlate plateNumber
FROM route r
JOIN agencyMode am ON am.id = r.agencyModeFk
JOIN vehicle v ON v.id = r.vehicleFk
WHERE r.id = ?`, [routeFk]);
},
routeTime: routeTime => {
if (routeTime)
return strftime('%H:%M', routeTime);
},
},
};

View File