Compare commits
34 Commits
6822-entry
...
dev
Author | SHA1 | Date |
---|---|---|
Guillermo Bonet | 3453aa0f8c | |
Guillermo Bonet | 3b73ffbd8a | |
Sergio De la torre | 76b12e73b9 | |
Sergio De la torre | 009b4ab7b9 | |
Alex Moreno | 20b68b4b41 | |
Alex Moreno | b48beaf4b3 | |
Carlos Andrés | 97cdadac78 | |
Alex Moreno | d6a849727e | |
Alex Moreno | 838296e744 | |
Alex Moreno | 6785779fe5 | |
Alex Moreno | e730b5d4a1 | |
Alex Moreno | 5923916cda | |
Pablo Natek | c8b0874e95 | |
Alex Moreno | 8ef78818db | |
Pablo Natek | 00e5f86020 | |
Guillermo Bonet | 699c6553a0 | |
Guillermo Bonet | 46bd033336 | |
Guillermo Bonet | 51d96a89c5 | |
Jorge Penadés | eb97f6ef5f | |
Jorge Penadés | 5ee4563ee7 | |
Guillermo Bonet | 71bc1adcba | |
Guillermo Bonet | ca4244527b | |
Guillermo Bonet | 847692f103 | |
Guillermo Bonet | 93388461d1 | |
Sergio De la torre | cf237a1dd7 | |
Sergio De la torre | 6f1bfd6787 | |
Alex Moreno | 65c994e9d6 | |
Alex Moreno | 34348f50e8 | |
Carlos Andrés | 30cc7a49a0 | |
Carlos Andrés | d872f164fd | |
Carlos Andrés | 15c755087c | |
Jorge Penadés | bab5a4fadb | |
Jorge Penadés | 8fd133c5e8 | |
Sergio De la torre | f4f5ab2651 |
|
@ -24,12 +24,13 @@ module.exports = Self => {
|
||||||
|
|
||||||
Self.cancelShipment = async expeditionFk => {
|
Self.cancelShipment = async expeditionFk => {
|
||||||
const models = Self.app.models;
|
const models = Self.app.models;
|
||||||
|
|
||||||
const mrw = await models.MrwConfig.findOne();
|
const mrw = await models.MrwConfig.findOne();
|
||||||
const {externalId} = await models.Expedition.findById(expeditionFk);
|
const {externalId} = await models.Expedition.findById(expeditionFk);
|
||||||
const clientType = await models.MrwConfig.getClientType(expeditionFk);
|
const clientType = await models.MrwConfig.getClientType(expeditionFk);
|
||||||
const template = fs.readFileSync(__dirname + '/cancelShipment.ejs', 'utf-8');
|
const template = fs.readFileSync(__dirname + '/cancelShipment.ejs', 'utf-8');
|
||||||
const renderedXml = ejs.render(template, {mrw, externalId, clientType});
|
const renderedXml = ejs.render(template, {mrw, externalId, clientType});
|
||||||
|
|
||||||
|
await Self.rawSql('CALL util.debugAdd(?,?);', ['cancelShipment', renderedXml]);
|
||||||
const response = await axios.post(mrw.url, renderedXml, {
|
const response = await axios.post(mrw.url, renderedXml, {
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/soap+xml; charset=utf-8'
|
'Content-Type': 'application/soap+xml; charset=utf-8'
|
||||||
|
@ -37,12 +38,11 @@ module.exports = Self => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const xmlString = response.data;
|
const xmlString = response.data;
|
||||||
|
await Self.rawSql('CALL util.debugAdd(?,?);', ['cancelShipmentResponse', xmlString]);
|
||||||
const parser = new DOMParser();
|
const parser = new DOMParser();
|
||||||
const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
|
const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
|
||||||
|
|
||||||
await Self.rawSql('CALL util.debugAdd(?,?);', ['cancelShipment', xmlDoc]);
|
|
||||||
|
|
||||||
const result = xmlDoc.getElementsByTagName('Mensaje')[0].textContent;
|
const result = xmlDoc.getElementsByTagName('Mensaje')[0].textContent;
|
||||||
return result.toLowerCase().includes('se ha cancelado correctamente');
|
return ['no se ha encontrado', 'se ha cancelado correctamente'].some(res => result.toLowerCase().includes(res));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -133,6 +133,9 @@
|
||||||
"Postcode": {
|
"Postcode": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
},
|
},
|
||||||
|
"Prefix": {
|
||||||
|
"dataSource": "vn"
|
||||||
|
},
|
||||||
"ReferenceRate": {
|
"ReferenceRate": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"name": "Prefix",
|
||||||
|
"base": "VnModel",
|
||||||
|
"options": {
|
||||||
|
"mysql": {
|
||||||
|
"table": "pbx.prefix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"country": {
|
||||||
|
"type": "string",
|
||||||
|
"id": true
|
||||||
|
},
|
||||||
|
"prefix": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"acls": [
|
||||||
|
{
|
||||||
|
"property": "*",
|
||||||
|
"accessType": "READ",
|
||||||
|
"principalType": "ROLE",
|
||||||
|
"principalId": "employee",
|
||||||
|
"permission": "ALLOW"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE vn.duaInvoiceIn DROP KEY IF EXISTS duaFk_UNIQUE;
|
||||||
|
ALTER TABLE vn.duaInvoiceIn DROP KEY IF EXISTS duaInvoiceIn_unique;
|
||||||
|
ALTER TABLE vn.duaInvoiceIn ADD CONSTRAINT duaInvoiceIn_unique
|
||||||
|
UNIQUE KEY (invoiceInFk);
|
||||||
|
|
|
@ -54,7 +54,7 @@ module.exports = Self => {
|
||||||
{
|
{
|
||||||
relation: 'country',
|
relation: 'country',
|
||||||
scope: {
|
scope: {
|
||||||
fields: ['id', 'name'],
|
fields: ['id', 'name', 'code'],
|
||||||
include: {
|
include: {
|
||||||
relation: 'saySimpleCountry',
|
relation: 'saySimpleCountry',
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const UserError = require('vn-loopback/util/user-error');
|
const UserError = require('vn-loopback/util/user-error');
|
||||||
module.exports = Self => {
|
module.exports = Self => {
|
||||||
Self.remoteMethodCtx('print', {
|
Self.remoteMethodCtx('labelSupplier', {
|
||||||
description: 'Print stickers of all entries',
|
description: 'Print stickers of all entries',
|
||||||
accessType: 'READ',
|
accessType: 'READ',
|
||||||
accepts: [
|
accepts: [
|
||||||
|
@ -28,13 +28,13 @@ module.exports = Self => {
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
http: {
|
http: {
|
||||||
path: '/:id/print',
|
path: '/:id/labelSupplier',
|
||||||
verb: 'GET'
|
verb: 'GET'
|
||||||
},
|
},
|
||||||
accessScopes: ['DEFAULT', 'read:multimedia']
|
accessScopes: ['DEFAULT', 'read:multimedia']
|
||||||
});
|
});
|
||||||
|
|
||||||
Self.print = async function(ctx, id, options) {
|
Self.labelSupplier = async function(ctx, id, options) {
|
||||||
const models = Self.app.models;
|
const models = Self.app.models;
|
||||||
const myOptions = {};
|
const myOptions = {};
|
||||||
if (typeof options == 'object')
|
if (typeof options == 'object')
|
||||||
|
@ -48,7 +48,8 @@ module.exports = Self => {
|
||||||
for (const buy of buys) {
|
for (const buy of buys) {
|
||||||
if (buy.stickers < 1) continue;
|
if (buy.stickers < 1) continue;
|
||||||
ctx.args.id = buy.id;
|
ctx.args.id = buy.id;
|
||||||
const pdfBuffer = await models.Entry.buyLabel(ctx, myOptions);
|
ctx.args.copies = buy.stickers;
|
||||||
|
const pdfBuffer = await models.Entry.buyLabelSupplier(ctx, myOptions);
|
||||||
await merger.add(new Uint8Array(pdfBuffer[0]));
|
await merger.add(new Uint8Array(pdfBuffer[0]));
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,8 @@ module.exports = Self => {
|
||||||
require('../methods/entry/addFromPackaging')(Self);
|
require('../methods/entry/addFromPackaging')(Self);
|
||||||
require('../methods/entry/addFromBuy')(Self);
|
require('../methods/entry/addFromBuy')(Self);
|
||||||
require('../methods/entry/buyLabel')(Self);
|
require('../methods/entry/buyLabel')(Self);
|
||||||
require('../methods/entry/print')(Self);
|
require('../methods/entry/labelSupplier')(Self);
|
||||||
|
require('../methods/entry/buyLabelSupplier')(Self);
|
||||||
|
|
||||||
Self.observe('before save', async function(ctx, options) {
|
Self.observe('before save', async function(ctx, options) {
|
||||||
if (ctx.isNewInstance) return;
|
if (ctx.isNewInstance) return;
|
||||||
|
|
|
@ -51,7 +51,7 @@ module.exports = Self => {
|
||||||
JOIN vn.productionConfig pc
|
JOIN vn.productionConfig pc
|
||||||
WHERE sh.code = ? AND s.code = pc.sectorFromCode
|
WHERE sh.code = ? AND s.code = pc.sectorFromCode
|
||||||
), tItemInSector AS (
|
), tItemInSector AS (
|
||||||
SELECT is2.itemFk, is2.created, is2.shelvingFk
|
SELECT is2.itemFk, is2.created, sh.code
|
||||||
FROM vn.itemShelving is2
|
FROM vn.itemShelving is2
|
||||||
JOIN vn.shelving sh ON sh.id = is2.shelvingFk
|
JOIN vn.shelving sh ON sh.id = is2.shelvingFk
|
||||||
JOIN vn.parking p ON p.id = sh.parkingFk
|
JOIN vn.parking p ON p.id = sh.parkingFk
|
||||||
|
@ -59,7 +59,7 @@ module.exports = Self => {
|
||||||
JOIN vn.productionConfig pc
|
JOIN vn.productionConfig pc
|
||||||
WHERE sh.code <> ?
|
WHERE sh.code <> ?
|
||||||
AND s.code = pc.sectorFromCode)
|
AND s.code = pc.sectorFromCode)
|
||||||
SELECT ti.itemFK, tis.shelvingFk
|
SELECT ti.itemFK, tis.code shelvingFk
|
||||||
FROM tItemShelving ti
|
FROM tItemShelving ti
|
||||||
JOIN tItemInSector tis ON tis.itemFk = ti.itemFk
|
JOIN tItemInSector tis ON tis.itemFk = ti.itemFk
|
||||||
JOIN vn.productionConfig pc
|
JOIN vn.productionConfig pc
|
||||||
|
|
|
@ -52,7 +52,8 @@ module.exports = Self => {
|
||||||
|
|
||||||
const deletedExpedition = await models.Expedition.destroyById(expeditionId);
|
const deletedExpedition = await models.Expedition.destroyById(expeditionId);
|
||||||
deletedExpeditions.push(deletedExpedition);
|
deletedExpeditions.push(deletedExpedition);
|
||||||
} catch (e) {
|
} catch (error) {
|
||||||
|
console.error('error: ', error);
|
||||||
notDeletedExpeditions.push(expeditionId);
|
notDeletedExpeditions.push(expeditionId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,9 @@ td {
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
}
|
}
|
||||||
.lg-txt {
|
.lg-txt {
|
||||||
font-size: 32px;
|
font-size: 40px;
|
||||||
|
padding: 0px;
|
||||||
|
line-height: 1;
|
||||||
}
|
}
|
||||||
.xl-txt {
|
.xl-txt {
|
||||||
font-size: 50px;
|
font-size: 50px;
|
||||||
|
|
|
@ -36,12 +36,12 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="lg-txt xl-width bold center">
|
<td class="bold center lg-txt xl-width">
|
||||||
<div class="overflow-line">
|
<div class="overflow-line">
|
||||||
{{formatNumber(buy.itemFk)}}
|
{{formatNumber(buy.itemFk)}}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td colspan="2" class="md-txt md-width center">
|
<td colspan="2" class="center md-txt md-width">
|
||||||
<div class="overflow-line">
|
<div class="overflow-line">
|
||||||
{{`${(packing || buy.packing)} x ${buy.stems || ''}`}}
|
{{`${(packing || buy.packing)} x ${buy.stems || ''}`}}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue