<?php
namespace App\AtechNet\CoreBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\HasLifecycleCallbacks;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\OneToMany;
use Doctrine\ORM\Mapping\Table as Table;
use Doctrine\ORM\PersistentCollection;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* Shipment
*
* @Table(name="shipments")
* @Entity(repositoryClass="App\AtechNet\CoreBundle\Repository\ShipmentRepository")
* @HasLifecycleCallbacks
* @UniqueEntity(fields="shipmentId", message="Shipment ID is already in use")
*/
class Shipment extends AbstractSignedEntity
{
public const int FIRST_SHIPMENT_CODE = 1325;
public const int STATUS_NEW = 10;
public const int STATUS_INCOMING = 20;
public const int STATUS_ARRIVED = 30;
public const int STATUS_STARTED = 35;
public const int STATUS_IN_PRODUCTION = 40;
public const int STATUS_FINISHED = 50;
public const int STATUS_CANCELED = 60;
public const int SUPPLIER_CATEGORY_WANTED_SALES = 1;
public const int SUPPLIER_CATEGORY_STANDARD_PURCHASE = 2;
public const int SUPPLIER_CATEGORY_STRATEGIC_PURCHASE = 3;
public const int SUPPLIER_CATEGORY_SPARE_PARTS = 4;
public const int SUPPLIER_CATEGORY_NEW_PURCHASE = 5;
public const int TARGET_MARKET_RETAIL = 1;
public const int TARGET_MARKET_WHOLESALE = 2;
public const int TARGET_MARKET_MARKETPLACE = 3;
public const int TARGET_MARKET_EXPORT = 4;
public const int TARGET_MARKET_ALL_CHANNELS = 5;
public const int TARGET_MARKET_PARTS = 6;
public const int TARGET_MARKET_TO_BE_DISCUSSED = 7;
public const int PAYMENT_PRIORITY_URGENT = 1;
public const int PAYMENT_PRIORITY_I = 2;
public const int PAYMENT_PRIORITY_II = 3;
public const int PAYMENT_PRIORITY_NO = 4;
public const int PAYMENT_PRIORITY_CREDIT = 5;
public const int PAYMENT_PRIORITY_ADVANCE = 6;
public const int PAYMENT_PRIORITY_SPLIT = 7;
public const int PAYMENT_STATUS_UNPAID = 1;
public const int PAYMENT_STATUS_PARTIAL = 2;
public const int PAYMENT_STATUS_PAID = 3;
public const int PAYMENT_STATUS_OVERPAID = 4;
public const int PAYMENT_STATUS_POST_DUE_DATE = 5;
public const int PRODUCT_PC = 1;
public const int PRODUCT_NOTEBOOK = 2;
public const int PRODUCT_ALL_IN_ONE = 3;
public const int PRODUCT_MONITOR = 4;
public const int PRODUCT_SMARTPHONE = 5;
public const int PRODUCT_TABLET = 6;
public const int PRODUCT_OTHER = 7;
public const int CLAIM_STATUS_QUANTITY_MISMATCH = 1;
public const int CLAIN_STATUS_NOTHING_TO_COMPLAIN = 2;
public const int CLAIM_STATUS_IN_PROGRESS = 3;
public const int CLAIM_STATUS_NO_COMPLAIN = 4;
public const int CLAIM_STATUS_SEND_BACK = 5;
public const int CLAIM_STATUS_REJECTED = 6;
public const int CLAIM_STATUS_CREDIT_NOTE_NO_SEND_BACK = 7;
public const int CLAIM_STATUS_CREDIT_NOTE_DEDUCTION = 8;
public const int CLAIM_STATUS_CREDIT_NOTE_REFUND = 9;
public const int CLAIM_STATUS_COMPENSATION = 10;
public const int TRANSPORT_SUPERVISE_SUPPLY = 1;
public const int TRANSPORT_SUPERVISE_PARTNER = 2;
public const int TRANSPORT_SUPERVISE_LOG = 3;
/**
* @var string
*
* @Column(name="shipment_id", type="string", unique=true, nullable=false)
*/
private string $shipmentId;
/**
* @var User|null
*
* @ManyToOne(targetEntity="User")
* @JoinColumn(name="purchaser_id", referencedColumnName="id", nullable=true)
*/
private ?User $purchaser = null;
/**
* @var Customer
*
* @ManyToOne(targetEntity="Customer")
* @JoinColumn(name="supplier_id", referencedColumnName="id")
*/
private Customer $supplier;
/**
* @var int
*
* @Column(name="status_id", type="integer", nullable=false)
*/
private int $statusId;
/**
* @var string|null
*
* @Column(name="preinvoice_link", type="text", nullable=true)
*/
private ?string $preinvoiceLink;
/**
* @var string|null
*
* @Column(name="preinvoice_code", type="text", length="86", nullable=true)
*/
private ?string $preinvoiceCode;
/**
* @var string|null
*
* @Column(name="invoice_link", type="text", nullable=true)
*/
private ?string $invoiceLink;
/**
* @var string|null
*
* @Column(name="invoice_code", type="text", length="86", nullable=true)
*/
private ?string $invoiceCode;
/**
* @var string|null
*
* @Column(name="credit_note_link", type="text", nullable=true)
*/
private ?string $creditNoteLink;
/**
* @var string|null
*
* @Column(name="credit_note_code", type="text", length="86", nullable=true)
*/
private ?string $creditNoteCode;
/**
* @var string|null
*
* @Column(name="credit_note_value", type="decimal", precision=10, scale=2, nullable=true)
*/
private ?string $creditNoteValue = '0.00';
/**
* @var string|null
*
* @Column(name="credit_note_deduct", type="decimal", precision=10, scale=2, nullable=true)
*/
private ?string $creditNoteDeduct = '0.00';
/**
* @var string|null
*
* @Column(name="credit_note_deduct_shipment_id", type="string", nullable=true)
*/
private ?string $creditNoteDeductShipment = null;
/**
* @var \DateTime|null
*
* @Column(name="original_supplier_list_date", type="datetime", nullable=true)
*/
private ?\DateTime $originalSupplierListDate;
/**
* @var string|null
*
* @Column(name="original_supplier_list", type="text", nullable=true)
*/
private ?string $originalSupplierList;
/**
* @var string|null
*
* @Column(name="original_supplier_list_link", type="text", nullable=true)
*/
private ?string $originalSupplierListLink;
/**
* @var string|null
*
* @Column(name="stock_summary_link", type="text", nullable=true)
*/
private ?string $stockSummaryLink;
/**
* @var int|null
*
* @Column(name="supplier_category_id", type="integer", nullable=true)
*/
private ?int $supplierCategoryId;
/**
* @var \DateTime|null
*
* @Column(name="expected_arrival_date_from", type="datetime", nullable=true)
*/
private ?\DateTime $expectedArrivalDateFrom;
/**
* @var \DateTime|string|null
*
* @Column(name="expected_arrival_date_to", type="datetime", nullable=true)
*/
private \DateTime|string|null $expectedArrivalDateTo;
/**
* @var \DateTime|string|null
*
* @Column(name="confirmed_arrival_date", type="date", nullable=true)
*/
private \DateTime|string|null $confirmedArrivalDate;
/**
* @var int|null
*
* @Column(name="payment_priority_id", type="integer", nullable=true)
*/
private ?int $paymentPriorityId;
/**
* @var \DateTime|null
*
* @Column(name="planned_payment_date", type="datetime", nullable=true)
*/
private ?\DateTime $plannedPaymentDate;
/**
* @var string
*
* @Column(name="currency", type="string", length=8)
*/
private string $currency;
/**
* @var string
*
* @Column(name="total_price", type="decimal", precision=10, scale=2)
*/
private string $totalPrice;
/**
* @var string|null
*
* @Column(name="aiken_lots", type="text", nullable=true)
*/
private ?string $aikenLots;
/**
* @var string
*
* @Column(name="received_price_value", type="decimal", precision=10, scale=2)
*/
private string $receivedPriceValue = '0.00';
/**
* @var string
*
* @Column(name="paid_price", type="decimal", precision=10, scale=2)
*/
private string $paidPrice = '0.00';
/**
* @var string
*
* @Column(name="quarantine_price_drop_percentage", type="decimal", precision=10, scale=2)
*/
private string $quarantinePriceDropPercentage = '0.00';
/**
* @var int
*
* @Column(name="ordered_quantity", type="integer")
*/
private int $orderedQuantity = 0;
/**
* @var int
*
* @Column(name="received_quantity", type="integer")
*/
private int $receivedQuantity = 0;
/**
* @var int
*
* @Column(name="payment_status_id", type="integer", nullable=false)
*/
private int $paymentStatusId = self::PAYMENT_STATUS_UNPAID;
/**
* @var PersistentCollection
*
* @OneToMany(targetEntity="Document", mappedBy="shipment")
**/
private $documents;
/**
* @var PersistentCollection
*
* @OneToMany(targetEntity="StockMovement", mappedBy="shipment")
**/
private $stockMovements;
/**
* @var array|null
*
* @Column(name="products", type="json", nullable=true)
*/
private ?array $products = null;
/**
* @var array|null
*
* @Column(name="production", type="json", nullable=true)
*/
private ?array $production = null;
/**
* @var User|null
*
* @ManyToOne(targetEntity="User")
* @JoinColumn(name="claim_supervisor_id", referencedColumnName="id", nullable=true)
*/
private ?User $claimSupervisor;
/**
* @var int|null
*
* @Column(name="claim_status", type="integer", nullable=true)
*/
private ?int $claimStatus = null;
/**
* @var \DateTime|null
*
* @Column(name="claim_start_date", type="datetime", nullable=true)
*/
private ?\DateTime $claimStartDate;
/**
* @var \DateTime|null
*
* @Column(name="claim_end_date", type="datetime", nullable=true)
*/
private ?\DateTime $claimEndDate;
/**
* @var string|null
*
* @Column(name="claim_note", type="text", length="255", nullable=true)
*/
private ?string $claimNote;
/**
* @var array|null
*
* @Column(name="claim_products", type="json", nullable=true)
*/
private ?array $claimProducts = null;
/**
* @var string|null
*
* @Column(name="claim_rma_link", type="text", length="255", nullable=true)
*/
private ?string $claimRMALink;
/**
* @var \DateTime|null
*
* @Column(name="paid_date", type="datetime", nullable=true)
*/
private ?\DateTime $paidDate;
/**
* @var User|null
*
* @ManyToOne(targetEntity="User")
* @JoinColumn(name="paid_by", referencedColumnName="id", nullable=true)
*/
private ?User $paidBy;
/**
* @var string|null
*
* @Column(name="pohoda_no", type="text", length="24", nullable=true)
*/
private ?string $pohodaNo;
/**
* @var string|null
*
* @Column(name="config_list_link", type="text", nullable=true)
*/
private ?string $configListLink;
/**
* @var \DateTime|null
*
* @Column(name="config_list_date", type="datetime", nullable=true)
*/
private ?\DateTime $configListDate;
/**
* @var string|null
*
* @Column(name="finance_note", type="text", nullable=true)
*/
private ?string $financeNote;
/**
* @var string|null
*
* @Column(name="merged_shipments", type="text", nullable=true)
*/
private ?string $mergedShipments;
/**
* @var string|null
*
* @Column(name="transport_no", type="text", length="24", nullable=true)
*/
private ?string $transportNo;
/**
* @var string|null
*
* @Column(name="transport_link", type="text", nullable=true)
*/
private ?string $transportLink;
/**
* @var string|null
*
* @Column(name="carrier_company", type="text", length="24", nullable=true)
*/
private ?string $carrierCompany;
/**
* @var string
*
* @Column(name="carrier_fee", type="decimal", precision=10, scale=2)
*/
private string $carrierFee = '0.00';
/**
* @var bool
*
* @Column(name="in_daily_product_turnover", type="boolean")
*/
private bool $inDailyProductTurnover = false;
/**
* @var bool
*
* @Column(name="quarantine_finished", type="boolean")
*/
private bool $quarantineFinished = false;
/**
* @var string|null
*
* @Column(name="expected_quarantine_ratio", type="decimal", precision=10, scale=2, nullable=true)
*/
private ?string $expectedQuarantineRatio = null;
/**
* @var bool
*
* @Assert\NotNull
*
* @Column(name="customs", type="boolean")
*/
private $customs = false;
/**
* @var string
*
* @Column(name="customs_duty", type="decimal", precision=10, scale=2)
*/
private string $customsDuty = '0.00';
/**
* @var string|null
*
* @Column(name="note", type="text", nullable=true)
*/
private ?string $note;
/**
* @var string|null
*
* @Column(name="purchase_order", type="text", nullable=true)
*/
private ?string $purchaseOrder;
/**
* @var string|null
*
* @Column(name="supply_note", type="text", nullable=true)
*/
private ?string $supplyNote;
/**
* @var string|null
*
* @Column(name="waiting_pricing", type="text", nullable=true)
*/
private ?string $waitingPricing;
/**
* @var string|null
*
* @Column(name="supervise_transport", type="text", nullable=true)
*/
private ?string $superviseTransport;
/**
* @var int
*
* @Column(name="quantity", type="integer")
*/
private int $quantity = 0;
/**
* @var float
*
* @Column(name="weight", type="float")
*/
private float $weight = 0;
/**
* @var string|null
*
* @Column(name="country", type="text", length="2", nullable=true)
*/
private ?string $country;
/**
* @var string|null
*
* @Column(name="pickup_truck", type="text", length="16", nullable=true)
*/
private ?string $pickupTruck;
/**
* @var \DateTime|null
*
* @Column(name="pickup_date", type="datetime", nullable=true)
*/
private ?\DateTime $pickupDate;
/**
* @var \DateTime|null
*
* @Column(name="complete_date", type="datetime", nullable=true)
*/
private ?\DateTime $completeDate;
/**
* @var bool
*
* @Column(name="pre_invoice_code_recorded", type="boolean")
*/
private bool $preinvoiceCodeRecorded = false;
/**
* @var bool
*
* @Column(name="invoice_code_recorded", type="boolean")
*/
private bool $invoiceCodeRecorded = false;
/**
* @var array|null
*
* @Column(name="received_products", type="json", nullable=true)
*/
private ?array $receivedProducts = null;
public function __construct()
{
parent::__construct();
$this->documents = new ArrayCollection();
}
/**
* @return string[]
*/
public static function getStatusChoices(): array
{
return [
self::STATUS_NEW => 'New',
self::STATUS_INCOMING => 'Incoming',
self::STATUS_ARRIVED => 'Arrived',
self::STATUS_STARTED => 'Started',
self::STATUS_IN_PRODUCTION => 'In production',
self::STATUS_FINISHED => 'Finished',
self::STATUS_CANCELED => 'Canceled',
];
}
/**
* @return string[]
*/
public static function getSupplierCategoryChoices(): array
{
return [
self::SUPPLIER_CATEGORY_WANTED_SALES => 'Wanted sales',
self::SUPPLIER_CATEGORY_STANDARD_PURCHASE => 'Standard purchase',
self::SUPPLIER_CATEGORY_STRATEGIC_PURCHASE => 'Strategic purchase',
self::SUPPLIER_CATEGORY_SPARE_PARTS => 'Spare parts',
self::SUPPLIER_CATEGORY_NEW_PURCHASE => 'New purchase',
];
}
/**
* @return string[]
*/
public static function getPaymentPriorityChoices(): array
{
return [
self::PAYMENT_PRIORITY_CREDIT => 'Credit',
self::PAYMENT_PRIORITY_ADVANCE => 'Advance',
self::PAYMENT_PRIORITY_SPLIT => 'Split',
];
}
/**
* @return string[]
*/
public static function getPaymentStatusChoices(): array
{
return [
self::PAYMENT_STATUS_UNPAID => 'Unpaid',
self::PAYMENT_STATUS_PARTIAL => 'Partial',
self::PAYMENT_STATUS_PAID => 'Paid',
self::PAYMENT_STATUS_OVERPAID => 'Overpaid',
];
}
/**
* @return array
*/
public static function getProductChoices(): array
{
return [
self::PRODUCT_NOTEBOOK => 'Notebook',
self::PRODUCT_PC => 'PC',
self::PRODUCT_ALL_IN_ONE => 'All In One',
self::PRODUCT_MONITOR => 'Monitor',
self::PRODUCT_SMARTPHONE => 'Smartphone',
self::PRODUCT_TABLET => 'Tablet',
self::PRODUCT_OTHER => 'Other'
];
}
/**
* @return array
*/
public static function getClaimStatusChoices(): array
{
return [
self::CLAIM_STATUS_QUANTITY_MISMATCH => 'Quantity mismatch (stock)',
self::CLAIN_STATUS_NOTHING_TO_COMPLAIN => 'Nothing to complain about (production)',
self::CLAIM_STATUS_IN_PROGRESS => 'In progress (supply)',
self::CLAIM_STATUS_NO_COMPLAIN => 'Do not complain',
self::CLAIM_STATUS_SEND_BACK => 'We will send it back',
self::CLAIM_STATUS_REJECTED => 'Rejected',
self::CLAIM_STATUS_CREDIT_NOTE_NO_SEND_BACK => 'Credit note - we will not send it back',
self::CLAIM_STATUS_CREDIT_NOTE_DEDUCTION => 'Credit note - levonás köv.ut.',
self::CLAIM_STATUS_CREDIT_NOTE_REFUND => 'Credit note - visszafizetés',
self::CLAIM_STATUS_COMPENSATION => 'Product compensation (change)'
];
}
/**
* @return array
*/
public static function getTransportSuperviseChoices(): array
{
return [
self::TRANSPORT_SUPERVISE_SUPPLY => 'Supply',
self::TRANSPORT_SUPERVISE_PARTNER => 'Partner',
self::TRANSPORT_SUPERVISE_LOG => 'Log'
];
}
public function getShipmentId(): string
{
return $this->shipmentId;
}
public function setShipmentId(string $shipmentId): void
{
$this->shipmentId = $shipmentId;
}
/**
* @return User|null
*/
public function getPurchaser(): ?User
{
return $this->purchaser;
}
/**
* @param User|null $purchaser
* @return void
*/
public function setPurchaser(?User $purchaser): void
{
$this->purchaser = $purchaser;
}
/**
* @return Customer
*/
public function getSupplier(): Customer
{
return $this->supplier;
}
/**
* @param Customer $supplier
* @return void
*/
public function setSupplier(Customer $supplier): void
{
$this->supplier = $supplier;
}
/**
* @return int
*/
public function getStatusId(): int
{
return $this->statusId;
}
/**
* @param int $statusId
* @return void
*/
public function setStatusId(int $statusId): void
{
$this->statusId = $statusId;
}
/**
* @return string|null
*/
public function getPreinvoiceLink(): ?string
{
return $this->preinvoiceLink;
}
/**
* @param string|null $preinvoiceLink
* @return void
*/
public function setPreinvoiceLink(?string $preinvoiceLink): void
{
$this->preinvoiceLink = $preinvoiceLink;
}
/**
* @return string|null
*/
public function getPreinvoiceCode(): ?string
{
return $this->preinvoiceCode;
}
/**
* @param string|null $preinvoiceCode
* @return void
*/
public function setPreinvoiceCode(?string $preinvoiceCode): void
{
$this->preinvoiceCode = $preinvoiceCode;
}
/**
* @return string|null
*/
public function getInvoiceLink(): ?string
{
return $this->invoiceLink;
}
/**
* @param string|null $invoiceLink
* @return void
*/
public function setInvoiceLink(?string $invoiceLink): void
{
$this->invoiceLink = $invoiceLink;
}
/**
* @return string|null
*/
public function getInvoiceCode(): ?string
{
return $this->invoiceCode;
}
/**
* @param string|null $invoiceCode
* @return void
*/
public function setInvoiceCode(?string $invoiceCode): void
{
$this->invoiceCode = $invoiceCode;
}
/**
* @return string|null
*/
public function getCreditNoteLink(): ?string
{
return $this->creditNoteLink;
}
/**
* @param string|null $creditNoteLink
* @return void
*/
public function setCreditNoteLink(?string $creditNoteLink): void
{
$this->creditNoteLink = $creditNoteLink;
}
/**
* @return string|null
*/
public function getCreditNoteCode(): ?string
{
return $this->creditNoteCode;
}
/**
* @param string|null $creditNoteCode
* @return void
*/
public function setCreditNoteCode(?string $creditNoteCode): void
{
$this->creditNoteCode = $creditNoteCode;
}
/**
* @return string|null
*/
public function getCreditNoteValue(): ?string
{
return $this->creditNoteValue;
}
/**
* @param string|null $creditNoteValue
*/
public function setCreditNoteValue(?string $creditNoteValue): void
{
$this->creditNoteValue = $creditNoteValue;
}
/**
* @return string|null
*/
public function getCreditNoteDeduct(): ?string
{
return $this->creditNoteDeduct;
}
/**
* @param string|null $creditNoteDeduct
*/
public function setCreditNoteDeduct(?string $creditNoteDeduct): void
{
$this->creditNoteDeduct = $creditNoteDeduct;
}
/**
* @return string|null
*/
public function getCreditNoteDeductShipment(): ?string
{
return $this->creditNoteDeductShipment;
}
/**
* @param string|null $creditNoteDeductShipment
* @return void
*/
public function setCreditNoteDeductShipment(?string $creditNoteDeductShipment): void
{
$this->creditNoteDeductShipment = $creditNoteDeductShipment;
}
/**
* @return \DateTime|null
*/
public function getOriginalSupplierListDate(): ?\DateTime
{
return $this->originalSupplierListDate;
}
/**
* @param \DateTime|null $originalSupplierListDate
* @return void
*/
public function setOriginalSupplierListDate(?\DateTime $originalSupplierListDate): void
{
$this->originalSupplierListDate = $originalSupplierListDate;
}
/**
* @return string|null
*/
public function getOriginalSupplierList(): ?string
{
return $this->originalSupplierList;
}
/**
* @param string|null $originalSupplierList
* @return void
*/
public function setOriginalSupplierList(?string $originalSupplierList): void
{
$this->originalSupplierList = $originalSupplierList;
}
/**
* @return string|null
*/
public function getOriginalSupplierListLink(): ?string
{
return $this->originalSupplierListLink;
}
/**
* @param string|null $originalSupplierListLink
* @return void
*/
public function setOriginalSupplierListLink(?string $originalSupplierListLink): void
{
$this->originalSupplierListLink = $originalSupplierListLink;
}
/**
* @return int|null
*/
public function getSupplierCategoryId(): ?int
{
return $this->supplierCategoryId;
}
/**
* @param int|null $supplierCategoryId
* @return void
*/
public function setSupplierCategoryId(?int $supplierCategoryId): void
{
$this->supplierCategoryId = $supplierCategoryId;
}
public function getInDailyProductTurnover(): bool
{
return $this->inDailyProductTurnover;
}
public function setInDailyProductTurnover(bool $inDailyProductTurnover): void
{
$this->inDailyProductTurnover = $inDailyProductTurnover;
}
public function getQuarantineFinished(): bool
{
return $this->quarantineFinished;
}
public function setQuarantineFinished(bool $quarantineFinished): void
{
$this->quarantineFinished = $quarantineFinished;
}
public function getExpectedQuarantineRatio(): ?string
{
return $this->expectedQuarantineRatio;
}
public function setExpectedQuarantineRatio(?string $expectedQuarantineRatio): void
{
$this->expectedQuarantineRatio = ($expectedQuarantineRatio === '' || $expectedQuarantineRatio === null) ? null : $expectedQuarantineRatio;
}
/**
* @return int|null
*/
public function getPaymentPriorityId(): ?int
{
return $this->paymentPriorityId;
}
/**
* @param int|null $paymentPriorityId
* @return void
*/
public function setPaymentPriorityId(?int $paymentPriorityId): void
{
$this->paymentPriorityId = $paymentPriorityId;
}
/**
* @return \DateTime|null
*/
public function getPlannedPaymentDate(): ?\DateTime
{
return $this->plannedPaymentDate;
}
/**
* @param \DateTime|null $plannedPaymentDate
* @return void
*/
public function setPlannedPaymentDate(?\DateTime $plannedPaymentDate): void
{
$this->plannedPaymentDate = $plannedPaymentDate;
}
/**
* @return string
*/
public function getCurrency(): string
{
return $this->currency;
}
/**
* @param string $currency
* @return void
*/
public function setCurrency(string $currency): void
{
$this->currency = $currency;
}
/**
* @return string
*/
public function getTotalPrice(): string
{
return $this->totalPrice;
}
/**
* @param string $totalPrice
*/
public function setTotalPrice(string $totalPrice)
{
$this->totalPrice = $totalPrice;
}
/**
* @return \DateTime|null
*/
public function getExpectedArrivalDateFrom(): ?\DateTime
{
return $this->expectedArrivalDateFrom;
}
/**
* @param \DateTime|null $expectedArrivalDateFrom
* @return void
*/
public function setexpectedArrivalDateFrom(?\DateTime $expectedArrivalDateFrom): void
{
$this->expectedArrivalDateFrom = $expectedArrivalDateFrom;
}
/**
* @return \DateTime|string|null
*/
public function getExpectedArrivalDateTo(): \DateTime|string|null
{
return $this->expectedArrivalDateTo;
}
/**
* @param \DateTime|null $expectedArrivalDateTo
* @return void
*/
public function setExpectedArrivalDateTo(?\DateTime $expectedArrivalDateTo): void
{
$this->expectedArrivalDateTo = $expectedArrivalDateTo;
}
public function getConfirmedArrivalDate(): \DateTime|string|null
{
return $this->confirmedArrivalDate;
}
public function setConfirmedArrivalDate(\DateTime|string|null $confirmedArrivalDate): void
{
if (is_string($confirmedArrivalDate)) {
$confirmedArrivalDate = $confirmedArrivalDate !== '' ? new \DateTime($confirmedArrivalDate) : null;
}
$this->confirmedArrivalDate = $confirmedArrivalDate;
}
/**
* @return string
*/
public function getPaidPrice(): string
{
return $this->paidPrice;
}
/**
* @param string $paidPrice
* @return void
*/
public function setPaidPrice(string $paidPrice): void
{
$this->paidPrice = $paidPrice;
}
/**
* @return string
*/
public function getOrderedQuantity(): string
{
return $this->orderedQuantity;
}
/**
* @param string $orderedQuantity
* @return void
*/
public function setOrderedQuantity(string $orderedQuantity): void
{
$this->orderedQuantity = $orderedQuantity;
}
/**
* @return string
*/
public function getReceivedQuantity(): string
{
return $this->receivedQuantity;
}
/**
* @param string $receivedQuantity
* @return void
*/
public function setReceivedQuantity(string $receivedQuantity): void
{
$this->receivedQuantity = $receivedQuantity;
}
/**
* @return int
*/
public function getPaymentStatusId(): int
{
return $this->paymentStatusId;
}
/**
* @param int $paymentStatusId
* @return void
*/
public function setPaymentStatusId(int $paymentStatusId): void
{
$this->paymentStatusId = $paymentStatusId;
}
/**
* @return string
*/
public function getReceivedPriceValue(): string
{
return $this->receivedPriceValue;
}
/**
* @param string $receivedPriceValue
* @return void
*/
public function setReceivedPriceValue(string $receivedPriceValue): void
{
$this->receivedPriceValue = $receivedPriceValue;
}
/**
* @return ArrayCollection|PersistentCollection
*/
public function getDocuments()
{
return $this->documents;
}
/**
* @return PersistentCollection
*/
public function getStockMovements(): PersistentCollection
{
return $this->stockMovements;
}
/**
* @param PersistentCollection $stockMovements
* @return void
*/
public function setStockMovements(PersistentCollection $stockMovements): void
{
$this->stockMovements = $stockMovements;
}
/**
* @return string|null
*/
public function getAikenLots(): ?string
{
return $this->aikenLots;
}
/**
* @param string|null $aikenLots
* @return void
*/
public function setAikenLots(?string $aikenLots): void
{
$this->aikenLots = $aikenLots;
}
/**
* @return string
*/
public function getQuarantinePriceDropPercentage(): string
{
return $this->quarantinePriceDropPercentage;
}
/**
* @param string $quarantinePriceDropPercentage
* @return void
*/
public function setQuarantinePriceDropPercentage(string $quarantinePriceDropPercentage): void
{
$this->quarantinePriceDropPercentage = $quarantinePriceDropPercentage;
}
/**
* @return string|null
*/
public function getStockSummaryLink(): ?string
{
return $this->stockSummaryLink;
}
/**
* @param string|null $stockSummaryLink
* @return void
*/
public function setStockSummaryLink(?string $stockSummaryLink): void
{
$this->stockSummaryLink = $stockSummaryLink;
}
/**
* @return array|null
*/
public function getProducts(): ?array
{
return $this->products;
}
/**
* @param array|null $products
*
* @return void
*/
public function setProducts(?array $products): void
{
$this->products = $products;
}
/**
* @return User|null
*/
public function getClaimSupervisor(): ?User
{
return $this->claimSupervisor;
}
/**
* @param User|null $claimSupervisor
*
* @return void
*/
public function setClaimSupervisor(?User $claimSupervisor): void
{
$this->claimSupervisor = $claimSupervisor;
}
/**
* @return int|null
*/
public function getClaimStatus(): ?int
{
return $this->claimStatus;
}
/**
* @param int|null $claimStatus
*
* @return void
*/
public function setClaimStatus(?int $claimStatus): void
{
$this->claimStatus = $claimStatus;
}
/**
* @return \DateTime|null
*/
public function getClaimStartDate(): ?\DateTime
{
return $this->claimStartDate;
}
/**
* @param \DateTime|null $claimStartDate
*
* @return void
*/
public function setClaimStartDate(?\DateTime $claimStartDate): void
{
$this->claimStartDate = $claimStartDate;
}
/**
* @return \DateTime|null
*/
public function getClaimEndDate(): ?\DateTime
{
return $this->claimEndDate;
}
/**
* @param \DateTime|null $claimEndDate
*
* @return void
*/
public function setClaimEndDate(?\DateTime $claimEndDate): void
{
$this->claimEndDate = $claimEndDate;
}
/**
* @return string|null
*/
public function getClaimNote(): ?string
{
return $this->claimNote;
}
/**
* @param string|null $claimNote
*
* @return void
*/
public function setClaimNote(?string $claimNote): void
{
$this->claimNote = $claimNote;
}
/**
* @return array|null
*/
public function getClaimProducts(): ?array
{
return $this->claimProducts;
}
/**
* @param array|null $claimProducts
*
* @return void
*/
public function setClaimProducts(?array $claimProducts): void
{
$this->claimProducts = $claimProducts;
}
/**
* @return string|null
*/
public function getClaimRMALink(): ?string
{
return $this->claimRMALink;
}
/**
* @param string|null $claimRMALink
*
* @return void
*/
public function setClaimRMALink(?string $claimRMALink): void
{
$this->claimRMALink = $claimRMALink;
}
/**
* @return \DateTime|null
*/
public function getPaidDate(): ?\DateTime
{
return $this->paidDate;
}
/**
* @param \DateTime|null $paidDate
*/
public function setPaidDate(?\DateTime $paidDate): void
{
$this->paidDate = $paidDate;
}
/**
* @return User|null
*/
public function getPaidBy(): ?User
{
return $this->paidBy;
}
/**
* @param User|null $paidBy
*/
public function setPaidBy(?User $paidBy): void
{
$this->paidBy = $paidBy;
}
/**
* @return string|null
*/
public function getPohodaNo(): ?string
{
return $this->pohodaNo;
}
/**
* @param string|null $pohodaNo
*/
public function setPohodaNo(?string $pohodaNo): void
{
$this->pohodaNo = $pohodaNo;
}
/**
* @return string|null
*/
public function getConfigListLink(): ?string
{
return $this->configListLink;
}
/**
* @param string|null $configListLink
*/
public function setConfigListLink(?string $configListLink): void
{
$this->configListLink = $configListLink;
}
/**
* @return \DateTime|null
*/
public function getConfigListDate(): ?\DateTime
{
return $this->configListDate;
}
/**
* @param \DateTime|null $configListDate
*/
public function setConfigListDate(?\DateTime $configListDate): void
{
$this->configListDate = $configListDate;
}
/**
* @return string|null
*/
public function getFinanceNote(): ?string
{
return $this->financeNote;
}
/**
* @param string|null $financeNote
*/
public function setFinanceNote(?string $financeNote): void
{
$this->financeNote = $financeNote;
}
/**
* @return string|null
*/
public function getMergedShipments(): ?string
{
return $this->mergedShipments;
}
/**
* @param string|null $mergedShipments
*/
public function setMergedShipments(?string $mergedShipments): void
{
$this->mergedShipments = $mergedShipments;
}
/**
* @return string|null
*/
public function getTransportNo(): ?string
{
return $this->transportNo;
}
/**
* @param string|null $transportNo
*/
public function setTransportNo(?string $transportNo): void
{
$this->transportNo = $transportNo;
}
/**
* @return string|null
*/
public function getTransportLink(): ?string
{
return $this->transportLink;
}
/**
* @param string|null $transportLink
*/
public function setTransportLink(?string $transportLink): void
{
$this->transportLink = $transportLink;
}
/**
* @return string|null
*/
public function getCarrierCompany(): ?string
{
return $this->carrierCompany;
}
/**
* @param string|null $carrierCompany
*/
public function setCarrierCompany(?string $carrierCompany): void
{
$this->carrierCompany = $carrierCompany;
}
/**
* @return string
*/
public function getCarrierFee(): string
{
return $this->carrierFee;
}
/**
* @param string $carrierFee
*/
public function setCarrierFee(string $carrierFee): void
{
$this->carrierFee = $carrierFee;
}
/**
* @return bool
*/
public function getCustoms(): bool
{
return $this->customs;
}
/**
* @param bool $customs
*/
public function setCustoms(bool $customs): void
{
$this->customs = $customs;
}
/**
* @return string
*/
public function getCustomsDuty(): string
{
return $this->customsDuty;
}
/**
* @param string $customsDuty
*/
public function setCustomsDuty(string $customsDuty): void
{
$this->customsDuty = $customsDuty;
}
/**
* @return string|null
*/
public function getNote(): ?string
{
return $this->note;
}
/**
* @param string|null $note
*/
public function setNote(?string $note): void
{
$this->note = $note;
}
/**
* @return string|null
*/
public function getPurchaseOrder(): ?string
{
return $this->purchaseOrder;
}
/**
* @param string|null $purchaseOrder
*/
public function setPurchaseOrder(?string $purchaseOrder): void
{
$this->purchaseOrder = $purchaseOrder;
}
/**
* @return string|null
*/
public function getSupplyNote(): ?string
{
return $this->supplyNote;
}
/**
* @param string|null $supplyNote
*/
public function setSupplyNote(?string $supplyNote): void
{
$this->supplyNote = $supplyNote;
}
/**
* @return string|null
*/
public function getWaitingPricing(): ?string
{
return $this->waitingPricing;
}
/**
* @param string|null $waitingPricing
*/
public function setWaitingPricing(?string $waitingPricing): void
{
$this->waitingPricing = $waitingPricing;
}
/**
* @return string|null
*/
public function getSuperviseTransport(): ?string
{
return $this->superviseTransport;
}
/**
* @param string|null $superviseTransport
*/
public function setSuperviseTransport(?string $superviseTransport): void
{
$this->superviseTransport = $superviseTransport;
}
/**
* @return int
*/
public function getQuantity(): int
{
return $this->quantity;
}
/**
* @param int $quantity
*/
public function setQuantity(int $quantity): void
{
$this->quantity = $quantity;
}
/**
* @return float
*/
public function getWeight(): float
{
return $this->weight;
}
/**
* @param float $weight
*/
public function setWeight(float $weight): void
{
$this->weight = $weight;
}
/**
* @return string|null
*/
public function getCountry(): ?string
{
return $this->country;
}
/**
* @param string|null $country
*/
public function setCountry(?string $country): void
{
$this->country = $country;
}
/**
* @return string|null
*/
public function getPickupTruck(): ?string
{
return $this->pickupTruck;
}
/**
* @param string|null $pickupTruck
*/
public function setPickupTruck(?string $pickupTruck): void
{
$this->pickupTruck = $pickupTruck;
}
/**
* @return \DateTime|null
*/
public function getPickupDate(): ?\DateTime
{
return $this->pickupDate;
}
/**
* @param \DateTime|null $pickupDate
*/
public function setPickupDate(?\DateTime $pickupDate): void
{
$this->pickupDate = $pickupDate;
}
/**
* @return \DateTime|null
*/
public function getCompleteDate(): ?\DateTime
{
return $this->completeDate;
}
/**
* @param \DateTime|null $completeDate
*/
public function setCompleteDate(?\DateTime $completeDate): void
{
$this->completeDate = $completeDate;
}
/**
* @return array|null
*/
public function getReceivedProducts(): ?array
{
if ($this->receivedProducts === null) {
return null;
}
$data = $this->receivedProducts;
if (isset($data['received_date']) && is_string($data['received_date'])) {
$parsed = \DateTimeImmutable::createFromFormat('Y.n.j\TH:i', $data['received_date'])
?: \DateTimeImmutable::createFromFormat('Y.m.d\TH:i', $data['received_date']);
if ($parsed !== false) {
$data['received_date'] = $parsed->format('Y-m-d\TH:i');
}
}
return $data;
}
/**
* @param array|null $receivedProducts
*
* @return void
*/
public function setReceivedProducts(?array $receivedProducts): void
{
$this->receivedProducts = $receivedProducts;
}
/**
* @return array|null
*/
public function getProduction(): ?array
{
return $this->production;
}
/**
* @param array|null $production
* @return void
*/
public function setProduction(?array $production): void
{
$this->production = $production;
}
/**
* @return bool
*/
public function getPreinvoiceCodeRecorded(): bool
{
return $this->preinvoiceCodeRecorded;
}
/**
* @param bool $preinvoiceCodeRecorded
* @return void
*/
public function setPreinvoiceCodeRecorded(bool $preinvoiceCodeRecorded): void
{
$this->preinvoiceCodeRecorded = $preinvoiceCodeRecorded;
}
/**
* @return bool
*/
public function getInvoiceCodeRecorded(): bool
{
return $this->invoiceCodeRecorded;
}
/**
* @param bool $invoiceCodeRecorded
* @return void
*/
public function setInvoiceCodeRecorded(bool $invoiceCodeRecorded): void
{
$this->invoiceCodeRecorded = $invoiceCodeRecorded;
}
}