Merge branch 'master' into test
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
commit
85d3508848
|
@ -13,15 +13,15 @@ BEGIN
|
||||||
DECLARE vWarehouseIn INT;
|
DECLARE vWarehouseIn INT;
|
||||||
DECLARE vWarehouseOut INT;
|
DECLARE vWarehouseOut INT;
|
||||||
DECLARE vCalcVisible INT;
|
DECLARE vCalcVisible INT;
|
||||||
DECLARE vInventoryDate DATE DEFAULT vn.getInventoryDate();
|
DECLARE vInventoryDate DATE DEFAULT getInventoryDate();
|
||||||
|
|
||||||
SELECT shipped, landed, warehouseInFk, warehouseOutFk
|
SELECT shipped, landed, warehouseInFk, warehouseOutFk
|
||||||
INTO vDateShipped, vDateLanded, vWarehouseIn, vWarehouseOut
|
INTO vDateShipped, vDateLanded, vWarehouseIn, vWarehouseOut
|
||||||
FROM vn.travel t
|
FROM travel t
|
||||||
JOIN vn.entry e ON e.travelFk = t.id
|
JOIN entry e ON e.travelFk = t.id
|
||||||
WHERE e.id = vSelf;
|
WHERE e.id = vSelf;
|
||||||
|
|
||||||
CALL vn.rate_getPrices(vDateShipped, vWarehouseIn);
|
CALL rate_getPrices(vDateShipped, vWarehouseIn);
|
||||||
|
|
||||||
-- Traslado en almacen origen
|
-- Traslado en almacen origen
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tBuy
|
CREATE OR REPLACE TEMPORARY TABLE tBuy
|
||||||
|
@ -84,7 +84,7 @@ BEGIN
|
||||||
WHERE a.available
|
WHERE a.available
|
||||||
ON DUPLICATE KEY UPDATE availableLanding = a.available;
|
ON DUPLICATE KEY UPDATE availableLanding = a.available;
|
||||||
ELSE
|
ELSE
|
||||||
CALL vn.item_getStock(vWarehouseOut, vDateShipped, NULL);
|
CALL item_getStock(vWarehouseOut, vDateShipped, NULL);
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tItem
|
CREATE OR REPLACE TEMPORARY TABLE tItem
|
||||||
(UNIQUE INDEX i USING HASH (itemFk))
|
(UNIQUE INDEX i USING HASH (itemFk))
|
||||||
|
@ -97,7 +97,7 @@ BEGIN
|
||||||
FROM tmp.itemList;
|
FROM tmp.itemList;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CALL vn.buyUltimateFromInterval(vWarehouseIn,vInventoryDate, vDateLanded);
|
CALL buyUltimateFromInterval(vWarehouseIn,vInventoryDate, vDateLanded);
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tTransfer
|
CREATE OR REPLACE TEMPORARY TABLE tTransfer
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
|
@ -145,26 +145,26 @@ BEGIN
|
||||||
b.id buyFkOrigin,
|
b.id buyFkOrigin,
|
||||||
pa.returnCost,
|
pa.returnCost,
|
||||||
b.weight
|
b.weight
|
||||||
FROM vn.item i
|
FROM item i
|
||||||
JOIN tItem ti ON ti.itemFk = i.id
|
JOIN tItem ti ON ti.itemFk = i.id
|
||||||
LEFT JOIN vn.producer p ON p.id = i.producerFk
|
LEFT JOIN producer p ON p.id = i.producerFk
|
||||||
LEFT JOIN vn.itemType it ON it.id = i.typeFk
|
LEFT JOIN itemType it ON it.id = i.typeFk
|
||||||
JOIN vn.itemCategory ic ON ic.id = it.categoryFk
|
JOIN itemCategory ic ON ic.id = it.categoryFk
|
||||||
LEFT JOIN vn.origin o ON o.id = i.originFk
|
LEFT JOIN origin o ON o.id = i.originFk
|
||||||
LEFT JOIN tBuy lb ON lb.itemFk = i.id
|
LEFT JOIN tBuy lb ON lb.itemFk = i.id
|
||||||
LEFT JOIN vn.buy b ON b.id = lb.buyFk
|
LEFT JOIN buy b ON b.id = lb.buyFk
|
||||||
LEFT JOIN vn.packaging pa ON pa.id = b.packagingFk
|
LEFT JOIN packaging pa ON pa.id = b.packagingFk
|
||||||
LEFT JOIN vn.entry e2 ON e2.id = b.entryFk
|
LEFT JOIN entry e2 ON e2.id = b.entryFk
|
||||||
LEFT JOIN vn.supplier s ON s.id = e2.supplierFk
|
LEFT JOIN supplier s ON s.id = e2.supplierFk
|
||||||
LEFT JOIN vn.entry e ON e.id = vSelf
|
LEFT JOIN entry e ON e.id = vSelf
|
||||||
LEFT JOIN vn.travel tr ON tr.id = e.travelFk
|
LEFT JOIN travel tr ON tr.id = e.travelFk
|
||||||
LEFT JOIN vn.agencyMode am ON am.id = tr.agencyModeFk
|
LEFT JOIN agencyMode am ON am.id = tr.agencyModeFk
|
||||||
LEFT JOIN vn.buy b2 ON b2.itemFk = i.id
|
LEFT JOIN buy b2 ON b2.itemFk = i.id
|
||||||
AND b2.entryFk = vSelf
|
AND b2.entryFk = vSelf
|
||||||
LEFT JOIN vn.packaging pa2 ON pa2.id = b.packagingFk
|
LEFT JOIN packaging pa2 ON pa2.id = b.packagingFk
|
||||||
LEFT JOIN tmp.rate r ON TRUE
|
LEFT JOIN tmp.rate r ON TRUE
|
||||||
LEFT JOIN tmp.buyUltimateFromInterval bufi ON bufi.itemFk = i.id
|
LEFT JOIN tmp.buyUltimateFromInterval bufi ON bufi.itemFk = i.id
|
||||||
LEFT JOIN vn.buy b3 ON b3.id = bufi.buyFk
|
LEFT JOIN buy b3 ON b3.id = bufi.buyFk
|
||||||
WHERE ic.display
|
WHERE ic.display
|
||||||
AND NOT e.isRaid
|
AND NOT e.isRaid
|
||||||
AND (ti.visible OR ti.available)
|
AND (ti.visible OR ti.available)
|
||||||
|
@ -172,11 +172,6 @@ BEGIN
|
||||||
|
|
||||||
CREATE INDEX tIndex USING HASH ON tTransfer (itemFk);
|
CREATE INDEX tIndex USING HASH ON tTransfer (itemFk);
|
||||||
|
|
||||||
SET @carriage := 0;
|
|
||||||
SET @comission := 0;
|
|
||||||
SET @packaging := 0;
|
|
||||||
SET @rate3 := 0;
|
|
||||||
SET @cost := 0;
|
|
||||||
SELECT *,
|
SELECT *,
|
||||||
quantity - MOD(quantity , `grouping`) subQuantity,
|
quantity - MOD(quantity , `grouping`) subQuantity,
|
||||||
MOD(quantity, `grouping`) soll,
|
MOD(quantity, `grouping`) soll,
|
||||||
|
|
|
@ -1,42 +1,68 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemProposal`(vItemFk INT, vTicketFk INT,vShowType BOOL)
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemProposal`(
|
||||||
|
vSelf INT,
|
||||||
|
vTicketFk INT,
|
||||||
|
vShowType BOOL
|
||||||
|
)
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Propone articulos disponible ordenado, con la cantidad de veces usado y segun sus caracteristicas
|
* Propone articulos disponibles ordenados, con la cantidad
|
||||||
*
|
* de veces usado y segun sus caracteristicas.
|
||||||
* @param vItemFk item id
|
*
|
||||||
* @param vTicketFk ticket id
|
* @param vSelf Id de artículo
|
||||||
* @param vShowType mostrar tipos
|
* @param vTicketFk Id de ticket
|
||||||
*/
|
* @param vShowType Mostrar tipos
|
||||||
|
*/
|
||||||
DECLARE vWarehouseFk INT;
|
DECLARE vWarehouseFk INT;
|
||||||
DECLARE vShipped DATE;
|
DECLARE vShipped DATE;
|
||||||
DECLARE vCalcFk INT;
|
DECLARE vCalcFk INT;
|
||||||
DECLARE vTypeFk INT;
|
DECLARE vTypeFk INT;
|
||||||
|
DECLARE vPriority INT DEFAULT 1;
|
||||||
|
|
||||||
DECLARE vTag1 VARCHAR(25);
|
DECLARE vTag1 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vTag5 VARCHAR(25);
|
DECLARE vTag5 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vTag6 VARCHAR(25);
|
DECLARE vTag6 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vTag7 VARCHAR(25);
|
DECLARE vTag7 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vTag8 VARCHAR(25);
|
DECLARE vTag8 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
|
||||||
|
DECLARE vValue1 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
DECLARE vValue5 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
DECLARE vValue6 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
DECLARE vValue7 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
DECLARE vValue8 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
|
||||||
DECLARE vValue1 VARCHAR(50);
|
SELECT warehouseFk, shipped
|
||||||
DECLARE vValue5 VARCHAR(50);
|
INTO vWarehouseFk, vShipped
|
||||||
DECLARE vValue6 VARCHAR(50);
|
FROM ticket
|
||||||
DECLARE vValue7 VARCHAR(50);
|
|
||||||
DECLARE vValue8 VARCHAR(50);
|
|
||||||
|
|
||||||
SELECT warehouseFk, shipped INTO vWarehouseFk, vShipped
|
|
||||||
FROM vn.ticket
|
|
||||||
WHERE id = vTicketFk;
|
WHERE id = vTicketFk;
|
||||||
|
|
||||||
SELECT typeFk, tag5, value5, tag6, value6, tag7, value7, tag8, value8, t1.name, it1.value
|
SELECT typeFk,
|
||||||
INTO vTypeFk, vTag5, vValue5, vTag6, vValue6, vTag7, vValue7, vTag8, vValue8, vTag1, vValue1
|
tag5,
|
||||||
FROM vn.item i
|
value5,
|
||||||
LEFT JOIN vn.itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
tag6,
|
||||||
LEFT JOIN vn.tag t1 ON t1.id = it1.tagFk
|
value6,
|
||||||
WHERE i.id = vItemFk;
|
tag7,
|
||||||
|
value7,
|
||||||
|
tag8,
|
||||||
|
value8,
|
||||||
|
t.name,
|
||||||
|
it.value
|
||||||
|
INTO vTypeFk,
|
||||||
|
vTag5,
|
||||||
|
vValue5,
|
||||||
|
vTag6,
|
||||||
|
vValue6,
|
||||||
|
vTag7,
|
||||||
|
vValue7,
|
||||||
|
vTag8,
|
||||||
|
vValue8,
|
||||||
|
vTag1,
|
||||||
|
vValue1
|
||||||
|
FROM item i
|
||||||
|
LEFT JOIN itemTag it ON it.itemFk = i.id
|
||||||
|
AND it.priority = vPriority
|
||||||
|
LEFT JOIN tag t ON t.id = it.tagFk
|
||||||
|
WHERE i.id = vSelf;
|
||||||
|
|
||||||
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vShipped);
|
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vShipped);
|
||||||
|
|
||||||
|
@ -45,43 +71,46 @@ BEGIN
|
||||||
i.subName,
|
i.subName,
|
||||||
i.tag5,
|
i.tag5,
|
||||||
i.value5,
|
i.value5,
|
||||||
(i.value5 <=> vValue5 COLLATE utf8_general_ci) match5,
|
(i.value5 <=> vValue5) match5,
|
||||||
i.tag6,
|
i.tag6,
|
||||||
i.value6,
|
i.value6,
|
||||||
(i.value6 <=> vValue6 COLLATE utf8_general_ci) match6,
|
(i.value6 <=> vValue6) match6,
|
||||||
i.tag7,
|
i.tag7,
|
||||||
i.value7,
|
i.value7,
|
||||||
(i.value7 <=> vValue7 COLLATE utf8_general_ci) match7,
|
(i.value7 <=> vValue7) match7,
|
||||||
i.tag8,
|
i.tag8,
|
||||||
i.value8,
|
i.value8,
|
||||||
(i.value8 <=> vValue8 COLLATE utf8_general_ci) match8,
|
(i.value8 <=> vValue8) match8,
|
||||||
a.available,
|
a.available,
|
||||||
IFNULL(ip.counter,0) counter,
|
IFNULL(ip.counter, 0) `counter`,
|
||||||
IF(b.groupingMode = 1, b.grouping, b.packing) as minQuantity,
|
IF(b.groupingMode = 1, b.grouping, b.packing) minQuantity,
|
||||||
iss.visible located
|
iss.visible located
|
||||||
FROM item i
|
FROM item i
|
||||||
JOIN cache.available a ON a.item_id = i.id
|
JOIN cache.available a ON a.item_id = i.id
|
||||||
LEFT JOIN itemProposal ip ON ip.mateFk = i.id AND ip.itemFk = vItemFk
|
LEFT JOIN itemProposal ip ON ip.mateFk = i.id
|
||||||
LEFT JOIN itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
AND ip.itemFk = vSelf
|
||||||
LEFT JOIN tag t1 ON t1.id = it1.tagFk
|
LEFT JOIN itemTag it ON it.itemFk = i.id
|
||||||
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id AND lb.warehouse_id = vWarehouseFk
|
AND it.priority = vPriority
|
||||||
|
LEFT JOIN tag t ON t.id = it.tagFk
|
||||||
|
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id
|
||||||
|
AND lb.warehouse_id = vWarehouseFk
|
||||||
LEFT JOIN buy b ON b.id = lb.buy_id
|
LEFT JOIN buy b ON b.id = lb.buy_id
|
||||||
LEFT JOIN itemShelvingStock iss ON iss.itemFk = i.id AND iss.warehouseFk = vWarehouseFk
|
LEFT JOIN itemShelvingStock iss ON iss.itemFk = i.id
|
||||||
|
AND iss.warehouseFk = vWarehouseFk
|
||||||
WHERE a.calc_id = vCalcFk
|
WHERE a.calc_id = vCalcFk
|
||||||
AND available > 0
|
AND a.available > 0
|
||||||
AND IF(vShowType,i.typeFk = vTypeFk,true)
|
AND IF(vShowType, i.typeFk = vTypeFk, TRUE)
|
||||||
AND i.id != vItemFk
|
AND i.id <> vSelf
|
||||||
ORDER BY counter DESC,
|
ORDER BY `counter` DESC,
|
||||||
(t1.name = vTag1 COLLATE utf8_general_ci) DESC,
|
(t.name = vTag1) DESC,
|
||||||
(it1.value = vValue1 COLLATE utf8_general_ci) DESC,
|
(it.value = vValue1) DESC,
|
||||||
(i.tag5 = vTag5 COLLATE utf8_general_ci) DESC,
|
(i.tag5 = vTag5) DESC,
|
||||||
(i.value5 = vValue5 COLLATE utf8_general_ci) DESC,
|
match5 DESC,
|
||||||
(i.tag6 = vTag6 COLLATE utf8_general_ci) DESC,
|
(i.tag6 = vTag6) DESC,
|
||||||
(i.value6 = vValue6 COLLATE utf8_general_ci) DESC,
|
match6 DESC,
|
||||||
(i.tag7 = vTag7 COLLATE utf8_general_ci) DESC,
|
(i.tag7 = vTag7) DESC,
|
||||||
(i.value7 = vValue7 COLLATE utf8_general_ci) DESC,
|
match7 DESC,
|
||||||
(i.tag8 = vTag8 COLLATE utf8_general_ci) DESC,
|
(i.tag8 = vTag8) DESC,
|
||||||
(i.value8 = vValue8 COLLATE utf8_general_ci) DESC;
|
match8 DESC;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -15,7 +15,7 @@ BEGIN
|
||||||
JOIN agencyMode am ON am.id = t.agencyModeFk
|
JOIN agencyMode am ON am.id = t.agencyModeFk
|
||||||
LEFT JOIN ticketState ts ON ts.ticketFk = t.id
|
LEFT JOIN ticketState ts ON ts.ticketFk = t.id
|
||||||
JOIN alertLevel al ON al.id = ts.alertLevel
|
JOIN alertLevel al ON al.id = ts.alertLevel
|
||||||
WHERE al.code = 'PACKED' OR (am.code = 'refund' AND al.code != 'delivered')
|
WHERE (al.code = 'PACKED' OR (am.code = 'refund' AND al.code != 'delivered'))
|
||||||
AND t.id = vTicketFk
|
AND t.id = vTicketFk
|
||||||
AND t.refFk IS NULL
|
AND t.refFk IS NULL
|
||||||
GROUP BY t.id);
|
GROUP BY t.id);
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
-- Place your SQL code here
|
||||||
|
ALTER TABLE IF EXISTS vn2008.dock__ RENAME vn2008.dock;
|
||||||
|
ALTER TABLE IF EXISTS vn2008.dock COMMENT='';
|
||||||
|
|
||||||
|
ALTER TABLE IF EXISTS vn2008.Tramos__ RENAME vn2008.Tramos;
|
||||||
|
ALTER TABLE IF EXISTS vn2008.Tramos COMMENT='';
|
|
@ -0,0 +1 @@
|
||||||
|
ALTER TABLE vn.warehouse AUTO_INCREMENT=92;
|
|
@ -346,5 +346,6 @@
|
||||||
"You cannot update these fields": "No puedes actualizar estos campos",
|
"You cannot update these fields": "No puedes actualizar estos campos",
|
||||||
"CountryFK cannot be empty": "El país no puede estar vacío",
|
"CountryFK cannot be empty": "El país no puede estar vacío",
|
||||||
"Cmr file does not exist": "El archivo del cmr no existe",
|
"Cmr file does not exist": "El archivo del cmr no existe",
|
||||||
"You are not allowed to modify the alias": "No estás autorizado a modificar el alias"
|
"You are not allowed to modify the alias": "No estás autorizado a modificar el alias",
|
||||||
|
"The address of the customer must have information about Incoterms and Customs Agent": "El consignatario del cliente debe tener informado Incoterms y Agente de aduanas"
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,6 +80,6 @@ module.exports = Self => {
|
||||||
|
|
||||||
const content = toCSV(sales);
|
const content = toCSV(sales);
|
||||||
|
|
||||||
return [content, 'text/csv', `inline; filename="doc-${reference}.pdf"`];
|
return [content, 'text/csv', `inline; filename="doc-${reference}.csv"`];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -79,6 +79,6 @@ module.exports = Self => {
|
||||||
ORDER BY s.ticketFk, s.created`, [id]);
|
ORDER BY s.ticketFk, s.created`, [id]);
|
||||||
const content = toCSV(sales);
|
const content = toCSV(sales);
|
||||||
|
|
||||||
return [content, 'text/csv', `inline; filename="doc-${id}.pdf"`];
|
return [content, 'text/csv', `inline; filename="doc-${id}.csv"`];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -40,17 +40,6 @@ table.repeatable > tbody > tr > td {
|
||||||
padding-top: 0.5em;
|
padding-top: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
section.text-area {
|
|
||||||
margin-top: 1em;
|
|
||||||
padding: 0.19em;
|
|
||||||
padding-left: 1em;
|
|
||||||
padding-right: 1em;
|
|
||||||
background-color: #e5e5e5;
|
|
||||||
& > p {
|
|
||||||
word-break: break-all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.route-block {
|
.route-block {
|
||||||
margin-bottom: 100px;
|
margin-bottom: 100px;
|
||||||
page-break-after: always;
|
page-break-after: always;
|
||||||
|
|
|
@ -128,8 +128,8 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div v-if="ticket.description" class="text-area">
|
<div v-if="ticket.description">
|
||||||
<p>{{ticket.description}}</p>
|
<p style="word-break: break-all">{{ticket.description}}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const vnReport = require('../../../core/mixins/vn-report.js');
|
const vnReport = require('../../../core/mixins/vn-report.js');
|
||||||
|
const UserError = require('vn-loopback/util/user-error');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'invoice-incoterms',
|
name: 'invoice-incoterms',
|
||||||
|
@ -7,7 +8,10 @@ module.exports = {
|
||||||
this.invoice = await this.findOneFromDef('invoice', [this.reference]);
|
this.invoice = await this.findOneFromDef('invoice', [this.reference]);
|
||||||
this.checkMainEntity(this.invoice);
|
this.checkMainEntity(this.invoice);
|
||||||
this.client = await this.findOneFromDef('client', [this.reference]);
|
this.client = await this.findOneFromDef('client', [this.reference]);
|
||||||
this.incoterms = await this.findOneFromDef('incoterms', [this.reference, this.reference, this.reference, this.reference]);
|
this.incoterms =
|
||||||
|
await this.findOneFromDef('incoterms', [this.reference, this.reference, this.reference, this.reference]);
|
||||||
|
if (!this.incoterms)
|
||||||
|
throw new UserError(`The address of the customer must have information about Incoterms and Customs Agent`);
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
reference: {
|
reference: {
|
||||||
|
|
Loading…
Reference in New Issue