<?php
namespace App\Entity;
use App\Repository\WorkerTimesheetPaymentsRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=WorkerTimesheetPaymentsRepository::class)
*/
class WorkerTimesheetPayments
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=ProjectBranches::class, inversedBy="workerTimesheetPayments")
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $project_branch;
/**
* @ORM\Column(type="decimal", precision=7, scale=2)
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $amount;
/**
* @ORM\Column(type="datetime_immutable")
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $payment_at;
/**
* @ORM\Column(type="datetime_immutable")
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $created_at;
/**
* @ORM\Column(type="string", length=255, nullable=true)
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $comment;
/**
* @ORM\ManyToOne(targetEntity=PaymentMethods::class, inversedBy="workerTimesheetPayments")
* @ORM\JoinColumn(nullable=false)
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $payment_method;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="workerTimesheetPayments")
* @Groups({"worker.manage.base.timesheet.payments"})
* @ORM\JoinColumn(onDelete="SET NULL")
*
*/
private $payer;
/**
* @ORM\ManyToOne(targetEntity=Projects::class, inversedBy="workerTimesheetPayments")
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $project;
/**
* @ORM\ManyToOne(targetEntity=WorkerActivities::class, inversedBy="worker_timesheet_payments")
* @Groups({"worker.manage.base.timesheet.payments"})
* @ORM\JoinColumn(nullable=true)
*/
private $worker_activity;
/**
* @ORM\ManyToOne(targetEntity=ProjectOrders::class, inversedBy="workerTimesheetPayments")
* @Groups({"worker.manage.base.timesheet.payments"})
*/
private $project_order;
public function __construct()
{
}
public function getId(): ?int
{
return $this->id;
}
public function getProjectBranch(): ?ProjectBranches
{
return $this->project_branch;
}
public function setProjectBranch(?ProjectBranches $project_branch): self
{
$this->project_branch = $project_branch;
return $this;
}
public function getAmount(): ?string
{
return $this->amount;
}
public function setAmount(string $amount): self
{
$this->amount = $amount;
return $this;
}
public function getPaymentAt(): ?\DateTimeImmutable
{
return $this->payment_at;
}
public function setPaymentAt(\DateTimeImmutable $payment_at): self
{
$this->payment_at = $payment_at;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->created_at;
}
public function setCreatedAt(\DateTimeImmutable $created_at): self
{
$this->created_at = $created_at;
return $this;
}
public function getComment(): ?string
{
return $this->comment;
}
public function setComment(?string $comment): self
{
$this->comment = $comment;
return $this;
}
public function getPaymentMethod(): ?PaymentMethods
{
return $this->payment_method;
}
public function setPaymentMethod(?PaymentMethods $payment_method): self
{
$this->payment_method = $payment_method;
return $this;
}
public function getPayer(): ?User
{
return $this->payer;
}
public function setPayer(?User $payer): self
{
$this->payer = $payer;
return $this;
}
public function getProject(): ?Projects
{
return $this->project;
}
public function setProject(?Projects $project): self
{
$this->project = $project;
return $this;
}
public function getWorkerActivity(): ?WorkerActivities
{
return $this->worker_activity;
}
public function setWorkerActivity(?WorkerActivities $worker_activity): self
{
$this->worker_activity = $worker_activity;
return $this;
}
public function getProjectOrder(): ?ProjectOrders
{
return $this->project_order;
}
public function setProjectOrder(?ProjectOrders $project_order): self
{
$this->project_order = $project_order;
return $this;
}
}