Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into dev
gitea/salix/pipeline/head There was a failure building this commit Details

This commit is contained in:
Alex Moreno 2024-06-26 12:25:19 +02:00
commit 26ca72cc00
17 changed files with 190 additions and 68 deletions

View File

@ -3889,11 +3889,25 @@ INSERT INTO `vn`.`calendarHolidays` (calendarHolidaysTypeFk, dated, calendarHoli
(1, '2001-05-17', 1, 5), (1, '2001-05-17', 1, 5),
(1, '2001-05-18', 1, 5); (1, '2001-05-18', 1, 5);
INSERT INTO vn.payrollComponent
(id, name, isSalaryAgreed, isVariable, isException)
VALUES
(1, 'Salario1', 1, 0, 0),
(2, 'Salario2', 1, 1, 0),
(3, 'Salario3', 1, 0, 1);
INSERT INTO dipole.printer (id, description)
VALUES(1, '');
INSERT INTO dipole.expedition_PrintOut (expeditionFk, ticketFk, addressFk, street, postalCode, city, shopName, isPrinted, created, printerFk, routeFk, parkingCode, INSERT INTO vn.workerIncome
truckName, clientFk, phone, province, agency, m3, workerCode, itemFk, quantity, longName, shelvingFk, comments) (debit, credit, incomeTypeFk, paymentDate, workerFk, concept)
VALUES(1, 1, 0, ' ', ' ', ' ', ' ', 0, '2001-01-01 00:00:00', 1, 0, ' ', ' ', 0, NULL, '', NULL, 0.000, NULL, 10, NULL, NULL, 'NCC', NULL); VALUES
(1000.00, 900.00, 2, '2000-01-01', 1106, NULL),
(1001.00, 800.00, 2, '2000-01-01', 1106, NULL);
INSERT INTO dipole.printer (id, description)
VALUES(1, '');
INSERT INTO dipole.expedition_PrintOut (expeditionFk, ticketFk, addressFk, street, postalCode, city, shopName, isPrinted, created, printerFk, routeFk, parkingCode,
truckName, clientFk, phone, province, agency, m3, workerCode, itemFk, quantity, longName, shelvingFk, comments)
VALUES(1, 1, 0, ' ', ' ', ' ', ' ', 0, '2001-01-01 00:00:00', 1, 0, ' ', ' ', 0, NULL, '', NULL, 0.000, NULL, 10, NULL, NULL, 'NCC', NULL);

View File

@ -26,6 +26,7 @@ BEGIN
JOIN province p ON p.id = c.provinceFk JOIN province p ON p.id = c.provinceFk
LEFT JOIN autonomy a ON a.id = p.autonomyFk LEFT JOIN autonomy a ON a.id = p.autonomyFk
JOIN country co ON co.id = p.countryFk JOIN country co ON co.id = p.countryFk
JOIN bs.clientDiedPeriod cdp ON cdp.countryFk = co.id
WHERE cd.warning = 'third' WHERE cd.warning = 'third'
AND cp.clientFk IS NULL AND cp.clientFk IS NULL
AND sp.salesPersonFk IS NULL AND sp.salesPersonFk IS NULL

View File

@ -1,5 +1,7 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_DelayTruckSplit`(vTicketFk INT) CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_DelayTruckSplit`(
vTicketFk INT
)
BEGIN BEGIN
/** /**
* Splita las lineas de ticket que no estan ubicadas * Splita las lineas de ticket que no estan ubicadas
@ -50,7 +52,7 @@ BEGIN
SET s.ticketFk = vNewTicketFk; SET s.ticketFk = vNewTicketFk;
END IF; END IF;
CALL ticketStateUpdate(vNewTicketFk, 'FIXING'); CALL ticket_setState(vNewTicketFk, 'FIXING');
DROP TEMPORARY TABLE tmp.SalesToSplit; DROP TEMPORARY TABLE tmp.SalesToSplit;
END$$ END$$

View File

@ -1,5 +1,8 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_cloneWeekly`(vDateFrom DATE, vDateTo DATE) CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_cloneWeekly`(
vDateFrom DATE,
vDateTo DATE
)
BEGIN BEGIN
DECLARE vIsDone BOOL; DECLARE vIsDone BOOL;
DECLARE vLanding DATE; DECLARE vLanding DATE;
@ -41,7 +44,14 @@ BEGIN
DECLARE vMessage TEXT; DECLARE vMessage TEXT;
SET vIsDone = FALSE; SET vIsDone = FALSE;
FETCH rsTicket INTO vTicketFk,vClientFk, vWarehouseFk, vCompanyFk, vAddressFk, vAgencyModeFk,vShipment; FETCH rsTicket INTO
vTicketFk,
vClientFk,
vWarehouseFk,
vCompanyFk,
vAddressFk,
vAgencyModeFk,
vShipment;
IF vIsDone THEN IF vIsDone THEN
LEAVE myLoop; LEAVE myLoop;
@ -67,7 +77,7 @@ BEGIN
AND isDefaultAddress; AND isDefaultAddress;
END IF; END IF;
CALL zone_getLanded(vShipment, vAddressFk, vAgencyModeFk, vWarehouseFk,FALSE); CALL zone_getLanded(vShipment, vAddressFk, vAgencyModeFk, vWarehouseFk, FALSE);
SET vLanding = NULL; SET vLanding = NULL;
SELECT landed INTO vLanding FROM tmp.zoneGetLanded LIMIT 1; SELECT landed INTO vLanding FROM tmp.zoneGetLanded LIMIT 1;
@ -88,16 +98,22 @@ BEGIN
SET clonedFrom = vTicketFk SET clonedFrom = vTicketFk
WHERE id = vNewTicket; WHERE id = vNewTicket;
INSERT INTO sale (ticketFk, itemFk, concept, quantity, price, INSERT INTO sale (ticketFk,
discount, priceFixed, isPriceFixed) itemFk,
concept,
quantity,
price,
discount,
priceFixed,
isPriceFixed)
SELECT vNewTicket, SELECT vNewTicket,
saleOrig.itemFk, saleOrig.itemFk,
saleOrig.concept, saleOrig.concept,
saleOrig.quantity, saleOrig.quantity,
saleOrig.price, saleOrig.price,
saleOrig.discount, saleOrig.discount,
saleOrig.priceFixed, saleOrig.priceFixed,
saleOrig.isPriceFixed saleOrig.isPriceFixed
FROM sale saleOrig FROM sale saleOrig
WHERE saleOrig.ticketFk = vTicketFk; WHERE saleOrig.ticketFk = vTicketFk;
@ -123,20 +139,20 @@ BEGIN
,attenderFk, ,attenderFk,
ticketFk) ticketFk)
SELECT description, SELECT description,
ordered, ordered,
shipped, shipped,
quantity, quantity,
price, price,
itemFk, itemFk,
clientFk, clientFk,
response, response,
total, total,
buyed, buyed,
requesterFk, requesterFk,
attenderFk, attenderFk,
vNewTicket vNewTicket
FROM ticketRequest FROM ticketRequest
WHERE ticketFk =vTicketFk; WHERE ticketFk =vTicketFk;
SELECT id INTO vSalesPersonFK SELECT id INTO vSalesPersonFK
FROM observationType FROM observationType
@ -189,7 +205,7 @@ BEGIN
IF NOT vIsDuplicateMail THEN IF NOT vIsDuplicateMail THEN
CALL mail_insert(vSalesPersonEmail, NULL, vSubject, vMessage); CALL mail_insert(vSalesPersonEmail, NULL, vSubject, vMessage);
END IF; END IF;
CALL ticketStateUpdate (vNewTicket, 'FIXING'); CALL ticket_setState(vNewTicket, 'FIXING');
ELSE ELSE
CALL ticketCalculateClon(vNewTicket, vTicketFk); CALL ticketCalculateClon(vNewTicket, vTicketFk);
END IF; END IF;

View File

@ -1,5 +1,9 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_split`(vTicketFk INT, vTicketFutureFk INT, vDated DATE) CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_split`(
vTicketFk INT,
vTicketFutureFk INT,
vDated DATE
)
proc:BEGIN proc:BEGIN
/** /**
* Mueve las lineas con problemas a otro ticket existente o a uno nuevo. * Mueve las lineas con problemas a otro ticket existente o a uno nuevo.
@ -17,60 +21,56 @@ proc:BEGIN
FROM tmp.salesToSplit FROM tmp.salesToSplit
WHERE ticketFk = vTicketFk; WHERE ticketFk = vTicketFk;
SELECT count(*) INTO vTotalLines SELECT COUNT(*) INTO vTotalLines
FROM vn.sale s FROM sale s
WHERE s.ticketFk = vTicketFk; WHERE s.ticketFk = vTicketFk;
SET vHasFullProblem = (vTotalLines = vProblemLines); SET vHasFullProblem = (vTotalLines = vProblemLines);
-- Ticket completo -- Ticket completo
IF vHasFullProblem THEN IF vHasFullProblem THEN
UPDATE ticket
UPDATE vn.ticket SET landed = vDated + INTERVAL 1 DAY,
SET landed = vDated + INTERVAL 1 DAY,
shipped = vDated, shipped = vDated,
nickname = CONCAT('(',DAY(util.VN_CURDATE()),') ', nickname ) nickname = CONCAT('(',DAY(util.VN_CURDATE()),') ', nickname)
WHERE id = vTicketFk; WHERE id = vTicketFk;
SELECT "moved" message, NULL ticketFuture; SELECT 'moved' message, NULL ticketFuture;
LEAVE proc; LEAVE proc;
END IF; END IF;
-- Ticket a futuro existe -- Ticket a futuro existe
IF vTicketFutureFk THEN IF vTicketFutureFk THEN
UPDATE sale s
UPDATE vn.sale s JOIN tmp.salesToSplit ss ON s.id = ss.saleFk
JOIN tmp.salesToSplit ss ON s.id = ss.saleFk
SET s.ticketFk = vTicketFutureFk, SET s.ticketFk = vTicketFutureFk,
s.concept = CONCAT('(s) ', s.concept) s.concept = CONCAT('(s) ', s.concept)
WHERE ss.ticketFk = vTicketFk; WHERE ss.ticketFk = vTicketFk;
SELECT "future" message, NULL ticketFuture; SELECT 'future' message, NULL ticketFuture;
LEAVE proc; LEAVE proc;
END IF; END IF;
-- Ticket nuevo -- Ticket nuevo
CALL vn.ticket_Clone(vTicketFk, vTicketFutureFk); CALL ticket_Clone(vTicketFk, vTicketFutureFk);
UPDATE vn.ticket t UPDATE ticket t
JOIN vn.productionConfig pc JOIN productionConfig pc
SET t.routeFk = IF(t.shipped = vDated , t.routeFk, NULL), SET t.routeFk = IF(t.shipped = vDated , t.routeFk, NULL),
t.landed = vDated + INTERVAL 1 DAY, t.landed = vDated + INTERVAL 1 DAY,
t.shipped = vDated, t.shipped = vDated,
t.agencyModeFk = pc.defautlAgencyMode, t.agencyModeFk = pc.defautlAgencyMode,
t.zoneFk = pc.defaultZone t.zoneFk = pc.defaultZone
WHERE t.id = vTicketFutureFk; WHERE t.id = vTicketFutureFk;
UPDATE vn.sale s UPDATE sale s
JOIN tmp.salesToSplit sts ON sts.saleFk = s.id JOIN tmp.salesToSplit sts ON sts.saleFk = s.id
SET s.ticketFk = vTicketFutureFk, SET s.ticketFk = vTicketFutureFk,
s.concept = CONCAT('(s) ', s.concept) s.concept = CONCAT('(s) ', s.concept)
WHERE sts.ticketFk = vTicketFk; WHERE sts.ticketFk = vTicketFk;
CALL vn.ticketStateUpdate(vTicketFutureFk, 'FIXING'); CALL ticket_setState(vTicketFutureFk, 'FIXING');
SELECT "new" message,vTicketFutureFk ticketFuture; SELECT 'new' message, vTicketFutureFk ticketFuture;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -0,0 +1,6 @@
-- Place your SQL code here
INSERT INTO salix.ACL (model, property, accessType, permission, principalType, principalId)
VALUES
('WorkerIncome', '*', '*', 'ALLOW', 'ROLE', 'hr'),
('PayrollComponent', '*', '*', 'ALLOW', 'ROLE', 'hr'),
('Worker', '__get__incomes', '*', 'ALLOW', 'ROLE', 'hr');

View File

@ -27,7 +27,7 @@
vn-id="country" vn-id="country"
ng-model="$ctrl.data.countryFk" ng-model="$ctrl.data.countryFk"
url="Countries" url="Countries"
fields="['id', 'country', 'code']" fields="['id', 'name', 'code']"
show-field="name" show-field="name"
value-field="id" value-field="id"
label="Country"> label="Country">

View File

@ -50,7 +50,7 @@ module.exports = function(Self) {
{ {
relation: 'country', relation: 'country',
scope: { scope: {
fields: ['id', 'country'] fields: ['id', 'name']
} }
}, },
{ {

View File

@ -54,7 +54,7 @@ module.exports = Self => {
{ {
relation: 'country', relation: 'country',
scope: { scope: {
fields: ['country'] fields: ['name']
} }
}, },
{ {

View File

@ -37,7 +37,7 @@ class Controller extends Section {
include: { include: {
relation: 'country', relation: 'country',
scope: { scope: {
fields: ['id', 'country'] fields: ['id', 'name']
} }
} }
} }

View File

@ -28,7 +28,7 @@ class Controller extends Section {
field: 'countryFk', field: 'countryFk',
autocomplete: { autocomplete: {
url: 'Countries', url: 'Countries',
showField: 'country', showField: 'name',
} }
}, },
{ {

View File

@ -59,7 +59,7 @@ module.exports = Self => {
include: [{ include: [{
relation: 'country', relation: 'country',
scope: { scope: {
fields: ['id', 'country'] fields: ['id', 'name']
} }
}, { }, {
relation: 'taxClass', relation: 'taxClass',

View File

@ -55,7 +55,7 @@ module.exports = Self => {
{ {
relation: 'country', relation: 'country',
scope: { scope: {
fields: ['id', 'country', 'code'] fields: ['id', 'name', 'code']
} }
}, },
{ {

View File

@ -125,6 +125,12 @@
"Locker": { "Locker": {
"dataSource": "vn" "dataSource": "vn"
}, },
"PayrollComponent": {
"dataSource": "vn"
},
"WorkerIncome": {
"dataSource": "vn"
},
"TrainingCourse": { "TrainingCourse": {
"dataSource": "vn" "dataSource": "vn"
}, },

View File

@ -0,0 +1,27 @@
{
"name": "PayrollComponent",
"base": "VnModel",
"options": {
"mysql": {
"table": "payrollComponent"
}
},
"properties": {
"id": {
"id": true,
"type": "number"
},
"name": {
"type": "string"
},
"isSalaryAgreed": {
"type": "number"
},
"isVariable": {
"type": "number"
},
"isException": {
"type": "number"
}
}
}

View File

@ -0,0 +1,45 @@
{
"name": "WorkerIncome",
"base": "VnModel",
"options": {
"mysql": {
"table": "workerIncome"
}
},
"properties": {
"id": {
"id": true,
"type": "number"
},
"debit": {
"type": "number"
},
"credit": {
"type": "number"
},
"incomeTypeFk": {
"type": "number"
},
"paymentDate": {
"type": "date"
},
"workerFk": {
"type": "number"
},
"concept": {
"type": "string"
}
},
"relations": {
"payrollComponent": {
"type": "belongsTo",
"model": "PayrollComponent",
"foreignKey": "id"
},
"worker": {
"type": "belongsTo",
"model": "Worker",
"foreignKey": "workerFk"
}
}
}

View File

@ -116,6 +116,11 @@
"model": "Locker", "model": "Locker",
"foreignKey": "workerFk" "foreignKey": "workerFk"
}, },
"incomes": {
"type": "hasMany",
"model": "WorkerIncome",
"foreignKey": "workerFk"
},
"trainingCourse": { "trainingCourse": {
"type": "hasMany", "type": "hasMany",
"model": "TrainingCourse", "model": "TrainingCourse",