Merge branch 'dev' into 5926_pda_worker_docuware
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
commit
9f7df66119
|
@ -1711,7 +1711,7 @@ INSERT INTO `ACL` VALUES (570,'InvoiceOut','canCreatePdf','WRITE','ALLOW','ROLE'
|
||||||
INSERT INTO `ACL` VALUES (571,'Supplier','editPayMethodCheck','WRITE','ALLOW','ROLE','financial');
|
INSERT INTO `ACL` VALUES (571,'Supplier','editPayMethodCheck','WRITE','ALLOW','ROLE','financial');
|
||||||
INSERT INTO `ACL` VALUES (572,'Worker','isTeamBoss','WRITE','ALLOW','ROLE','teamBoss');
|
INSERT INTO `ACL` VALUES (572,'Worker','isTeamBoss','WRITE','ALLOW','ROLE','teamBoss');
|
||||||
INSERT INTO `ACL` VALUES (573,'Worker','forceIsSubordinate','READ','ALLOW','ROLE','hr');
|
INSERT INTO `ACL` VALUES (573,'Worker','forceIsSubordinate','READ','ALLOW','ROLE','hr');
|
||||||
INSERT INTO `ACL` VALUES (574,'Claim','editState','WRITE','ALLOW','ROLE','claimManager');
|
INSERT INTO `ACL` VALUES (574,'Claim','editPickup','WRITE','ALLOW','ROLE','claimManager');
|
||||||
INSERT INTO `ACL` VALUES (577,'Claim','findOne','READ','ALLOW','ROLE','salesPerson');
|
INSERT INTO `ACL` VALUES (577,'Claim','findOne','READ','ALLOW','ROLE','salesPerson');
|
||||||
INSERT INTO `ACL` VALUES (579,'Claim','updateClaim','WRITE','ALLOW','ROLE','salesPerson');
|
INSERT INTO `ACL` VALUES (579,'Claim','updateClaim','WRITE','ALLOW','ROLE','salesPerson');
|
||||||
INSERT INTO `ACL` VALUES (580,'Claim','regularizeClaim','WRITE','ALLOW','ROLE','claimManager');
|
INSERT INTO `ACL` VALUES (580,'Claim','regularizeClaim','WRITE','ALLOW','ROLE','claimManager');
|
||||||
|
|
|
@ -3131,6 +3131,18 @@ INSERT INTO `vn`.`entryDms`(`entryFk`, `dmsFk`, `editorFk`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 9, 9);
|
(1, 9, 9);
|
||||||
|
|
||||||
|
INSERT INTO vn.entryType (code,description,isInformal)
|
||||||
|
VALUES ('devaluation','Devaluation',0),
|
||||||
|
('internal','Internal',1),
|
||||||
|
('inventory','Inventory',1),
|
||||||
|
('life','Life',1),
|
||||||
|
('packaging','Packaging',0),
|
||||||
|
('payment','Refund',0),
|
||||||
|
('product','Product',0),
|
||||||
|
('regularization','Regularization',1),
|
||||||
|
('return','Return',0),
|
||||||
|
('transport','Delivery',0);
|
||||||
|
|
||||||
INSERT INTO `vn`.`cmr` (id,truckPlate,observations,senderInstruccions,paymentInstruccions,specialAgreements,companyFk,addressToFk,addressFromFk,supplierFk,packagesList,merchandiseDetail,state)
|
INSERT INTO `vn`.`cmr` (id,truckPlate,observations,senderInstruccions,paymentInstruccions,specialAgreements,companyFk,addressToFk,addressFromFk,supplierFk,packagesList,merchandiseDetail,state)
|
||||||
VALUES (1,'123456A','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',442,1,2,1,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
|
VALUES (1,'123456A','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',442,1,2,1,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
|
||||||
(2,'123456N','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',69,3,4,2,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
|
(2,'123456N','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',69,3,4,2,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
|
||||||
|
@ -3896,6 +3908,21 @@ INSERT INTO vn.sectorCollectionSaleGroup
|
||||||
SET id = 9,
|
SET id = 9,
|
||||||
sectorCollectionFk = 3,
|
sectorCollectionFk = 3,
|
||||||
saleGroupFk = 6;
|
saleGroupFk = 6;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO `vn`.`calendarHolidays` (calendarHolidaysTypeFk, dated, calendarHolidaysNameFk, workCenterFk)
|
||||||
|
VALUES
|
||||||
|
(1, '2001-05-08', 1, 1),
|
||||||
|
(1, '2001-05-09', 1, 1),
|
||||||
|
(1, '2001-05-10', 1, 1),
|
||||||
|
(1, '2001-05-11', 1, 1),
|
||||||
|
(1, '2001-05-14', 1, 5),
|
||||||
|
(1, '2001-05-15', 1, 5),
|
||||||
|
(1, '2001-05-16', 1, 5),
|
||||||
|
(1, '2001-05-17', 1, 5),
|
||||||
|
(1, '2001-05-18', 1, 5);
|
||||||
|
|
||||||
|
|
||||||
-- Auto-generated SQL script #202406061004
|
-- Auto-generated SQL script #202406061004
|
||||||
INSERT INTO vn.userConfig (userFk,warehouseFk,companyFk,darkMode,tabletFk)
|
INSERT INTO vn.userConfig (userFk,warehouseFk,companyFk,darkMode,tabletFk)
|
||||||
VALUES (37,1,442,1,'Tablet4');
|
VALUES (37,1,442,1,'Tablet4');
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelving_add`(IN vShelvingFk VARCHAR(8), IN vBarcode VARCHAR(22), IN vQuantity INT, IN vPackagingFk VARCHAR(10), IN vGrouping INT, IN vPacking INT, IN vWarehouseFk INT)
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelving_add`(
|
||||||
|
vShelvingFk VARCHAR(8),
|
||||||
|
vBarcode VARCHAR(22),
|
||||||
|
vQuantity INT,
|
||||||
|
vPackagingFk VARCHAR(10),
|
||||||
|
vGrouping INT,
|
||||||
|
vPacking INT,
|
||||||
|
vWarehouseFk INT
|
||||||
|
)
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Añade registro o lo actualiza si ya existe.
|
* Añade registro o lo actualiza si ya existe.
|
||||||
*
|
*
|
||||||
|
@ -23,12 +30,7 @@ BEGIN
|
||||||
SELECT barcodeToItem(vBarcode) INTO vItemFk;
|
SELECT barcodeToItem(vBarcode) INTO vItemFk;
|
||||||
|
|
||||||
IF vBuyFk IS NULL THEN
|
IF vBuyFk IS NULL THEN
|
||||||
CALL cache.last_buy_refresh(FALSE);
|
CALL util.throw('The buy is required');
|
||||||
|
|
||||||
SELECT buy_id INTO vBuyFk
|
|
||||||
FROM cache.last_buy
|
|
||||||
WHERE item_id = vItemFk
|
|
||||||
AND warehouse_id = vWarehouseFk;
|
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF vPacking IS NULL
|
IF vPacking IS NULL
|
||||||
|
|
|
@ -13,7 +13,15 @@ trig:BEGIN
|
||||||
LEAVE trig;
|
LEAVE trig;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CALL entry_isEditable(OLD.entryFk);
|
IF NOT (NEW.entryFk <=> OLD.entryFk) OR
|
||||||
|
NOT (NEW.quantity <=> OLD.quantity) OR
|
||||||
|
NOT (NEW.buyingValue <=> OLD.buyingValue) OR
|
||||||
|
NOT (NEW.packing <=> OLD.packing)
|
||||||
|
THEN
|
||||||
|
|
||||||
|
CALL entry_isEditable(OLD.entryFk);
|
||||||
|
END IF;
|
||||||
|
|
||||||
SET NEW.editorFk = account.myUser_getId();
|
SET NEW.editorFk = account.myUser_getId();
|
||||||
|
|
||||||
SELECT defaultEntry INTO vDefaultEntry
|
SELECT defaultEntry INTO vDefaultEntry
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`deviceProductionConfig_afterUpdate`
|
|
||||||
AFTER UPDATE ON `deviceProductionConfig`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
IF NEW.isAllUsersAllowed = 1 OR NEW.isAllUsersAllowed = -1 THEN
|
|
||||||
SET @username := (SELECT account.myUser_getName());
|
|
||||||
INSERT INTO vn.mail (receiver, subject, body)
|
|
||||||
VALUES ('cau@verdnatura.es', 'Se ha activado la autenticación sin restricciones en la app',
|
|
||||||
CONCAT('El usuario ', @username,' ha habilitado la opción para que todos los usuarios puedan acceder a la app sin restricciones'));
|
|
||||||
END IF;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -7,10 +7,21 @@ BEGIN
|
||||||
DECLARE vPrintedCount INT;
|
DECLARE vPrintedCount INT;
|
||||||
DECLARE vHasDistinctWarehouses BOOL;
|
DECLARE vHasDistinctWarehouses BOOL;
|
||||||
DECLARE vTotalBuy INT;
|
DECLARE vTotalBuy INT;
|
||||||
|
|
||||||
IF NEW.isBooked = OLD.isBooked THEN
|
IF NEW.isBooked = OLD.isBooked AND (
|
||||||
|
NOT (NEW.supplierFk <=> OLD.supplierFk) OR
|
||||||
|
NOT (NEW.dated <=> OLD.dated) OR
|
||||||
|
NOT (NEW.invoiceNumber <=> OLD.invoiceNumber) OR
|
||||||
|
NOT (NEW.travelFk <=> OLD.travelFk) OR
|
||||||
|
NOT (NEW.companyFk <=> OLD.companyFk) OR
|
||||||
|
NOT (NEW.invoiceInFk <=> OLD.invoiceInFk) OR
|
||||||
|
NOT (NEW.invoiceAmount <=> OLD.invoiceAmount) OR
|
||||||
|
NOT (NEW.typeFk <=> OLD.typeFk)
|
||||||
|
) THEN
|
||||||
|
|
||||||
CALL entry_isEditable(OLD.id);
|
CALL entry_isEditable(OLD.id);
|
||||||
ELSE
|
ELSE
|
||||||
|
|
||||||
IF NEW.isBooked THEN
|
IF NEW.isBooked THEN
|
||||||
SELECT COUNT(*) INTO vTotalBuy
|
SELECT COUNT(*) INTO vTotalBuy
|
||||||
FROM buy
|
FROM buy
|
||||||
|
|
|
@ -229,8 +229,8 @@
|
||||||
"InvoiceIn is already booked": "InvoiceIn is already booked",
|
"InvoiceIn is already booked": "InvoiceIn is already booked",
|
||||||
"This workCenter is already assigned to this agency": "This workCenter is already assigned to this agency",
|
"This workCenter is already assigned to this agency": "This workCenter is already assigned to this agency",
|
||||||
"You can only have one PDA": "You can only have one PDA",
|
"You can only have one PDA": "You can only have one PDA",
|
||||||
"Incoterms and Customs agent are required for a non UEE member": "Incoterms and Customs agent are required for a non UEE member",
|
"Incoterms and Customs agent are required for a non UEE member": "Incoterms and Customs agent are required for a non UEE member",
|
||||||
"It has been invoiced but the PDF could not be generated": "It has been invoiced but the PDF could not be generated",
|
"It has been invoiced but the PDF could not be generated": "It has been invoiced but the PDF could not be generated",
|
||||||
"It has been invoiced but the PDF of refund not be generated": "It has been invoiced but the PDF of refund not be generated"
|
"It has been invoiced but the PDF of refund not be generated": "It has been invoiced but the PDF of refund not be generated",
|
||||||
|
"Cannot add holidays on this day": "Cannot add holidays on this day"
|
||||||
}
|
}
|
|
@ -69,30 +69,26 @@ module.exports = Self => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, myOptions);
|
}, myOptions);
|
||||||
// Get sales person from claim client
|
|
||||||
const salesPerson = claim.client().salesPersonUser();
|
|
||||||
|
|
||||||
const changedPickup = args.pickup != claim.pickup;
|
const changedPickup = args.pickup && args.pickup != claim.pickup;
|
||||||
|
|
||||||
// Validate when claimState has been changed
|
|
||||||
if (args.claimStateFk) {
|
if (args.claimStateFk) {
|
||||||
const canEditOldState = await models.ClaimState.isEditable(ctx, claim.claimStateFk, myOptions);
|
const canEditOldState = await models.ClaimState.isEditable(ctx, claim.claimStateFk, myOptions);
|
||||||
const canEditNewState = await models.ClaimState.isEditable(ctx, args.claimStateFk, myOptions);
|
const canEditNewState = await models.ClaimState.isEditable(ctx, args.claimStateFk, myOptions);
|
||||||
const canEditState = await models.ACL.checkAccessAcl(ctx, 'Claim', 'editState', 'WRITE');
|
const canEditPickup = await models.ACL.checkAccessAcl(ctx, 'Claim', 'editPickup', 'WRITE');
|
||||||
|
|
||||||
if (!canEditOldState || !canEditNewState || changedPickup && !canEditState)
|
if (!canEditOldState || !canEditNewState || (changedPickup && !canEditPickup))
|
||||||
throw new UserError(`You don't have enough privileges to change that field`);
|
throw new UserError(`You don't have enough privileges to change that field`);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete args.ctx;
|
delete args.ctx;
|
||||||
const updatedClaim = await claim.updateAttributes(args, myOptions);
|
const updatedClaim = await claim.updateAttributes(args, myOptions);
|
||||||
|
|
||||||
// When pickup has been changed
|
const salesPerson = claim.client().salesPersonUser();
|
||||||
if (salesPerson) {
|
if (salesPerson) {
|
||||||
if (changedPickup && updatedClaim.pickup)
|
if (changedPickup && updatedClaim.pickup)
|
||||||
await notifyPickUp(ctx, salesPerson.id, claim);
|
await notifyPickUp(ctx, salesPerson.id, claim);
|
||||||
|
|
||||||
// When claimState has been changed
|
|
||||||
if (args.claimStateFk) {
|
if (args.claimStateFk) {
|
||||||
const newState = await models.ClaimState.findById(args.claimStateFk, null, myOptions);
|
const newState = await models.ClaimState.findById(args.claimStateFk, null, myOptions);
|
||||||
await notifyStateChange(ctx, salesPerson.id, claim, newState.description);
|
await notifyStateChange(ctx, salesPerson.id, claim, newState.description);
|
||||||
|
@ -113,7 +109,7 @@ module.exports = Self => {
|
||||||
async function notifyStateChange(ctx, workerId, claim, newState) {
|
async function notifyStateChange(ctx, workerId, claim, newState) {
|
||||||
const models = Self.app.models;
|
const models = Self.app.models;
|
||||||
const url = await models.Url.getUrl();
|
const url = await models.Url.getUrl();
|
||||||
const $t = ctx.req.__; // $translate
|
const $t = ctx.req.__;
|
||||||
|
|
||||||
const message = $t(`Claim state has changed to`, {
|
const message = $t(`Claim state has changed to`, {
|
||||||
claimId: claim.id,
|
claimId: claim.id,
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
label="Country"
|
label="Country"
|
||||||
ng-model="filter.countryFk"
|
ng-model="filter.countryFk"
|
||||||
url="countries"
|
url="countries"
|
||||||
show-field="country"
|
show-field="name"
|
||||||
value-field="id">
|
value-field="id">
|
||||||
</vn-autocomplete>
|
</vn-autocomplete>
|
||||||
</vn-horizontal>
|
</vn-horizontal>
|
||||||
|
|
|
@ -110,8 +110,7 @@ module.exports = Self => {
|
||||||
workCenterFk: workCenter.workCenterFk
|
workCenterFk: workCenter.workCenterFk
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if ((holiday && isFestive) && (workCenter.workcenterFk === holiday.workCenterFk))
|
||||||
if (holiday && isFestive)
|
|
||||||
throw new UserError(`Cannot add holidays on this day`);
|
throw new UserError(`Cannot add holidays on this day`);
|
||||||
|
|
||||||
const absence = await models.Calendar.create({
|
const absence = await models.Calendar.create({
|
||||||
|
|
Loading…
Reference in New Issue