Merge pull request 'refs #4614 fear(ticket): add 'set weight' funcionality' (!1487) from 4614-ticket_weight into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #1487 Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
This commit is contained in:
commit
60f70ac2b4
|
@ -0,0 +1,7 @@
|
||||||
|
UPDATE `vn`.`ticket` t
|
||||||
|
JOIN `vn`.`ticketObservation` o ON o.ticketFk = t.id
|
||||||
|
SET t.weight = cast(REPLACE(o.description, ',', '.') as decimal(10,2))
|
||||||
|
WHERE o.observationTypeFk = 6;
|
||||||
|
|
||||||
|
DELETE FROM `vn`.`ticketObservation` WHERE observationTypeFk = 6;
|
||||||
|
DELETE FROM `vn`.`observationType` WHERE id = 6;
|
|
@ -710,40 +710,40 @@ INSERT INTO `vn`.`route`(`id`, `time`, `workerFk`, `created`, `vehicleFk`, `agen
|
||||||
(6, NULL, 57, util.VN_CURDATE(), 5, 7, 'sixth route', 1.7, 60, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 3),
|
(6, NULL, 57, util.VN_CURDATE(), 5, 7, 'sixth route', 1.7, 60, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 3),
|
||||||
(7, NULL, 57, util.VN_CURDATE(), 6, 8, 'seventh route', 0, 70, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 5);
|
(7, NULL, 57, util.VN_CURDATE(), 6, 8, 'seventh route', 0, 70, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 5);
|
||||||
|
|
||||||
INSERT INTO `vn`.`ticket`(`id`, `priority`, `agencyModeFk`,`warehouseFk`,`routeFk`, `shipped`, `landed`, `clientFk`,`nickname`, `addressFk`, `refFk`, `isDeleted`, `zoneFk`, `zonePrice`, `zoneBonus`, `created`)
|
INSERT INTO `vn`.`ticket`(`id`, `priority`, `agencyModeFk`,`warehouseFk`,`routeFk`, `shipped`, `landed`, `clientFk`,`nickname`, `addressFk`, `refFk`, `isDeleted`, `zoneFk`, `zonePrice`, `zoneBonus`, `created`, `weight`)
|
||||||
VALUES
|
VALUES
|
||||||
(1 , 3, 1, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -1 MONTH), INTERVAL +1 DAY), 1101, 'Bat cave', 121, NULL, 0, 1, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH)),
|
(1 , 3, 1, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -1 MONTH), INTERVAL +1 DAY), 1101, 'Bat cave', 121, NULL, 0, 1, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1),
|
||||||
(2 , 1, 1, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -1 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 1, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH)),
|
(2 , 1, 1, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -1 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 1, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 2),
|
||||||
(3 , 1, 7, 1, 6, DATE_ADD(util.VN_CURDATE(), INTERVAL -2 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -2 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 3, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -2 MONTH)),
|
(3 , 1, 7, 1, 6, DATE_ADD(util.VN_CURDATE(), INTERVAL -2 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -2 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 3, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -2 MONTH), NULL),
|
||||||
(4 , 3, 2, 1, 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -3 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -3 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 9, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -3 MONTH)),
|
(4 , 3, 2, 1, 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -3 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -3 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 9, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -3 MONTH), NULL),
|
||||||
(5 , 3, 3, 3, 3, DATE_ADD(util.VN_CURDATE(), INTERVAL -4 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -4 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 10, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -4 MONTH)),
|
(5 , 3, 3, 3, 3, DATE_ADD(util.VN_CURDATE(), INTERVAL -4 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -4 MONTH), INTERVAL +1 DAY), 1104, 'Stark tower', 124, NULL, 0, 10, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -4 MONTH), NULL),
|
||||||
(6 , 1, 3, 3, 3, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -1 MONTH), INTERVAL +1 DAY), 1101, 'Mountain Drive Gotham', 1, NULL, 0, 10, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH)),
|
(6 , 1, 3, 3, 3, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL -1 MONTH), INTERVAL +1 DAY), 1101, 'Mountain Drive Gotham', 1, NULL, 0, 10, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), NULL),
|
||||||
(7 , NULL, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1101, 'Mountain Drive Gotham', 1, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(7 , NULL, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1101, 'Mountain Drive Gotham', 1, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(8 , NULL, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1101, 'Bat cave', 121, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(8 , NULL, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1101, 'Bat cave', 121, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(9 , NULL, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1104, 'Stark tower', 124, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(9 , NULL, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1104, 'Stark tower', 124, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(10, 1, 1, 5, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1102, 'Ingram Street', 2, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(10, 1, 1, 5, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1102, 'Ingram Street', 2, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(11, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1102, 'NY roofs', 122, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(11, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1102, 'NY roofs', 122, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(12, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(12, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(13, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(13, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(14, 1, 2, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1104, 'Malibu Point', 4, NULL, 0, 9, 5, 1, util.VN_CURDATE()),
|
(14, 1, 2, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1104, 'Malibu Point', 4, NULL, 0, 9, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(15, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1105, 'An incredibly long alias for testing purposes', 125, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(15, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1105, 'An incredibly long alias for testing purposes', 125, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(16, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1106, 'Many Places', 126, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(16, 1, 7, 1, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1106, 'Many Places', 126, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(17, 1, 7, 2, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1106, 'Many Places', 126, NULL, 0, 3, 5, 1, util.VN_CURDATE()),
|
(17, 1, 7, 2, 6, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1106, 'Many Places', 126, NULL, 0, 3, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(18, 1, 4, 4, 4, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1108, 'Cerebro', 128, NULL, 0, 12, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +12 HOUR)),
|
(18, 1, 4, 4, 4, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1108, 'Cerebro', 128, NULL, 0, 12, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +12 HOUR), NULL),
|
||||||
(19, 1, 5, 5, NULL, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1109, 'Somewhere in Thailand', 129, NULL, 1, NULL, 5, 1, util.VN_CURDATE()),
|
(19, 1, 5, 5, NULL, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1109, 'Somewhere in Thailand', 129, NULL, 1, NULL, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(20, 1, 5, 5, 3, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL +1 MONTH), INTERVAL +1 DAY), 1109, 'Somewhere in Thailand', 129, NULL, 0, 13, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH)),
|
(20, 1, 5, 5, 3, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL +1 MONTH), INTERVAL +1 DAY), 1109, 'Somewhere in Thailand', 129, NULL, 0, 13, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), NULL),
|
||||||
(21, NULL, 5, 5, 5, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL +1 MONTH), INTERVAL +1 DAY), 1109, 'Somewhere in Holland', 102, NULL, 0, 13, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH)),
|
(21, NULL, 5, 5, 5, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL +1 MONTH), INTERVAL +1 DAY), 1109, 'Somewhere in Holland', 102, NULL, 0, 13, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), NULL),
|
||||||
(22, NULL, 5, 5, 5, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL +1 MONTH), INTERVAL +1 DAY), 1109, 'Somewhere in Japan', 103, NULL, 0, 13, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH)),
|
(22, NULL, 5, 5, 5, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), DATE_ADD(DATE_ADD(util.VN_CURDATE(),INTERVAL +1 MONTH), INTERVAL +1 DAY), 1109, 'Somewhere in Japan', 103, NULL, 0, 13, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL +1 MONTH), NULL),
|
||||||
(23, NULL, 8, 1, 7, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1101, 'address 21', 121, NULL, 0, 5, 5, 1, util.VN_CURDATE()),
|
(23, NULL, 8, 1, 7, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1101, 'address 21', 121, NULL, 0, 5, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(24 ,NULL, 8, 1, 7, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'Bruce Wayne', 1, NULL, 0, 5, 5, 1, util.VN_CURDATE()),
|
(24 ,NULL, 8, 1, 7, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'Bruce Wayne', 1, NULL, 0, 5, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(25 ,NULL, 8, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'Bruce Wayne', 1, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(25 ,NULL, 8, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'Bruce Wayne', 1, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(26 ,NULL, 8, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'An incredibly long alias for testing purposes', 1, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(26 ,NULL, 8, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'An incredibly long alias for testing purposes', 1, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(27 ,NULL, 8, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'Wolverine', 1, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(27 ,NULL, 8, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1101, 'Wolverine', 1, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(28, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(28, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(29, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(29, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(30, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(30, 1, 8, 1, 1, util.VN_CURDATE(), DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(31, 1, 8, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), DATE_ADD(util.VN_CURDATE(), INTERVAL + 2 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE()),
|
(31, 1, 8, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), DATE_ADD(util.VN_CURDATE(), INTERVAL + 2 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL),
|
||||||
(32, 1, 8, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), DATE_ADD(util.VN_CURDATE(), INTERVAL + 2 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE());
|
(32, 1, 8, 1, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL + 1 DAY), DATE_ADD(util.VN_CURDATE(), INTERVAL + 2 DAY), 1103, 'Phone Box', 123, NULL, 0, 1, 5, 1, util.VN_CURDATE(), NULL);
|
||||||
|
|
||||||
INSERT INTO `vn`.`ticketObservation`(`id`, `ticketFk`, `observationTypeFk`, `description`)
|
INSERT INTO `vn`.`ticketObservation`(`id`, `ticketFk`, `observationTypeFk`, `description`)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
|
@ -547,6 +547,7 @@ export default {
|
||||||
moreMenuMakeInvoice: '.vn-menu [name="makeInvoice"]',
|
moreMenuMakeInvoice: '.vn-menu [name="makeInvoice"]',
|
||||||
moreMenuRegenerateInvoice: '.vn-menu [name="regenerateInvoice"]',
|
moreMenuRegenerateInvoice: '.vn-menu [name="regenerateInvoice"]',
|
||||||
moreMenuChangeShippedHour: '.vn-menu [name="changeShipped"]',
|
moreMenuChangeShippedHour: '.vn-menu [name="changeShipped"]',
|
||||||
|
moreMenuSMSOptions: '.vn-menu [name="smsOptions"]',
|
||||||
moreMenuPaymentSMS: '.vn-menu [name="sendPaymentSms"]',
|
moreMenuPaymentSMS: '.vn-menu [name="sendPaymentSms"]',
|
||||||
moreMenuSendImportSms: '.vn-menu [name="sendImportSms"]',
|
moreMenuSendImportSms: '.vn-menu [name="sendImportSms"]',
|
||||||
SMStext: 'textarea[name="message"]',
|
SMStext: 'textarea[name="message"]',
|
||||||
|
|
|
@ -124,6 +124,7 @@ describe('Ticket descriptor path', () => {
|
||||||
describe('SMS', () => {
|
describe('SMS', () => {
|
||||||
it('should send the payment SMS using the descriptor menu', async() => {
|
it('should send the payment SMS using the descriptor menu', async() => {
|
||||||
await page.waitToClick(selectors.ticketDescriptor.moreMenu);
|
await page.waitToClick(selectors.ticketDescriptor.moreMenu);
|
||||||
|
await page.waitToClick(selectors.ticketDescriptor.moreMenuSMSOptions);
|
||||||
await page.waitToClick(selectors.ticketDescriptor.moreMenuPaymentSMS);
|
await page.waitToClick(selectors.ticketDescriptor.moreMenuPaymentSMS);
|
||||||
await page.waitForSelector(selectors.ticketDescriptor.SMStext);
|
await page.waitForSelector(selectors.ticketDescriptor.SMStext);
|
||||||
await page.waitPropertyLength(selectors.ticketDescriptor.SMStext, 'value', 128);
|
await page.waitPropertyLength(selectors.ticketDescriptor.SMStext, 'value', 128);
|
||||||
|
@ -134,8 +135,7 @@ describe('Ticket descriptor path', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should send the import SMS using the descriptor menu', async() => {
|
it('should send the import SMS using the descriptor menu', async() => {
|
||||||
await page.waitToClick(selectors.ticketDescriptor.moreMenu);
|
await page.waitToClick(selectors.ticketDescriptor.moreMenuSMSOptions);
|
||||||
await page.waitForContentLoaded();
|
|
||||||
await page.waitToClick(selectors.ticketDescriptor.moreMenuSendImportSms);
|
await page.waitToClick(selectors.ticketDescriptor.moreMenuSendImportSms);
|
||||||
await page.waitForSelector(selectors.ticketDescriptor.SMStext);
|
await page.waitForSelector(selectors.ticketDescriptor.SMStext);
|
||||||
await page.waitPropertyLength(selectors.ticketDescriptor.SMStext, 'value', 144);
|
await page.waitPropertyLength(selectors.ticketDescriptor.SMStext, 'value', 144);
|
||||||
|
|
|
@ -60,6 +60,9 @@
|
||||||
},
|
},
|
||||||
"totalWithoutVat": {
|
"totalWithoutVat": {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
|
},
|
||||||
|
"weight": {
|
||||||
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"relations": {
|
"relations": {
|
||||||
|
|
|
@ -101,23 +101,33 @@
|
||||||
translate>
|
translate>
|
||||||
Change shipped hour
|
Change shipped hour
|
||||||
</vn-item>
|
</vn-item>
|
||||||
<vn-item
|
<vn-item class="dropdown"
|
||||||
ng-click="$ctrl.sendPaymentSms()"
|
vn-click-stop="sendDeliveryNoteMenu.show($event, 'left');"
|
||||||
name="sendPaymentSms"
|
name="smsOptions"
|
||||||
translate>
|
translate>
|
||||||
SMS Pending payment
|
Send SMS...
|
||||||
</vn-item>
|
<vn-menu vn-id="sendDeliveryNoteMenu">
|
||||||
<vn-item
|
<vn-list>
|
||||||
ng-click="$ctrl.sendImportSms()"
|
<vn-item
|
||||||
name="sendImportSms"
|
ng-click="$ctrl.sendPaymentSms()"
|
||||||
translate>
|
name="sendPaymentSms"
|
||||||
SMS Minimum import
|
translate>
|
||||||
</vn-item>
|
Pending payment
|
||||||
<vn-item
|
</vn-item>
|
||||||
ng-click="$ctrl.sendChangesSms()"
|
<vn-item
|
||||||
name="sendChangesSms"
|
ng-click="$ctrl.sendImportSms()"
|
||||||
translate>
|
name="sendImportSms"
|
||||||
SMS Notify changes
|
translate>
|
||||||
|
Minimum import
|
||||||
|
</vn-item>
|
||||||
|
<vn-item
|
||||||
|
ng-click="$ctrl.sendChangesSms()"
|
||||||
|
name="sendChangesSms"
|
||||||
|
translate>
|
||||||
|
Notify changes
|
||||||
|
</vn-item>
|
||||||
|
</vn-list>
|
||||||
|
</vn-menu>
|
||||||
</vn-item>
|
</vn-item>
|
||||||
<vn-item
|
<vn-item
|
||||||
ng-click="makeInvoiceConfirmation.show()"
|
ng-click="makeInvoiceConfirmation.show()"
|
||||||
|
@ -163,6 +173,12 @@
|
||||||
</vn-list>
|
</vn-list>
|
||||||
</vn-menu>
|
</vn-menu>
|
||||||
</vn-item>
|
</vn-item>
|
||||||
|
<vn-item
|
||||||
|
ng-click="setTicketWeight.show()"
|
||||||
|
vn-acl="deliveryBoss"
|
||||||
|
translate>
|
||||||
|
Set ticket weight
|
||||||
|
</vn-item>
|
||||||
</vn-list>
|
</vn-list>
|
||||||
</vn-menu>
|
</vn-menu>
|
||||||
|
|
||||||
|
@ -348,3 +364,28 @@
|
||||||
question="Are you sure you want to replace this delivery note?"
|
question="Are you sure you want to replace this delivery note?"
|
||||||
message="Already exist signed delivery note">
|
message="Already exist signed delivery note">
|
||||||
</vn-confirm>
|
</vn-confirm>
|
||||||
|
|
||||||
|
<!-- Set ticket weight -->
|
||||||
|
<vn-dialog
|
||||||
|
vn-id="setTicketWeight"
|
||||||
|
title="TicketWeight"
|
||||||
|
size="sm"
|
||||||
|
on-accept="$ctrl.setTicketWeight($ctrl.ticket.weight)">
|
||||||
|
<tpl-body>
|
||||||
|
<vn-input-number
|
||||||
|
label="Ticket weight"
|
||||||
|
ng-model="$ctrl.ticket.weight">
|
||||||
|
</vn-input-number>
|
||||||
|
</tpl-body>
|
||||||
|
<tpl-buttons>
|
||||||
|
<button response="accept" translate>Accept</button>
|
||||||
|
</tpl-buttons>
|
||||||
|
</vn-dialog>
|
||||||
|
|
||||||
|
<!-- Without weight confirmation dialog -->
|
||||||
|
<vn-confirm
|
||||||
|
vn-id="withoutWeightConfirmation"
|
||||||
|
on-accept="$ctrl.makeInvoice(true)"
|
||||||
|
question="This address has incoterms, you should set the weight before invoice it"
|
||||||
|
message="Are you sure you want to invoice this ticket?">
|
||||||
|
</vn-confirm>
|
||||||
|
|
|
@ -249,16 +249,11 @@ class Controller extends Section {
|
||||||
this.$.sms.open();
|
this.$.sms.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
makeInvoice() {
|
makeInvoice(force) {
|
||||||
const params = {ticketsIds: [this.id]};
|
if (this.ticket.address.incotermsFk && !this.ticket.weight && !force)
|
||||||
/*
|
return this.$.withoutWeightConfirmation.show();
|
||||||
This should call the notification sistem to insert a new notification
|
|
||||||
in te queue, yet to check how to handle user permissions,
|
|
||||||
as of 08-11-2022 every employee can insert a new notification in the queue
|
|
||||||
|
|
||||||
*/
|
|
||||||
const client = this.ticket.client;
|
const client = this.ticket.client;
|
||||||
|
|
||||||
if (client.hasElectronicInvoice) {
|
if (client.hasElectronicInvoice) {
|
||||||
this.$http.post(`NotificationQueues`, {
|
this.$http.post(`NotificationQueues`, {
|
||||||
notificationFk: 'invoice-electronic',
|
notificationFk: 'invoice-electronic',
|
||||||
|
@ -275,7 +270,8 @@ class Controller extends Section {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.$http.post(`Tickets/makeInvoice`, params)
|
return this.$http.post(`Tickets/makeInvoice`, {ticketsIds: [this.id]})
|
||||||
|
.then(() => this.reload())
|
||||||
.then(() => this.reload())
|
.then(() => this.reload())
|
||||||
.then(() => this.vnApp.showSuccess(this.$t('Ticket invoiced')));
|
.then(() => this.vnApp.showSuccess(this.$t('Ticket invoiced')));
|
||||||
}
|
}
|
||||||
|
@ -331,6 +327,15 @@ class Controller extends Section {
|
||||||
this.vnApp.showSuccess(this.$t('PDF sent!'));
|
this.vnApp.showSuccess(this.$t('PDF sent!'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTicketWeight(weight) {
|
||||||
|
return this.$http.patch(`Tickets/${this.ticket.id}`, {weight})
|
||||||
|
.then(() => {
|
||||||
|
this.$.setTicketWeight.hide();
|
||||||
|
this.vnApp.showSuccess(this.$t('Data saved!'));
|
||||||
|
this.reload();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Controller.$inject = ['$element', '$scope', 'vnReport', 'vnEmail'];
|
Controller.$inject = ['$element', '$scope', 'vnReport', 'vnEmail'];
|
||||||
|
|
|
@ -198,6 +198,17 @@ describe('Ticket Component vnTicketDescriptorMenu', () => {
|
||||||
expect(controller.reload).toHaveBeenCalledWith();
|
expect(controller.reload).toHaveBeenCalledWith();
|
||||||
expect(controller.vnApp.showSuccess).toHaveBeenCalled();
|
expect(controller.vnApp.showSuccess).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should show withoutWeightConfirmation', () => {
|
||||||
|
controller.$.withoutWeightConfirmation = {show: () => {}};
|
||||||
|
jest.spyOn(controller.$.withoutWeightConfirmation, 'show');
|
||||||
|
controller.ticket.address.incotermsFk = true;
|
||||||
|
|
||||||
|
controller.makeInvoice();
|
||||||
|
controller.ticket.address.incotermsFk = false;
|
||||||
|
|
||||||
|
expect(controller.$.withoutWeightConfirmation.show).toHaveBeenCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('createPdfInvoice()', () => {
|
describe('createPdfInvoice()', () => {
|
||||||
|
|
|
@ -16,8 +16,14 @@ without warehouse: sin almacén
|
||||||
Invoice sent: Factura enviada
|
Invoice sent: Factura enviada
|
||||||
The following refund ticket have been created: "Se ha creado siguiente ticket de abono: {{ticketId}}"
|
The following refund ticket have been created: "Se ha creado siguiente ticket de abono: {{ticketId}}"
|
||||||
Transfer client: Transferir cliente
|
Transfer client: Transferir cliente
|
||||||
SMS Notify changes: SMS Notificar cambios
|
Send SMS...: Enviar SMS...
|
||||||
|
Notify changes: Notificar cambios
|
||||||
|
Minimum import: Importe mínimo
|
||||||
|
Pending payment: Pago pendiente
|
||||||
PDF sent!: ¡PDF enviado!
|
PDF sent!: ¡PDF enviado!
|
||||||
Already exist signed delivery note: Ya existe albarán de entrega firmado
|
Already exist signed delivery note: Ya existe albarán de entrega firmado
|
||||||
Are you sure you want to replace this delivery note?: ¿Seguro que quieres reemplazar este albarán de entrega?
|
Are you sure you want to replace this delivery note?: ¿Seguro que quieres reemplazar este albarán de entrega?
|
||||||
Create a single ticket with all the content of the current ticket: Crea un ticket único con todo el contenido del ticket actual
|
Create a single ticket with all the content of the current ticket: Crea un ticket único con todo el contenido del ticket actual
|
||||||
|
Set ticket weight: Establecer peso al ticket
|
||||||
|
Ticket weight: Peso del ticket
|
||||||
|
This address has incoterms, you should set the weight before invoice it: Este consigatario tiene incoterms, deberías establecer el peso antes de facturar
|
||||||
|
|
|
@ -17,8 +17,6 @@ Shipped hour updated: Hora de envio modificada
|
||||||
Deleted ticket: Ticket eliminado
|
Deleted ticket: Ticket eliminado
|
||||||
Recalculate components: Recalcular componentes
|
Recalculate components: Recalcular componentes
|
||||||
Are you sure you want to recalculate the components?: ¿Seguro que quieres recalcular los componentes?
|
Are you sure you want to recalculate the components?: ¿Seguro que quieres recalcular los componentes?
|
||||||
SMS Minimum import: 'SMS Importe minimo'
|
|
||||||
SMS Pending payment: 'SMS Pago pendiente'
|
|
||||||
Restore ticket: Restaurar ticket
|
Restore ticket: Restaurar ticket
|
||||||
You are going to restore this ticket: Vas a restaurar este ticket
|
You are going to restore this ticket: Vas a restaurar este ticket
|
||||||
Are you sure you want to restore this ticket?: ¿Seguro que quieres restaurar el ticket?
|
Are you sure you want to restore this ticket?: ¿Seguro que quieres restaurar el ticket?
|
||||||
|
|
|
@ -65,6 +65,11 @@
|
||||||
{{$ctrl.summary.refFk | dashIfEmpty}}
|
{{$ctrl.summary.refFk | dashIfEmpty}}
|
||||||
</span>
|
</span>
|
||||||
</vn-label-value>
|
</vn-label-value>
|
||||||
|
<vn-label-value label="Weight">
|
||||||
|
<span>
|
||||||
|
{{$ctrl.summary.weight | dashIfEmpty}}
|
||||||
|
</span>
|
||||||
|
</vn-label-value>
|
||||||
</vn-one>
|
</vn-one>
|
||||||
<vn-two>
|
<vn-two>
|
||||||
<vn-label-value label="Shipped"
|
<vn-label-value label="Shipped"
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
SELECT io.issued,
|
SELECT io.issued,
|
||||||
c.socialName,
|
c.socialName,
|
||||||
c.street postalAddress,
|
c.street postalAddress,
|
||||||
IF (ios.taxAreaFk IS NOT NULL, CONCAT(cty.code, c.fi), c.fi) fi,
|
IF (ios.taxAreaFk IS NOT NULL, CONCAT(cty.code, c.fi), c.fi) fi,
|
||||||
io.clientFk,
|
io.clientFk,
|
||||||
c.postcode,
|
c.postcode,
|
||||||
c.city,
|
c.city,
|
||||||
io.companyFk,
|
io.companyFk,
|
||||||
io.ref,
|
io.ref,
|
||||||
tc.code,
|
tc.code,
|
||||||
s.concept,
|
s.concept,
|
||||||
s.quantity,
|
s.quantity,
|
||||||
s.price,
|
s.price,
|
||||||
s.discount,
|
s.discount,
|
||||||
s.ticketFk,
|
s.ticketFk,
|
||||||
t.shipped,
|
t.shipped,
|
||||||
t.refFk,
|
t.refFk,
|
||||||
a.nickname,
|
a.nickname,
|
||||||
s.itemFk,
|
s.itemFk,
|
||||||
s.id saleFk,
|
s.id saleFk,
|
||||||
pm.name AS pmname,
|
pm.name AS pmname,
|
||||||
sa.iban,
|
sa.iban,
|
||||||
c.phone,
|
c.phone,
|
||||||
MAX(t.packages) packages,
|
MAX(t.packages) packages,
|
||||||
a.incotermsFk,
|
a.incotermsFk,
|
||||||
ic.name incotermsName ,
|
ic.name incotermsName ,
|
||||||
sub.description weight,
|
t.weight,
|
||||||
t.observations,
|
t.observations,
|
||||||
ca.fiscalName customsAgentName,
|
ca.fiscalName customsAgentName,
|
||||||
ca.street customsAgentStreet,
|
ca.street customsAgentStreet,
|
||||||
ca.nif customsAgentNif,
|
ca.nif customsAgentNif,
|
||||||
ca.phone customsAgentPhone,
|
ca.phone customsAgentPhone,
|
||||||
ca.email customsAgentEmail,
|
ca.email customsAgentEmail,
|
||||||
CAST(sub2.volume AS DECIMAL (10,2)) volume,
|
CAST(sub2.volume AS DECIMAL (10,2)) volume,
|
||||||
sub3.intrastat
|
sub3.intrastat
|
||||||
FROM vn.invoiceOut io
|
FROM vn.invoiceOut io
|
||||||
|
@ -38,21 +38,16 @@ SELECT io.issued,
|
||||||
JOIN vn.client c ON c.id = io.clientFk
|
JOIN vn.client c ON c.id = io.clientFk
|
||||||
LEFT JOIN vn.province p ON p.id = c.provinceFk
|
LEFT JOIN vn.province p ON p.id = c.provinceFk
|
||||||
JOIN vn.ticket t ON t.refFk = io.ref
|
JOIN vn.ticket t ON t.refFk = io.ref
|
||||||
LEFT JOIN (SELECT tob.ticketFk,tob.description
|
|
||||||
FROM vn.ticketObservation tob
|
|
||||||
LEFT JOIN vn.observationType ot ON ot.id = tob.observationTypeFk
|
|
||||||
WHERE ot.description = "Peso Aduana"
|
|
||||||
)sub ON sub.ticketFk = t.id
|
|
||||||
JOIN vn.address a ON a.id = t.addressFk
|
JOIN vn.address a ON a.id = t.addressFk
|
||||||
LEFT JOIN vn.incoterms ic ON ic.code = a.incotermsFk
|
LEFT JOIN vn.incoterms ic ON ic.code = a.incotermsFk
|
||||||
LEFT JOIN vn.customsAgent ca ON ca.id = a.customsAgentFk
|
LEFT JOIN vn.customsAgent ca ON ca.id = a.customsAgentFk
|
||||||
JOIN vn.sale s ON s.ticketFk = t.id
|
JOIN vn.sale s ON s.ticketFk = t.id
|
||||||
JOIN (SELECT SUM(volume) volume
|
JOIN (SELECT SUM(volume) volume
|
||||||
FROM vn.invoiceOut io
|
FROM vn.invoiceOut io
|
||||||
JOIN vn.ticket t ON t.refFk = io.ref
|
JOIN vn.ticket t ON t.refFk = io.ref
|
||||||
JOIN vn.saleVolume sv ON sv.ticketFk = t.id
|
JOIN vn.saleVolume sv ON sv.ticketFk = t.id
|
||||||
WHERE t.refFk = ?
|
WHERE t.refFk = ?
|
||||||
) sub2 ON TRUE
|
) sub2 ON TRUE
|
||||||
JOIN vn.itemTaxCountry itc ON itc.countryFk = su.countryFk AND itc.itemFk = s.itemFk
|
JOIN vn.itemTaxCountry itc ON itc.countryFk = su.countryFk AND itc.itemFk = s.itemFk
|
||||||
JOIN vn.taxClass tc ON tc.id = itc.taxClassFk
|
JOIN vn.taxClass tc ON tc.id = itc.taxClassFk
|
||||||
LEFT JOIN vn.invoiceOutSerial ios ON ios.code = io.serial AND ios.taxAreaFk = 'CEE'
|
LEFT JOIN vn.invoiceOutSerial ios ON ios.code = io.serial AND ios.taxAreaFk = 'CEE'
|
||||||
|
@ -61,11 +56,11 @@ SELECT io.issued,
|
||||||
JOIN vn.company co ON co.id=io.companyFk
|
JOIN vn.company co ON co.id=io.companyFk
|
||||||
JOIN vn.supplierAccount sa ON sa.id=co.supplierAccountFk
|
JOIN vn.supplierAccount sa ON sa.id=co.supplierAccountFk
|
||||||
LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT ir.description ORDER BY ir.description SEPARATOR '. ' ) as intrastat
|
LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT ir.description ORDER BY ir.description SEPARATOR '. ' ) as intrastat
|
||||||
FROM vn.ticket t
|
FROM vn.ticket t
|
||||||
JOIN vn.invoiceOut io ON io.ref = t.refFk
|
JOIN vn.invoiceOut io ON io.ref = t.refFk
|
||||||
JOIN vn.sale s ON t.id = s.ticketFk
|
JOIN vn.sale s ON t.id = s.ticketFk
|
||||||
JOIN vn.item i ON i.id = s.itemFk
|
JOIN vn.item i ON i.id = s.itemFk
|
||||||
JOIN vn.intrastat ir ON ir.id = i.intrastatFk
|
JOIN vn.intrastat ir ON ir.id = i.intrastatFk
|
||||||
WHERE t.refFk = ?
|
WHERE t.refFk = ?
|
||||||
)sub3 ON TRUE
|
)sub3 ON TRUE
|
||||||
WHERE t.refFk = ?
|
WHERE t.refFk = ?
|
||||||
|
|
Loading…
Reference in New Issue