#1022 ticket.create
This commit is contained in:
parent
e55bcaecfd
commit
6e6b646978
|
@ -43,7 +43,7 @@ class Controller {
|
|||
|
||||
set warehouseFk(value) {
|
||||
this.warehouse = value;
|
||||
if (!window.localStorage.defaultWarehouseFk)
|
||||
if (value && !window.localStorage.localWarehouseFk)
|
||||
window.localStorage.defaultWarehouseFk = value;
|
||||
this.setUserConfig('warehouseFk', value);
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ class Controller {
|
|||
|
||||
set companyFk(value) {
|
||||
this.company = value;
|
||||
if (!window.localStorage.defaultCompanyFk)
|
||||
if (value && !window.localStorage.localCompanyFk)
|
||||
window.localStorage.defaultCompanyFk = value;
|
||||
this.setUserConfig('companyFk', value);
|
||||
}
|
||||
|
@ -80,13 +80,13 @@ class Controller {
|
|||
.then(res => {
|
||||
if (res.data && res.data.warehouseFk) {
|
||||
this.warehouse = res.data.warehouseFk;
|
||||
if (!window.localStorage.defaultWarehouseFk || window.localStorage.defaultWarehouseFk === 'null')
|
||||
if (res.data.warehouseFk && !window.localStorage.localWarehouseFk)
|
||||
window.localStorage.defaultWarehouseFk = res.data.warehouseFk;
|
||||
}
|
||||
|
||||
if (res.data && res.data.companyFk) {
|
||||
this.company = res.data.companyFk;
|
||||
if (!window.localStorage.defaultCompanyFk || window.localStorage.defaultCompanyFk === 'null')
|
||||
if (res.data.companyFk && !window.localStorage.localCompanyFk)
|
||||
window.localStorage.defaultCompanyFk = res.data.companyFk;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
module.exports = Self => {
|
||||
Self.remoteMethod('getLanded', {
|
||||
description: 'Returns the first shipped and landed possible for params',
|
||||
accessType: 'READ',
|
||||
accepts: [{
|
||||
arg: 'params',
|
||||
type: 'object',
|
||||
required: true,
|
||||
description: 'shipped, addressFk, agencyModeFk, warehouseFk'
|
||||
}],
|
||||
returns: {
|
||||
type: 'object',
|
||||
root: true
|
||||
},
|
||||
http: {
|
||||
path: `/getLanded`,
|
||||
verb: 'get'
|
||||
}
|
||||
});
|
||||
|
||||
Self.getLanded = async params => {
|
||||
let query = `CALL vn.agencyHourGetLanded(?, ?, ?, ?);
|
||||
SELECT * FROM tmp.agencyHourGetLanded`;
|
||||
let result = await Self.rawSql(query, [params.shipped, params.addressFk || null, params.agencyModeFk, params.warehouseFk]);
|
||||
|
||||
return result[1][0].landed;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,28 @@
|
|||
module.exports = Self => {
|
||||
Self.remoteMethod('getShipped', {
|
||||
description: 'Returns the first shipped possible for params',
|
||||
accessType: 'READ',
|
||||
accepts: [{
|
||||
arg: 'params',
|
||||
type: 'object',
|
||||
required: true,
|
||||
description: 'landed, addressFk, agencyModeFk'
|
||||
}],
|
||||
returns: {
|
||||
type: 'object',
|
||||
root: true
|
||||
},
|
||||
http: {
|
||||
path: `/getShipped`,
|
||||
verb: 'get'
|
||||
}
|
||||
});
|
||||
|
||||
Self.getShipped = async params => {
|
||||
let query = `CALL vn.agencyHourGetShipped(?, ?, ?);
|
||||
SELECT * FROM tmp.agencyHourGetShipped`;
|
||||
let result = await Self.rawSql(query, [params.landed, params.addressFk, params.agencyModeFk]);
|
||||
|
||||
return result[1][0].shipped;
|
||||
};
|
||||
};
|
|
@ -2,4 +2,6 @@ module.exports = Self => {
|
|||
require('../methods/agency/landsThatDay')(Self);
|
||||
require('../methods/agency/getFirstShipped')(Self);
|
||||
require('../methods/agency/getAgenciesWithWarehouse')(Self);
|
||||
require('../methods/agency/getLanded')(Self);
|
||||
require('../methods/agency/getShipped')(Self);
|
||||
};
|
||||
|
|
|
@ -23,9 +23,8 @@ class Controller {
|
|||
if (this.$stateParams.amountPaid)
|
||||
this.receipt.amountPaid = this.$stateParams.amountPaid;
|
||||
|
||||
if (this.$stateParams.companyFk) {
|
||||
if (this.$stateParams.companyFk)
|
||||
this.receipt.companyFk = this.$stateParams.companyFk;
|
||||
}
|
||||
}
|
||||
|
||||
$onInit() {
|
||||
|
|
|
@ -57,6 +57,24 @@ module.exports = Self => {
|
|||
throw new UserError(`You can't create a ticket for a client that has a debt`);
|
||||
}
|
||||
|
||||
if (!params.shipped && params.landed) {
|
||||
params.shipped = await Self.app.models.Agency.getShipped({
|
||||
landed: params.landed,
|
||||
addressFk: address.id,
|
||||
agencyModeFk: params.agencyModeFk
|
||||
});
|
||||
}
|
||||
|
||||
if (params.shipped && !params.landed) {
|
||||
params.landed = await Self.app.models.Agency.getLanded({
|
||||
shipped: params.shipped,
|
||||
addressFk: address.id,
|
||||
agencyModeFk: params.agencyModeFk,
|
||||
warehouseFk: params.warehouseFk
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (!params.userId && ctx.req && ctx.req.accessToken.userId)
|
||||
params.userId = ctx.req.accessToken.userId;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const app = require('vn-loopback/server/server');
|
||||
|
||||
describe('ticket filter()', () => {
|
||||
it('should call the filter method', async () => {
|
||||
it('should call the filter method', async() => {
|
||||
let ctx = {req: {accessToken: {userId: 9}}};
|
||||
|
||||
let filter = {order: 'shipped DESC'};
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
ini-options="{enableTime: false}">
|
||||
</vn-date-picker>
|
||||
<vn-autocomplete
|
||||
disabled="!$ctrl.clientFk || !$ctrl.landed"
|
||||
disabled="!$ctrl.warehouseFk && (!$ctrl.clientFk || !$ctrl.landed)"
|
||||
field="$ctrl.warehouseFk"
|
||||
url="/agency/api/Warehouses"
|
||||
show-field="name"
|
||||
|
|
|
@ -14,6 +14,9 @@ class Controller {
|
|||
$onInit() {
|
||||
if (this.$stateParams && this.$stateParams.clientFk)
|
||||
this.clientFk = this.$stateParams.clientFk;
|
||||
|
||||
if (window.localStorage && window.localStorage.defaultWarehouseFk)
|
||||
this.warehouseFk = parseInt(window.localStorage.defaultWarehouseFk);
|
||||
}
|
||||
|
||||
set ticket(value) {
|
||||
|
@ -37,6 +40,7 @@ class Controller {
|
|||
});
|
||||
} else
|
||||
this.addressFk = null;
|
||||
this.getAvailableAgencies();
|
||||
}
|
||||
|
||||
get clientFk() {
|
||||
|
@ -45,6 +49,7 @@ class Controller {
|
|||
|
||||
set addressFk(value) {
|
||||
this.ticket.addressFk = value;
|
||||
this.getAvailableAgencies();
|
||||
}
|
||||
|
||||
get addressFk() {
|
||||
|
@ -53,6 +58,7 @@ class Controller {
|
|||
|
||||
set landed(value) {
|
||||
this.ticket.landed = value;
|
||||
this.getAvailableAgencies();
|
||||
}
|
||||
|
||||
get landed() {
|
||||
|
@ -67,10 +73,9 @@ class Controller {
|
|||
return this.ticket.warehouseFk;
|
||||
}
|
||||
|
||||
|
||||
getAvailableAgencies() {
|
||||
this.ticket.agencyModeFk = null;
|
||||
if (this.ticket.landed && this.ticket.addressFk) {
|
||||
if (this.ticket.warehouseFk && this.ticket.addressFk && this.ticket.landed && this.ticket.clientFk) {
|
||||
this.ticket.agencyModeFk = null;
|
||||
let filter = {warehouseFk: this.ticket.warehouseFk, addressFk: this.ticket.addressFk, landed: this.ticket.landed};
|
||||
filter = encodeURIComponent(JSON.stringify(filter));
|
||||
let query = `/api/Agencies/getAgenciesWithWarehouse?filter=${filter}`;
|
||||
|
|
Loading…
Reference in New Issue