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
|
WHERE b.workerFk = vWorkerFk
|
||||||
AND vDated BETWEEN b.started AND IFNULL(b.ended, vDated);
|
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
|
-- CONTRATO EN VIGOR
|
||||||
IF vDayBreak IS NULL THEN
|
IF vDayBreak IS NULL THEN
|
||||||
SET vErrorCode = 'INACTIVE_BUSINESS';
|
SET vErrorCode = 'INACTIVE_BUSINESS';
|
||||||
|
@ -239,19 +252,14 @@ BEGIN
|
||||||
CALL util.throw(vErrorCode);
|
CALL util.throw(vErrorCode);
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
SELECT EXISTS (
|
|
||||||
SELECT id FROM campaign
|
|
||||||
WHERE vTimed BETWEEN dated - INTERVAL scopeDays DAY AND dated
|
|
||||||
) INTO vIsCampaing;
|
|
||||||
|
|
||||||
-- VERIFICA DESCANSO SEMANAL
|
-- VERIFICA DESCANSO SEMANAL
|
||||||
WITH wtc AS(
|
WITH wtc AS(
|
||||||
(SELECT timed
|
(SELECT timed
|
||||||
FROM vn.workerTimeControl
|
FROM vn.workerTimeControl
|
||||||
WHERE userFk = vWorkerFk
|
WHERE userFk = vWorkerFk
|
||||||
AND direction IN ('in', 'out')
|
AND direction IN ('in', 'out')
|
||||||
AND timed BETWEEN vTimed - INTERVAL (vWeekScope * 2) SECOND
|
AND timed BETWEEN vTimed - INTERVAL vWeekScope SECOND
|
||||||
AND vTimed + INTERVAL (vWeekScope * 2) SECOND )
|
AND vTimed + INTERVAL vWeekScope SECOND)
|
||||||
UNION
|
UNION
|
||||||
(SELECT vTimed)
|
(SELECT vTimed)
|
||||||
), wtcGap AS(
|
), wtcGap AS(
|
||||||
|
@ -262,7 +270,7 @@ BEGIN
|
||||||
), wtcBreak AS(
|
), wtcBreak AS(
|
||||||
SELECT timed,
|
SELECT timed,
|
||||||
IF(IFNULL(gap, 0) > vShortWeekBreak, TRUE, FALSE) hasShortBreak,
|
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
|
FROM wtcGap
|
||||||
ORDER BY timed
|
ORDER BY timed
|
||||||
), wtcBreakCounter AS(
|
), wtcBreakCounter AS(
|
||||||
|
|
Loading…
Reference in New Issue