ninebadge/src/ninebadge-1.0/src/Entity/Tallyday.php

189 lines
3.7 KiB
PHP

<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Tallyday
*
* @ORM\Table(name="tallyday")
* @ORM\Entity(repositoryClass="App\Repository\TallydayRepository")
*/
class Tallyday
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="date", nullable=false)
*/
private $dateof;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $datestartam;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $dateendam;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $datestartpm;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $dateendpm;
/**
* @ORM\Column(type="boolean")
*/
private $validateuser;
/**
* @ORM\Column(type="boolean")
*/
private $validatemaster;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="tallydays")
*/
private $user;
// Calculate
private $timeday;
public function getTimeday() {
$e = new \DateTime('00:00');
$f = clone $e;
if($this->datestartam && $this->dateendam)
$e->add(date_diff($this->dateendam, $this->datestartam));
if($this->datestartpm && $this->dateendpm)
$e->add(date_diff($this->dateendpm, $this->datestartpm));
return $f->diff($e);
}
public function getTimedayformatted() {
$interval=$this->getTimeday();
$timeday = sprintf("%02s",(($interval->days*24)) + $interval->h).":".sprintf("%02s",$interval->i);
return $timeday;
}
public function getId(): ?int
{
return $this->id;
}
public function getDateof(): ?\DateTimeInterface
{
return $this->dateof;
}
public function setDateof(\DateTimeInterface $dateof): self
{
$this->dateof = $dateof;
return $this;
}
public function getDatestartam(): ?\DateTimeInterface
{
return $this->datestartam;
}
public function setDatestartam(?\DateTimeInterface $datestartam): self
{
$this->datestartam = $datestartam;
return $this;
}
public function getDateendam(): ?\DateTimeInterface
{
return $this->dateendam;
}
public function setDateendam(?\DateTimeInterface $dateendam): self
{
$this->dateendam = $dateendam;
return $this;
}
public function getDatestartpm(): ?\DateTimeInterface
{
return $this->datestartpm;
}
public function setDatestartpm(?\DateTimeInterface $datestartpm): self
{
$this->datestartpm = $datestartpm;
return $this;
}
public function getDateendpm(): ?\DateTimeInterface
{
return $this->dateendpm;
}
public function setDateendpm(?\DateTimeInterface $dateendpm): self
{
$this->dateendpm = $dateendpm;
return $this;
}
public function getValidateuser(): ?bool
{
return $this->validateuser;
}
public function setValidateuser(bool $validateuser): self
{
$this->validateuser = $validateuser;
return $this;
}
public function getValidatemaster(): ?bool
{
return $this->validatemaster;
}
public function setValidatemaster(bool $validatemaster): self
{
$this->validatemaster = $validatemaster;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
}