dbmsv4/app/Entities/Equipment/ServerPartEntity.php
2026-01-29 17:06:25 +09:00

86 lines
2.0 KiB
PHP

<?php
namespace App\Entities\Equipment;
use App\Models\Equipment\ServerPartModel;
class ServerPartEntity extends EquipmentEntity
{
const PK = ServerPartModel::PK;
const TITLE = ServerPartModel::TITLE;
protected $casts = [
'clientinfo_uid' => '?integer',
'part_uid' => '?integer',
'serverinfo_uid' => 'integer',
'serviceinfo_uid' => '?integer',
];
protected $attributes = [
'clientinfo_uid' => null,
'part_uid' => null,
'serverinfo_uid' => null,
'serviceinfo_uid' => null,
'title' => '',
'type' => '',
'billing' => '',
'billing_at' => '',
'cnt' => 0,
'amount' => 0,
'extra' => '',
];
public function __construct(array|null $data = null)
{
parent::__construct($data);
}
public function getClientInfoUid(): int|null
{
return $this->clientinfo_uid ?? null;
}
public function getServiceInfoUid(): int|null
{
return $this->serviceinfo_uid ?? null;
}
public function getServerInfoUid(): int|null
{
return $this->serverinfo_uid ?? null;
}
public function getPartUid(): int|null
{
return $this->part_uid ?? null;
}
//기본기능용
public function getCustomTitle(): string
{
return sprintf("%s*%d개[%s]", $this->getTitle(), $this->getCnt(), $this->getExtra());
}
public function getCalculatedAmount(): int
{
return $this->getAmount() * $this->getCnt();
}
public function getType(): string
{
return $this->type ?? "";
}
public function getBilling(): string
{
return $this->billing ?? "";
}
public function getBillingAt(): string
{
return $this->billing_at ?? "";
}
public function getCnt(): int
{
return $this->cnt ?? 0;
}
public function getAmount(): int
{
return $this->amount ?? 0;
}
public function getExtra(): string
{
return $this->extra ?? '';
}
}