<?php
namespace App\Entity;
use App\Repository\SupplierRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use JMS\Serializer\Annotation as Serializer;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
use Tionvel\ImporterBundle\Validator as TionvelAssert;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @Serializer\ExclusionPolicy("ALL")
* @Gedmo\Loggable()
*/
#[Vich\Uploadable]
#[UniqueEntity(fields: ["rut"], message: "Ya existe un proveedor con este RUT")]
#[UniqueEntity(fields: ["email"], message: "Ya existe un proveedor con este email")]
#[UniqueEntity(fields: ["username"], message: "Ya existe un proveedor con este nombre de usuario")]
#[ORM\Entity(repositoryClass: SupplierRepository::class)]
#[ORM\Table(name: '`supplier`')]
class Supplier
{
/**
* @Serializer\Expose()
*/
#[ORM\Id]
#[ORM\GeneratedValue(strategy:"AUTO")]
#[ORM\Column(type: "integer")]
protected ?int $id = null;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $enabled = true;
#[ORM\OneToOne(inversedBy: "supplier", targetEntity: "App\Entity\User", cascade: ["persist"])]
#[ORM\JoinColumn(onDelete: "CASCADE")]
protected $user;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\NotBlank(message: "El Nombre no puede estar en blanco" )]
#[ORM\Column(type: "string", length: 300)]
protected $name;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[TionvelAssert\Rut]
#[Assert\NotBlank(message: "El rut no puede estar en blanco" )]
#[ORM\Column(type: "string", length: 20)]
protected $rut;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 40)]
#[ORM\Column(type: "string", length: 60, nullable: true )]
protected $phone;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 300)]
#[ORM\Column(type: "string", length: 300, nullable: true )]
protected $address;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\NotBlank(message: "La comuna no puede estar en blanco" )]
#[ORM\ManyToOne(targetEntity:"City")]
#[ORM\JoinColumn(nullable: true, onDelete: "SET NULL")]
protected $city;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 300)]
#[ORM\Column(type: "string", length: 1000, nullable: true )]
protected $website;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 1000)]
#[ORM\Column(type: "text", nullable: true )]
protected $excerpt;
#[ORM\ManyToMany(targetEntity:"City")]
#[ORM\JoinTable(name: "supplier_regions")]
protected $regions;
#[ORM\ManyToMany(targetEntity:"Category")]
#[ORM\JoinTable(name: "supplier_categories")]
protected $categories;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $isPyme = false;
#[ORM\Column(type: "boolean")]
protected $isCp = false;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $isPep = false;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $isLey = false;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $isWomanCompany = false;
#[ORM\Column(type: "string", length: 255, nullable: true)]
protected $womanCompanyDocument = null;
#[Vich\UploadableField(mapping: "supplier_certifications", fileNameProperty: "womanCompanyDocument")]
protected $womanCompanyDocumentFile;
#[ORM\Column(type: "datetime", nullable: true)]
protected $womanCompanyDocumentUpdatedAt;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $hasLaborInclusionLaw21015 = false;
#[ORM\Column(type: "string", length: 255, nullable: true)]
protected $laborInclusionDocument = null;
#[Vich\UploadableField(mapping: "supplier_certifications", fileNameProperty: "laborInclusionDocument")]
protected $laborInclusionDocumentFile;
#[ORM\Column(type: "datetime", nullable: true)]
protected $laborInclusionDocumentUpdatedAt;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $hasGenderEquity = false;
#[ORM\Column(type: "string", length: 255, nullable: true)]
protected $genderEquityDocument = null;
#[Vich\UploadableField(mapping: "supplier_certifications", fileNameProperty: "genderEquityDocument")]
protected $genderEquityDocumentFile;
#[ORM\Column(type: "datetime", nullable: true)]
protected $genderEquityDocumentUpdatedAt;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
protected $hasEnvironmentalPractices = false;
#[ORM\Column(type: "string", length: 255, nullable: true)]
protected $environmentalPracticesDocument = null;
#[Vich\UploadableField(mapping: "supplier_certifications", fileNameProperty: "environmentalPracticesDocument")]
protected $environmentalPracticesDocumentFile;
#[ORM\Column(type: "datetime", nullable: true)]
protected $environmentalPracticesDocumentUpdatedAt;
#[ORM\Column(type: "boolean")]
protected $hasNch3262 = false;
#[ORM\Column(type: "string", length: 255, nullable: true)]
protected $nch3262Document = null;
#[Vich\UploadableField(mapping: "supplier_certifications", fileNameProperty: "nch3262Document")]
protected $nch3262DocumentFile;
#[ORM\Column(type: "datetime", nullable: true)]
protected $nch3262DocumentUpdatedAt;
/**
* @Gedmo\Versioned()
*/
#[Assert\Email]
#[Assert\NotBlank]
#[ORM\Column(type: "string")]
protected $email;
#[Assert\NotNull]
#[ORM\Column(type: "string")]
protected $username;
/**
* @Serializer\Expose()
*/
#[ORM\Column(type: "json", nullable: true)]
protected $rating = [];
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(min:2,max:64)]
#[ORM\Column(type: "string", length: 64, nullable: true )]
protected $contactName;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(min:2,max:64)]
#[ORM\Column(type: "string", length: 64, nullable: true )]
protected $contactPosition;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(min:2,max:64)]
#[ORM\Column(type: "string", length: 64, nullable: true )]
protected $alternativeContactName;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 40)]
#[ORM\Column(type: "string", length: 60, nullable: true )]
protected $alternativeContactPhone;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Email]
#[ORM\Column(type: "string", nullable: true)]
protected $alternativeContactEmail;
/**
* @Serializer\Expose()
* @Gedmo\Versioned()
*/
#[Assert\Length(min:2,max:64)]
#[ORM\Column(type: "string", length: 64, nullable: true )]
protected $alternativeContactPosition;
#[ORM\Column(type: "boolean")]
protected $available = false;
/**
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 100)]
#[ORM\Column(type: "string", length: 100, nullable: true )]
protected $paymentBank;
/**
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 100)]
#[ORM\Column(type: "string", length: 100, nullable: true )]
protected $paymentAccountNumber;
/**
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 100)]
#[ORM\Column(type: "string", length: 100, nullable: true )]
protected $paymentAccountType;
/**
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 100)]
#[ORM\Column(type: "string", length: 100, nullable: true )]
protected $paymentEmail;
/**
* @Gedmo\Versioned()
*/
#[Assert\Length(max: 100)]
#[ORM\Column(type: "string", length: 100, nullable: true )]
protected $specialSituation;
#[ORM\Column(type: "datetime", nullable: true)]
protected $updatedAt;
#[ORM\ManyToOne(targetEntity:"App\Entity\User")]
protected $updatedBy;
#[ORM\OneToMany(targetEntity:"SupplierAdjudication", mappedBy: "supplier")]
protected $supplierAdjudication;
#[ORM\OneToMany(targetEntity:"App\Entity\SupplierContract", mappedBy: "supplier", fetch: "EXTRA_LAZY", orphanRemoval: true, cascade: ['persist'])]
protected $contracts;
#[ORM\OneToMany(targetEntity:"App\Entity\SupplierDocument", mappedBy: "supplier", fetch: "EXTRA_LAZY", orphanRemoval: true, cascade: ['persist'])]
protected $documents;
public function __construct()
{
$this->regions = new ArrayCollection();
$this->categories = new ArrayCollection();
$this->contracts = new ArrayCollection();
$this->documents = new ArrayCollection();
}
public function getId()
{
return $this->id;
}
public function getEnabled()
{
return $this->enabled;
}
public function setEnabled($enabled)
{
$this->enabled = $enabled;
}
public function setName($name)
{
$this->name = $name;
}
public function getName()
{
return $this->name;
}
public function setRut($rut)
{
$this->rut = $rut;
if(!$this->username){
$username = explode('-', $rut)[0];
$this->setUsername($username);
}
}
public function getRut()
{
return $this->rut;
}
public function setPhone($phone)
{
$this->phone = $phone;
}
public function getPhone()
{
return $this->phone;
}
public function getAddress()
{
return $this->address;
}
public function setAddress($address)
{
$this->address = $address;
}
public function setWebsite($website)
{
$this->website = $website;
}
public function getWebsite()
{
return $this->website;
}
public function setExcerpt($excerpt)
{
$this->excerpt = $excerpt;
}
public function getExcerpt()
{
return $this->excerpt;
}
public function setCity(City $city = null)
{
$this->city = $city;
}
public function getCity()
{
return $this->city;
}
/**
* @return \App\Entity\User
*/
public function getUser()
{
return $this->user;
}
public function setUser(User $user)
{
$this->user = $user;
}
public function setRating($rating)
{
$this->rating = $rating;
}
public function getRating()
{
return $this->rating;
}
public function __toString()
{
return $this->name;
}
public function getFullAddress()
{
return sprintf('%s, %s, %s', $this->address, $this->city->getName(), $this->city->getParent()->getName());
}
public function getRegions()
{
return $this->regions;
}
public function setRegions($regions)
{
$this->regions = $regions;
}
public function addRegion(City $city)
{
if (!$this->regions->contains($city)) {
$this->regions->add($city);
}
}
public function removeRegion(City $city)
{
if ($this->regions->contains($city)) {
$this->regions->removeElement($city);
}
}
public function getCategories()
{
return $this->categories;
}
public function setCategories($categories)
{
$this->categories->clear();
foreach ($this->categories as $category) {
$this->removeCategory($category);
}
$this->categories = $categories;
}
public function addCategory(Category $category)
{
if (!$this->categories->contains($category)) {
$this->categories->add($category);
}
}
public function removeCategory(Category $category)
{
if ($this->categories->contains($category)) {
$this->categories->removeElement($category);
}
}
public function getIsPyme()
{
return $this->isPyme;
}
public function setIsPyme($isPyme)
{
$this->isPyme = $isPyme;
}
public function getIsCp()
{
return $this->isCp;
}
public function setIsCp($isCp)
{
$this->isCp = $isCp;
}
public function getIsPep()
{
return $this->isPep;
}
public function setIsPep($isPep)
{
$this->isPep = $isPep;
}
public function getIsLey()
{
return $this->isLey;
}
public function setIsLey($isLey)
{
$this->isLey = $isLey;
}
public function getIsWomanCompany()
{
return $this->isWomanCompany;
}
public function setIsWomanCompany($isWomanCompany)
{
$this->isWomanCompany = $isWomanCompany;
}
public function getHasLaborInclusionLaw21015()
{
return $this->hasLaborInclusionLaw21015;
}
public function setHasLaborInclusionLaw21015($hasLaborInclusionLaw21015)
{
$this->hasLaborInclusionLaw21015 = $hasLaborInclusionLaw21015;
}
public function getHasGenderEquity()
{
return $this->hasGenderEquity;
}
public function setHasGenderEquity($hasGenderEquity)
{
$this->hasGenderEquity = $hasGenderEquity;
}
public function getHasEnvironmentalPractices()
{
return $this->hasEnvironmentalPractices;
}
public function setHasEnvironmentalPractices($hasEnvironmentalPractices)
{
$this->hasEnvironmentalPractices = $hasEnvironmentalPractices;
}
public function getEmail()
{
return $this->email;
}
public function setEmail($email)
{
$this->email = $email;
}
public function getUsername()
{
return $this->username;
}
public function setUsername($username)
{
$this->username = $username;
}
/**
* @return mixed
*/
public function getContactName()
{
return $this->contactName;
}
/**
* @param mixed $contactName
*/
public function setContactName($contactName): void
{
$this->contactName = $contactName;
}
/**
* @return mixed
*/
public function getContactPosition()
{
return $this->contactPosition;
}
/**
* @param mixed $contactPosition
*/
public function setContactPosition($contactPosition)
{
$this->contactPosition = $contactPosition;
}
/**
* @return mixed
*/
public function getAlternativeContactName()
{
return $this->alternativeContactName;
}
/**
* @param mixed $alternativeContactName
*/
public function setAlternativeContactName($alternativeContactName): void
{
$this->alternativeContactName = $alternativeContactName;
}
/**
* @return mixed
*/
public function getAlternativeContactPhone()
{
return $this->alternativeContactPhone;
}
/**
* @param mixed $alternativeContactPhone
*/
public function setAlternativeContactPhone($alternativeContactPhone): void
{
$this->alternativeContactPhone = $alternativeContactPhone;
}
/**
* @return mixed
*/
public function getAlternativeContactEmail()
{
return $this->alternativeContactEmail;
}
/**
* @param mixed $alternativeContactEmail
*/
public function setAlternativeContactEmail($alternativeContactEmail): void
{
$this->alternativeContactEmail = $alternativeContactEmail;
}
/**
* @return mixed
*/
public function getAlternativeContactPosition()
{
return $this->alternativeContactPosition;
}
/**
* @param mixed $alternativeContactPosition
*/
public function setAlternativeContactPosition($alternativeContactPosition): void
{
$this->alternativeContactPosition = $alternativeContactPosition;
}
/**
* @return bool
*/
public function isAvailable()
{
return $this->available;
}
/**
* @param bool $available
*/
public function setAvailable(bool $available)
{
$this->available = $available;
}
/**
* @return SupplierAdjudication
*/
public function getSupplierAdjudication()
{
return $this->supplierAdjudication;
}
/**
* @param SupplierAdjudication $supplierAdjudication
*/
public function setSupplierAdjudication(SupplierAdjudication $supplierAdjudication): void
{
$this->supplierAdjudication = $supplierAdjudication;
}
public function getContracts()
{
return $this->contracts;
}
public function setContracts($contracts)
{
$this->contracts = $contracts;
}
public function addContract(SupplierContract $contract)
{
if (!$this->contracts->contains($contract)) {
$this->contracts->add($contract);
}
$contract->setSupplier($this);
}
public function removeContract(SupplierContract $contract)
{
if ($this->contracts->contains($contract)) {
$this->contracts->removeElement($contract);
}
}
/**
* @return bool
*/
public function hasValidContract() {
$now = new \DateTime('now');
foreach($this->getContracts() as $contract) {
if($contract->getFinishedAt() < $now) {
return true;
}
}
return false;
}
/**
* @return mixed
*/
public function getPaymentBank()
{
return $this->paymentBank;
}
/**
* @param mixed $paymentBank
*/
public function setPaymentBank($paymentBank): void
{
$this->paymentBank = $paymentBank;
}
/**
* @return mixed
*/
public function getPaymentAccountNumber()
{
return $this->paymentAccountNumber;
}
/**
* @param mixed $paymentAccountNumber
*/
public function setPaymentAccountNumber($paymentAccountNumber): void
{
$this->paymentAccountNumber = $paymentAccountNumber;
}
/**
* @return mixed
*/
public function getPaymentAccountType()
{
return $this->paymentAccountType;
}
/**
* @param mixed $paymentAccountType
*/
public function setPaymentAccountType($paymentAccountType): void
{
$this->paymentAccountType = $paymentAccountType;
}
/**
* @return mixed
*/
public function getPaymentEmail()
{
return $this->paymentEmail;
}
/**
* @param mixed $paymentEmail
*/
public function setPaymentEmail($paymentEmail): void
{
$this->paymentEmail = $paymentEmail;
}
/**
* @return mixed
*/
public function getSpecialSituation()
{
return $this->specialSituation;
}
/**
* @param mixed $specialSituation
*/
public function setSpecialSituation($specialSituation): void
{
$this->specialSituation = $specialSituation;
}
/**
* @return mixed
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* @param mixed $updatedAt
*/
public function setUpdatedAt($updatedAt): void
{
$this->updatedAt = $updatedAt;
}
/**
* @return mixed
*/
public function getUpdatedBy()
{
return $this->updatedBy;
}
/**
* @param mixed $updatedBy
*/
public function setUpdatedBy($updatedBy): void
{
$this->updatedBy = $updatedBy;
}
public function getDocuments()
{
return $this->documents;
}
public function getSupplierDocuments()
{
return $this->documents;
}
public function setDocuments($documents)
{
$this->documents = $documents;
}
public function addDocument(SupplierDocument $document)
{
if (!$this->documents->contains($document)) {
$this->documents->add($document);
}
$document->setSupplier($this);
}
public function removeDocument(SupplierDocument $document)
{
if ($this->documents->contains($document)) {
$this->documents->removeElement($document);
}
}
public function getDocument()
{
return self::getDocuments()->first();
}
public function getFullName()
{
$name = $this->getName();
$rut = $this->getRut();
$fullName = $name . ' - ' . $rut;
return $fullName;
}
/**
* @return string
*/
public function getWomanCompanyDocument()
{
return $this->womanCompanyDocument;
}
/**
* @param string $womanCompanyDocument
*/
public function setWomanCompanyDocument(?string $womanCompanyDocument)
{
$this->womanCompanyDocument = $womanCompanyDocument;
}
/**
* @return File
*/
public function getWomanCompanyDocumentFile()
{
return $this->womanCompanyDocumentFile;
}
/**
* @param File $womanCompanyDocumentFile
*/
public function setWomanCompanyDocumentFile(?File $womanCompanyDocumentFile = null)
{
$this->womanCompanyDocumentFile = $womanCompanyDocumentFile;
if ($womanCompanyDocumentFile) {
$this->womanCompanyDocumentUpdatedAt = new \DateTime('now');
}
}
/**
* @return \DateTime
*/
public function getWomanCompanyDocumentUpdatedAt()
{
return $this->womanCompanyDocumentUpdatedAt;
}
/**
* @param \DateTime $womanCompanyDocumentUpdatedAt
*/
public function setWomanCompanyDocumentUpdatedAt(?\DateTime $womanCompanyDocumentUpdatedAt)
{
$this->womanCompanyDocumentUpdatedAt = $womanCompanyDocumentUpdatedAt;
}
/**
* @return string
*/
public function getLaborInclusionDocument()
{
return $this->laborInclusionDocument;
}
/**
* @param string $laborInclusionDocument
*/
public function setLaborInclusionDocument(?string $laborInclusionDocument)
{
$this->laborInclusionDocument = $laborInclusionDocument;
}
/**
* @return File
*/
public function getLaborInclusionDocumentFile()
{
return $this->laborInclusionDocumentFile;
}
/**
* @param File $laborInclusionDocumentFile
*/
public function setLaborInclusionDocumentFile(?File $laborInclusionDocumentFile = null)
{
$this->laborInclusionDocumentFile = $laborInclusionDocumentFile;
if ($laborInclusionDocumentFile) {
$this->laborInclusionDocumentUpdatedAt = new \DateTime('now');
}
}
/**
* @return \DateTime
*/
public function getLaborInclusionDocumentUpdatedAt()
{
return $this->laborInclusionDocumentUpdatedAt;
}
/**
* @param \DateTime $laborInclusionDocumentUpdatedAt
*/
public function setLaborInclusionDocumentUpdatedAt(?\DateTime $laborInclusionDocumentUpdatedAt)
{
$this->laborInclusionDocumentUpdatedAt = $laborInclusionDocumentUpdatedAt;
}
/**
* @return string
*/
public function getGenderEquityDocument()
{
return $this->genderEquityDocument;
}
/**
* @param string $genderEquityDocument
*/
public function setGenderEquityDocument(?string $genderEquityDocument)
{
$this->genderEquityDocument = $genderEquityDocument;
}
/**
* @return File
*/
public function getGenderEquityDocumentFile()
{
return $this->genderEquityDocumentFile;
}
/**
* @param File $genderEquityDocumentFile
*/
public function setGenderEquityDocumentFile(?File $genderEquityDocumentFile = null)
{
$this->genderEquityDocumentFile = $genderEquityDocumentFile;
if ($genderEquityDocumentFile) {
$this->genderEquityDocumentUpdatedAt = new \DateTime('now');
}
}
/**
* @return \DateTime
*/
public function getGenderEquityDocumentUpdatedAt()
{
return $this->genderEquityDocumentUpdatedAt;
}
/**
* @param \DateTime $genderEquityDocumentUpdatedAt
*/
public function setGenderEquityDocumentUpdatedAt(?\DateTime $genderEquityDocumentUpdatedAt)
{
$this->genderEquityDocumentUpdatedAt = $genderEquityDocumentUpdatedAt;
}
/**
* @return string
*/
public function getEnvironmentalPracticesDocument()
{
return $this->environmentalPracticesDocument;
}
/**
* @param string $environmentalPracticesDocument
*/
public function setEnvironmentalPracticesDocument(?string $environmentalPracticesDocument)
{
$this->environmentalPracticesDocument = $environmentalPracticesDocument;
}
/**
* @return File
*/
public function getEnvironmentalPracticesDocumentFile()
{
return $this->environmentalPracticesDocumentFile;
}
/**
* @param File $environmentalPracticesDocumentFile
*/
public function setEnvironmentalPracticesDocumentFile(?File $environmentalPracticesDocumentFile = null)
{
$this->environmentalPracticesDocumentFile = $environmentalPracticesDocumentFile;
if ($environmentalPracticesDocumentFile) {
$this->environmentalPracticesDocumentUpdatedAt = new \DateTime('now');
}
}
/**
* @return \DateTime
*/
public function getEnvironmentalPracticesDocumentUpdatedAt()
{
return $this->environmentalPracticesDocumentUpdatedAt;
}
/**
* @param \DateTime $environmentalPracticesDocumentUpdatedAt
*/
public function setEnvironmentalPracticesDocumentUpdatedAt(?\DateTime $environmentalPracticesDocumentUpdatedAt)
{
$this->environmentalPracticesDocumentUpdatedAt = $environmentalPracticesDocumentUpdatedAt;
}
public function getHasNch3262(): bool
{
return $this->hasNch3262;
}
public function setHasNch3262(bool $hasNch3262): void
{
$this->hasNch3262 = $hasNch3262;
}
public function getNch3262Document(): ?string
{
return $this->nch3262Document;
}
public function setNch3262Document(?string $nch3262Document): void
{
$this->nch3262Document = $nch3262Document;
}
public function getNch3262DocumentFile(): ?File
{
return $this->nch3262DocumentFile;
}
public function setNch3262DocumentFile(?File $nch3262DocumentFile = null): void
{
$this->nch3262DocumentFile = $nch3262DocumentFile;
if ($nch3262DocumentFile) {
$this->nch3262DocumentUpdatedAt = new \DateTime('now');
}
}
public function getNch3262DocumentUpdatedAt(): ?\DateTime
{
return $this->nch3262DocumentUpdatedAt;
}
public function setNch3262DocumentUpdatedAt(?\DateTime $nch3262DocumentUpdatedAt): void
{
$this->nch3262DocumentUpdatedAt = $nch3262DocumentUpdatedAt;
}
}