This commit is contained in:
parent
00f9754c1e
commit
3c6d27a285
|
@ -0,0 +1,36 @@
|
||||||
|
DROP PROCEDURE IF EXISTS vn.ticketGetVisibleAvailable;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
$$
|
||||||
|
CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`ticketGetVisibleAvailable`(
|
||||||
|
vTicket INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE vVisibleCalc INT;
|
||||||
|
DECLARE vAvailableCalc INT;
|
||||||
|
DECLARE vShipped DATE;
|
||||||
|
DECLARE vWarehouse TINYINT;
|
||||||
|
DECLARE vAlertLevel INT;
|
||||||
|
|
||||||
|
SELECT t.warehouseFk, t.shipped, ts.alertLevel INTO vWarehouse, vShipped, vAlertLevel
|
||||||
|
FROM ticket t
|
||||||
|
LEFT JOIN ticketState ts ON ts.ticketFk = vTicket
|
||||||
|
WHERE t.id = vTicket;
|
||||||
|
|
||||||
|
IF vAlertLevel IS NULL OR vAlertLevel = 0 THEN
|
||||||
|
IF vShipped >= CURDATE() THEN
|
||||||
|
CALL cache.available_refresh(vAvailableCalc, FALSE, vWarehouse, vShipped);
|
||||||
|
END IF;
|
||||||
|
IF vShipped = CURDATE() THEN
|
||||||
|
CALL cache.visible_refresh(vVisibleCalc, FALSE, vWarehouse);
|
||||||
|
END IF;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT s.id, s.itemFk, s.quantity, s.concept, s.price, s.reserved, s.discount, v.visible, av.available, it.image
|
||||||
|
FROM sale s
|
||||||
|
LEFT JOIN cache.visible v ON v.item_id = s.itemFk AND v.calc_id = vVisibleCalc
|
||||||
|
LEFT JOIN cache.available av ON av.item_id = s.itemFk AND av.calc_id = vAvailableCalc
|
||||||
|
LEFT JOIN item it ON it.id = s.itemFk
|
||||||
|
WHERE s.ticketFk = vTicket
|
||||||
|
ORDER BY s.concept;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -15,21 +15,21 @@ describe('Ticket List sale path', () => {
|
||||||
const value = await nightmare
|
const value = await nightmare
|
||||||
.waitToGetProperty(selectors.ticketSales.firstSaleColour, 'innerText');
|
.waitToGetProperty(selectors.ticketSales.firstSaleColour, 'innerText');
|
||||||
|
|
||||||
expect(value).toContain('Red');
|
expect(value).toContain('Yellow');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should confirm the first ticket sale contains the lenght', async() => {
|
it('should confirm the first ticket sale contains the lenght', async() => {
|
||||||
const value = await nightmare
|
const value = await nightmare
|
||||||
.waitToGetProperty(selectors.ticketSales.firstSaleText, 'innerText');
|
.waitToGetProperty(selectors.ticketSales.firstSaleText, 'innerText');
|
||||||
|
|
||||||
expect(value).toContain('3');
|
expect(value).toContain('5');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should confirm the first ticket sale contains the price', async() => {
|
it('should confirm the first ticket sale contains the price', async() => {
|
||||||
const value = await nightmare
|
const value = await nightmare
|
||||||
.waitToGetProperty(selectors.ticketSales.firstSalePrice, 'innerText');
|
.waitToGetProperty(selectors.ticketSales.firstSalePrice, 'innerText');
|
||||||
|
|
||||||
expect(value).toContain('1.30');
|
expect(value).toContain('2.30');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should confirm the first ticket sale contains the discount', async() => {
|
it('should confirm the first ticket sale contains the discount', async() => {
|
||||||
|
@ -43,7 +43,7 @@ describe('Ticket List sale path', () => {
|
||||||
const value = await nightmare
|
const value = await nightmare
|
||||||
.waitToGetProperty(selectors.ticketSales.firstSaleImport, 'innerText');
|
.waitToGetProperty(selectors.ticketSales.firstSaleImport, 'innerText');
|
||||||
|
|
||||||
expect(value).toContain('19.50');
|
expect(value).toContain('23');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should navigate to the catalog by pressing the new item button', async() => {
|
it('should navigate to the catalog by pressing the new item button', async() => {
|
||||||
|
|
|
@ -1,11 +1,23 @@
|
||||||
@import "variables";
|
@import "variables";
|
||||||
|
|
||||||
vn-td-editable {
|
vn-td-editable {
|
||||||
cursor: pointer;
|
text {
|
||||||
|
cursor: pointer;
|
||||||
|
display: block
|
||||||
|
}
|
||||||
|
|
||||||
outline: none;
|
outline: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
&:not([disabled="true"]) {
|
&:not([disabled="true"]) {
|
||||||
cursor: initial;
|
cursor: initial;
|
||||||
|
|
||||||
|
|
||||||
|
text:hover::after {
|
||||||
|
font-family: 'salixfont';
|
||||||
|
float: right;
|
||||||
|
content: '\e900';
|
||||||
|
display: block
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&.selected > .text {
|
&.selected > .text {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
|
|
|
@ -6,6 +6,9 @@ describe('ticket getSales()', () => {
|
||||||
|
|
||||||
expect(sales.length).toEqual(4);
|
expect(sales.length).toEqual(4);
|
||||||
expect(sales[0].tags).toBeDefined();
|
expect(sales[0].tags).toBeDefined();
|
||||||
expect(sales[1].claim).toBeDefined();
|
expect(sales[1].tags).toBeDefined();
|
||||||
|
expect(sales[2].tags).toBeDefined();
|
||||||
|
expect(sales[3].tags).toBeDefined();
|
||||||
|
expect(sales[2].claim).toBeDefined();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -113,7 +113,7 @@ module.exports = Self => {
|
||||||
where: {
|
where: {
|
||||||
ticketFk: ticketFk
|
ticketFk: ticketFk
|
||||||
},
|
},
|
||||||
order: 'itemFk ASC',
|
order: 'concept',
|
||||||
include: [
|
include: [
|
||||||
{relation: 'item'},
|
{relation: 'item'},
|
||||||
{relation: 'claimBeginning'}
|
{relation: 'claimBeginning'}
|
||||||
|
|
Loading…
Reference in New Issue