mirror of
https://github.com/Karaka-Management/oms-HumanResourceTimeRecording.git
synced 2026-02-14 03:38:41 +00:00
fix dbmapper bugs
This commit is contained in:
parent
a4ccc2c05b
commit
0b6b9fbf0a
|
|
@ -116,13 +116,13 @@ final class SessionMapper extends DataMapperAbstract
|
||||||
->from(self::$table)
|
->from(self::$table)
|
||||||
->groupBy(self::$table . '.hr_timerecording_session_employee');
|
->groupBy(self::$table . '.hr_timerecording_session_employee');
|
||||||
|
|
||||||
$query = new Builder(self::$db);
|
$depth = 3;
|
||||||
$query->select('*')->fromAs(self::$table, 't')
|
$query = self::getQuery();
|
||||||
->innerJoin($join, 'tm')
|
$query->innerJoin($join, 'tm')
|
||||||
->on('t.hr_timerecording_session_employee', '=', 'tm.hr_timerecording_session_employee')
|
->on(self::$table . '_' . $depth . '.hr_timerecording_session_employee', '=', 'tm.hr_timerecording_session_employee')
|
||||||
->andOn('t.hr_timerecording_session_start', '=', 'tm.maxDate');
|
->andOn(self::$table . '_' . $depth . '.hr_timerecording_session_start', '=', 'tm.maxDate');
|
||||||
|
|
||||||
return self::getAllByQuery($query, RelationType::ALL, 6);
|
return self::getAllByQuery($query, RelationType::ALL, $depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -143,14 +143,15 @@ final class SessionMapper extends DataMapperAbstract
|
||||||
$dt = new SmartDateTime('now');
|
$dt = new SmartDateTime('now');
|
||||||
$dt->smartModify(0, 0, -32);
|
$dt->smartModify(0, 0, -32);
|
||||||
|
|
||||||
|
$depth = 3;
|
||||||
$query = self::getQuery();
|
$query = self::getQuery();
|
||||||
$query->where(self::$table.'.hr_timerecording_session_employee', '=', $employee)
|
$query->where(self::$table . '_' . $depth . '.hr_timerecording_session_employee', '=', $employee)
|
||||||
->andWhere(self::$table.'.hr_timerecording_session_start', '>', $dt)
|
->andWhere(self::$table . '_' . $depth . '.hr_timerecording_session_start', '>', $dt)
|
||||||
->orderBy(self::$table.'.hr_timerecording_session_start', 'DESC')
|
->orderBy(self::$table . '_' . $depth . '.hr_timerecording_session_start', 'DESC')
|
||||||
->limit(1);
|
->limit(1);
|
||||||
|
|
||||||
/** @var Session[] $sessions */
|
/** @var Session[] $sessions */
|
||||||
$sessions = self::getAllByQuery($query, RelationType::ALL, 6);
|
$sessions = self::getAllByQuery($query, RelationType::ALL, $depth);
|
||||||
|
|
||||||
if (empty($sessions)) {
|
if (empty($sessions)) {
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -177,11 +178,12 @@ final class SessionMapper extends DataMapperAbstract
|
||||||
*/
|
*/
|
||||||
public static function getSessionListForEmployee(int $employee, \DateTime $start, int $offset = 0, int $limit = 50) : array
|
public static function getSessionListForEmployee(int $employee, \DateTime $start, int $offset = 0, int $limit = 50) : array
|
||||||
{
|
{
|
||||||
|
$depth = 3;
|
||||||
$query = new Builder(self::$db);
|
$query = new Builder(self::$db);
|
||||||
$query = self::getQuery($query)
|
$query = self::getQuery($query)
|
||||||
->where(self::$table . '.hr_timerecording_session_employee', '=', $employee)
|
->where(self::$table . '_' . $depth . '.hr_timerecording_session_employee', '=', $employee)
|
||||||
->andWhere(self::$table . '.' . self::$createdAt, '<=', $start->format('Y-m-d H:i:s'))
|
->andWhere(self::$table . '_' . $depth . '.' . self::$createdAt, '<=', $start->format('Y-m-d H:i:s'))
|
||||||
->orderBy(self::$table . '.' . self::$createdAt, 'DESC')
|
->orderBy(self::$table . '_' . $depth . '.' . self::$createdAt, 'DESC')
|
||||||
->offset($offset)
|
->offset($offset)
|
||||||
->limit($limit);
|
->limit($limit);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user