Browse Source

添加计划未关联需求列表

kely 6 months ago
parent
commit
86d956d516
2 changed files with 15 additions and 0 deletions
  1. 14 0
      app/Http/Controllers/API/PlanController.php
  2. 1 0
      routes/api.php

+ 14 - 0
app/Http/Controllers/API/PlanController.php

@@ -6,9 +6,11 @@ use App\Http\Controllers\Controller;
 use App\Http\Requests\API\Plan\CreateOrUpdateRequest;
 use App\Http\Resources\API\PlanByAssetResource;
 use App\Http\Resources\API\PlanResource;
+use App\Http\Resources\API\RequirementSimpleResource;
 use App\Models\Asset;
 use App\Models\Enums\FileObjectType;
 use App\Models\Plan;
+use App\Models\Requirement;
 use App\Services\File\FileAssociationService;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
@@ -150,4 +152,16 @@ class PlanController extends Controller
 
         return $this->noContent();
     }
+
+    public function unLinkRequirement(string $id){
+        $plan=Plan::query()->findOrFail($id);
+
+        $requirements=$plan->asset->requirements;
+
+        $filteredRequirements = $requirements->filter(function ($requirement) use ($id) {
+            return empty($requirement->plan_id) || $requirement->plan_id != $id;
+        });
+
+        return RequirementSimpleResource::collection($filteredRequirements);
+    }
 }

+ 1 - 0
routes/api.php

@@ -65,6 +65,7 @@ Route::middleware(['auth:sanctum','account.limit'])->group(function () {
     Route::get("library-linkage/{type}", [API\LibraryController::class, "linkage"]);
     Route::get("project/{project}/latest-dynamic", [API\ProjectController::class, "latestDynamic"]);
     Route::get("file-upload-progress/{request_id}", [API\FileController::class, "uploadProgress"]);
+    Route::get('link-requirement-index/{plan_id}',[API\PlanController::class, "unLinkRequirement"]);
 
     // Allow access only to admin role
     Route::middleware(['permission', 'role.super-admin', 'system.operation-log'])->group(function () {