İlk temizlik tamamlandı bir önceki projeden
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class CalibrationLog extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'calibration_logs';
|
||||
|
||||
protected $fillable = [
|
||||
'certification_document',
|
||||
'user_guide',
|
||||
'instrument',
|
||||
'discipline',
|
||||
'description',
|
||||
'item_no',
|
||||
'equipment_name',
|
||||
'manufacturer',
|
||||
'model_no',
|
||||
'serial_no',
|
||||
'quantity',
|
||||
'passport_certificate_no',
|
||||
'place_of_calibration_verification',
|
||||
'calibrated_by',
|
||||
'calibration_frequency',
|
||||
'calibration_certificate',
|
||||
'calibration_certificate_no',
|
||||
'calibration_date',
|
||||
'calibration_due_date',
|
||||
'deviation_ratio',
|
||||
'status',
|
||||
'remarks',
|
||||
'comments',
|
||||
'download',
|
||||
'source_id',
|
||||
'source_module',
|
||||
];
|
||||
|
||||
/**
|
||||
* Calculate calibration_due_date when calibration_date or calibration_frequency changes
|
||||
*/
|
||||
protected function calculateDueDate()
|
||||
{
|
||||
if ($this->calibration_date && $this->calibration_frequency) {
|
||||
try {
|
||||
$calibrationDate = Carbon::parse($this->calibration_date);
|
||||
$frequency = (int) $this->calibration_frequency;
|
||||
|
||||
if ($frequency > 0) {
|
||||
$this->calibration_due_date = $calibrationDate->copy()->addDays($frequency)->format('Y-m-d');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// If date parsing fails, don't set due_date
|
||||
// Log error if needed: \Log::error('Calibration date calculation failed: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mutator: Calculate due_date when calibration_date is set
|
||||
*/
|
||||
public function setCalibrationDateAttribute($value)
|
||||
{
|
||||
$this->attributes['calibration_date'] = $value;
|
||||
$this->calculateDueDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Mutator: Calculate due_date when calibration_frequency is set
|
||||
*/
|
||||
public function setCalibrationFrequencyAttribute($value)
|
||||
{
|
||||
$this->attributes['calibration_frequency'] = $value;
|
||||
$this->calculateDueDate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user