From c510b18f42004c13d8cd08829f35b9e3f6e2a9ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Cmit=20Tun=C3=A7?= Date: Tue, 28 Apr 2026 23:12:07 +0300 Subject: [PATCH] feat: implement AdminController for CMS management and AppServiceProvider for application bootstrapping --- app/Http/Controllers/AdminController.php | 1 - app/Models/Annotation.php | 50 - app/Models/Beveeling.php | 12 - app/Models/CalibrationLog.php | 83 - app/Models/ColorSystem.php | 12 - app/Models/ColumnComment.php | 34 - app/Models/ColumnDescription.php | 11 - app/Models/ConstructionPaintLog.php | 11 - app/Models/CurrentType.php | 12 - app/Models/CutList.php | 12 - app/Models/Defect.php | 11 - app/Models/DeletedJoint.php | 11 - app/Models/Discipline.php | 12 - app/Models/DocumentHistory.php | 31 - app/Models/DocumentManagerPermission.php | 153 - app/Models/DocumentProcedure.php | 12 - app/Models/DocumentRevision.php | 12 - app/Models/DutyType.php | 12 - app/Models/DyePenetrantTest.php | 11 - app/Models/ElectrodeCoating.php | 12 - app/Models/Element.php | 35 - app/Models/FeedbackReport.php | 18 - app/Models/Ferrit.php | 11 - app/Models/FitUpWeldingFollowUp.php | 11 - app/Models/GeneralDiscipline.php | 12 - app/Models/Handover.php | 12 - app/Models/HardnessTest.php | 11 - app/Models/HazardClass.php | 12 - app/Models/ITP.php | 11 - app/Models/IncomingControl.php | 12 - app/Models/IncomingControlPaint.php | 12 - app/Models/InspectionHistory.php | 43 - app/Models/JobDescription.php | 12 - app/Models/Joint.php | 45 - app/Models/JointType.php | 12 - app/Models/JointView.php | 12 - app/Models/LineList.php | 11 - app/Models/LineListCategory.php | 12 - app/Models/LineListGroup.php | 12 - app/Models/Location.php | 12 - app/Models/MTO.php | 12 - app/Models/MagneticTest.php | 11 - app/Models/Material.php | 12 - app/Models/MaterialGroupMap.php | 12 - app/Models/MaterialGroupTestPiece.php | 12 - app/Models/MaterialPlaning.php | 11 - app/Models/MaterialPlaningDetail.php | 11 - app/Models/NCRLog.php | 11 - app/Models/NDT.php | 11 - app/Models/NaksCenter.php | 12 - app/Models/NaksCertificate.php | 12 - app/Models/NaksConsumable.php | 12 - app/Models/NaksWelder.php | 12 - app/Models/NdeMatrix.php | 12 - app/Models/Notification.php | 110 - app/Models/PMITest.php | 11 - app/Models/PNumber.php | 12 - app/Models/PTLog.php | 11 - app/Models/PWHT.php | 11 - app/Models/PaintFollowUp.php | 12 - app/Models/PaintMatrix.php | 12 - app/Models/PaintSystem.php | 12 - app/Models/PerformedWorkType.php | 12 - app/Models/PipingType.php | 12 - app/Models/ProductType.php | 12 - app/Models/ProsedureQualificationRecord.php | 11 - app/Models/PunchDescription.php | 11 - app/Models/PunchList.php | 12 - app/Models/PunchListComment.php | 11 - app/Models/QCActivity.php | 12 - app/Models/RFI.php | 13 - app/Models/RadiographicTest.php | 11 - app/Models/RegisterOfExpert.php | 13 - app/Models/Result.php | 12 - app/Models/RuWeldingGeometry.php | 12 - app/Models/Spool.php | 35 - app/Models/Subcontractor.php | 11 - app/Models/Support.php | 12 - app/Models/SurfaceAreaConstant.php | 79 - app/Models/TestPackBaseStatus.php | 21 - app/Models/TestPackage.php | 21 - app/Models/TypeOfConsumable.php | 12 - app/Models/UTType.php | 12 - app/Models/UltrasonicTest.php | 11 - app/Models/VTLog.php | 11 - app/Models/WPS.php | 11 - app/Models/WeldLog.php | 12 - app/Models/WeldMap.php | 11 - app/Models/Welder.php | 27 - app/Models/WelderAssignment.php | 32 - app/Models/WelderConfirmCheck.php | 12 - app/Models/WelderLocation.php | 12 - app/Models/WelderTest.php | 14 - app/Models/WelderTestPlan.php | 11 - app/Models/WeldingConsumable.php | 12 - app/Models/WeldingEquipment.php | 13 - app/Models/WeldingMachineType.php | 12 - app/Models/WeldingMaterialsBrend.php | 12 - app/Models/WeldingMethod.php | 12 - app/Models/WeldingPosition.php | 12 - app/Models/WorkPermitDocument.php | 11 - app/Models/WorkType.php | 12 - app/Providers/AppServiceProvider.php | 16 +- .../manage-ndt/joint-by-line-no.blade.php | 288 - .../type/manage-ndt/line-weld-date.blade.php | 723 -- .../manage-welding/joint-by-line-no.blade.php | 249 - .../manage-welding/line-weld-date.blade.php | 183 - .../current-material-status.blade.php | 166 - .../packing-list-detail.blade.php | 15 - .../material-planing/packing-list.blade.php | 19 - .../type/naks-technology/edit-form.blade.php | 55 - .../admin/type/naks-technology/form.blade.php | 59 - .../type/naks-technology/header.blade.php | 34 - .../admin/type/pdf-editor/canvas.blade.php | 20 - .../admin/type/pdf-editor/scripts.blade.php | 6508 ----------------- .../admin/type/pdf-editor/sidebar.blade.php | 81 - .../admin/type/pdf-editor/styles.blade.php | 350 - .../admin/type/pdf-editor/toolbar.blade.php | 79 - .../admin/type/pqr/datagrid-script.blade.php | 608 -- .../spool-release/checklist-system.blade.php | 80 - .../js-rollback-button.blade.php | 55 - .../spool-release/ndt-release-list.blade.php | 231 - .../ndt-release-paint-list-field.blade.php | 120 - .../ndt-release-paint-list.blade.php | 240 - .../spool-release/ndt/info-panel.blade.php | 568 -- .../spool-release/ndt/release-list.blade.php | 11 - .../type/spool-release/ndt/setup-data.php | 151 - .../type/spool-release/ndt/sidebar.blade.php | 28 - .../paint-follow-up-updater.blade.php | 468 -- .../type/spool-release/paint-info.blade.php | 424 -- .../type/spool-release/rollback.blade.php | 126 - .../spool-document-generate.blade.php | 47 - .../spool-list-chart-no-cache.blade.php | 200 - .../spool-release/spool-list-chart.blade.php | 11 - .../spool-release/spool-list-field.blade.php | 140 - .../type/spool-release/spool-list.blade.php | 680 -- .../type/spool-release/weld-info.blade.php | 323 - .../admin/type/summary/all-projects.blade.php | 234 - .../views/admin/type/summary/css.blade.php | 317 - .../type/summary/each-projects.blade.php | 298 - .../admin/type/summary/ndt-summary.blade.php | 253 - .../type/summary/repair-rate-all.blade.php | 82 - .../welder-assignment/qc-weldlog.blade.php | 353 - .../welder-assignment/welder-wdi.blade.php | 66 - .../type/welder-assignment/weldmap.blade.php | 128 - .../type/welder-assignment/wqt.blade.php | 56 - .../type/weldmap/datagrid-script.blade.php | 1094 --- .../views/admin/type/weldmap/main.blade.php | 824 --- .../admin/type/weldmap/upload-modal.blade.php | 32 - .../wpq-follow-up/datagrid-script.blade.php | 1054 --- .../admin/type/wps/datagrid-script.blade.php | 241 - 151 files changed, 5 insertions(+), 20197 deletions(-) delete mode 100644 app/Models/Annotation.php delete mode 100644 app/Models/Beveeling.php delete mode 100644 app/Models/CalibrationLog.php delete mode 100644 app/Models/ColorSystem.php delete mode 100644 app/Models/ColumnComment.php delete mode 100644 app/Models/ColumnDescription.php delete mode 100644 app/Models/ConstructionPaintLog.php delete mode 100644 app/Models/CurrentType.php delete mode 100644 app/Models/CutList.php delete mode 100644 app/Models/Defect.php delete mode 100644 app/Models/DeletedJoint.php delete mode 100644 app/Models/Discipline.php delete mode 100644 app/Models/DocumentHistory.php delete mode 100644 app/Models/DocumentManagerPermission.php delete mode 100644 app/Models/DocumentProcedure.php delete mode 100644 app/Models/DocumentRevision.php delete mode 100644 app/Models/DutyType.php delete mode 100644 app/Models/DyePenetrantTest.php delete mode 100644 app/Models/ElectrodeCoating.php delete mode 100644 app/Models/Element.php delete mode 100644 app/Models/FeedbackReport.php delete mode 100644 app/Models/Ferrit.php delete mode 100644 app/Models/FitUpWeldingFollowUp.php delete mode 100644 app/Models/GeneralDiscipline.php delete mode 100644 app/Models/Handover.php delete mode 100644 app/Models/HardnessTest.php delete mode 100644 app/Models/HazardClass.php delete mode 100644 app/Models/ITP.php delete mode 100644 app/Models/IncomingControl.php delete mode 100644 app/Models/IncomingControlPaint.php delete mode 100644 app/Models/InspectionHistory.php delete mode 100644 app/Models/JobDescription.php delete mode 100644 app/Models/Joint.php delete mode 100644 app/Models/JointType.php delete mode 100644 app/Models/JointView.php delete mode 100644 app/Models/LineList.php delete mode 100644 app/Models/LineListCategory.php delete mode 100644 app/Models/LineListGroup.php delete mode 100644 app/Models/Location.php delete mode 100644 app/Models/MTO.php delete mode 100644 app/Models/MagneticTest.php delete mode 100644 app/Models/Material.php delete mode 100644 app/Models/MaterialGroupMap.php delete mode 100644 app/Models/MaterialGroupTestPiece.php delete mode 100644 app/Models/MaterialPlaning.php delete mode 100644 app/Models/MaterialPlaningDetail.php delete mode 100644 app/Models/NCRLog.php delete mode 100644 app/Models/NDT.php delete mode 100644 app/Models/NaksCenter.php delete mode 100644 app/Models/NaksCertificate.php delete mode 100644 app/Models/NaksConsumable.php delete mode 100644 app/Models/NaksWelder.php delete mode 100644 app/Models/NdeMatrix.php delete mode 100644 app/Models/Notification.php delete mode 100644 app/Models/PMITest.php delete mode 100644 app/Models/PNumber.php delete mode 100644 app/Models/PTLog.php delete mode 100644 app/Models/PWHT.php delete mode 100644 app/Models/PaintFollowUp.php delete mode 100644 app/Models/PaintMatrix.php delete mode 100644 app/Models/PaintSystem.php delete mode 100644 app/Models/PerformedWorkType.php delete mode 100644 app/Models/PipingType.php delete mode 100644 app/Models/ProductType.php delete mode 100644 app/Models/ProsedureQualificationRecord.php delete mode 100644 app/Models/PunchDescription.php delete mode 100644 app/Models/PunchList.php delete mode 100644 app/Models/PunchListComment.php delete mode 100644 app/Models/QCActivity.php delete mode 100644 app/Models/RFI.php delete mode 100644 app/Models/RadiographicTest.php delete mode 100644 app/Models/RegisterOfExpert.php delete mode 100644 app/Models/Result.php delete mode 100644 app/Models/RuWeldingGeometry.php delete mode 100644 app/Models/Spool.php delete mode 100644 app/Models/Subcontractor.php delete mode 100644 app/Models/Support.php delete mode 100644 app/Models/SurfaceAreaConstant.php delete mode 100644 app/Models/TestPackBaseStatus.php delete mode 100644 app/Models/TestPackage.php delete mode 100644 app/Models/TypeOfConsumable.php delete mode 100644 app/Models/UTType.php delete mode 100644 app/Models/UltrasonicTest.php delete mode 100644 app/Models/VTLog.php delete mode 100644 app/Models/WPS.php delete mode 100644 app/Models/WeldLog.php delete mode 100644 app/Models/WeldMap.php delete mode 100644 app/Models/Welder.php delete mode 100644 app/Models/WelderAssignment.php delete mode 100644 app/Models/WelderConfirmCheck.php delete mode 100644 app/Models/WelderLocation.php delete mode 100644 app/Models/WelderTest.php delete mode 100644 app/Models/WelderTestPlan.php delete mode 100644 app/Models/WeldingConsumable.php delete mode 100644 app/Models/WeldingEquipment.php delete mode 100644 app/Models/WeldingMachineType.php delete mode 100644 app/Models/WeldingMaterialsBrend.php delete mode 100644 app/Models/WeldingMethod.php delete mode 100644 app/Models/WeldingPosition.php delete mode 100644 app/Models/WorkPermitDocument.php delete mode 100644 app/Models/WorkType.php delete mode 100644 resources/views/admin/type/manage-ndt/joint-by-line-no.blade.php delete mode 100644 resources/views/admin/type/manage-ndt/line-weld-date.blade.php delete mode 100644 resources/views/admin/type/manage-welding/joint-by-line-no.blade.php delete mode 100644 resources/views/admin/type/manage-welding/line-weld-date.blade.php delete mode 100644 resources/views/admin/type/material-planing/current-material-status.blade.php delete mode 100644 resources/views/admin/type/material-planing/packing-list-detail.blade.php delete mode 100644 resources/views/admin/type/material-planing/packing-list.blade.php delete mode 100644 resources/views/admin/type/naks-technology/edit-form.blade.php delete mode 100644 resources/views/admin/type/naks-technology/form.blade.php delete mode 100644 resources/views/admin/type/naks-technology/header.blade.php delete mode 100644 resources/views/admin/type/pdf-editor/canvas.blade.php delete mode 100644 resources/views/admin/type/pdf-editor/scripts.blade.php delete mode 100644 resources/views/admin/type/pdf-editor/sidebar.blade.php delete mode 100644 resources/views/admin/type/pdf-editor/styles.blade.php delete mode 100644 resources/views/admin/type/pdf-editor/toolbar.blade.php delete mode 100644 resources/views/admin/type/pqr/datagrid-script.blade.php delete mode 100644 resources/views/admin/type/spool-release/checklist-system.blade.php delete mode 100644 resources/views/admin/type/spool-release/js-rollback-button.blade.php delete mode 100644 resources/views/admin/type/spool-release/ndt-release-list.blade.php delete mode 100644 resources/views/admin/type/spool-release/ndt-release-paint-list-field.blade.php delete mode 100644 resources/views/admin/type/spool-release/ndt-release-paint-list.blade.php delete mode 100644 resources/views/admin/type/spool-release/ndt/info-panel.blade.php delete mode 100644 resources/views/admin/type/spool-release/ndt/release-list.blade.php delete mode 100644 resources/views/admin/type/spool-release/ndt/setup-data.php delete mode 100644 resources/views/admin/type/spool-release/ndt/sidebar.blade.php delete mode 100644 resources/views/admin/type/spool-release/paint-follow-up-updater.blade.php delete mode 100644 resources/views/admin/type/spool-release/paint-info.blade.php delete mode 100644 resources/views/admin/type/spool-release/rollback.blade.php delete mode 100644 resources/views/admin/type/spool-release/spool-document-generate.blade.php delete mode 100644 resources/views/admin/type/spool-release/spool-list-chart-no-cache.blade.php delete mode 100644 resources/views/admin/type/spool-release/spool-list-chart.blade.php delete mode 100644 resources/views/admin/type/spool-release/spool-list-field.blade.php delete mode 100644 resources/views/admin/type/spool-release/spool-list.blade.php delete mode 100644 resources/views/admin/type/spool-release/weld-info.blade.php delete mode 100644 resources/views/admin/type/summary/all-projects.blade.php delete mode 100644 resources/views/admin/type/summary/css.blade.php delete mode 100644 resources/views/admin/type/summary/each-projects.blade.php delete mode 100644 resources/views/admin/type/summary/ndt-summary.blade.php delete mode 100644 resources/views/admin/type/summary/repair-rate-all.blade.php delete mode 100644 resources/views/admin/type/welder-assignment/qc-weldlog.blade.php delete mode 100644 resources/views/admin/type/welder-assignment/welder-wdi.blade.php delete mode 100644 resources/views/admin/type/welder-assignment/weldmap.blade.php delete mode 100644 resources/views/admin/type/welder-assignment/wqt.blade.php delete mode 100644 resources/views/admin/type/weldmap/datagrid-script.blade.php delete mode 100644 resources/views/admin/type/weldmap/main.blade.php delete mode 100644 resources/views/admin/type/weldmap/upload-modal.blade.php delete mode 100644 resources/views/admin/type/wpq-follow-up/datagrid-script.blade.php delete mode 100644 resources/views/admin/type/wps/datagrid-script.blade.php diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 27e3bc3..a197f7b 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -18,7 +18,6 @@ use App\DevExtreme\Utils; use App\DevExtreme\FilterHelper; use App\DevExtreme\DbSet; -use App\Models\NaksCertificate; use Illuminate\Auth\Events\Registered; use Maatwebsite\Excel\Facades\Excel; use App\Imports\ImportExcel; diff --git a/app/Models/Annotation.php b/app/Models/Annotation.php deleted file mode 100644 index 69abd16..0000000 --- a/app/Models/Annotation.php +++ /dev/null @@ -1,50 +0,0 @@ - 'decimal:2', - 'y_coordinate' => 'decimal:2', - 'width' => 'decimal:2', - 'height' => 'decimal:2', - ]; - -public function updatedUser() -{ - return $this->belongsTo(User::class, 'updated_by'); -} - -} \ No newline at end of file diff --git a/app/Models/Beveeling.php b/app/Models/Beveeling.php deleted file mode 100644 index 0d89dd5..0000000 --- a/app/Models/Beveeling.php +++ /dev/null @@ -1,12 +0,0 @@ -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(); - } -} - - diff --git a/app/Models/ColorSystem.php b/app/Models/ColorSystem.php deleted file mode 100644 index d932a1f..0000000 --- a/app/Models/ColorSystem.php +++ /dev/null @@ -1,12 +0,0 @@ -belongsTo(User::class); - } -} diff --git a/app/Models/ColumnDescription.php b/app/Models/ColumnDescription.php deleted file mode 100644 index dac99d9..0000000 --- a/app/Models/ColumnDescription.php +++ /dev/null @@ -1,11 +0,0 @@ - '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]); - } - } -} diff --git a/app/Models/DocumentProcedure.php b/app/Models/DocumentProcedure.php deleted file mode 100644 index 20fdaa7..0000000 --- a/app/Models/DocumentProcedure.php +++ /dev/null @@ -1,12 +0,0 @@ -hasMany(Joint::class, 'element_from', 'element_code'); - } - - public function jointsTo() - { - return $this->hasMany(Joint::class, 'element_to', 'element_code'); - } -} diff --git a/app/Models/FeedbackReport.php b/app/Models/FeedbackReport.php deleted file mode 100644 index 4c1fb32..0000000 --- a/app/Models/FeedbackReport.php +++ /dev/null @@ -1,18 +0,0 @@ -belongsTo(User::class); - } -} diff --git a/app/Models/JobDescription.php b/app/Models/JobDescription.php deleted file mode 100644 index d997d70..0000000 --- a/app/Models/JobDescription.php +++ /dev/null @@ -1,12 +0,0 @@ -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'); - } -} diff --git a/app/Models/JointType.php b/app/Models/JointType.php deleted file mode 100644 index f8673a7..0000000 --- a/app/Models/JointType.php +++ /dev/null @@ -1,12 +0,0 @@ - '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(); - } -} - diff --git a/app/Models/PMITest.php b/app/Models/PMITest.php deleted file mode 100644 index 617bd4a..0000000 --- a/app/Models/PMITest.php +++ /dev/null @@ -1,11 +0,0 @@ -hasMany(Joint::class, 'spool_no', 'spool_no'); - } - - public function annotations() - { - return $this->hasMany(Annotation::class, 'spool_no', 'spool_no'); - } -} diff --git a/app/Models/Subcontractor.php b/app/Models/Subcontractor.php deleted file mode 100644 index c0be9ea..0000000 --- a/app/Models/Subcontractor.php +++ /dev/null @@ -1,11 +0,0 @@ - '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'); - } -} diff --git a/app/Models/TestPackBaseStatus.php b/app/Models/TestPackBaseStatus.php deleted file mode 100644 index f17cf60..0000000 --- a/app/Models/TestPackBaseStatus.php +++ /dev/null @@ -1,21 +0,0 @@ - 'boolean', - ]; -} diff --git a/app/Models/TestPackage.php b/app/Models/TestPackage.php deleted file mode 100644 index de299eb..0000000 --- a/app/Models/TestPackage.php +++ /dev/null @@ -1,21 +0,0 @@ - 'boolean', - ]; -} diff --git a/app/Models/TypeOfConsumable.php b/app/Models/TypeOfConsumable.php deleted file mode 100644 index 1bc4fe3..0000000 --- a/app/Models/TypeOfConsumable.php +++ /dev/null @@ -1,12 +0,0 @@ -hasMany(WelderAssignment::class, 'welder_code', 'welder_code'); - } -} diff --git a/app/Models/WelderAssignment.php b/app/Models/WelderAssignment.php deleted file mode 100644 index 0bb7e9c..0000000 --- a/app/Models/WelderAssignment.php +++ /dev/null @@ -1,32 +0,0 @@ -belongsTo(Joint::class, 'joint_no', 'joint_no'); - } - - public function welder() - { - return $this->belongsTo(Welder::class, 'welder_code', 'welder_code'); - } -} diff --git a/app/Models/WelderConfirmCheck.php b/app/Models/WelderConfirmCheck.php deleted file mode 100644 index f02f3b0..0000000 --- a/app/Models/WelderConfirmCheck.php +++ /dev/null @@ -1,12 +0,0 @@ -app->register(TelescopeServiceProvider::class); + $this->app->register(TelescopeServiceProvider::class); /* if ($this->app->isLocal()) { $this->app->register(TelescopeServiceProvider::class); } */ - + } /** @@ -33,21 +33,15 @@ class AppServiceProvider extends ServiceProvider { // Paginator::useBootstrap(); - + $this->protectDocumentFolders(); - - // Register Observers - \App\Models\NaksCertificate::observe(\App\Observers\NaksCertificateObserver::class); - \App\Models\NaksWelder::observe(\App\Observers\NaksWeldersObserver::class); - \App\Models\NaksConsumable::observe(\App\Observers\NaksConsumablesObserver::class); - \App\Models\RegisterOfExpert::observe(\App\Observers\RegisterOfExpertsObserver::class); - \App\Models\WeldingEquipment::observe(\App\Observers\WeldingEquipmentObserver::class); + } private function protectDocumentFolders() { $documentsPath = storage_path('documents'); - + } } diff --git a/resources/views/admin/type/manage-ndt/joint-by-line-no.blade.php b/resources/views/admin/type/manage-ndt/joint-by-line-no.blade.php deleted file mode 100644 index cf5e1cf..0000000 --- a/resources/views/admin/type/manage-ndt/joint-by-line-no.blade.php +++ /dev/null @@ -1,288 +0,0 @@ -
- \ No newline at end of file diff --git a/resources/views/admin/type/manage-ndt/line-weld-date.blade.php b/resources/views/admin/type/manage-ndt/line-weld-date.blade.php deleted file mode 100644 index 0ed23cb..0000000 --- a/resources/views/admin/type/manage-ndt/line-weld-date.blade.php +++ /dev/null @@ -1,723 +0,0 @@ -
- \ No newline at end of file diff --git a/resources/views/admin/type/manage-welding/joint-by-line-no.blade.php b/resources/views/admin/type/manage-welding/joint-by-line-no.blade.php deleted file mode 100644 index ac3d0b2..0000000 --- a/resources/views/admin/type/manage-welding/joint-by-line-no.blade.php +++ /dev/null @@ -1,249 +0,0 @@ -
- \ No newline at end of file diff --git a/resources/views/admin/type/manage-welding/line-weld-date.blade.php b/resources/views/admin/type/manage-welding/line-weld-date.blade.php deleted file mode 100644 index 48e321b..0000000 --- a/resources/views/admin/type/manage-welding/line-weld-date.blade.php +++ /dev/null @@ -1,183 +0,0 @@ -
- \ No newline at end of file diff --git a/resources/views/admin/type/material-planing/current-material-status.blade.php b/resources/views/admin/type/material-planing/current-material-status.blade.php deleted file mode 100644 index fa6454b..0000000 --- a/resources/views/admin/type/material-planing/current-material-status.blade.php +++ /dev/null @@ -1,166 +0,0 @@ -select("element_code") -->selectRaw("SUM(quantity) qty") -->groupBy("element_code") -//->whereIn("recevied_status",['Delayed', 'Received']) -->get()->pluck("qty", "element_code")->toArray(); - -$mtos = db("m_t_o_s") -->select( - "project", - "line", - "component_code_id", - "description_en", - "material", -) -->selectRaw("SUM(quantity) qty") -->orderBy("qty", "DESC") -->whereNotNull("quantity") -->groupBy("line", "component_code_id")->paginate(setting('row_count')); -?> - - - -
- - - \ No newline at end of file diff --git a/resources/views/admin/type/material-planing/packing-list-detail.blade.php b/resources/views/admin/type/material-planing/packing-list-detail.blade.php deleted file mode 100644 index 1095a43..0000000 --- a/resources/views/admin/type/material-planing/packing-list-detail.blade.php +++ /dev/null @@ -1,15 +0,0 @@ -where("id", get("detail"))->first(); - $listDatas = $listDatas->where("pl_number", $detail->pl_number); -} -$listDatas = $listDatas->paginate(setting('row_count')); -?> -
- @include("components.blocks.module-block") -
\ No newline at end of file diff --git a/resources/views/admin/type/material-planing/packing-list.blade.php b/resources/views/admin/type/material-planing/packing-list.blade.php deleted file mode 100644 index bd947c8..0000000 --- a/resources/views/admin/type/material-planing/packing-list.blade.php +++ /dev/null @@ -1,19 +0,0 @@ - [ - 'values' => [ - 'Canceled', - 'Delayed', - 'Received', - ], - 'type' => 'manuel-select' - ] -]; -?> -
- @include("components.blocks.module-block") -
\ No newline at end of file diff --git a/resources/views/admin/type/naks-technology/edit-form.blade.php b/resources/views/admin/type/naks-technology/edit-form.blade.php deleted file mode 100644 index 79b890f..0000000 --- a/resources/views/admin/type/naks-technology/edit-form.blade.php +++ /dev/null @@ -1,55 +0,0 @@ - -{{$naksCertificate->id}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/views/admin/type/naks-technology/form.blade.php b/resources/views/admin/type/naks-technology/form.blade.php deleted file mode 100644 index 66dc72f..0000000 --- a/resources/views/admin/type/naks-technology/form.blade.php +++ /dev/null @@ -1,59 +0,0 @@ - - -
- @csrf - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - diff --git a/resources/views/admin/type/naks-technology/header.blade.php b/resources/views/admin/type/naks-technology/header.blade.php deleted file mode 100644 index 5320e10..0000000 --- a/resources/views/admin/type/naks-technology/header.blade.php +++ /dev/null @@ -1,34 +0,0 @@ - - {{e2("SN")}} - {{e2("CERTIFICATE No")}} - {{e2("Short Name")}} - {{e2("Valid from")}} - {{e2("Valid to")}} - {{e2("Welding Method")}} - {{e2("MAT. GROUP 1")}} - {{e2("MAT. GROUP 2")}} - {{e2("Welding consumables")}} - {{e2("CATEGORY")}} - {{e2("TYPE")}} - {{e2("MIN")}} - {{e2("MAX")}} - {{e2("MIN2")}} - {{e2("MAX2")}} - {{e2("MIN THICK")}} - {{e2("MAX THICK")}} - {{e2("MIN THICK 2")}} - {{e2("MAX THICK 2")}} - {{e2("JOINT TYPE")}} - {{e2("PWHT")}} - {{e2("CONNECTION TYPE")}} - {{e2("JOINT VIEW")}} - {{e2("ANGLE TYPE")}} - {{e2("POSITION")}} - {{e2("PRE HEATING")}} - {{e2("Shielding gas")}} - {{e2("Type of electrode coating")}} - {{e2("Type of welding equipment")}} - {{e2("Performed works type")}} - {{e2("Remarks")}} - {{e2("Opt")}} - \ No newline at end of file diff --git a/resources/views/admin/type/pdf-editor/canvas.blade.php b/resources/views/admin/type/pdf-editor/canvas.blade.php deleted file mode 100644 index e20c228..0000000 --- a/resources/views/admin/type/pdf-editor/canvas.blade.php +++ /dev/null @@ -1,20 +0,0 @@ -
- - -
-
- -

Select a PDF file to start editing

-
-
- - -
diff --git a/resources/views/admin/type/pdf-editor/scripts.blade.php b/resources/views/admin/type/pdf-editor/scripts.blade.php deleted file mode 100644 index dec5a34..0000000 --- a/resources/views/admin/type/pdf-editor/scripts.blade.php +++ /dev/null @@ -1,6508 +0,0 @@ - - - -@include('components.modals.joint-widget-modal') \ No newline at end of file diff --git a/resources/views/admin/type/pdf-editor/sidebar.blade.php b/resources/views/admin/type/pdf-editor/sidebar.blade.php deleted file mode 100644 index 97c5b56..0000000 --- a/resources/views/admin/type/pdf-editor/sidebar.blade.php +++ /dev/null @@ -1,81 +0,0 @@ - diff --git a/resources/views/admin/type/pdf-editor/styles.blade.php b/resources/views/admin/type/pdf-editor/styles.blade.php deleted file mode 100644 index dbbe2eb..0000000 --- a/resources/views/admin/type/pdf-editor/styles.blade.php +++ /dev/null @@ -1,350 +0,0 @@ - - diff --git a/resources/views/admin/type/pdf-editor/toolbar.blade.php b/resources/views/admin/type/pdf-editor/toolbar.blade.php deleted file mode 100644 index ccb42ec..0000000 --- a/resources/views/admin/type/pdf-editor/toolbar.blade.php +++ /dev/null @@ -1,79 +0,0 @@ -
-
-
-
-
- - - - - - - - -
- - -
- - - - - - -
-
- - 100% - - -
-
- -
- 1 / 1 -
- -
-
-
-
-
diff --git a/resources/views/admin/type/pqr/datagrid-script.blade.php b/resources/views/admin/type/pqr/datagrid-script.blade.php deleted file mode 100644 index 791002f..0000000 --- a/resources/views/admin/type/pqr/datagrid-script.blade.php +++ /dev/null @@ -1,608 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/admin/type/spool-release/checklist-system.blade.php b/resources/views/admin/type/spool-release/checklist-system.blade.php deleted file mode 100644 index f295b09..0000000 --- a/resources/views/admin/type/spool-release/checklist-system.blade.php +++ /dev/null @@ -1,80 +0,0 @@ -where("iso_number", $isoNumber) - ->where("spool_number", $spoolNumbers[$count]) - ->whereNotIn("spool_status", ['Completed']) - ->update([ - "spool_paint_check" => u()->id, - "paint_release_no" => $checkNo, - "paint_release_date" => simdi(), - "spool_status" => "Completed" - ]); - ?> - @include("admin.type.spool-release.paint-follow-up-updater") - $count]); - ?> - - where("iso_number", $currentIso) - ->where("spool_number", $currentSpool) - ->update([ - "spool_ndt_check" => u()->id, - "spool_ndt_check_no" => $checkNo, - "spool_ndt_check_date" => simdi(), - "spool_status" => "NDT Release" - ]); - - $totalAffectedRows += $result; - } - - bilgi(":result row sign check", "success", ['result'=> $totalAffectedRows]); - ?> - @include("admin.type.spool-release.spool-document-generate") - - - @if(getisset("checklist-ok") || getisset("rollback") || postisset("checklist-ok")) - spoolStatusChanger(get("iso_number"), get("spool_number")); - @endif \ No newline at end of file diff --git a/resources/views/admin/type/spool-release/js-rollback-button.blade.php b/resources/views/admin/type/spool-release/js-rollback-button.blade.php deleted file mode 100644 index 6626eaa..0000000 --- a/resources/views/admin/type/spool-release/js-rollback-button.blade.php +++ /dev/null @@ -1,55 +0,0 @@ -{ - type: 'buttons', - width: 50, - buttons: [{ - hint: 'Rollback', - icon: 'undo', - - onClick(e) { - Swal.fire({ - title: `Are you sure to rollback
${e.row.data.iso_number}
${e.row.data.spool_number}
?`, - text: "This will rollback the spool release. You cannot undo this action!", - icon: 'warning', - showCancelButton: true, - confirmButtonColor: '#3085d6', - cancelButtonColor: '#d33', - confirmButtonText: 'Yes, rollback!', - cancelButtonText: 'Cancel' - }).then((result) => { - if (result.isConfirmed) { - // Show loading progress - Swal.fire({ - title: 'Processing Rollback...', - html: 'Please wait while we rollback this item.', - allowOutsideClick: false, - allowEscapeKey: false, - didOpen: () => { - Swal.showLoading(); - } - }); - - $.get("{{url("admin-ajax/rollback")}}", { - rollback: e.row.data.id - }, function(d) { - Swal.fire(d); - - // Get current row key - const rowKey = e.row.key; - - // Refresh the data source but maintain the current state - e.component.getDataSource().reload().then(() => { - // Optional: Focus and select the row after refresh - e.component.selectRows([rowKey], false); - }); - }).fail(function() { - Swal.fire({ - title: 'Error!', - text: 'An error occurred during rollback.', - icon: 'error' - }); - }); - } - }); - }, - }], -}, \ No newline at end of file diff --git a/resources/views/admin/type/spool-release/ndt-release-list.blade.php b/resources/views/admin/type/spool-release/ndt-release-list.blade.php deleted file mode 100644 index 5aaedc0..0000000 --- a/resources/views/admin/type/spool-release/ndt-release-list.blade.php +++ /dev/null @@ -1,231 +0,0 @@ - -
\ No newline at end of file diff --git a/resources/views/admin/type/spool-release/ndt-release-paint-list-field.blade.php b/resources/views/admin/type/spool-release/ndt-release-paint-list-field.blade.php deleted file mode 100644 index 66ff86b..0000000 --- a/resources/views/admin/type/spool-release/ndt-release-paint-list-field.blade.php +++ /dev/null @@ -1,120 +0,0 @@ - -
diff --git a/resources/views/admin/type/spool-release/ndt-release-paint-list.blade.php b/resources/views/admin/type/spool-release/ndt-release-paint-list.blade.php deleted file mode 100644 index 31114ea..0000000 --- a/resources/views/admin/type/spool-release/ndt-release-paint-list.blade.php +++ /dev/null @@ -1,240 +0,0 @@ - -
diff --git a/resources/views/admin/type/spool-release/ndt/info-panel.blade.php b/resources/views/admin/type/spool-release/ndt/info-panel.blade.php deleted file mode 100644 index 80e4e36..0000000 --- a/resources/views/admin/type/spool-release/ndt/info-panel.blade.php +++ /dev/null @@ -1,568 +0,0 @@ - - {{col("col-12", $weldTitle, 0, ['no-options' => true])}} - -
-
- 1 || count($spoolNumbers) > 1) { - $hasMultipleItems = true; - - // If both ISO and SPL exist, pair them - if(count($isoNumbers) > 1 && count($spoolNumbers) > 1) { - $maxCount = max(count($isoNumbers), count($spoolNumbers)); - for($i = 0; $i < $maxCount; $i++) { - $selectedItems[] = [ - 'iso_number' => isset($isoNumbers[$i]) ? trim($isoNumbers[$i]) : '', - 'spool_number' => isset($spoolNumbers[$i]) ? trim($spoolNumbers[$i]) : '' - ]; - } - } elseif(count($isoNumbers) > 1) { - // Only ISO numbers - foreach($isoNumbers as $isoNumber) { - $selectedItems[] = [ - 'iso_number' => trim($isoNumber), - 'spool_number' => '' - ]; - } - } elseif(count($spoolNumbers) > 1) { - // Only SPL numbers - foreach($spoolNumbers as $spoolNumber) { - $selectedItems[] = [ - 'iso_number' => '', - 'spool_number' => trim($spoolNumber) - ]; - } - } - } - - ?> - @if($hasMultipleItems) -
-
{{e2("Selected Items")}}
-
- -
- @else -
- {{e2("Iso Number")}}: - -
- @if(!$field) -
- {{e2("SPL")}}: - -
- @endif - @endif - -
- groupBy("painting_cycle") - ->select("painting_cycle") - ->whereNotNull("painting_cycle") - ->whereIn("iso_number", $isoNumbers) - ->get(); - - - - ?> - @if($paintingCycles) -
- - {{e2("Painting Cycle")}}: - - -
{{$paintingCycle->painting_cycle}}
- - - -
NDT: % {{$weldInfos[0]->ndt_percent}}
-
PWHT: {{$weldInfos[0]->pwht}}
- - 0) ? $weldInfos : $paintInfos; - foreach($infos AS $info) { - if($info->type_of_joint == 'S') { - $spoolStatuses[] = $info->spool_status; - } - } - ?> - @if(isset($weldInfos[0])) - -
{{getLowestSpoolStatus($spoolStatuses)}}
- @endif - @if(isset($paintInfos[0])) -
{{getLowestSpoolStatus($spoolStatuses)}}
- @endif - - -
- - @endif - -
- - -
- -
- @if($showReleaseButton) - @if($paintingCycles->count() != 0) - @if($spoolStatus == "NDT Release") - - @endif - @endif - @if($paintingCycles->count() == 0) - @if($spoolStatus == "NDT Release") - - @endif - @endif - @endif - - @if(getisset("iso_number")) - @if(getisset("spool_number")) - @if(isset($weldInfos[0])) - {{e2("Print")}} - @endif - @endif - @endif -
- - - -
- - -
- -
- - - @if(!getesit("iso_number","")) - @if(isset($paint)) - @include("admin.type.spool-release.paint-info") - @else - @include("admin.type.spool-release.weld-info") - @endif - @endif - - {{_col()}} - diff --git a/resources/views/admin/type/spool-release/ndt/release-list.blade.php b/resources/views/admin/type/spool-release/ndt/release-list.blade.php deleted file mode 100644 index 2ebc0dd..0000000 --- a/resources/views/admin/type/spool-release/ndt/release-list.blade.php +++ /dev/null @@ -1,11 +0,0 @@ - @if(isset($paint)) - @if($field) - @include("admin.type.spool-release.ndt-release-paint-list-field") - @else - @include("admin.type.spool-release.ndt-release-paint-list") - @endif - @else - @include("admin.type.spool-release.ndt-release-list") - @endif - - diff --git a/resources/views/admin/type/spool-release/ndt/setup-data.php b/resources/views/admin/type/spool-release/ndt/setup-data.php deleted file mode 100644 index 1bfa093..0000000 --- a/resources/views/admin/type/spool-release/ndt/setup-data.php +++ /dev/null @@ -1,151 +0,0 @@ - 0) { - $_GET = $_POST; -} - -$weldInfos = collect([]); -$paintInfos = collect([]); -$showReleaseButton = false; -if(!getesit("iso_number","")) { - if(isset($paint)) { - $paintInfos = apply_welded_filter( - db("weld_logs")->where("spool_status", "Paint") - ); - - $get = $_GET; - - unset($get['rollback'], $get['page'], $get['_token'], $get['checklist-ok']); - - // Extract iso_number and spool_number for pair matching - $isoNumbers = []; - $spoolNumbers = []; - if(isset($get['iso_number']) && $get['iso_number'] != "") { - $isoNumbers = explode(",", $get['iso_number']); - } - if(isset($get['spool_number']) && $get['spool_number'] != "") { - $spoolNumbers = explode(",", $get['spool_number']); - } - - // Remove iso_number and spool_number from get array to process separately - unset($get['iso_number'], $get['spool_number']); - - // Process other filters first - foreach($get AS $col => $value) { - if($value != "") { - $paintInfos = $paintInfos->where($col, trim($value)); - } - } - - // Apply iso_number + spool_number pair matching - if(count($isoNumbers) > 0 && count($spoolNumbers) > 0) { - $paintInfos = $paintInfos->where(function($query) use ($isoNumbers, $spoolNumbers) { - $maxCount = max(count($isoNumbers), count($spoolNumbers)); - for($i = 0; $i < $maxCount; $i++) { - $iso = isset($isoNumbers[$i]) ? trim($isoNumbers[$i]) : null; - $spool = isset($spoolNumbers[$i]) ? trim($spoolNumbers[$i]) : null; - - if($iso && $spool) { - $query->orWhere(function($q) use ($iso, $spool) { - $q->where('iso_number', $iso) - ->where('spool_number', $spool); - }); - } - } - }); - } elseif(count($isoNumbers) > 0) { - $paintInfos = $paintInfos->whereIn('iso_number', $isoNumbers); - } elseif(count($spoolNumbers) > 0) { - $paintInfos = $paintInfos->whereIn('spool_number', $spoolNumbers); - } - - $paintInfos = $paintInfos->get(); - - $showReleaseButton = true; - if(isset($paintInfos[0])) { - if($paintInfos[0]->spool_paint_check != "") { - $showReleaseButton = true; - } - } - } else { - $weldInfos = apply_welded_filter(db("weld_logs")); - - $get = $_GET; - - unset($get['page'], $get['rollback'], $get['_token'], $get['checklist-ok']); - - // Extract iso_number and spool_number for pair matching - $isoNumbers = []; - $spoolNumbers = []; - if(isset($get['iso_number']) && $get['iso_number'] != "") { - $isoNumbers = explode(",", $get['iso_number']); - } - if(isset($get['spool_number']) && $get['spool_number'] != "") { - $spoolNumbers = explode(",", $get['spool_number']); - } - - // Remove iso_number and spool_number from get array to process separately - unset($get['iso_number'], $get['spool_number']); - - // Process other filters first - foreach($get AS $col => $value) { - if($value != "") { - $weldInfos = $weldInfos->where($col, trim($value)); - } - } - - // Apply iso_number + spool_number pair matching - if(count($isoNumbers) > 0 && count($spoolNumbers) > 0) { - $weldInfos = $weldInfos->where(function($query) use ($isoNumbers, $spoolNumbers) { - $maxCount = max(count($isoNumbers), count($spoolNumbers)); - for($i = 0; $i < $maxCount; $i++) { - $iso = isset($isoNumbers[$i]) ? trim($isoNumbers[$i]) : null; - $spool = isset($spoolNumbers[$i]) ? trim($spoolNumbers[$i]) : null; - - if($iso && $spool) { - $query->orWhere(function($q) use ($iso, $spool) { - $q->where('iso_number', $iso) - ->where('spool_number', $spool); - }); - } - } - }); - } elseif(count($isoNumbers) > 0) { - $weldInfos = $weldInfos->whereIn('iso_number', $isoNumbers); - } elseif(count($spoolNumbers) > 0) { - $weldInfos = $weldInfos->whereIn('spool_number', $spoolNumbers); - } - - $weldInfos = $weldInfos->paginate(30); - - $showReleaseButton = true; - if(isset($weldInfos[0])) { - if($weldInfos[0]->spool_ndt_check != "") { - $showReleaseButton = true; - } - } - } -} - -return [ - 'field' => $field, - 'weldInfos' => $weldInfos, - 'paintInfos' => $paintInfos, - 'showReleaseButton' => $showReleaseButton, -]; - - diff --git a/resources/views/admin/type/spool-release/ndt/sidebar.blade.php b/resources/views/admin/type/spool-release/ndt/sidebar.blade.php deleted file mode 100644 index b20fdb2..0000000 --- a/resources/views/admin/type/spool-release/ndt/sidebar.blade.php +++ /dev/null @@ -1,28 +0,0 @@ -
- @if(isset($paint)) - {{col("col-12","")}} - - {{_col()}} - @endif - - @include("admin.type.document.upload") - {{col("col-md-12","Spool List", 0, ['no-options' => true])}} - @if($field) - @include("admin.type.spool-release.spool-list-field") - @else - @include("admin.type.spool-release.spool-list") - @endif - - {{_col()}} - -
- diff --git a/resources/views/admin/type/spool-release/paint-follow-up-updater.blade.php b/resources/views/admin/type/spool-release/paint-follow-up-updater.blade.php deleted file mode 100644 index d5364c5..0000000 --- a/resources/views/admin/type/spool-release/paint-follow-up-updater.blade.php +++ /dev/null @@ -1,468 +0,0 @@ - get("spool_number"), 'iso_number' => $isoNumber ?? null]); - -$spoolNumber = explode(",",get("spool_number")); -Log::debug('Parsed spool numbers:', ['spoolNumber' => $spoolNumber]); - -if(isset($count)) { - if(isset($spoolNumbers[$count])) { - $spoolNumber = $spoolNumbers[$count]; - Log::debug('Using specific spool number from count:', ['count' => $count, 'spoolNumber' => $spoolNumber]); - } -} - -$whereData = [ - 'iso_number' => $isoNumber, - 'spool_number' => $spoolNumber, -]; - -Log::debug('Where conditions for weld_logs:', $whereData); - -$weldLogData = apply_welded_filter( - db("weld_logs")->where($whereData) -)->get(); -Log::debug('Weld log data count:', ['count' => $weldLogData->count()]); - -$fAvgNps = apply_welded_filter( - db("weld_logs")->where($whereData) -) - ->where("type_of_joint", "F") - ->avg("nps_1"); -$sAvgNps = apply_welded_filter( - db("weld_logs")->where($whereData) -) - ->where("type_of_joint", "S") - ->avg("nps_1"); -Log::debug('Average NPS values:', ['F_avg_nps' => $fAvgNps, 'S_avg_nps' => $sAvgNps]); - -$mtoTotal = db("m_t_o_s") - ->where("description_en", "like", "%pipe%") - ->where("line", $isoNumber) - ->selectRaw("SUM(quantity * POWER(odmm_1/2000, 2) * PI()) AS total") - ->first()->total; -Log::debug('MTO total calculation:', ['iso_number' => $isoNumber, 'mto_total' => $mtoTotal]); - -$fVolume = round(pi() * pow($fAvgNps, 2) * 200, 2); -$sVolume = round($mtoTotal, 2); -Log::debug('Volume calculations:', ['fVolume' => $fVolume, 'sVolume' => $sVolume]); - -$temperatures = j(setting("temperatures")); -Log::debug('Temperature settings loaded:', ['has_temperatures' => !is_null($temperatures)]); - -if(!is_null($temperatures)) { - $todayTempData = $temperatures[date("z")]; - Log::debug('Today\'s temperature data:', ['day_of_year' => date("z"), 'temp_data' => $todayTempData]); - - $updatedRow = 0; - foreach($weldLogData AS $weldLog) { - Log::debug('Processing weld log:', [ - 'id' => $weldLog->id, - 'iso_number' => $weldLog->iso_number, - 'spool_number' => $weldLog->spool_number, - 'type_of_joint' => $weldLog->type_of_joint - ]); - - if($weldLog->type_of_joint == "S") { - $spoolJoint = $weldLog->spool_number; - Log::debug('Processing S-type joint:', ['spool_joint' => $spoolJoint]); - } else { - $spoolJoint = $weldLog->spool_number; - Log::debug('Processing F-type joint:', ['spool_joint' => $spoolJoint]); - } - - // 1. Mevcut paint_follow_ups kaydını çek - $existingRow = db("paint_follow_ups") - ->where([ - 'iso_number' => $weldLog->iso_number, - "spool_no_joint_no" => $spoolJoint, - ]) - ->first(); - - Log::debug('Existing paint follow up row check:', [ - 'iso_number' => $weldLog->iso_number, - 'spool_no_joint_no' => $spoolJoint, - 'found' => !is_null($existingRow), - 'id' => $existingRow->id ?? null - ]); - - // 2. Mevcut construction_paint_logs kaydını çek - $existingConPaintLog = db('construction_paint_logs') - ->where([ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - ]) - ->first(); - - Log::debug('Existing construction paint log check:', [ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - 'found' => !is_null($existingConPaintLog), - 'id' => $existingConPaintLog->id ?? null - ]); - - // 3. Güncellenecek data'yı hazırla (sadece boş alanlar için) - $updateData = []; - - // Non-date fields (her zaman güncelle) - if($weldLog->type_of_joint == "S") { - $updateData['substrate_temprature'] = $todayTempData['temp_material_shop']; - $updateData['ambient_temprature'] = $todayTempData['shop_ambient']; - $updateData['volume_1'] = $sVolume; - $updateData['volume_2'] = $sVolume; - $updateData['volume_3'] = $sVolume; - $updateData['total_volume'] = $sVolume * 3; - } else { - $updateData['substrate_temprature'] = $todayTempData['temp_material_field']; - $updateData['ambient_temprature'] = $todayTempData['field_ambient']; - $updateData['volume_1'] = $fVolume; - $updateData['volume_2'] = $fVolume; - $updateData['volume_3'] = $fVolume; - $updateData['total_volume'] = $fVolume * 3; - } - - // Date fields - sadece boş ise ekle - if (!$existingRow || empty($existingRow->protocol_date_cleaning)) { - $clnCounter = get_counter("CLN", 1); - Log::debug('Generated CLN counter:', ['counter' => $clnCounter]); - $updateData['protocol_no_cleaning'] = "CLN-" . $clnCounter; - $updateData['protocol_date_cleaning'] = simdi(); - } else { - Log::debug('protocol_date_cleaning is not empty, skipping', ['value' => $existingRow->protocol_date_cleaning]); - } - - if (!$existingRow || empty($existingRow->primer_coating_protocol_date)) { - $l1Counter = get_counter("L1", 1); - Log::debug('Generated L1 counter:', ['counter' => $l1Counter]); - $updateData['primer_coating_protocol_no'] = "L1-" . $l1Counter; - $updateData['primer_coating_protocol_date'] = simdi(); - } else { - Log::debug('primer_coating_protocol_date is not empty, skipping', ['value' => $existingRow->primer_coating_protocol_date]); - } - - if (!$existingRow || empty($existingRow->intermediate_coating_protocol_date2)) { - $l2Counter = get_counter("L2", 1); - Log::debug('Generated L2 counter:', ['counter' => $l2Counter]); - $updateData['intermediate_coating_protocol_no_2'] = "L2-" . $l2Counter; - $updateData['intermediate_coating_protocol_date2'] = simdi(); - } else { - Log::debug('intermediate_coating_protocol_date2 is not empty, skipping', ['value' => $existingRow->intermediate_coating_protocol_date2]); - } - - if (!$existingRow || empty($existingRow->final_coatingprotocol_date_3)) { - $l3Counter = get_counter("L3", 1); - Log::debug('Generated L3 counter:', ['counter' => $l3Counter]); - $updateData['final_coating_protocol_no_3'] = "L3-" . $l3Counter; - $updateData['final_coatingprotocol_date_3'] = simdi(); - } else { - Log::debug('final_coatingprotocol_date_3 is not empty, skipping', ['value' => $existingRow->final_coatingprotocol_date_3]); - } - - if (!$existingRow || empty($existingRow->primer_coating_start_date)) { - $updateData['primer_coating_start_date'] = simdi(); - } - if (!$existingRow || empty($existingRow->primer_coating_finish_date)) { - $updateData['primer_coating_finish_date'] = simdi(); - } - if (!$existingRow || empty($existingRow->start_intermediate_date2)) { - $updateData['start_intermediate_date2'] = simdi(); - } - if (!$existingRow || empty($existingRow->finish_intermediate_date2)) { - $updateData['finish_intermediate_date2'] = simdi(); - } - if (!$existingRow || empty($existingRow->final_coat_start_date3)) { - $updateData['final_coat_start_date3'] = simdi(); - } - if (!$existingRow || empty($existingRow->final_coat_finish_date3)) { - $updateData['final_coat_finish_date3'] = simdi(); - } - - // 4. Eğer kayıt YOKSA INSERT yap - if (!$existingRow) { - // INSERT için temel alanları ekle - $insertData = array_merge($updateData, [ - 'iso_number' => $weldLog->iso_number, - 'spool_no_joint_no' => $spoolJoint, - 'type_of_joint' => $weldLog->type_of_joint, - 'created_at' => now(), - 'updated_at' => now(), - ]); - - Log::debug('Inserting new paint_follow_ups record:', [ - 'iso_number' => $weldLog->iso_number, - 'spool_no_joint_no' => $spoolJoint, - 'field_count' => count($insertData) - ]); - - $insertResult = db("paint_follow_ups")->insert($insertData); - - if ($insertResult) { - $updatedRow++; - Log::debug('paint_follow_ups insert successful'); - - // Yeni eklenen kaydı çek (construction_paint_logs sync için) - $existingRow = db("paint_follow_ups") - ->where([ - 'iso_number' => $weldLog->iso_number, - "spool_no_joint_no" => $spoolJoint, - ]) - ->first(); - } else { - Log::debug('paint_follow_ups insert failed'); - } - } else { - // 3. Kayıt VARSA sadece boş olan alanları güncelle - $initialUpdateCount = count($updateData); - foreach ($updateData as $key => $value) { - if (!empty($existingRow->$key)) { - unset($updateData[$key]); - Log::debug('Field is not empty, skipping update:', ['key' => $key, 'existing_value' => $existingRow->$key]); - } else { - Log::debug('Field is empty, will update:', ['key' => $key, 'new_value' => $value]); - } - } - - Log::debug('Fields to be updated:', [ - 'initial_count' => $initialUpdateCount, - 'final_count' => count($updateData), - 'fields_removed' => $initialUpdateCount - count($updateData) - ]); - - Log::debug('Update data for paint_follow_ups:', $updateData); - - // 4. Eğer güncellenecek alan kaldıysa update et - if (!empty($updateData)) { - $updateResult = db("paint_follow_ups") - ->where([ - 'iso_number' => $weldLog->iso_number, - "spool_no_joint_no" => $spoolJoint, - ]) - ->update($updateData); - - $updatedRow += $updateResult; - Log::debug('paint_follow_ups update result:', [ - 'iso_number' => $weldLog->iso_number, - 'spool_no_joint_no' => $spoolJoint, - 'rows_affected' => $updateResult - ]); - } else { - Log::debug('No fields to update for paint_follow_ups'); - } - } - - Log::debug('Total updated rows so far:', ['updatedRow' => $updatedRow]); - - // paint_follow_ups güncellemesinden sonra kaydı tekrar çek (güncel data için) - $existingRow = db("paint_follow_ups") - ->where([ - 'iso_number' => $weldLog->iso_number, - "spool_no_joint_no" => $spoolJoint, - ]) - ->first(); - - Log::debug('Refreshed paint_follow_ups record for construction sync:', [ - 'found' => !is_null($existingRow), - 'id' => $existingRow->id ?? null - ]); - - // paint_follow_ups güncellemesinden sonra construction_paint_logs tablosunu da güncelle - // Field mapping: construction_paint_logs => paint_follow_ups (ConstructionPaintLogsTrigger.php'ye uygun) - $dateFieldsToSync = [ - 'blasting_date' => 'protocol_date_cleaning', - 'blasting_finish_date' => 'protocol_date_cleaning', - 'painting_date_1' => 'primer_coating_start_date', - 'painting_finish_date_1' => 'primer_coating_finish_date', - 'rfi_date_1' => 'primer_coating_rfi_date_1', - 'painting_date_2' => 'start_intermediate_date2', - 'painting_finish_date_2' => 'finish_intermediate_date2', - 'rfi_date_2' => 'intermediate_coating_rfi_date_3', - 'painting_date_3' => 'final_coat_start_date3', - 'painting_finish_date_3' => 'final_coat_finish_date3', - 'rfi_date_3' => 'final_coating_rfi_date_3', - ]; - - // Non-date fields mapping - $nonDateFieldsToSync = [ - 'rfi_no_1' => 'primer_coating_rfi_no', - 'thickness_1' => 'primer_measured_thickness_1', - 'rfi_no_2' => 'intermediate_coating_rfi_no2', - 'thickness_2' => 'intermediate_measured_thickness_2', - 'rfi_no_3' => 'final_coating_rfi_no3', - 'thickness_3' => 'final_coating_measured_thickness_3', - ]; - - Log::debug('Field mappings to sync:', [ - 'date_fields' => count($dateFieldsToSync), - 'non_date_fields' => count($nonDateFieldsToSync) - ]); - - // construction_paint_logs için sync data hazırla - $conSyncData = []; - - // Tarih alanları - sadece construction_paint_logs'ta BOŞ olanları ekle - foreach ($dateFieldsToSync as $conField => $paintField) { - // paint_follow_ups'tan veri varsa VE construction_paint_logs'ta boşsa - if (isset($existingRow->$paintField) && !empty($existingRow->$paintField)) { - // Construction paint logs'ta bu alan boş mu kontrol et - if (!$existingConPaintLog || empty($existingConPaintLog->$conField)) { - $conSyncData[$conField] = $existingRow->$paintField; - Log::debug('Adding date field to sync:', [ - 'con_field' => $conField, - 'paint_field' => $paintField, - 'value' => $existingRow->$paintField - ]); - } else { - Log::debug('Date field is not empty in construction_paint_logs, skipping:', [ - 'field' => $conField, - 'existing_value' => $existingConPaintLog->$conField - ]); - } - } - } - - // Non-date alanları - sadece construction_paint_logs'ta BOŞ olanları ekle - foreach ($nonDateFieldsToSync as $conField => $paintField) { - if (isset($existingRow->$paintField) && !empty($existingRow->$paintField)) { - if (!$existingConPaintLog || empty($existingConPaintLog->$conField)) { - $conSyncData[$conField] = $existingRow->$paintField; - Log::debug('Adding non-date field to sync:', [ - 'con_field' => $conField, - 'paint_field' => $paintField, - 'value' => $existingRow->$paintField - ]); - } - } - } - - if (!$existingConPaintLog) { - // Kayıt YOKSA INSERT yap - if (!empty($conSyncData)) { - $conInsertData = array_merge($conSyncData, [ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - 'created_at' => now(), - 'updated_at' => now(), - ]); - - Log::debug('Inserting new construction_paint_logs record:', [ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - 'field_count' => count($conInsertData) - ]); - - $conInsertResult = db('construction_paint_logs')->insert($conInsertData); - - if ($conInsertResult) { - Log::debug('construction_paint_logs insert successful'); - } else { - Log::debug('construction_paint_logs insert failed'); - } - } else { - Log::debug('No data to insert for construction_paint_logs'); - } - } else { - // Kayıt VARSA update et (zaten boş olanları filtreledik) - if (!empty($conSyncData)) { - $conUpdateResult = db('construction_paint_logs') - ->where([ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - ]) - ->update($conSyncData); - - Log::debug('construction_paint_logs update result:', [ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - 'rows_affected' => $conUpdateResult, - 'fields_updated' => array_keys($conSyncData) - ]); - } else { - Log::debug('No fields to update for construction_paint_logs (all fields are already filled)'); - } - } - - // --- INCOMING CONTROL PAINTS SYNC --- - $brands = ['brend_name_1', 'brend_name_2', 'brend_name_3']; - Log::debug('Starting incoming control paints sync for brands:', $brands); - - foreach ($brands as $index => $brandField) { - if (!empty($existingRow->$brandField)) { - Log::debug('Processing brand:', [ - 'index' => $index, - 'brand_field' => $brandField, - 'brand_value' => $existingRow->$brandField - ]); - - $incomingControl = db('incoming_control_paints') - ->where('brend_name', $existingRow->$brandField) - ->orderBy('rfi_date', 'desc') - ->first(); - - Log::debug('Incoming control paint lookup:', [ - 'brend_name' => $existingRow->$brandField, - 'found' => !is_null($incomingControl), - 'id' => $incomingControl->id ?? null - ]); - - if ($incomingControl) { - $suffix = $index + 1; - $updateIncoming = [ - 'incoming_control_akt_no_' . $suffix => $incomingControl->akt_number, - 'incoming_control_rfi_no_' . $suffix => $incomingControl->rfi_no, - 'akt_date_' . $suffix => $incomingControl->akt_date, - 'standartgost_iso_en_' . $suffix => $incomingControl->manufacturing_standard, - 'certificate_passport_no_' . $suffix => $incomingControl->certificate_no, - 'certificate_passport_date_' . $suffix => $incomingControl->certificate_date, - ]; - - Log::debug('Incoming control update data:', [ - 'suffix' => $suffix, - 'update_data' => $updateIncoming - ]); - - // paint_follow_ups güncelle - $pfuUpdateResult = db('paint_follow_ups') - ->where([ - 'iso_number' => $weldLog->iso_number, - 'spool_no_joint_no' => $spoolJoint, - ]) - ->update($updateIncoming); - - Log::debug('paint_follow_ups incoming control update:', [ - 'iso_number' => $weldLog->iso_number, - 'spool_no_joint_no' => $spoolJoint, - 'rows_affected' => $pfuUpdateResult - ]); - - // construction_paint_logs güncelle - /* - $cplUpdateResult = db('construction_paint_logs') - ->where([ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - ]) - ->update($updateIncoming); - - Log::debug('construction_paint_logs incoming control update:', [ - 'iso_drawings' => $weldLog->iso_number, - 'spool' => $spoolJoint, - 'rows_affected' => $cplUpdateResult - ]); - */ - } - } else { - Log::debug('Empty brand field, skipping:', ['index' => $index, 'brand_field' => $brandField]); - } - } - } - - Log::debug('Paint Follow Up update completed', ['total_updated_rows' => $updatedRow]); - bilgi(":update row affected for Paint Follow Up", "success", ['update' => $updatedRow]); -} else { - Log::debug('Temperature settings not found, operation aborted'); -} - -Log::debug('Paint Follow Up Updater - Finished'); -?> \ No newline at end of file diff --git a/resources/views/admin/type/spool-release/paint-info.blade.php b/resources/views/admin/type/spool-release/paint-info.blade.php deleted file mode 100644 index 0419344..0000000 --- a/resources/views/admin/type/spool-release/paint-info.blade.php +++ /dev/null @@ -1,424 +0,0 @@ -get(); -$paintMatrix = []; - -foreach($paintMatrixQuery AS $pmq) { - if($pmq->line!="") { - $paintMatrix[$pmq->iso_number] = $pmq; - } - -} - -?> -@if(is_stellar()) -
- @if(count($paintInfos)>0) - {{e2('Paint Release Checklist OK')}} - @endif - - -
-@endif - -
- -
- - - - - - - - - - - - - - - - - - - - - - iso_number])) { - $matrixData = $paintMatrix[$paintInfo->iso_number]; - ?> - - - - - - - - - - - - - - - - - - - - - - -
{{e2("Welds")}}{{e2("Joint")}}{{e2("Paint C.")}}{{e2("P1")}}{{e2("THC1")}}{{e2("P2")}}{{e2("THC2")}}{{e2("P3")}}{{e2("THC3")}}{{e2("Result")}}{{e2("Sign")}}
- @if(count($isoNumbers)>1) - {{$paintInfo->iso_number}} / {{$paintInfo->spool_number}} - @else - {{$paintInfo->no_of_the_joint_as_per_as_built_survey}} - @endif - {{$paintInfo->type_of_joint}}{{$paintInfo->painting_cycle}}{{$matrixData->brend_name_1}}{{$matrixData->brend_name_2}}{{$matrixData->brend_name_3}} - @if($paintInfo->spool_paint_check != "") - ✒️ - @endif -
-
- - diff --git a/resources/views/admin/type/spool-release/rollback.blade.php b/resources/views/admin/type/spool-release/rollback.blade.php deleted file mode 100644 index df1dbc1..0000000 --- a/resources/views/admin/type/spool-release/rollback.blade.php +++ /dev/null @@ -1,126 +0,0 @@ -where("id", get("rollback"))->first(); - $prevStatus = $data->spool_status; - if($data->spool_status == "Completed") { - - if($data->paint_release_no != "") { - $nowStatus = "Paint"; - - $updateData = [ - "spool_status" => $nowStatus, - "paint_release_date" => null, - "paint_release_no" => null, - "spool_paint_check" => null, - "register_date" => null, - "register_paint_no" => null, - ]; - } else { - $nowStatus = "NDT Release"; - - $updateData = [ - "spool_status" => $nowStatus, - "ndt_release_date" => null, - "ndt_release_no" => null, - "ndt_release_check" => null, - - ]; - } - } - - - if($data->spool_status == "Paint") { - $nowStatus = "NDT Release"; - - $updateData = [ - "spool_status" => $nowStatus, - "ndt_release_date" => null, - "ndt_release_no" => null, - "ndt_release_check" => null, - - ]; - } - - if($data->spool_status == "NDT Release") { - $nowStatus = "Spool Release"; - - $updateData = [ - "spool_status" => $nowStatus, - "spool_ndt_check" => null, - "spool_paint_check" => null, - "spool_ndt_check_no" => null, - "spool_ndt_check_date" => null, - - ]; - } - - if($data->spool_status == "Spool Release") { - if(!rejected_date($data->welding_date)) - { - $nowStatus = "Spool Release"; - } - else - { - $nowStatus = "On Going"; - } - - - $updateData = [ - "spool_status" => $nowStatus, - "spool_ndt_check" => null, - "spool_paint_check" => null, - "spool_ndt_check_no" => null, - "ndt_release_check" => null, - "clearance_date" => null, - "clearance_no" => null - ]; - } - if($data->spool_status == "QC") { - $nowStatus = "Spool Release"; - - $updateData = [ - "spool_status" => $nowStatus, - "spool_ndt_check" => null, - "spool_paint_check" => null, - "spool_ndt_check_no" => null, - "ndt_release_check" => null, - "clearance_date" => null, - "clearance_no" => null - ]; - } - - - if(isset($updateData)) { - // ISO ve SPOOL numaralarını dizilere dönüştür - $isoNumbers = explode(",", get("iso_number")); - $spoolNumbers = explode(",", get("spool_number")); - - // Dizileri trim edelim ve minimum eleman sayısı kadar döngü yapalım - $totalUpdates = min(count($isoNumbers), count($spoolNumbers)); - $totalAffectedRows = 0; - - // Her bir çift için güncelleme yapalım - for ($i = 0; $i < $totalUpdates; $i++) { - $currentIso = trim($isoNumbers[$i]); - $currentSpool = trim($spoolNumbers[$i]); - - $affectedRows = db("weld_logs") - ->where("iso_number", $currentIso) - ->where("spool_number", $currentSpool) - ->update($updateData); - - $totalAffectedRows += $affectedRows; - } - - bilgi("In this isometry, :prevStatus status is reverted to :nowStatus status. (:count rows affected)","success", - [ - 'nowStatus' => $nowStatus, - 'prevStatus' => $prevStatus, - 'count' => $totalAffectedRows - ]); - } else { - bilgi("You cannot revert this data because no changes were made.", "error" ); - } - -} - ?> \ No newline at end of file diff --git a/resources/views/admin/type/spool-release/spool-document-generate.blade.php b/resources/views/admin/type/spool-release/spool-document-generate.blade.php deleted file mode 100644 index 156f8a4..0000000 --- a/resources/views/admin/type/spool-release/spool-document-generate.blade.php +++ /dev/null @@ -1,47 +0,0 @@ -where("iso_number", $currentIso) - ->where("spool_number", $currentSpool) - ->first(); - - if (!$data) { - continue; // Eğer veri bulunamazsa sonraki çifte geç - } - - $users = usersArray(); - $fileName = $data->spool_ndt_check_no; - - $document = pdf_html_content($documentInfo->html); - $document = str_replace("{today}", date("d/m/Y"), $document); - - foreach($data AS $column => $value) { - if($column == "spool_ndt_check") { - if(isset($users[$value])) { - $value = $users[$value]->name; - } - } - $document = str_replace("{" . $column . "}", $value, $document); - } - - $path = "004_QA/0009_Spool_Release_Check_List"; - $path = "$path/$fileName"; - - html_create("$path", $document); - } - ?> diff --git a/resources/views/admin/type/spool-release/spool-list-chart-no-cache.blade.php b/resources/views/admin/type/spool-release/spool-list-chart-no-cache.blade.php deleted file mode 100644 index 35692bb..0000000 --- a/resources/views/admin/type/spool-release/spool-list-chart-no-cache.blade.php +++ /dev/null @@ -1,200 +0,0 @@ -get(); - $counter = []; - foreach($stats AS $stat) { - if(!isset($counter[$stat->iso_number . $stat->spool_number][$stat->spool_status])) - $counter[$stat->iso_number . $stat->spool_number][$stat->spool_status] = 0; - - $counter[$stat->iso_number . $stat->spool_number][$stat->spool_status]++; - } - //dump($counter); - $spoolStatus = ['Waiting', 'On Going', 'Spool Release', 'NDT Release', 'Paint', 'Completed']; - - - $allStatsData = - json_decode( - view("admin-ajax/spool-area-release") - ->render(), - true - ); - - $stats = $allStatsData['summary']; - $eStats = $allStatsData['esummary']; - - - - $totalCount = array_sum($stats); - - $labels = implode("','",array_keys($stats)); - $datas = implode(",",array_values($stats)); - ?> -
-
- -
- - - -
-
- - - - - - - - - $count) { - $statsData[$statusName] = $count; - if($statusName == "Completed") { - $completedTotal = $count; - } - ?> - - - - - - - - - - - - - - - - - - - - -
{{e2("Status")}}{{e2("Count")}}{{e2("%")}}
{{$spoolStat}}%{{$avgSpoolStats}}
{{e2("Total Spools")}}{{$totalCount}}%100
- - - - - - - - - - - - - - - - -
{{e2("E Paint Spool")}}
{{e2("E Completed Spool")}}
{{e2("Total")}}{{$paintSpoolCount + $completedSpoolCount}}
- - -
-
- - -
-
- {{$completedPercent}}% -
-
- diff --git a/resources/views/admin/type/spool-release/spool-list-chart.blade.php b/resources/views/admin/type/spool-release/spool-list-chart.blade.php deleted file mode 100644 index ef42dc2..0000000 --- a/resources/views/admin/type/spool-release/spool-list-chart.blade.php +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/admin/type/spool-release/spool-list-field.blade.php b/resources/views/admin/type/spool-release/spool-list-field.blade.php deleted file mode 100644 index e993411..0000000 --- a/resources/views/admin/type/spool-release/spool-list-field.blade.php +++ /dev/null @@ -1,140 +0,0 @@ - -@includeCache("admin.type.spool-release.spool-list-chart") - -
\ No newline at end of file diff --git a/resources/views/admin/type/spool-release/spool-list.blade.php b/resources/views/admin/type/spool-release/spool-list.blade.php deleted file mode 100644 index a34e7c1..0000000 --- a/resources/views/admin/type/spool-release/spool-list.blade.php +++ /dev/null @@ -1,680 +0,0 @@ -@include("admin.type.spool-release.spool-list-chart") -
- -
\ No newline at end of file diff --git a/resources/views/admin/type/spool-release/weld-info.blade.php b/resources/views/admin/type/spool-release/weld-info.blade.php deleted file mode 100644 index eeaa8da..0000000 --- a/resources/views/admin/type/spool-release/weld-info.blade.php +++ /dev/null @@ -1,323 +0,0 @@ -@if(is_stellar()) -
- - -
-@endif - -
- - - - - - - - - - - - - - - - type_of_joint == "S") { - if($weldInfo->welder_1 == "") { - $releaseButton = false; - } - } - - - $nowStatus = $weldInfo->spool_status; - $prevStatus = spool_status_prev($weldInfo->spool_status); - ?> - - - - - - - - - - - - - - - - - -
{{e2("JN")}}{{e2("Welds")}}{{e2("Joint")}}{{e2("W1")}}{{e2("W2")}}{{e2("VT")}}{{e2("RT")}}{{e2("UT")}}{{e2("MT")}}{{e2("PT")}}{{e2("PMI")}}{{e2("Sign")}}
- @if(count($isoNumbers)>1) - {{$weldInfo->iso_number}} - @endif - {{$weldInfo->no_of_the_joint_as_per_as_built_survey}}{{$weldInfo->type_of_welds}}{{$weldInfo->type_of_joint}}{{get_welder_id($weldInfo->welder_1)}}{{get_welder_id($weldInfo->welder_2)}} - - @if(is_null($weldInfo->vt_result) || $weldInfo->vt_result == "") - @if(!rejected_date($weldInfo->vt_request_date)) - ⌛ - @endif - @else - {{result_replace($weldInfo->vt_result)}} - @endif - - - @if(is_null($weldInfo->rt_result) || $weldInfo->rt_result == "") - - @if(!rejected_date($weldInfo->rt_request_date)) - ⌛ - @endif - @else - {{result_replace($weldInfo->rt_result)}} - @endif - - @if(is_null($weldInfo->ut_result) || $weldInfo->ut_result == "") - @if(!rejected_date($weldInfo->ut_request_date)) - ⌛ - @endif - @else - {{result_replace($weldInfo->ut_result)}} - @endif - - @if(is_null($weldInfo->mt_result) || $weldInfo->mt_result == "") - @if(!rejected_date($weldInfo->mt_request_date)) - ⌛ - @endif - @else - {{result_replace($weldInfo->mt_result)}} - @endif - - @if(is_null($weldInfo->pt_result) || $weldInfo->pt_result == "") - @if(!rejected_date($weldInfo->pt_request_date)) - ⌛ - @endif - @else - {{result_replace($weldInfo->pt_result)}} - @endif - - @if(is_null($weldInfo->pmi_result) || $weldInfo->pmi_result == "") - @if(!rejected_date($weldInfo->pmi_request_date)) - ⌛ - @endif - @else - {{result_replace($weldInfo->pmi_result)}} - @endif - - @if($weldInfo->type_of_joint != "F") - @if($weldInfo->spool_status == "Spool Release") - spool_ndt_check != "") { - echo "✒️"; - $ndtReleaseButton = true; - } else { - $spoolReleaseButton = true; - } - - - - ?> - @endif - @if($weldInfo->spool_status == "NDT Release") - spool_ndt_check != "") { - echo "✒️"; - } - $ndtReleaseButton = true; ?> - @endif - - - @endif - - -
-
- -{{$weldInfos->appends($_GET)->links()}} - diff --git a/resources/views/admin/type/summary/all-projects.blade.php b/resources/views/admin/type/summary/all-projects.blade.php deleted file mode 100644 index 48c12d3..0000000 --- a/resources/views/admin/type/summary/all-projects.blade.php +++ /dev/null @@ -1,234 +0,0 @@ -where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->whereNotNull("fit_up_date") - - ->where("type_of_joint", "S") - ->whereNull("welding_date") - ->sum("nps_1"); - $remainWeldingField = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->whereNotNull("fit_up_date") - - ->where("type_of_joint", "F") - ->whereNull("welding_date") - ->sum("nps_1"); - - $totalNps = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->sum("nps_1"); - $countNps = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->count("nps_1"); - $activeWeldersCount = db("naks_welders")->groupBy("welder_id")->select("welder_id")->whereIn("status", ['Shop Active', 'Field Active'])->get()->count(); - $activeWeldersCountShop = db("naks_welders")->groupBy("welder_id")->select("welder_id")->where("status", "Shop Active")->get()->count(); - $activeWeldersCountField = db("naks_welders")->groupBy("welder_id")->select("welder_id")->where("status", "Field Active")->get()->count(); - $totalNpsWithWelding = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->sum("nps_1"); - - try { - $progress = round(100*$totalNpsWithWelding / $totalNps, 2); - } catch (\Throwable $th) { - $progress = 0; - } - - $uniqueIsometricCount = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->groupBy("iso_number")->get()->count(); - $documentRevision = db("document_revisions")->groupBy("drawing_no")->get()->count(); - try { - $spooledIsometric = round($uniqueIsometricCount * 100 / $documentRevision, 2); - } catch (\Throwable $th) { - $spooledIsometric = 0; - } - - if($spooledIsometric>100) $spooledIsometric = 100; - - $completedSpool = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("spool_status", "Completed")->get()->count(); - $allSpool = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->groupBy("iso_number","spool_number")->get()->count(); - - try { - $spoolStatusPercent = $completedSpool * 100 / $allSpool; - } catch (\Throwable $th) { - $spoolStatusPercent = 0; - } - - $totalWeldedWDI = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->sum("nps_1"); - - - - ?> -
-
-

WELD SUMMARY - GENERAL

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->whereDate("welding_date", $today) - ->sum("nps_1")/$activeWeldersCount; - } catch (\Throwable $th) { - $dailyAverageWeldedWdi = 0; - } - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SCOPE-WDITOTAL WELDED (JOINT)TOTAL WELDED (WDI){{$today->format("d.m.Y")}} - WELDED (JOINT){{$today->format("d.m.Y")}} - WELDED (WDI)DAILY AVARAGE WELDED (WDI)SPOOLED ISOMETRICREMAINING WELD SHOP (WDI)REMAINING WELD FIELD (WDI)
{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereIn("type_of_joint", ['S', 'F'])->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->count("welding_date")}}{{$totalWeldedWDI}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereDate("welding_date", $today)->whereNotNull("welding_date")->count("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereDate("welding_date", $today)->whereNotNull("welding_date")->sum("nps_1")}}{{round($dailyAverageWeldedWdi,2)}}{{$spooledIsometric}} %{{$remainWeldingShop}}{{$remainWeldingField}}
PROGRESS (%)SHOP - WELDED (JOINT)FIELD WELDED - (JOINT)SHOP WELDED (WDI)FIELD WELDED (WDI)SHOP - WELDED (JOINT)FIELD WELDED - (JOINT)SHOP WELDED (WDI)FIELD WELDED (WDI)SHOP AVARAGE (WDI)FIELD AVARAGE - (WDI)SHOP SCOPE WDIFIELD SCOPE WDIBACKLOG
{{$progress}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->where("type_of_joint", "S")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->where("type_of_joint", "F")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->where("type_of_joint", "S")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->where("type_of_joint", "F")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereDate("welding_date", $today)->where("type_of_joint", "S")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereDate("welding_date", $today)->where("type_of_joint", "F")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereDate("welding_date", $today)->where("type_of_joint", "S")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereDate("welding_date", $today)->where("type_of_joint", "F")->sum("nps_1")}} - where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->where("type_of_joint", "S") - ->whereDate("welding_date", $today) - ->whereNotNull("nps_1") - ->sum("nps_1") / $activeWeldersCountShop, 2); - } catch (\Throwable $th) { - echo 0; - } ?> - - - - where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->where("type_of_joint", "F") - ->whereDate("welding_date", $today) - ->whereNotNull("nps_1") - ->sum("nps_1") / $activeWeldersCountField, 2); - } catch (\Throwable $th) { - echo 0; - } ?> - - - {{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("type_of_joint", "S")->sum("nps_1")}} - - {{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("type_of_joint", "F")->sum("nps_1")}} - - - - - - - - - - -
SF
{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNull("welding_date")->where("type_of_joint", "S")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNull("welding_date")->where("type_of_joint", "F")->sum("nps_1")}}
- -
- - {{$project}} Approximate Progress: -
- -
{{$progress}}%
-
-
- {{$project}} Approximate WDI:
- {{$appWDI}} -
- - - - - - - - - - - groupBy("piping_type")->select("piping_type")->get()->pluck("piping_type")->toArray(); ?> - @foreach($pipingTypes AS $pipingType) - where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("piping_type", $pipingType)->sum("nps_1"); ?> - @if($totalScope>0) - - - - - - - - - @endif - @endforeach - -
Piping typeTotal Scope ShopWelded Scope ShopTotal Scope FieldWelded Scope FieldTotal Scope - @include("admin.type.summary.repair-rate-all") -
{{$pipingType}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("type_of_joint", "S")->where("piping_type", $pipingType)->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->where("type_of_joint", "S")->where("piping_type", $pipingType)->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("type_of_joint", "F")->where("piping_type", $pipingType)->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->whereNotNull("welding_date")->where("type_of_joint", "F")->where("piping_type", $pipingType)->sum("nps_1")}}{{$totalScope}}
-
-
-
\ No newline at end of file diff --git a/resources/views/admin/type/summary/css.blade.php b/resources/views/admin/type/summary/css.blade.php deleted file mode 100644 index 3b2c519..0000000 --- a/resources/views/admin/type/summary/css.blade.php +++ /dev/null @@ -1,317 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/admin/type/summary/each-projects.blade.php b/resources/views/admin/type/summary/each-projects.blade.php deleted file mode 100644 index 303a545..0000000 --- a/resources/views/admin/type/summary/each-projects.blade.php +++ /dev/null @@ -1,298 +0,0 @@ - where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->whereNotNull("fit_up_date") - ->where("project", $project) - ->where("type_of_joint", "S") - ->whereNull("welding_date") - ->sum("nps_1"); - $remainWeldingField = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%") - ->whereNotNull("fit_up_date") - ->where("project", $project) - ->where("type_of_joint", "F") - ->whereNull("welding_date") - ->sum("nps_1"); - - $totalNps = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->sum("nps_1"); - $countNps = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->count("nps_1"); - $activeWeldersCount = db("naks_welders")->groupBy("welder_id")->select("welder_id")->whereIn("status", ['Shop Active', 'Field Active'])->get()->count(); - $activeWeldersCountShop = db("naks_welders")->groupBy("welder_id")->select("welder_id")->where("status", "Shop Active")->get()->count(); - $activeWeldersCountField = db("naks_welders")->groupBy("welder_id")->select("welder_id")->where("status", "Field Active")->get()->count(); - $totalNpsWithWelding = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->sum("nps_1"); - try { - $progress = round(100*$totalNpsWithWelding / $totalNps, 2); - } catch (\Throwable $th) { - $progress = 0; - } - - - $uniqueIsometricCount = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->groupBy("iso_number")->get()->count(); - $documentRevision = db("document_revisions")->groupBy("drawing_no")->get()->count(); - try { - $spooledIsometric = round($uniqueIsometricCount * 100 / $documentRevision, 2); - } catch (\Throwable $th) { - $spooledIsometric = 0; - } - - if($spooledIsometric>100) $spooledIsometric = 100; - - $totalWeldedWDI = apply_welded_filter(db("weld_logs"))->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("project", $project)->whereNotNull("welding_date")->sum("nps_1"); - - - - - - - ?> -
-
-

[{{$project}}] WELD SUMMARY - STELLAR

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereDate("welding_date", $today)->sum("nps_1")/$activeWeldersCount; - } catch (\Throwable $th) { - $dailyAverageWeldedWdi = 0; - } - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SCOPE-WDITOTAL WELDED (JOINT)TOTAL WELDED (WDI){{$today->format("d.m.Y")}} - WELDED (JOINT){{$today->format("d.m.Y")}} - WELDED (WDI)DAILY AVARAGE WELDED (WDI)SPOOLED ISOMETRICREMAINING WELD SHOP (WDI)REMAINING WELD FIELD (WDI)
{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("project", $project)->whereIn("type_of_joint", ['S', 'F'])->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("project", $project)->whereNotNull("welding_date")->count("welding_date")}}{{$totalWeldedWDI}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("project", $project)->whereDate("welding_date", $today)->whereNotNull("welding_date")->count("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("project", $project)->whereDate("welding_date", $today)->whereNotNull("welding_date")->sum("nps_1")}}{{round($dailyAverageWeldedWdi,2)}}{{$spooledIsometric}} %{{$remainWeldingShop}}{{$remainWeldingField}}
PROGRESS (%)SHOP - WELDED (JOINT)FIELD WELDED - (JOINT)SHOP WELDED (WDI)FIELD WELDED (WDI)SHOP - WELDED (JOINT)FIELD WELDED - (JOINT)SHOP WELDED (WDI)FIELD WELDED (WDI)SHOP AVARAGE (WDI)FIELD AVARAGE - (WDI)SHOP SCOPE WDIFIELD SCOPE WDIBACKLOG
{{$progress}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->where("type_of_joint", "S")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->where("type_of_joint", "F")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->where("type_of_joint", "S")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->where("type_of_joint", "F")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereDate("welding_date", $today)->where("type_of_joint", "S")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereDate("welding_date", $today)->where("type_of_joint", "F")->count()}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereDate("welding_date", $today)->where("type_of_joint", "S")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereDate("welding_date", $today)->where("type_of_joint", "F")->sum("nps_1")}} - - {{round(db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("type_of_joint", "S")->whereDate("welding_date", $today)->whereNotNull("nps_1")->sum("nps_1") / $activeWeldersCountShop, 2)}} - - - - - - - {{round(db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("type_of_joint", "F")->whereDate("welding_date", $today)->whereNotNull("nps_1")->sum("nps_1") / $activeWeldersCountField, 2)}} - - - - {{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("type_of_joint", "S")->sum("nps_1")}} - - {{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("type_of_joint", "F")->sum("nps_1")}} - - - - - - - - - - -
SF
{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNull("welding_date")->where("type_of_joint", "S")->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNull("welding_date")->where("type_of_joint", "F")->sum("nps_1")}}
-
- - {{$project}} Approximate Progress: -
- -
{{$progress}}%
-
-
- {{$project}} Approximate WDI:
- {{$appWDI}} -
- - - - - - - - - - - where("project", $project)->groupBy("piping_type")->select("piping_type")->get()->pluck("piping_type")->toArray(); ?> - @foreach($pipingTypes AS $pipingType) - where("project", $project)->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("piping_type", $pipingType)->sum("nps_1"); ?> - @if($totalScope>0) - - - - - - - - - @endif - @endforeach - -
Piping typeTotal Scope ShopWelded Scope ShopTotal Scope FieldWelded Scope FieldTotal Scope - where("project", $project)->where("type_of_joint", "S")->where("ut_result", "Accept / Годен")->count(); - $repairUTCountShop = db("ultrasonic_tests")->where("project", $project)->where("type_of_joint", "S")->whereIn("ut_result", $repairResults)->count(); - $notRepairRTCountShop = db("radiographic_tests")->where("project", $project)->where("type_of_joint", "S")->where("rt_result", "Accept / Годен")->count(); - $repairRTCountShop = db("radiographic_tests")->where("project", $project)->where("type_of_joint", "S")->whereIn("rt_result", $repairResults)->count(); - - $notRepairUTCountField = db("ultrasonic_tests")->where("project", $project)->where("type_of_joint", "F")->where("ut_result", "Accept / Годен")->count(); - $repairUTCountField = db("ultrasonic_tests")->where("project", $project)->where("type_of_joint", "F")->whereIn("ut_result", $repairResults)->count(); - $notRepairRTCountField = db("radiographic_tests")->where("project", $project)->where("type_of_joint", "F")->where("rt_result", "Accept / Годен")->count(); - $repairRTCountField = db("radiographic_tests")->where("project", $project)->where("type_of_joint", "F")->whereIn("rt_result", $repairResults)->count(); - - - $totalUTShop = db("ultrasonic_tests")->where("project", $project)->where("type_of_joint", "S")->whereNotIn("ut_result", $excludeTotal)->whereNotNull("ut_result")->count(); - $shopRepairTotal = $repairUTCountShop + $repairRTCountShop; - $fieldRepairTotal = $repairUTCountField + $repairRTCountField; - - $totalRTShop = db("radiographic_tests")->where("project", $project)->where("type_of_joint", "S")->whereNotIn("rt_result", $excludeTotal)->whereNotNull("rt_result")->count(); - - $totalUTField = db("ultrasonic_tests")->where("project", $project)->where("type_of_joint", "F")->whereNotIn("ut_result", $excludeTotal)->whereNotNull("ut_result")->count(); - $totalRTField = db("radiographic_tests")->where("project", $project)->where("type_of_joint", "F")->whereNotIn("rt_result", $excludeTotal)->whereNotNull("rt_result")->count(); - - $shopAllTotal = $totalRTShop + $totalUTShop; - $fieldAllTotal = $totalRTField + $totalUTField; - - try { - if($shopAllTotal > 0) - $shopPercent = round($shopRepairTotal * 100 / $shopAllTotal, 2); - else - $shopPercent = 0; - } catch (\Throwable $th) { - $shopPercent = 0; - } - - try { - if($fieldAllTotal > 0) - $fieldPercent = round($fieldRepairTotal * 100 / $fieldAllTotal, 2); - else - $fieldPercent = 0; - } catch (\Throwable $th) { - $fieldPercent = 0; - } - - ?> - - - - - - - - - - - - - - - - - - - - -
{{e2("Repair Rate %")}}{{e2("Cutout Joints (WDI)")}}
{{e2("Shop")}}{{e2("Field")}} - - {{$repairRateAll}}{{db("deleted_joints")->where("project", $project)->whereNotNull("welding_date")->sum("nps_1")}}
{{$shopPercent}}{{$fieldPercent}}
-
{{$pipingType}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("type_of_joint", "S")->where("piping_type", $pipingType)->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->where("type_of_joint", "S")->where("piping_type", $pipingType)->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->where("type_of_joint", "F")->where("piping_type", $pipingType)->sum("nps_1")}}{{db("weld_logs")->where("no_of_the_joint_as_per_as_built_survey", "not like", "%R%")->where("project", $project)->whereNotNull("welding_date")->where("type_of_joint", "F")->where("piping_type", $pipingType)->sum("nps_1")}}{{$totalScope}}
-
-
-
- \ No newline at end of file diff --git a/resources/views/admin/type/summary/ndt-summary.blade.php b/resources/views/admin/type/summary/ndt-summary.blade.php deleted file mode 100644 index 23917f4..0000000 --- a/resources/views/admin/type/summary/ndt-summary.blade.php +++ /dev/null @@ -1,253 +0,0 @@ -
-
-

NDT SUMMARY - STELLAR

-
-
- - - - - - - - - - - - - - - whereNotNull("rt_result") - ->whereNotIn("rt_result", $ignoreResults) // Cancel sayılmaz - ->count(); - - $rtAcceptJoint = db("radiographic_tests")->where("rt_result","Accept / Годен")->count(); - - // Toplam Reddedilen (Repair + Reject). Cancel dahil edilmez. - $rtNotAcceptJoint = db("radiographic_tests") - ->whereNotNull("rt_result") - ->whereNotIn("rt_result", $excludeForRejectCalc) - ->count(); - - // --- GÜNLÜK (TODAY) RT --- - - $rtTodayTotalJoint = db("radiographic_tests") - ->whereDate("rt_test_date", $today) - ->whereNotNull("rt_result") - ->whereNotIn("rt_result", $ignoreResults) // Günlük toplamdan Cancel'ı çıkar - ->count(); - - $rtTodayAcceptJoint = db("radiographic_tests") - ->whereDate("rt_test_date", $today) - ->where("rt_result","Accept / Годен") - ->count(); - - // Günlük Red (Repair + Reject), Cancel hariç - $rtTodayRejectedJoint = db("radiographic_tests") - ->whereDate("rt_test_date", $today) - ->whereNotNull("rt_result") - ->whereNotIn("rt_result", $excludeForRejectCalc) - ->count(); - - // Günlük Sadece Tamir Oranı İçin (Sadece Repair sayılır, Reject sayılmaz) - $rtTodayRepairJoint = db("radiographic_tests") - ->whereDate("rt_test_date", $today) - ->whereIn("rt_result", $rtRepairResults) - ->count(); - ?> - - - - - - - - - - - - - whereNotNull("ut_result") - ->whereNotIn("ut_result", $ignoreResults) - ->count(); - - $utAcceptJoint = db("ultrasonic_tests")->where("ut_result","Accept / Годен")->count(); - - // Rejected kolonu için (Cancel hariç) - $utNotAcceptJoint = db("ultrasonic_tests") - ->whereNotNull("ut_result") - ->whereNotIn("ut_result", $excludeForRejectCalc) - ->count(); - - // Günlük Veriler - $utTodayTotalJoint = db("ultrasonic_tests") - ->whereDate("ut_test_date", $today) - ->whereNotNull("ut_result") - ->whereNotIn("ut_result", $ignoreResults) - ->count(); - - $utTodayAcceptJoint = db("ultrasonic_tests") - ->whereDate("ut_test_date", $today) - ->where("ut_result","Accept / Годен") - ->count(); - - $utTodayRejectedJoint = db("ultrasonic_tests") - ->whereDate("ut_test_date", $today) - ->whereNotNull("ut_result") - ->whereNotIn("ut_result", $excludeForRejectCalc) - ->count(); - - $utTodayRepairJoint = db("ultrasonic_tests") - ->whereDate("ut_test_date", $today) - ->whereIn("ut_result", $utRepairResults) - ->count(); - ?> - - - - - - - - - - - - -
TYPE of EXAMINATIONTOTAL EXAMINED (JOINT)TOTAL EXAMINED (WDI)TOTAL ACCEPTED (JOINT)TOTAL REJECTED (JOINT)OVERALL REPAIR RATE (%){{$today->format("d.m.Y")}} - ACCEPTED (JOINT){{$today->format("d.m.Y")}} - REJECTED (JOINT){{$today->format("d.m.Y")}} - REPAIR RATE (%)
RT{{$rtTotalJoint}}{{db("radiographic_tests")->whereNotNull("rt_result")->whereNotIn("rt_result", $ignoreResults)->sum("nps_1")}}{{$rtAcceptJoint}}{{$rtNotAcceptJoint}} - where("type_of_joint", "S") - ->whereIn("rt_result", $rtRepairResults) - ->count(); - - $repairRTCountField = db("radiographic_tests") - ->where("type_of_joint", "F") - ->whereIn("rt_result", $rtRepairResults) - ->count(); - - $shopRepairTotal = $repairRTCountShop; - $fieldRepairTotal = $repairRTCountField; - - // Payda (Toplam) hesabı: Cancel olanları toplama dahil etme! - // Eğer Cancel toplamda olursa, oran yanlış çıkar. - $totalRTShop = db("radiographic_tests") - ->where("type_of_joint", "S") - ->whereNotIn("rt_result", $excludeForTotalCalc) // Boş ve Cancel hariç hepsi - ->count(); - - $totalRTField = db("radiographic_tests") - ->where("type_of_joint", "F") - ->whereNotIn("rt_result", $excludeForTotalCalc) // Boş ve Cancel hariç hepsi - ->count(); - - $shopAllTotal = $totalRTShop; - $fieldAllTotal = $totalRTField; - - try { - // Paydalar 0 ise hata vermesin diye kontrol - $denom = ($shopAllTotal + $fieldAllTotal); - if ($denom > 0) { - $repairRateAll = round(($shopRepairTotal + $fieldRepairTotal) * 100 / $denom, 2); - } else { - $repairRateAll = 0; - } - } catch (\Throwable $th) { - $repairRateAll = 0; - } - - setting_put("repairRateAll", $repairRateAll); - ?> - {{$repairRateAll}} - {{$rtTodayAcceptJoint}}{{$rtTodayRejectedJoint}} - 0) { - echo round($rtTodayRepairJoint * 100 / $rtTodayTotalJoint, 2); - } else { - echo 0; - } - } catch (\Throwable $th) { - echo 0; - } ?> -
PAUT{{$utTotalJoint}}{{db("ultrasonic_tests")->whereNotNull("ut_result")->whereNotIn("ut_result", $ignoreResults)->sum("nps_1")}}{{db("ultrasonic_tests")->where("ut_result","Accept / Годен")->count()}}{{$utNotAcceptJoint}} - where("type_of_joint", "S") - ->whereIn("ut_result", $utRepairResults) - ->count(); - - $repairUTCountField = db("ultrasonic_tests") - ->where("type_of_joint", "F") - ->whereIn("ut_result", $utRepairResults) - ->count(); - - // Total hesaplarken Cancel'ı hariç tut - $totalUTShop = db("ultrasonic_tests") - ->where("type_of_joint", "S") - ->whereNotIn("ut_result", $excludeForTotalCalc) - ->count(); - - $totalUTField = db("ultrasonic_tests") - ->where("type_of_joint", "F") - ->whereNotIn("ut_result", $excludeForTotalCalc) - ->count(); - - $shopRepairTotal = $repairUTCountShop; - $fieldRepairTotal = $repairUTCountField; - $shopAllTotal = $totalUTShop; - $fieldAllTotal = $totalUTField; - - try { - $denom = ($shopAllTotal + $fieldAllTotal); - if ($denom > 0) { - $repairRateAll = round(($shopRepairTotal + $fieldRepairTotal) * 100 / $denom, 2); - } else { - $repairRateAll = 0; - } - } catch (\Throwable $th) { - $repairRateAll = 0; - } - ?> - {{$repairRateAll}} - {{$utTodayAcceptJoint}}{{$utTodayRejectedJoint}} - 0) { - echo round($utTodayRepairJoint * 100 / $utTodayTotalJoint, 2); - } else { - echo 0; - } - } catch (\Throwable $th) { - echo 0; - } ?> -
-
-
\ No newline at end of file diff --git a/resources/views/admin/type/summary/repair-rate-all.blade.php b/resources/views/admin/type/summary/repair-rate-all.blade.php deleted file mode 100644 index c9bb7f6..0000000 --- a/resources/views/admin/type/summary/repair-rate-all.blade.php +++ /dev/null @@ -1,82 +0,0 @@ - -where("type_of_joint", "S")->where("ut_result", "Accept / Годен")->count(); - $repairUTCountShop = db("ultrasonic_tests")->where("type_of_joint", "S")->whereIn("ut_result", $repairResults)->count(); - $notRepairRTCountShop = db("radiographic_tests")->where("type_of_joint", "S")->where("rt_result", "Accept / Годен")->count(); - $repairRTCountShop = db("radiographic_tests")->where("type_of_joint", "S")->whereIn("rt_result", $repairResults)->count(); - - $notRepairUTCountField = db("ultrasonic_tests")->where("type_of_joint", "F")->where("ut_result", "Accept / Годен")->count(); - $repairUTCountField = db("ultrasonic_tests")->where("type_of_joint", "F")->whereIn("ut_result", $repairResults)->count(); - $notRepairRTCountField = db("radiographic_tests")->where("type_of_joint", "F")->where("rt_result", "Accept / Годен")->count(); - $repairRTCountField = db("radiographic_tests")->where("type_of_joint", "F")->whereIn("rt_result", $repairResults)->count(); - - - $totalUTShop = db("ultrasonic_tests")->where("type_of_joint", "S")->whereNotIn("ut_result", $excludeTotal)->whereNotNull("ut_result")->count(); - $shopRepairTotal = $repairUTCountShop + $repairRTCountShop; - $fieldRepairTotal = $repairUTCountField + $repairRTCountField; - - $totalRTShop = db("radiographic_tests")->where("type_of_joint", "S")->whereNotIn("rt_result", $excludeTotal)->whereNotNull("rt_result")->count(); - - $totalUTField = db("ultrasonic_tests")->where("type_of_joint", "F")->whereNotIn("ut_result", $excludeTotal)->whereNotNull("ut_result")->count(); - $totalRTField = db("radiographic_tests")->where("type_of_joint", "F")->whereNotIn("rt_result", $excludeTotal)->whereNotNull("rt_result")->count(); - - $shopAllTotal = $totalRTShop + $totalUTShop; - $fieldAllTotal = $totalRTField + $totalUTField; - - try { - if($shopAllTotal > 0) - $shopPercent = round($shopRepairTotal * 100 / $shopAllTotal, 2); - else - $shopPercent = 0; - } catch (\Throwable $th) { - $shopPercent = 0; - } - - try { - if($fieldAllTotal > 0) - $fieldPercent = round($fieldRepairTotal * 100 / $fieldAllTotal, 2); - else - $fieldPercent = 0; - } catch (\Throwable $th) { - $fieldPercent = 0; - } - - ?> - - - - @if($id != "repair-table") - - @endif - - - - - - - @if($id != "repair-table") - - @endif - - - - - - - - - -
{{e2("Repair Rate %")}}{{e2("Cutout Joints (WDI)")}}
{{e2("Shop")}}{{e2("Field")}} - - {{$repairRateAll}}{{db("deleted_joints")->whereNotNull("welding_date")->sum("nps_1")}}
{{$shopPercent}}{{$fieldPercent}}
\ No newline at end of file diff --git a/resources/views/admin/type/welder-assignment/qc-weldlog.blade.php b/resources/views/admin/type/welder-assignment/qc-weldlog.blade.php deleted file mode 100644 index 9a471e0..0000000 --- a/resources/views/admin/type/welder-assignment/qc-weldlog.blade.php +++ /dev/null @@ -1,353 +0,0 @@ -{{col("col-md-7","QC Weldlog", 0, ['no-options' => true])}} - - 🟡: {{e2("Worked in this isometry before")}} - / 🔴: {{e2("This welder previously worked as Real Welder")}} - / ❗: {{e2("Naks validation date close to end or finished")}} - / ❌📅: {{e2("Welding date is not equal or greater than Naks validation date")}} - -
-{{_col()}} - - diff --git a/resources/views/admin/type/welder-assignment/welder-wdi.blade.php b/resources/views/admin/type/welder-assignment/welder-wdi.blade.php deleted file mode 100644 index d65c3c1..0000000 --- a/resources/views/admin/type/welder-assignment/welder-wdi.blade.php +++ /dev/null @@ -1,66 +0,0 @@ -{{col("col-md-2","Welder WDI", 0, ['no-options' => true])}} -
-{{_col()}} - - diff --git a/resources/views/admin/type/welder-assignment/weldmap.blade.php b/resources/views/admin/type/welder-assignment/weldmap.blade.php deleted file mode 100644 index e96806b..0000000 --- a/resources/views/admin/type/welder-assignment/weldmap.blade.php +++ /dev/null @@ -1,128 +0,0 @@ -{{col("col-md-5","Weldmap", 0, ['no-options' => true])}} -
-{{_col()}} - - - diff --git a/resources/views/admin/type/welder-assignment/wqt.blade.php b/resources/views/admin/type/welder-assignment/wqt.blade.php deleted file mode 100644 index eacfca0..0000000 --- a/resources/views/admin/type/welder-assignment/wqt.blade.php +++ /dev/null @@ -1,56 +0,0 @@ -{{col("col-md-10","Welder Qualification Table", 0, ['no-options' => true])}} -
-{{_col()}} - - - diff --git a/resources/views/admin/type/weldmap/datagrid-script.blade.php b/resources/views/admin/type/weldmap/datagrid-script.blade.php deleted file mode 100644 index 155631e..0000000 --- a/resources/views/admin/type/weldmap/datagrid-script.blade.php +++ /dev/null @@ -1,1094 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/admin/type/weldmap/main.blade.php b/resources/views/admin/type/weldmap/main.blade.php deleted file mode 100644 index b2966f7..0000000 --- a/resources/views/admin/type/weldmap/main.blade.php +++ /dev/null @@ -1,824 +0,0 @@ - $cols) { - foreach($cols AS $col) { - $columns[] = $col; - } - -} - -// Ensure alwaysSelectColumns are included -if(isset($alwaysSelectColumns) && is_array($alwaysSelectColumns)) { - foreach($alwaysSelectColumns as $forcedColumn) { - if(!in_array($forcedColumn, $columns)) { - $columns[] = $forcedColumn; - } - } -} - -// Joint Release Log için özel sorgu - deleted joints bilgilerini de çek -// KRİTİK KURAL: Joint Release = (is_welded=1 olanlar) + (silinmiş ama welded olanlar) -if(isset($id) && $id == "joint-release-log") { - // Welded joint tiplerini al (joint_types tablosundan is_welded=1 olanlar) - $weldedJointTypes = get_welded_joint_types(); - - // is_deleted ve deleted_comment'i columns'dan çıkar (gerçek sütunlar değil) - $columnsForQuery = array_filter($columns, function($col) { - return $col !== 'is_deleted' && $col !== 'deleted_comment'; - }); - - // Sütunları weld_logs prefix'i ile belirt - $weldLogsColumns = array_map(function($col) { - if(strpos($col, '.') !== false) { - return $col; - } - return 'weld_logs.' . $col; - }, $columnsForQuery); - - // Sütunları deleted_joints prefix'i ile belirt (UNION için) - $deletedJointsColumns = array_map(function($col) { - if(strpos($col, '.') !== false) { - return str_replace('weld_logs.', 'deleted_joints.', $col); - } - return 'deleted_joints.' . $col; - }, $columnsForQuery); - - // Release alanları — bu kolonlar joint_releases tablosundan okunmalı - $releaseFields = [ - 'joint_release_rfi_no', 'joint_release_rfi_date', 'joint_release_document_no', 'joint_release_document_date', - 'rt_release_rfi_no', 'rt_release_rfi_date', 'ut_release_rfi_no', 'ut_release_rfi_date', - 'pt_release_rfi_no', 'pt_release_rfi_date', 'mt_release_rfi_no', 'mt_release_rfi_date', - 'pmi_release_rfi_no', 'pmi_release_rfi_date', 'vt_release_rfi_no', 'vt_release_rfi_date', - 'pwht_release_rfi_no', 'pwht_release_rfi_date', 'ht_release_rfi_no', 'ht_release_rfi_date', - 'ferrite_release_rfi_no', 'ferrite_release_rfi_date', - ]; - - // weld_logs sütunları: release alanları jr. prefix'i ile, diğerleri weld_logs. prefix'i ile - $weldLogsSelectColumns = array_map(function($col) use ($releaseFields) { - $bare = strpos($col, '.') !== false ? substr($col, strrpos($col, '.') + 1) : $col; - if (in_array($bare, $releaseFields)) { - return 'jr.' . $bare; - } - return $col; - }, $weldLogsColumns); - - // deleted_joints sütunları: release alanları jr2. prefix'i ile, diğerleri deleted_joints. prefix'i ile - $deletedJointsSelectColumns = array_map(function($col) use ($releaseFields) { - $bare = strpos($col, '.') !== false ? substr($col, strrpos($col, '.') + 1) : $col; - if (in_array($bare, $releaseFields)) { - return 'jr2.' . $bare; - } - return $col; - }, $deletedJointsColumns); - - // Query 1: weld_logs'tan sadece welded joint tipleri + joint_releases JOIN - $weldLogsQuery = WeldLog::select( - array_merge($weldLogsSelectColumns, [ - 'deleted_joints.comment as deleted_comment', - 'deleted_joints.deleted_date', - DB::raw('0 as is_deleted'), - DB::raw("'weld_logs' as source_table") - ]) - ) - ->leftJoin('deleted_joints', function($join) { - $join->on('weld_logs.iso_number', '=', 'deleted_joints.iso_number') - ->on('weld_logs.no_of_the_joint_as_per_as_built_survey', '=', 'deleted_joints.no_of_the_joint_as_per_as_built_survey'); - }) - ->leftJoin('joint_releases as jr', 'weld_logs.id', '=', 'jr.weld_log_id') - ->whereIn('weld_logs.type_of_welds', $weldedJointTypes); - - // Query 2: deleted_joints'ten kayıtlar (welded + welding_date dolu + weld_logs'ta karşılığı OLMAYAN) + joint_releases JOIN - $deletedJointsQuery = DB::table('deleted_joints') - ->select( - array_merge($deletedJointsSelectColumns, [ - 'deleted_joints.comment as deleted_comment', - 'deleted_joints.deleted_date', - DB::raw('1 as is_deleted'), - DB::raw("'deleted_joints' as source_table") - ]) - ) - ->leftJoin('joint_releases as jr2', 'deleted_joints.id', '=', 'jr2.deleted_joint_id') - ->whereIn('deleted_joints.type_of_welds', $weldedJointTypes) - ->whereNotNull('deleted_joints.welding_date') - ->whereNotExists(function($query) { - $query->select(DB::raw(1)) - ->from('weld_logs') - ->whereColumn('weld_logs.iso_number', 'deleted_joints.iso_number') - ->whereColumn('weld_logs.no_of_the_joint_as_per_as_built_survey', 'deleted_joints.no_of_the_joint_as_per_as_built_survey'); - }); - - // UNION ile birleştir - $listDatas = $weldLogsQuery->unionAll($deletedJointsQuery) - ->orderBy("id","DESC") - ->paginate(setting('row_count')); -} else { - $listDatas = WeldLog::select($columns)->orderBy("id","DESC")->paginate(setting('row_count')); -} - -$u = u(); -$steSubcontractor = db("subcontractors"); -$steSubcontractor2 = db("subcontractors"); - -if($u->subcontructer != "Stellar") { - $steSubcontractor2 = $steSubcontractor2->where("company_name_en", $u->subcontructer); - $steSubcontractor = $steSubcontractor->where("company_name_en", $u->subcontructer); -} -$steSubcontractor2 = $steSubcontractor2->get(); -$mainContractor = db("subcontractors") -->where("operation_type","Main Contractor") -->get(); -$generalContractor = db("subcontractors") -->whereIn("job_description",['Employer', 'Engineering']) -->get(); - -$steContractorMontaj = db("subcontractors") -->whereIn("job_description",['Montaj']) -->get(); - -$steSubcontractor = $steSubcontractor->get(); -$wps = db("w_p_s")->get(); -$weldingMethods = db("welding_methods")->get(); -$naksConsumables = db("naks_consumables")->get(); -$naksConsumablesProduct = db("naks_consumables")->select("product_name")->groupBy("product_name")->get(); -$naksConsumablesFluxGas = db("naks_consumables") - ->select('product_name') - ->whereIn('type_of_consumable', ['Flux / Флюсы', 'Gas / Газ']) - ->groupBy('product_name') - ->get(); -$mtos = db("m_t_o_s")->groupBy("component_code_id")->get(); -$materials = db("materials")->select("steel_grade")->groupBy("steel_grade")->get(); -$incomingControls = db("incoming_controls")->get(); -$steelGradeToRuGroup = db("materials")->get()->pluck("ru_group","steel_grade")->toArray(); -$typeOfWeldOptions = db('joint_types') - ->select('short_name_en') - ->whereNotNull('short_name_en') - ->orderBy('short_name_en') - ->get(); - -if($typeOfWeldOptions->isEmpty()) { - $fallbackTypes = ['BW','FW','SW','TW','BJ','FJ','TH','CJ']; - $typeOfWeldOptions = collect($fallbackTypes)->map(function($shortName) { - return (object) ['short_name_en' => $shortName]; - }); -} -$realWelders1 = db("weld_logs")->select("welder_1")->groupBy("welder_1")->whereNotNull("welder_1")->get()->toArray(); -$realWelders2 = db("weld_logs")->select("welder_2")->groupBy("welder_2")->whereNotNull("welder_2")->get()->toArray(); - -$relationDatas = [ - 'ut_type' => [ - 'type' => 'auto-complete2', - 'table' => 'u_t_types', - 'column' => 'ut_type_title', - 'pattern' => '{ut_type_title}', - 'affected' => [ - ], - ], - 'piping_type' => [ - 'values' => db("piping_types")->get()->pluck("title")->toArray(), - 'type' => 'manuel-select' - ], - /* - 'real_welder_1' => [ - 'datas' => $realWelders1, - 'pattern' => '{welder_1}', - 'type' => 'select-dropdown' - ], - 'real_welder_2' => [ - 'datas' => $realWelders2, - 'pattern' => '{welder_2}', - 'type' => 'select-dropdown' - ], - */ - 'ste_subcontractor' => [ - 'datas' => $steContractorMontaj, - 'pattern' => '{company_name_en}', - 'type' => 'select-dropdown' - ], - 'contractor' => [ - 'datas' => $mainContractor, - 'pattern' => '{company_name_en}', - 'type' => 'select-dropdown' - ], - 'general_contractor' => [ - 'datas' => $generalContractor, - 'pattern' => '{company_name_en}', - 'type' => 'select-dropdown' - ], - /* - 'welding_materials_1_certificate_no' => [ - 'datas' => $naksConsumables, - 'pattern' => '{inspection_test_report}', - 'type' => 'select-dropdown' - ], - - 'welding_materials_2_certificate_no' => [ - 'datas' => $naksConsumables, - 'pattern' => '{inspection_test_report}', - 'type' => 'select-dropdown', - - ], - 'welding_materials_3_certificate_no' => [ - 'datas' => db("naks_consumables") - ->select('product_name') - ->whereIn('type_of_consumable', ['Electrode / Электрод', 'Gas / Газ']) - ->groupBy('product_name') - ->get(), - 'pattern' => '{product_name}', - 'type' => 'select-dropdown' - ], - - 'welding_materials_1_lot_no' => [ - 'datas' => $naksConsumables, - 'pattern' => '{batch_number}', - 'type' => 'select-dropdown', - - ], - 'welding_materials_2_lot_no' => [ - 'datas' => $naksConsumables, - 'pattern' => '{batch_number}', - 'type' => 'select-dropdown' - ], - 'welding_materials_3_lot_no' => [ - 'datas' => $naksConsumables, - 'pattern' => '{batch_number}', - 'type' => 'select-dropdown' - ], - */ - /* - 'element_code_1' => [ - 'type' => 'auto-complete2', - 'table' => 'm_t_o_s', - 'column' => 'component_code_id', - 'pattern' => '{component_code_id}', - 'affected' => [ - 'member_no_1' => '{description_ru}', - 'material_no_1' => '{material}', - ] - ], - 'element_code_2' => [ - 'type' => 'auto-complete2', - 'table' => 'm_t_o_s', - 'column' => 'component_code_id', - 'pattern' => '{component_code_id}', - 'affected' => [ - 'member_no_2' => '{description_ru}', - 'material_no_2' => '{material}', - ] - ], - */ - /* - 'welder_1' => [ - 'datas' => db("welder_tests")->groupBy("naks_id")->get(), - 'pattern' => '[{naks_id}] {name_surname}', - 'type' => 'select-dropdown' - ], - */ - /* - 'welder_2' => [ - 'datas' => db("welder_tests")->groupBy("naks_id")->get(), - 'pattern' => '[{naks_id}] {name_surname}', - 'type' => 'select-dropdown' - ], - */ - /* - 'welder_1' => [ - 'type' => 'auto-complete2', - 'table' => 'welder_tests', - 'column' => 'name_surname', - 'pattern' => '[{naks_no}] {name_surname}', - 'affected' => [] - - ], - 'welder_2' => [ - 'type' => 'auto-complete2', - 'table' => 'welder_tests', - 'column' => 'name_surname', - 'pattern' => '[{naks_no}] {name_surname}', - 'affected' => [] - - ], - */ - - - /* - 'element_code_1' => [ - 'type' => 'select-dropdown2', - 'datas' => $mtos, - 'pattern' => '{component_code_id}', - 'affected' => [ - 'member_no_1' => '{description_ru}', - 'material_no_1' => '{material}', - ] - ], - 'element_code_2' => [ - 'type' => 'select-dropdown2', - 'datas' => $mtos, - 'pattern' => '{component_code_id}', - 'affected' => [ - 'member_no_2' => '{description_ru}', - 'material_no_2' => '{material}', - ] - ], - */ - /* - 'element_code_2' => [ - 'type' => 'auto-complete', - 'table' => 'm_t_o_s', - 'column' => 'component_code_id', - 'affected' => [ - 'member_no_2' => '{description_ru}', - 'material_no_2' => '{material}', - ] - ], - */ - /* - 'element_code_1' => [ - 'table' => 'm_t_o_s', - 'column' => 'component_code_id', - 'pattern' => '{component_code_id}', - 'type' => 'select-dropdown', - 'affected' => [ - 'member_no_1' => '{description_ru}', - 'material_no_1' => '{material}', - ] - ], - 'element_code_2' => [ - 'datas' => $mtos, - 'pattern' => '{component_code_id}', - 'type' => 'select-dropdown', - 'affected' => [ - 'member_no_2' => '{description_ru}', - 'material_no_2' => '{material}', - ] - ], - */ - /* - 'wps_no' => [ - 'datas' => $wps, - 'pattern' => '{details}', - 'type' => 'select-dropdown', - 'affected' => [ - 'wps_approval_date' => '{date}', - 'welding_method' => '{welding_process}', - ] - ], - */ - /* - 'welding_materials_1' => [ - 'datas' => $naksConsumablesProduct, - 'pattern' => '{product_name}', - 'type' => 'select-dropdown', - 'affected' => [ - - ], - 'filter-columns' => ['welding_materials_1_lot_no','welding_materials_1_certificate_no'], - ], - 'welding_materials_2' => [ - 'datas' => $naksConsumablesProduct, - 'pattern' => '{product_name}', - 'type' => 'select-dropdown', - 'affected' => [ - - ], - 'filter-columns' => ['welding_materials_1_lot_no','welding_materials_1_certificate_no'], - ], - */ - /* - 'ru_material_group_1' => [ - 'datas' => $materials, - 'pattern' => '{steel_grade}', - 'type' => 'select-dropdown', - 'affected' => [ - ] - ], - 'ru_material_group_2' => [ - 'datas' => $materials, - 'pattern' => '{steel_grade}', - 'type' => 'select-dropdown', - 'affected' => [ - ] - ], - */ - /* - 'certificate_number_of_1' => [ - 'datas' => $incomingControls, - 'pattern' => '{component_code}', - 'type' => 'select-dropdown', - 'affected' => [ - ] - ], - 'certificate_number_of_2' => [ - 'datas' => $incomingControls, - 'pattern' => '{component_code}', - 'type' => 'select-dropdown', - 'affected' => [ - ] - ], - 'heat_number_1' => [ - 'datas' => $incomingControls, - 'pattern' => '{heat_number}', - 'type' => 'select-dropdown', - 'affected' => [ - ] - ], - 'heat_number_2' => [ - 'datas' => $incomingControls, - 'pattern' => '{heat_number}', - 'type' => 'select-dropdown', - 'affected' => [ - ] - ], - */ - 'welding_materials_3' => [ - 'datas' => $naksConsumablesFluxGas, - 'pattern' => '{product_name}', - 'type' => 'select-dropdown', - 'affected' => [ - - ], - 'filter-columns' => ['welding_materials_1_lot_no','welding_materials_1_certificate_no'], - ], - 'line_number' => [ - 'type' => 'auto-complete2', - 'table' => 'line_lists', - 'column' => 'line_no', - 'pattern' => '{line_no}', - 'affected' => [ - 'design_temperature_s' => '{design_temperature}', - 'service_category' => '{category}', - 'piping_class' => '{category} + {fluid_code}', - 'main_nps' => '{design_temperature}', - 'design_pressure_mpa' => '{design_pressure_mpa}', - 'operating_pressure_mpa' => '{working_pressure_mpa}', - 'painting_cycle' => '{painting_cycle}', - 'external_finish_type' => '{external_finish_type}', - 'operating_temperature_s' => '{working_temperature}', - 'ndt_percent' => '{ndt}', - 'fluid_code' => '{fluid_code}', - ], - ], - 'type_of_welds' => [ - 'type' => 'select-dropdown', - 'datas' => $typeOfWeldOptions, - 'pattern' => '{short_name_en}', - ], - 'type_of_joint' => [ - 'values' => [ - 'F', - 'S', - ], - 'type' => 'manuel-select' - ], - 'nde' => [ - 'caption' => 'ISO NDT', - 'type' => 'string' - ], - - 'pdf_engineering' => [ - 'type' => 'link-search', - 'path' => '001_Drawings/001_Engineering/', - 'pattern' => "*{iso_number}*.pdf", - 'html' => '' - ], - - 'pdf_spool_iso' => [ - 'type' => 'link-search', - 'path' => '001_Drawings/002_Iso/', - 'pattern' => "*{iso_number}*.pdf", - 'html' => '' - ], - - - 'pdf_as_build' => [ - 'type' => 'link-search', - 'path' => '001_Drawings/003_As_Build(ID)/', - 'pattern' => "*{iso_number}*.pdf", - 'html' => '' - ], - /* - 'pwht' => [ - 'values' => [ - 'YES', - 'NO', - ], - 'caption' => 'ISO PWHT', - 'type' => 'manuel-select' - ], - */ - - - -]; - -if($id == "weldlog") { - unset($relationDatas['type_of_joint']); -} -?> - - -@include("admin.type.weldmap.datagrid-script") - -
-
- [ - 'type' => 'link-search2', - 'path' => '001_Drawings/001_Engineering/', - 'pattern' => "*{iso_number}*.pdf", - 'html' => '' - ], - - 'pdf_spool_iso' => [ - 'type' => 'link-search2', - 'path' => '001_Drawings/002_Iso/', - 'pattern' => "*{iso_number}*.pdf", - 'html' => '' - ], - }, - - 'pdf_as_build' => [ - 'type' => 'link-search', - 'path' => '001_Drawings/003_As_Build(ID)/', - 'pattern' => "*{iso_number}*.pdf", - 'html' => '' - ], - - ]; - */ - - } - - if(getisset("upload-pdf")) { - uploadDocument("iso", "001_Drawings/002_Iso"); - uploadDocument("engineer", "001_Drawings/001_Engineering"); - uploadDocument("asbuild", "001_Drawings/003_As_Build(ID)"); - ?> -
- {{bilgi("Upload has been success!")}} -
- - - level, $isoPermissions)) { - $isIsoUpload = true; - } - if(is_array($engineerPermissions) && in_array($u->level, $engineerPermissions)) { - $isEngineerUpload = true; - } - if(is_array($asBuildPermissions) && in_array($u->level, $asBuildPermissions)) { - $isAsBuildUpload = true; - } - - if($isIsoUpload) { - $firstUploadFolder = '001_Drawings/002_Iso/'; - $firstUploadTitle = 'Upload ISO PDF'; - } - - if($isEngineerUpload) { - $secondUploadFolder = '001_Drawings/001_Engineering/'; - $secondUploadTitle = 'Upload Engineer PDF'; - } - - if($isAsBuildUpload) { - $thirdUploadFolder = '001_Drawings/003_As_Build(ID)/'; - $thirdUploadTitle = 'Upload As Build PDF'; - } - - - ?> - @if($id == "base-weldmap" || $id == "weldmap") - @include("admin.type.document.upload") - @endif - @include("components.blocks.module-block") -
-
- - -@include("admin.type.weldmap.upload-modal") -@include("components.incoming-control-popup") \ No newline at end of file diff --git a/resources/views/admin/type/weldmap/upload-modal.blade.php b/resources/views/admin/type/weldmap/upload-modal.blade.php deleted file mode 100644 index 361254b..0000000 --- a/resources/views/admin/type/weldmap/upload-modal.blade.php +++ /dev/null @@ -1,32 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/admin/type/wpq-follow-up/datagrid-script.blade.php b/resources/views/admin/type/wpq-follow-up/datagrid-script.blade.php deleted file mode 100644 index b7bb582..0000000 --- a/resources/views/admin/type/wpq-follow-up/datagrid-script.blade.php +++ /dev/null @@ -1,1054 +0,0 @@ - - - -
- - - \ No newline at end of file diff --git a/resources/views/admin/type/wps/datagrid-script.blade.php b/resources/views/admin/type/wps/datagrid-script.blade.php deleted file mode 100644 index 426b32a..0000000 --- a/resources/views/admin/type/wps/datagrid-script.blade.php +++ /dev/null @@ -1,241 +0,0 @@ - \ No newline at end of file