feat: refs #8139 Added if is campaign
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:
parent
6f47d04598
commit
93f5b0ea54
|
@ -98,6 +98,19 @@ BEGIN
|
|||
WHERE b.workerFk = vWorkerFk
|
||||
AND vDated BETWEEN b.started AND IFNULL(b.ended, vDated);
|
||||
|
||||
SELECT EXISTS (
|
||||
SELECT id FROM campaign
|
||||
WHERE vTimed BETWEEN dated - INTERVAL scopeDays DAY
|
||||
AND dated + INTERVAL vLongWeekBreak SECOND
|
||||
) INTO vIsCampaing;
|
||||
|
||||
IF vIsCampaing THEN
|
||||
SET vWeekScope = vWeekScope * 2;
|
||||
ELSE
|
||||
SET vLongWeekBreak = vShortWeekBreak,
|
||||
vMaxWorkLongCycle = vMaxWorkShortCycle;
|
||||
END IF;
|
||||
|
||||
-- CONTRATO EN VIGOR
|
||||
IF vDayBreak IS NULL THEN
|
||||
SET vErrorCode = 'INACTIVE_BUSINESS';
|
||||
|
@ -105,7 +118,7 @@ BEGIN
|
|||
END IF;
|
||||
|
||||
-- FICHADAS A FUTURO
|
||||
IF vTimed > util.VN_NOW() + INTERVAL 1 MINUTE THEN
|
||||
IF vTimed > util.VN_NOW() + INTERVAL 1 MINUTE THEN
|
||||
SET vErrorCode = 'IS_NOT_ALLOWED_FUTURE';
|
||||
CALL util.throw(vErrorCode);
|
||||
END IF;
|
||||
|
@ -239,19 +252,14 @@ BEGIN
|
|||
CALL util.throw(vErrorCode);
|
||||
END IF;
|
||||
|
||||
SELECT EXISTS (
|
||||
SELECT id FROM campaign
|
||||
WHERE vTimed BETWEEN dated - INTERVAL scopeDays DAY AND dated
|
||||
) INTO vIsCampaing;
|
||||
|
||||
-- VERIFICA DESCANSO SEMANAL
|
||||
WITH wtc AS(
|
||||
(SELECT timed
|
||||
FROM vn.workerTimeControl
|
||||
WHERE userFk = vWorkerFk
|
||||
AND direction IN ('in', 'out')
|
||||
AND timed BETWEEN vTimed - INTERVAL (vWeekScope * 2) SECOND
|
||||
AND vTimed + INTERVAL (vWeekScope * 2) SECOND )
|
||||
AND timed BETWEEN vTimed - INTERVAL vWeekScope SECOND
|
||||
AND vTimed + INTERVAL vWeekScope SECOND)
|
||||
UNION
|
||||
(SELECT vTimed)
|
||||
), wtcGap AS(
|
||||
|
@ -262,7 +270,7 @@ BEGIN
|
|||
), wtcBreak AS(
|
||||
SELECT timed,
|
||||
IF(IFNULL(gap, 0) > vShortWeekBreak, TRUE, FALSE) hasShortBreak,
|
||||
IF(IFNULL(gap, 0) > vLongWeekBreak AND NOT vIsCampaing, TRUE, FALSE) hasLongBreak
|
||||
IF(IFNULL(gap, 0) > vLongWeekBreak, TRUE, FALSE) hasLongBreak
|
||||
FROM wtcGap
|
||||
ORDER BY timed
|
||||
), wtcBreakCounter AS(
|
||||
|
|
Loading…
Reference in New Issue