Browse Source

资产计划搜索条件不正确修复,项目关联需求修复

kely 7 months ago
parent
commit
79e95ae555

+ 11 - 4
app/Http/Controllers/API/PlanController.php

@@ -22,11 +22,18 @@ class PlanController extends Controller
     {
         $sort=$request->input('sort','desc');
         $pageSize=$request->get('page_size') ?? 10;
-        $plans = Plan::filter($request->all())->where("parent_id", 0)->orderBy('created_at',$sort)->with(['children','asset'=>function($query){
-            $query->with('parent');
-        }])->paginate($pageSize);
+        $plan=Plan::filter($request->all())->orderBy('created_at',$sort)->paginate($pageSize);
 
-        return PlanResource::collection($plans);
+        return $this->success([
+            'data' => make_tree($plan->toArray()['data']),
+            'total'=>$plan->total()
+        ]);
+
+//        $plans = Plan::filter($request->all())->where("parent_id", 0)->orderBy('created_at',$sort)->with(['children','asset'=>function($query){
+//            $query->with('parent');
+//        }])->paginate($pageSize);
+//
+//        return PlanResource::collection($plans);
 
     }
 

+ 4 - 22
app/Http/Controllers/API/ProjectController.php

@@ -68,35 +68,17 @@ class ProjectController extends Controller
     public function projectAssetTree(string $id){
         $project = Project::allowed($id)->findOrFail($id);
 
-        //获取项目所关联的需求所在需求分组的id
-//       $requirementsGroupIds=$project->requirementsGroup ->pluck('id')->unique()->toArray();
-
-//        // 加载项目中的所有Asset及其关联的RequirementGroup
-//        $assetsWithRequirementGroups = $project->assets()->with('requirementGroups')->get();
-//
-//        $filteredAssets = $assetsWithRequirementGroups->map(function ($asset) use ($requirementsGroupIds) {
-//            if (empty($requirementsGroupIds)) {
-//                // 如果$requirementsGroupIds为空,则清空requirementGroups集合
-//                $asset->setRelation('requirementGroups', collect());
-//            } else {
-//                // 否则,过滤requirementGroups集合
-//                $asset->setRelation('requirementGroups', $asset->requirementGroups->filter(function ($group) use ($requirementsGroupIds) {
-//                    return in_array($group->id, $requirementsGroupIds);
-//                }));
-//            }
-//
-//            return $asset;
-//        });
-
-
 //      return  AssetRequirementGroupTreeResource::collection($filteredAssets);
         $projectLinkAssets = $project->assets()->select('assets.id', 'assets.name', 'assets.parent_id')->get();
+
         $projectLinkAssets->each(function ($assets){
             $assets->type='asset';
             $assets->uniId=$assets->type.'_'.$assets->id;
         });
+
+        $projectAsset=!empty(make_tree($projectLinkAssets->toArray()))?make_tree($projectLinkAssets->toArray()):$projectLinkAssets->toArray();
         return $this->success([
-            'data' => make_tree($projectLinkAssets->toArray())
+            'data' => $projectAsset
         ]);