#5914 - hotFix-transferInvoice #1893
Labels
No Milestone
No Assignees
4 Participants
Notifications
Total Time Spent: 30 minutes
Due Date
jsegarra
30 minutes
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix#1893
Loading…
Reference in New Issue
No description provided.
Delete Branch "5914-hotFix-transferInvoice"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -610,0 +606,4 @@
('T', 'Española rapida', 1, 'NATIONAL', 0, 'quick'),
('V', 'Intracomunitaria global', 0, 'CEE', 1, 'global'),
('M', 'Múltiple nacional', 1, 'NATIONAL', 0, 'quick'),
('R', 'Rectificativa', 1, 'NATIONAL', 0, NULL),
He afegit la rectificativa
@ -614,3 +615,3 @@
(2, 'T', 121.36, util.VN_CURDATE(), 1102, util.VN_CURDATE(), 442, util.VN_CURDATE(), util.VN_CURDATE(), 1, 0),
(3, 'T', 8.88, util.VN_CURDATE(), 1103, util.VN_CURDATE(), 442, util.VN_CURDATE(), util.VN_CURDATE(), 1, 0),
(4, 'T', 8.88, util.VN_CURDATE(), 1103, util.VN_CURDATE(), 442, util.VN_CURDATE(), util.VN_CURDATE(), 1, 0),
(4, 'T', 8.88, util.VN_CURDATE(), 1104, util.VN_CURDATE(), 442, util.VN_CURDATE(), util.VN_CURDATE(), 1, 0),
Li he donat coherencia a alguna fixture
@ -720,3 +721,3 @@
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),
(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),
(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), 1101, 'Bat cave', 1, NULL, 0, 1, 5, 1, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 2),
Li he donat coherencia a alguna fixture
@ -0,0 +9,4 @@
* returns tmp.taxBases
*/
CREATE OR REPLACE TEMPORARY TABLE tmp.ticket
Porque no haces DROP TEMPORARY TABLE IF EXISTS tmp.ticket?
Es el nuevo standard
@ -26,3 +28,4 @@
"required": true
}
}
}
No hay relación con las tablas de "types"?
@ -57,3 +49,4 @@
throw new UserError($t(taxBaseFunction, {ticketsIds: ticketsIds}));
const today = Date.vnNew();
tickets.some(ticket => {
el método some ya devuelve un booleano, por lo que el return sería innecesario, o la lógica dice que siempre queremos devolver true?
Si la logica estaba ya asi, pero ahora lo cambio
@ -47,3 +53,3 @@
fields: ['id', 'clientFk', 'companyFk']
}
}, myOptions);
Defines clientId y companyId que vienen de firstTicket, pero porque no haces lo mismo con addressFk?
Como solo lo uso una vez no lo he hecho variable.
En el caso de si que se usaban mas de una vez clientId y companyId.
Pero con el refactor companyId solo se usa una vez, ahora quito la variable
@ -48,3 +53,4 @@
}
}, myOptions);
const [firstTicket] = tickets;
Traes un Array, pero luego seleccionas el primero, porque no haces findOne y cambias el nombre de la variable de la línea 49?
@ -59,18 +65,17 @@ module.exports = function(Self) {
fields: ['id', 'hasToInvoiceByAddress']
La propiedad id no la usas, al igual que en la línea 50, aunque es poco significativo.
@ -59,18 +65,17 @@ module.exports = function(Self) {
fields: ['id', 'hasToInvoiceByAddress']
}, myOptions);
let ticketsByAddress = {[firstTicket.addressFk]: ticketsIds};
Asignas unos valores que luego puede que se machaquen
Quizás declararia la variable vacía y pondria un else, o también mover a un método aparte
@ -60,3 +66,4 @@
}, myOptions);
let ticketsByAddress = {[firstTicket.addressFk]: ticketsIds};
if (client.hasToInvoiceByAddress) {
Si es la única llamada a client, porque no haces const { hasToInvoiceByAddress} en la línea 64
@ -94,0 +106,4 @@
);
}
if (resultInvoice.id)
Puede ser resultInvoice.id nulo? Porque en la línea 99 ya se emitiría un error
5914-hotFix-transferInvoiceto #5914 - hotFix-transferInvoice@ -71,3 +70,1 @@
await createInvoice(ctx, companyId, ticketsIds, address, invoicesIds, myOptions);
} else
await createInvoice(ctx, companyId, ticketsIds, null, invoicesIds, myOptions);
ticketsByAddress = tickets.reduce((group, ticket) => {
Todo esto es para hacer un Set de los Ids de tickets?
Porque más abajo haces object.values entonces las keys(addressFk) te dan igual, correcto?
@ -0,0 +14,4 @@
CALL getTaxBases();
SELECT positive > 0 INTO hasAnyPositiveBase
quitar >0
New commits pushed, approval review dismissed automatically according to repository settings
@ -0,0 +2,4 @@
$$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`getTaxBases`()
BEGIN
Los saltos de línea entre los comentarios no son necesarios.
@ -0,0 +21,4 @@
CREATE TEMPORARY TABLE tmp.taxBases
ENGINE = MEMORY
SELECT
SUM(CASE WHEN taxableBase > 0 THEN 1 ELSE 0 END) as positive,
Yo lo veo más claro así
SUM(IF(taxableBase > 0, TRUE, FALSE))positive,
SUM(IF(taxableBase < 0, TRUE; FALSE))negative
vale pero al sumar sí gastem 1 i 0
@ -0,0 +24,4 @@
SUM(CASE WHEN taxableBase > 0 THEN 1 ELSE 0 END) as positive,
SUM(CASE WHEN taxableBase < 0 THEN 1 ELSE 0 END) as negative
FROM(
SELECT SUM(taxableBase) as taxableBase
Se pueden omitir todos los 'as'
@ -0,0 +4,4 @@
DETERMINISTIC
BEGIN
/* Calcula si existe alguna base imponible positiva
Los comentarios están mal, la forma correcta:
/**
*
*
*/
@ -0,0 +15,4 @@
CALL getTaxBases();
SELECT positive INTO hasAnyPositiveBase
FROM tmp.taxBases;
sino poses un limit uno açò pot donar error si hi ha 2 en el into
@ -0,0 +15,4 @@
CALL getTaxBases();
SELECT negative INTO hasAnyNegativeBase
FROM tmp.taxBases;
limit 1
@ -31,3 +30,1 @@
expect(canBeInvoiced).toEqual(false);
await models.Ticket.canBeInvoiced(ctx, [ticketId], false, options);
no hi ha cap test a de canBeInvoiced amb el 3 parametro a true
@ -24,2 +24,3 @@
Transfer invoice to...: Transferir factura a...
Cplus Type: Cplus Tipo
Rectificative type: Tipo rectificativa
Invoice trasfered!: ¡Factura transferida!
ahir diguerem de no posar signes, de fet en la resposta al client jo tampoc ho posaria
New commits pushed, approval review dismissed automatically according to repository settings