feat: implement AdminController for CMS management and AppServiceProvider for application bootstrapping
This commit is contained in:
@@ -18,7 +18,6 @@ use App\DevExtreme\Utils;
|
|||||||
use App\DevExtreme\FilterHelper;
|
use App\DevExtreme\FilterHelper;
|
||||||
use App\DevExtreme\DbSet;
|
use App\DevExtreme\DbSet;
|
||||||
|
|
||||||
use App\Models\NaksCertificate;
|
|
||||||
use Illuminate\Auth\Events\Registered;
|
use Illuminate\Auth\Events\Registered;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use App\Imports\ImportExcel;
|
use App\Imports\ImportExcel;
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Annotation extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'shape_id',
|
|
||||||
'spool_no',
|
|
||||||
'joint_type',
|
|
||||||
'type_of_welds',
|
|
||||||
'classification',
|
|
||||||
'page_number',
|
|
||||||
'x_coordinate',
|
|
||||||
'y_coordinate',
|
|
||||||
'width',
|
|
||||||
'height',
|
|
||||||
'shape_type',
|
|
||||||
'qr_code_data',
|
|
||||||
'pdf_file_path',
|
|
||||||
'created_by',
|
|
||||||
'original_start_point',
|
|
||||||
'connected_shape_id',
|
|
||||||
'version',
|
|
||||||
'is_active',
|
|
||||||
'parent_id',
|
|
||||||
'updated_by',
|
|
||||||
'welder_id',
|
|
||||||
'stroke_color',
|
|
||||||
'stroke_width'
|
|
||||||
];
|
|
||||||
|
|
||||||
protected $casts = [
|
|
||||||
'x_coordinate' => 'decimal:2',
|
|
||||||
'y_coordinate' => 'decimal:2',
|
|
||||||
'width' => 'decimal:2',
|
|
||||||
'height' => 'decimal:2',
|
|
||||||
];
|
|
||||||
|
|
||||||
public function updatedUser()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(User::class, 'updated_by');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Beveeling extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
<?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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ColorSystem extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ColumnComment extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The attributes that are mass assignable.
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected $fillable = [
|
|
||||||
'table_name',
|
|
||||||
'record_id',
|
|
||||||
'column_name',
|
|
||||||
'comment',
|
|
||||||
'column_value',
|
|
||||||
'user_id',
|
|
||||||
'ip_address',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the user that created the comment.
|
|
||||||
*/
|
|
||||||
public function user()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(User::class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ColumnDescription extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ConstructionPaintLog extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class CurrentType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class CutList extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Defect extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class DeletedJoint extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Discipline extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class DocumentHistory extends Model
|
|
||||||
{
|
|
||||||
protected $table = 'document_history';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'table_name',
|
|
||||||
'column_name',
|
|
||||||
'row_id',
|
|
||||||
'user_name',
|
|
||||||
'action',
|
|
||||||
'file_name',
|
|
||||||
'file_size',
|
|
||||||
'moved_from',
|
|
||||||
'moved_to',
|
|
||||||
'action_date',
|
|
||||||
'file_path',
|
|
||||||
'notes'
|
|
||||||
];
|
|
||||||
|
|
||||||
protected $dates = [
|
|
||||||
'action_date',
|
|
||||||
'created_at',
|
|
||||||
'updated_at'
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,153 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Support\Facades\Cache;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
|
||||||
|
|
||||||
class DocumentManagerPermission extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'document_manager_permissions';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'user_level',
|
|
||||||
'folder_path',
|
|
||||||
'permission_type',
|
|
||||||
'is_allowed'
|
|
||||||
];
|
|
||||||
|
|
||||||
protected $casts = [
|
|
||||||
'is_allowed' => 'boolean',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get permissions for a specific user level and folder (with caching)
|
|
||||||
*/
|
|
||||||
public static function getUserFolderPermissions($userLevel, $folderPath)
|
|
||||||
{
|
|
||||||
$cacheKey = "doc_perms_{$userLevel}_{$folderPath}";
|
|
||||||
|
|
||||||
return Cache::remember($cacheKey, 3600, function() use ($userLevel, $folderPath) {
|
|
||||||
return self::where('user_level', $userLevel)
|
|
||||||
->where('folder_path', $folderPath)
|
|
||||||
->where('is_allowed', true)
|
|
||||||
->pluck('permission_type')
|
|
||||||
->toArray();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if user has specific permission for folder (with caching)
|
|
||||||
*/
|
|
||||||
public static function hasPermission($userLevel, $folderPath, $permissionType)
|
|
||||||
{
|
|
||||||
$cacheKey = "doc_perm_check_{$userLevel}_{$folderPath}_{$permissionType}";
|
|
||||||
|
|
||||||
return Cache::remember($cacheKey, 3600, function() use ($userLevel, $folderPath, $permissionType) {
|
|
||||||
return self::where('user_level', $userLevel)
|
|
||||||
->where('folder_path', $folderPath)
|
|
||||||
->where('permission_type', $permissionType)
|
|
||||||
->where('is_allowed', true)
|
|
||||||
->exists();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all permissions for a user level (with caching)
|
|
||||||
* Returns both allowed and denied permissions to handle inheritance correctly
|
|
||||||
*/
|
|
||||||
public static function getUserLevelPermissions($userLevel)
|
|
||||||
{
|
|
||||||
$cacheKey = "doc_perms_user_{$userLevel}";
|
|
||||||
|
|
||||||
return Cache::remember($cacheKey, 3600, function() use ($userLevel) {
|
|
||||||
return self::where('user_level', $userLevel)
|
|
||||||
// Removed where('is_allowed', true) to allow checking for explicit denies
|
|
||||||
->get()
|
|
||||||
->groupBy('folder_path');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all folder paths that have permissions
|
|
||||||
*/
|
|
||||||
public static function getFolderPaths()
|
|
||||||
{
|
|
||||||
return self::distinct()
|
|
||||||
->pluck('folder_path')
|
|
||||||
->toArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all user levels that have permissions
|
|
||||||
*/
|
|
||||||
public static function getUserLevels()
|
|
||||||
{
|
|
||||||
return self::distinct()
|
|
||||||
->pluck('user_level')
|
|
||||||
->toArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clear cache for specific user level
|
|
||||||
*/
|
|
||||||
public static function clearUserLevelCache($userLevel)
|
|
||||||
{
|
|
||||||
$cacheKeys = [
|
|
||||||
"doc_perms_user_{$userLevel}",
|
|
||||||
"doc_perms_{$userLevel}_*",
|
|
||||||
"doc_perm_check_{$userLevel}_*"
|
|
||||||
];
|
|
||||||
|
|
||||||
foreach ($cacheKeys as $pattern) {
|
|
||||||
if (strpos($pattern, '*') !== false) {
|
|
||||||
// Clear pattern-based cache keys
|
|
||||||
Cache::flush();
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
Cache::forget($pattern);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clear all document manager permission caches
|
|
||||||
*/
|
|
||||||
public static function clearAllCaches()
|
|
||||||
{
|
|
||||||
Cache::flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clear cache when permissions are updated
|
|
||||||
* @param string $userLevel - User level to clear cache for
|
|
||||||
* @param string|null $folderPath - Specific folder path to clear (optional)
|
|
||||||
*/
|
|
||||||
public static function clearPermissionCache($userLevel, $folderPath = null)
|
|
||||||
{
|
|
||||||
if ($folderPath) {
|
|
||||||
// Clear specific folder cache
|
|
||||||
Cache::forget("doc_perms_{$userLevel}_{$folderPath}");
|
|
||||||
Cache::forget("doc_perms_user_{$userLevel}");
|
|
||||||
|
|
||||||
// Clear all permission checks for this folder
|
|
||||||
$permissionTypes = ['read', 'write', 'edit'];
|
|
||||||
foreach ($permissionTypes as $type) {
|
|
||||||
Cache::forget("doc_perm_check_{$userLevel}_{$folderPath}_{$type}");
|
|
||||||
}
|
|
||||||
|
|
||||||
Log::info("Permission cache cleared for specific folder", [
|
|
||||||
'user_level' => $userLevel,
|
|
||||||
'folder_path' => $folderPath
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
// Clear all cache for user level
|
|
||||||
self::clearUserLevelCache($userLevel);
|
|
||||||
Log::info("Permission cache cleared for user level", ['user_level' => $userLevel]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class DocumentProcedure extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class DocumentRevision extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class DutyType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class DyePenetrantTest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ElectrodeCoating extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Element extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'pdfm_elements';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'element_code',
|
|
||||||
'element_name',
|
|
||||||
'element_type',
|
|
||||||
'material',
|
|
||||||
'diameter',
|
|
||||||
'thickness',
|
|
||||||
'classification',
|
|
||||||
'weight'
|
|
||||||
];
|
|
||||||
|
|
||||||
// Relationships
|
|
||||||
public function jointsFrom()
|
|
||||||
{
|
|
||||||
return $this->hasMany(Joint::class, 'element_from', 'element_code');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function jointsTo()
|
|
||||||
{
|
|
||||||
return $this->hasMany(Joint::class, 'element_to', 'element_code');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class FeedbackReport extends Model
|
|
||||||
{
|
|
||||||
protected $fillable = [
|
|
||||||
'user_id',
|
|
||||||
'title',
|
|
||||||
'description',
|
|
||||||
'screenshot_path',
|
|
||||||
'status',
|
|
||||||
'username',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Ferrit extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class FitUpWeldingFollowUp extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class GeneralDiscipline extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Handover extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class HardnessTest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class HazardClass extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ITP extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class IncomingControl extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class IncomingControlPaint extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class InspectionHistory extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The table associated with the model.
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
protected $table = 'inspection_history';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The attributes that are mass assignable.
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected $fillable = [
|
|
||||||
'table_name',
|
|
||||||
'record_id',
|
|
||||||
'column_name',
|
|
||||||
'comment',
|
|
||||||
'file_path',
|
|
||||||
'file_name',
|
|
||||||
'file_size',
|
|
||||||
'user_id',
|
|
||||||
'ip_address',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the user that created the inspection history.
|
|
||||||
*/
|
|
||||||
public function user()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(User::class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class JobDescription extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Joint extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'pdfm_joints';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'joint_no',
|
|
||||||
'spool_no',
|
|
||||||
'element_from',
|
|
||||||
'element_to',
|
|
||||||
'joint_type',
|
|
||||||
'welding_type',
|
|
||||||
'classification',
|
|
||||||
'status'
|
|
||||||
];
|
|
||||||
|
|
||||||
// Relationships
|
|
||||||
public function spool()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Spool::class, 'spool_no', 'spool_no');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function elementFrom()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Element::class, 'element_from', 'element_code');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function elementTo()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Element::class, 'element_to', 'element_code');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function welderAssignments()
|
|
||||||
{
|
|
||||||
return $this->hasMany(WelderAssignment::class, 'joint_no', 'joint_no');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class JointType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class JointView extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class LineList extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class LineListCategory extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class LineListGroup extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Location extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class MTO extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class MagneticTest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Material extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class MaterialGroupMap extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class MaterialGroupTestPiece extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class MaterialPlaning extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class MaterialPlaningDetail extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NCRLog extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NDT extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NaksCenter extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NaksCertificate extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NaksConsumable extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NaksWelder extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class NdeMatrix extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
||||||
|
|
||||||
class Notification extends Model
|
|
||||||
{
|
|
||||||
protected $table = 'notifications';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'user_id',
|
|
||||||
'notification_code',
|
|
||||||
'title',
|
|
||||||
'message',
|
|
||||||
'link',
|
|
||||||
'is_read',
|
|
||||||
'filter_params',
|
|
||||||
];
|
|
||||||
|
|
||||||
protected $casts = [
|
|
||||||
'is_read' => 'boolean',
|
|
||||||
'created_at' => 'datetime',
|
|
||||||
'updated_at' => 'datetime',
|
|
||||||
'filter_params' => 'array',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the user that owns the notification
|
|
||||||
* Performance: Use only when needed with eager loading
|
|
||||||
*/
|
|
||||||
public function user(): BelongsTo
|
|
||||||
{
|
|
||||||
return $this->belongsTo(User::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope: Get only unread notifications
|
|
||||||
* Performance: Uses index on is_read column
|
|
||||||
*/
|
|
||||||
public function scopeUnread($query)
|
|
||||||
{
|
|
||||||
return $query->where('is_read', false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope: Get notifications for specific user
|
|
||||||
* Performance: Uses composite index on (user_id, is_read)
|
|
||||||
*/
|
|
||||||
public function scopeForUser($query, $userId)
|
|
||||||
{
|
|
||||||
return $query->where('user_id', $userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope: Get recent notifications (last 30 days)
|
|
||||||
* Performance: Uses index on created_at column
|
|
||||||
*/
|
|
||||||
public function scopeRecent($query, $days = 30)
|
|
||||||
{
|
|
||||||
return $query->where('created_at', '>=', now()->subDays($days));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mark notification as read
|
|
||||||
* Performance: Single update query without model events
|
|
||||||
*/
|
|
||||||
public function markAsRead(): bool
|
|
||||||
{
|
|
||||||
if ($this->is_read) {
|
|
||||||
return true; // Already read, skip update
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->update(['is_read' => true]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mark multiple notifications as read (bulk operation)
|
|
||||||
* Performance: Single bulk update query
|
|
||||||
*/
|
|
||||||
public static function markMultipleAsRead(array $ids): int
|
|
||||||
{
|
|
||||||
return self::whereIn('id', $ids)
|
|
||||||
->where('is_read', false)
|
|
||||||
->update(['is_read' => true]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get unread count for user
|
|
||||||
* Performance: Count query without loading records
|
|
||||||
*/
|
|
||||||
public static function getUnreadCount($userId): int
|
|
||||||
{
|
|
||||||
return self::where('user_id', $userId)
|
|
||||||
->where('is_read', false)
|
|
||||||
->count();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete old notifications (cleanup)
|
|
||||||
* Performance: Bulk delete with date filter
|
|
||||||
*/
|
|
||||||
public static function deleteOldNotifications($days = 90): int
|
|
||||||
{
|
|
||||||
return self::where('created_at', '<', now()->subDays($days))
|
|
||||||
->delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PMITest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PNumber extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PTLog extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PWHT extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PaintFollowUp extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PaintMatrix extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PaintSystem extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PerformedWorkType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PipingType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ProductType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class ProsedureQualificationRecord extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PunchDescription extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PunchList extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PunchListComment extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class QCActivity extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class RFI extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class RadiographicTest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class RegisterOfExpert extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $table = 'register_of_experts';
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Result extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class RuWeldingGeometry extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Spool extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'pdfm_spools';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'spool_no',
|
|
||||||
'description',
|
|
||||||
'material',
|
|
||||||
'diameter',
|
|
||||||
'thickness',
|
|
||||||
'length',
|
|
||||||
'classification',
|
|
||||||
'status'
|
|
||||||
];
|
|
||||||
|
|
||||||
// Relationships
|
|
||||||
public function joints()
|
|
||||||
{
|
|
||||||
return $this->hasMany(Joint::class, 'spool_no', 'spool_no');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function annotations()
|
|
||||||
{
|
|
||||||
return $this->hasMany(Annotation::class, 'spool_no', 'spool_no');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Subcontractor extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Support extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class SurfaceAreaConstant extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'surface_area_constants';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'standard',
|
|
||||||
'general_name',
|
|
||||||
'element_name_en',
|
|
||||||
'element_name_ru',
|
|
||||||
'product_standard',
|
|
||||||
'dia_inch',
|
|
||||||
'dia_mm',
|
|
||||||
'surface_area_m2',
|
|
||||||
// 'is_active',
|
|
||||||
];
|
|
||||||
|
|
||||||
protected $casts = [
|
|
||||||
'dia_mm' => 'decimal:2',
|
|
||||||
'surface_area_m2' => 'decimal:6',
|
|
||||||
// 'is_active' => 'boolean',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get surface area constants by standard
|
|
||||||
*/
|
|
||||||
public static function byStandard($standard)
|
|
||||||
{
|
|
||||||
return self::where('standard', $standard)
|
|
||||||
// ->where('is_active', true)
|
|
||||||
->get();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get surface area for specific element
|
|
||||||
*/
|
|
||||||
public static function getSurfaceArea($standard, $elementNameEn, $diaMm)
|
|
||||||
{
|
|
||||||
return self::where('standard', $standard)
|
|
||||||
->where('element_name_en', $elementNameEn)
|
|
||||||
->where('dia_mm', $diaMm)
|
|
||||||
->first();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get unique diameters
|
|
||||||
*/
|
|
||||||
public static function getUniqueDiameters()
|
|
||||||
{
|
|
||||||
return self::select('dia_inch', 'dia_mm')
|
|
||||||
->distinct()
|
|
||||||
->orderBy('dia_mm')
|
|
||||||
->get();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get unique element types
|
|
||||||
*/
|
|
||||||
public static function getUniqueElements($standard = null)
|
|
||||||
{
|
|
||||||
$query = self::select('element_name_en')
|
|
||||||
// ->where('is_active', true)
|
|
||||||
->distinct();
|
|
||||||
|
|
||||||
if ($standard) {
|
|
||||||
$query->where('standard', $standard);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $query->pluck('element_name_en');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class TestPackBaseStatus extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The attributes that should be cast.
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected $casts = [
|
|
||||||
'is_manual' => 'boolean',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class TestPackage extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The attributes that should be cast.
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected $casts = [
|
|
||||||
'is_manual' => 'boolean',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class TypeOfConsumable extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class UTType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class UltrasonicTest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class VTLog extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WPS extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldLog extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldMap extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class Welder extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'pdfm_welders';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'welder_code',
|
|
||||||
'name',
|
|
||||||
'certification',
|
|
||||||
'specialization',
|
|
||||||
'status'
|
|
||||||
];
|
|
||||||
|
|
||||||
// Relationships
|
|
||||||
public function welderAssignments()
|
|
||||||
{
|
|
||||||
return $this->hasMany(WelderAssignment::class, 'welder_code', 'welder_code');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WelderAssignment extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'pdfm_welder_assignments';
|
|
||||||
|
|
||||||
protected $fillable = [
|
|
||||||
'joint_no',
|
|
||||||
'welder_code',
|
|
||||||
'assigned_date',
|
|
||||||
'completed_date',
|
|
||||||
'status'
|
|
||||||
];
|
|
||||||
|
|
||||||
// Relationships
|
|
||||||
public function joint()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Joint::class, 'joint_no', 'joint_no');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function welder()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Welder::class, 'welder_code', 'welder_code');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WelderConfirmCheck extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WelderLocation extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WelderTest extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
|
|
||||||
protected $table = 'welder_tests';
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WelderTestPlan extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldingConsumable extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldingEquipment extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $table = 'welding_equipment';
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldingMachineType extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldingMaterialsBrend extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldingMethod extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class WeldingPosition extends Model
|
|
||||||
{
|
|
||||||
use HasFactory;
|
|
||||||
protected $guarded = [];
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user