cqp 11 months ago
parent
commit
c6c3d1372a
3 changed files with 86 additions and 0 deletions
  1. 13 0
      app/Http/Controllers/Api/ProjectController.php
  2. 72 0
      app/Service/ProjectService.php
  3. 1 0
      routes/api.php

+ 13 - 0
app/Http/Controllers/Api/ProjectController.php

@@ -271,4 +271,17 @@ class ProjectController extends BaseController
             return $this->json_return(201,$data);
         }
     }
+
+    public function getSonData(Request $request)
+    {
+        $service = new ProjectService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->getSonData($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
 }

+ 72 - 0
app/Service/ProjectService.php

@@ -911,6 +911,78 @@ class ProjectService extends Service
         return $data;
     }
 
+    public function getSonData($data, $user){
+        if(empty($data['id'])) return [false, '数据id不能为空'];
+        if(empty($data['type'])) return [false, '查询类型不能为空'];
+
+        $id = $data['id'];
+        $type = $data['type'];
+
+        if($type == 1){
+            //阶段
+            $project_stage = ProjectStage::where('del_time',0)
+                ->where('project_id',$id)
+                ->get()->toArray();
+            foreach ($project_stage as $key => $value){
+                $start_time = $value['plan_start_time'] ? date("Y-m-d H:i",$value['plan_start_time']) : '';
+                $end_time = $value['plan_end_time'] ? date("Y-m-d H:i",$value['plan_end_time']) : '';
+                $project_stage[$key]['plan_time'] = $start_time . '——' . $end_time;
+                $project_stage[$key]['start_time'] = $value['start_time'] ? date("Y-m-d",$value['start_time']): '';
+            }
+
+            return [true, $project_stage];
+        }elseif($type == 2){
+            //节点
+            $project_stage_node = ProjectStageNode::where('del_time',0)
+                ->where('project_stage_id',$id)
+                ->get()->toArray();
+            foreach ($project_stage_node as $key => $value){
+                $start_time = $value['plan_start_time'] ? date("Y-m-d H:i",$value['plan_start_time']) : '';
+                $end_time = $value['plan_end_time'] ? date("Y-m-d H:i",$value['plan_end_time']) : '';
+                $project_stage_node[$key]['plan_time'] = $start_time . '——' . $end_time;
+                $project_stage_node[$key]['start_time'] = $value['start_time'] ? date("Y-m-d",$value['start_time']): '';
+            }
+
+            return [true, $project_stage_node];
+        }elseif($type == 3){
+            //任务
+            $project_stage_node_mission = ProjectStageNodeMission::where('del_time',0)
+                ->where('project_stage_node_id',$id)
+                ->get()->toArray();
+
+            //获取人员名称
+            $emp_map = $this->returnEmployeeTitle($project_stage_node_mission);
+            foreach ($project_stage_node_mission as $key => $value){
+                $title = "";
+                $tmp = explode(',', $value['employee_id']);
+                foreach ($tmp as $val){
+                    $title_tmp = $emp_map[$val] ?? "";
+                    if($title_tmp) $title .= $title_tmp . ",";
+                }
+                $project_stage_node_mission[$key]['employee_title'] = rtrim($title,',');
+            }
+
+            return [true, $project_stage_node_mission];
+        }elseif ($type == 4){
+            //任务报告
+            $project_stage_node_mission_detail = ProjectStageNodeMissionDetail::where('del_time',0)
+                ->where('project_stage_node_mission_id',$data['id'])
+                ->get()->toArray();
+            $employee_id = array_unique(array_column($project_stage_node_mission_detail,'crt_id'));
+            $emp_map = Employee::whereIn('id',$employee_id)->pluck('emp_name','id')->toArray();
+            foreach ($project_stage_node_mission_detail as $key => $value){
+                $start_time = $value['start_time'] ? date("Y-m-d H:i",$value['start_time']) : '';
+                $end_time = $value['end_time'] ? date("Y-m-d H:i",$value['end_time']) : '';
+                $project_stage_node_mission_detail[$key]['time'] = $start_time . '——' . $end_time;
+                $project_stage_node_mission_detail[$key]['crt_name'] = $emp_map[$value['crt_id']] ?? "";
+            }
+
+            return [false, $project_stage_node_mission_detail];
+        }
+
+        return [false, '查询类型不存在'];
+    }
+
     public function searchProject($data){
         $model = new Project();
         $model->where('del_time',0);

+ 1 - 0
routes/api.php

@@ -112,6 +112,7 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('projectEditStageNodeMissionDetail', 'Api\ProjectController@editStageNodeMissionDetail');
     $route->any('projectDelStageNodeMissionDetail', 'Api\ProjectController@delStageNodeMissionDetail');
     $route->any('projectStageNodeMissionDetailList', 'Api\ProjectController@projectStageNodeMissionDetailList');
+    $route->any('projectSonData', 'Api\ProjectController@getSonData');
 
     //获取考勤的图片
     $route->get('/kq/image/{filename}', function ($filename) {