26 lines
772 B
MySQL
26 lines
772 B
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`timeControl_calculateByDepartment`(vDepartmentFk INT, vDatedFrom DATETIME, vDatedTo DATETIME)
|
||
|
BEGIN
|
||
|
/**
|
||
|
* @param vDepartmentFk
|
||
|
* @param vDatedFrom workerTimeControl
|
||
|
* @param vDatedTo workerTimeControl
|
||
|
*/
|
||
|
DROP TEMPORARY TABLE IF EXISTS tmp.`user`;
|
||
|
|
||
|
CREATE TEMPORARY TABLE tmp.`user`
|
||
|
SELECT DISTINCT b.workerFk userFk
|
||
|
FROM business AS b
|
||
|
WHERE (b.started BETWEEN vDatedFrom AND vDatedTo
|
||
|
OR IFNULL(b.ended, vDatedTo) BETWEEN vDatedFrom AND vDatedTo
|
||
|
OR (b.started <= vDatedFrom AND b.ended >= vDatedTo)
|
||
|
) AND b.departmentFk = vDepartmentFk
|
||
|
ORDER BY b.ended DESC;
|
||
|
|
||
|
CALL timeControl_calculate(vDatedFrom, vDatedTo);
|
||
|
|
||
|
DROP TEMPORARY TABLE tmp.`user`;
|
||
|
|
||
|
END$$
|
||
|
DELIMITER ;
|