<?php
namespace App\Entity;
use App\Repository\StaffSalaryHistoryRepository;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: StaffSalaryHistoryRepository::class), ORM\Table(name: 'staff_salary_histories')]
class StaffSalaryHistory
{
#[ORM\Id, ORM\GeneratedValue, ORM\Column(type: 'integer')]
private $id;
#[ORM\ManyToOne(targetEntity: StaffProfile::class, inversedBy: 'salaryHistories'), ORM\JoinColumn(nullable: false)]
private $profile;
#[ORM\ManyToOne(targetEntity: DesignationSetting::class), ORM\JoinColumn(name: 'designation_setting_id', nullable: false)]
#[Assert\NotBlank]
private $designation;
#[ORM\Column(type: 'string', length: 100), Assert\NotBlank]
private $centerName;
#[ORM\Column(type: 'string', length: 100), Assert\NotBlank]
private $duration;
#[ORM\Column(type: 'float'), Assert\NotBlank]
private $lastPay;
#[ORM\Column(type: 'string', length: 100), Assert\NotBlank]
private $payGrade;
#[ORM\Column(type: 'float'), Assert\NotBlank]
private $gradePay;
#[ORM\Column(type: 'float'), Assert\NotBlank]
private $basicPay;
#[ORM\Column(type: 'float', nullable: true)]
private int $increment = 0;
#[ORM\Column(type: 'float', nullable: true)]
private int $npa = 0;
#[ORM\Column(type: 'float', nullable: true)]
private int $hra = 0;
#[ORM\Column(type: 'float'), Assert\NotBlank]
private $da;
#[ORM\Column(type: 'float', nullable: true)]
private $allowance1;
#[ORM\Column(type: 'float', nullable: true)]
private $allowance2;
#[ORM\Column(type: 'float', nullable: true)]
private $allowance3;
#[ORM\Column(type: 'float'), Assert\NotBlank]
private $tds;
#[ORM\Column(type: 'float', nullable: true)]
private $cpf;
#[ORM\Column(type: 'float', nullable: true)]
private $epf;
#[ORM\Column(type: 'float', nullable: true)]
private $gpf;
#[ORM\Column(type: 'float', nullable: true)]
private $loan;
#[ORM\Column(type: 'float', nullable: true)]
private $insurance;
#[ORM\Column(type: 'float', nullable: true)]
private $deduction1;
#[ORM\Column(type: 'float', nullable: true)]
private $deduction2;
#[ORM\Column(type: 'float', nullable: true)]
private $deduction3;
#[ORM\Column(type: 'float', nullable: true)]
private $deduction4;
#[ORM\Column(type: 'float'), Assert\NotBlank]
private $totalPay;
#[ORM\Column(type: 'float')]
private $profTax;
#[ORM\Column(type: 'float', nullable: true)]
private $incentive;
#[ORM\Column(type: 'float', nullable: true)]
private $conveyance;
#[ORM\Column(type: 'float', nullable: true)]
private $medical;
#[ORM\Column(type: 'float', nullable: true)]
private $fixPay;
#[ORM\Column(type: 'float', nullable: true)]
private $specialPay;
#[ORM\Column(type: 'string', length: 100, nullable: true)]
private $transferOrder;
#[Gedmo\Timestampable(on: 'create'), ORM\Column(type: 'datetime')]
private $createdAt;
#[Gedmo\Timestampable(on: 'update'), ORM\Column(type: 'datetime')]
private $updatedAt;
public function getId(): ?int
{
return $this->id;
}
public function getProfile(): ?StaffProfile
{
return $this->profile;
}
public function setProfile(?StaffProfile $profile): self
{
$this->profile = $profile;
return $this;
}
public function getDesignation(): ?DesignationSetting
{
return $this->designation;
}
public function setDesignation(DesignationSetting $designation): self
{
$this->designation = $designation;
return $this;
}
public function getCenterName(): ?string
{
return $this->centerName;
}
public function setCenterName(string $centerName): self
{
$this->centerName = strip_tags($centerName);
return $this;
}
public function getDuration(): ?string
{
return $this->duration;
}
public function setDuration(string $duration): self
{
$this->duration = strip_tags($duration);
return $this;
}
public function getLastPay(): ?float
{
return $this->lastPay;
}
public function setLastPay(float $lastPay): self
{
$this->lastPay = strip_tags($lastPay);
return $this;
}
public function getPayGrade(): ?string
{
return $this->payGrade;
}
public function setPayGrade(string $payGrade): self
{
$this->payGrade = strip_tags($payGrade);
return $this;
}
public function getGradePay(): ?float
{
return $this->gradePay;
}
public function setGradePay(float $gradePay): self
{
$this->gradePay = strip_tags($gradePay);
return $this;
}
public function getBasicPay(): ?float
{
return $this->basicPay;
}
public function setBasicPay(float $basicPay): self
{
$this->basicPay = strip_tags($basicPay);
return $this;
}
public function getIncrement(): ?float
{
return $this->increment;
}
public function setIncrement(float $increment): self
{
$this->increment = $increment;
return $this;
}
public function getNpa(): ?float
{
return $this->npa;
}
public function setNpa(float $npa): self
{
$this->npa = $npa;
return $this;
}
public function getHra(): ?float
{
return $this->hra;
}
public function setHra(float $hra): self
{
$this->hra = $hra;
return $this;
}
public function getDa(): ?float
{
return $this->da;
}
public function setDa(float $da): self
{
$this->da = strip_tags($da);
return $this;
}
public function getAllowance1(): ?float
{
return $this->allowance1;
}
public function setAllowance1(?float $allowance1): self
{
$this->allowance1 = strip_tags($allowance1);
return $this;
}
public function getAllowance2(): ?float
{
return $this->allowance2;
}
public function setAllowance2(?float $allowance2): self
{
$this->allowance2 = strip_tags($allowance2);
return $this;
}
public function getAllowance3(): ?float
{
return $this->allowance3;
}
public function setAllowance3(?float $allowance3): self
{
$this->allowance3 = strip_tags($allowance3);
return $this;
}
public function getTds(): ?float
{
return $this->tds;
}
public function setTds(float $tds): self
{
$this->tds = strip_tags($tds);
return $this;
}
public function getCpf(): ?float
{
return $this->cpf;
}
public function setCpf(?float $cpf): self
{
$this->cpf = strip_tags($cpf);
return $this;
}
public function getEpf(): ?float
{
return $this->epf;
}
public function setEpf(?float $epf): self
{
$this->epf = strip_tags($epf);
return $this;
}
public function getGpf(): ?float
{
return $this->gpf;
}
public function setGpf(?float $gpf): self
{
$this->gpf = strip_tags($gpf);
return $this;
}
public function getLoan(): ?float
{
return $this->loan;
}
public function setLoan(?float $loan): self
{
$this->loan = strip_tags($loan);
return $this;
}
public function getInsurance(): ?float
{
return $this->insurance;
}
public function setInsurance(?float $insurance): self
{
$this->insurance = strip_tags($insurance);
return $this;
}
public function getDeduction1(): ?float
{
return $this->deduction1;
}
public function setDeduction1(?float $deduction1): self
{
$this->deduction1 = strip_tags($deduction1);
return $this;
}
public function getDeduction2(): ?float
{
return $this->deduction2;
}
public function setDeduction2(?float $deduction2): self
{
$this->deduction2 = strip_tags($deduction2);
return $this;
}
public function getDeduction3(): ?float
{
return $this->deduction3;
}
public function setDeduction3(?float $deduction3): self
{
$this->deduction3 = strip_tags($deduction3);
return $this;
}
public function getDeduction4(): ?float
{
return $this->deduction4;
}
public function setDeduction4(?float $deduction4): self
{
$this->deduction4 = strip_tags($deduction4);
return $this;
}
public function getTotalPay(): ?float
{
return $this->totalPay;
}
public function setTotalPay(float $totalPay): self
{
$this->totalPay = strip_tags($totalPay);
return $this;
}
public function getProfTax(): ?float
{
return $this->profTax;
}
public function setProfTax(float $profTax): self
{
$this->profTax = strip_tags($profTax);
return $this;
}
public function getIncentive(): ?float
{
return $this->incentive;
}
public function setIncentive(?float $incentive): self
{
$this->incentive = strip_tags($incentive);
return $this;
}
public function getConveyance(): ?float
{
return $this->conveyance;
}
public function setConveyance(?float $conveyance): self
{
$this->conveyance = strip_tags($conveyance);
return $this;
}
public function getMedical(): ?float
{
return $this->medical;
}
public function setMedical(?float $medical): self
{
$this->medical = strip_tags($medical);
return $this;
}
public function getFixPay(): ?float
{
return $this->fixPay;
}
public function setFixPay(?float $fixPay): self
{
$this->fixPay = strip_tags($fixPay);
return $this;
}
public function getSpecialPay(): ?float
{
return $this->specialPay;
}
public function setSpecialPay(?float $specialPay): self
{
$this->specialPay = strip_tags($specialPay);
return $this;
}
public function getTransferOrder(): ?string
{
return $this->transferOrder;
}
public function setTransferOrder(?string $transferOrder): self
{
$this->transferOrder = strip_tags($transferOrder);
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
}