cqp пре 1 месец
родитељ
комит
ce4869c6c8
3 измењених фајлова са 59 додато и 2 уклоњено
  1. 13 0
      app/Http/Controllers/Api/ItemController.php
  2. 44 0
      app/Service/ItemService.php
  3. 2 2
      routes/api.php

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

@@ -299,6 +299,19 @@ class ItemController extends BaseController
         }
     }
 
+    public function itemNodeMissionListBySearch(Request $request)
+    {
+        $service = new ItemService();
+        $user = $request->userData;
+        list($status,$data) = $service->itemNodeMissionListBySearch($request->all(),$user);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
     public function itemNodeMissionDetail(Request $request)
     {
         $service = new ItemService();

+ 44 - 0
app/Service/ItemService.php

@@ -841,6 +841,7 @@ class ItemService extends Service
             $model->is_review_required = $data['is_review_required'] ?? 0;
             $model->review_id = $data['review_id'] ?? 0;
             $model->priority_id = $data['priority_id'] ?? 0;
+            $model->state = $data['state'] ?? 0;
             $model->save();
 
             $time = time();
@@ -897,6 +898,7 @@ class ItemService extends Service
             $model->priority_id = $data['priority_id'] ?? 0;
             $model->crt_id = $user['id'];
             $model->top_depart_id = $data['top_depart_id'];
+            $model->state = $data['state'] ?? 0;
             $model->save();
 
             $time = time();
@@ -1062,6 +1064,9 @@ class ItemService extends Service
         $node_tmp = $tag[$customer['node_id']] ?? [];
         $customer['node_title'] = $node_tmp['title'] ?? '';
         $customer['node_code'] = $node_tmp['code'] ?? '';
+        $item = Item::where('id', $customer['item_id'])->first();
+        $customer['item_code'] = $item->code;
+        $customer['item_title'] = $item->title;
 
         $details = $this->getNodeDetail($data['id']);
         $customer = array_merge($customer, $details);
@@ -1335,6 +1340,7 @@ class ItemService extends Service
             $model->is_review_required = $data['is_review_required'] ?? 0;
             $model->review_id = $data['review_id'] ?? 0;
             $model->priority_id = $data['priority_id'] ?? 0;
+            $model->state = $data['state'] ?? 0;
             $model->save();
 
             $time = time();
@@ -1389,6 +1395,7 @@ class ItemService extends Service
             $model->is_review_required = $data['is_review_required'] ?? 0;
             $model->review_id = $data['review_id'] ?? 0;
             $model->priority_id = $data['priority_id'] ?? 0;
+            $model->state = $data['state'] ?? 0;
             $model->crt_id = $user['id'];
             $model->top_depart_id = $data['top_depart_id'];
             $model->save();
@@ -1595,6 +1602,43 @@ class ItemService extends Service
         return [true, $list];
     }
 
+    public function itemNodeMissionListBySearch($data,$user){
+        list($status, $model) = $this->itemNodeMissionCommonBySearch($data, $user);
+        if(! $status) return [false, $model];
+
+        $list['data'] = $model->get()->toArray();
+        $list = $this->fillNodeMissionData($list);
+
+        return [true, $list['data']];
+    }
+
+    public function itemNodeMissionCommonBySearch($data,$user, $field = []){
+        if(empty($field)) $field = ItemNodeMission::$field;
+        if(empty($data['item_id'])) return [false, '请选择项目'];
+        $item_node_id = $data['item_node_id'] ?? 0;
+
+        $model = ItemNodeMission::TopAndEmployeeClear($user,$data);
+        $model = $model->where('del_time',0)
+            ->where('item_id', $data['item_id'])
+            ->when(! empty($item_node_id),function ($query) use($item_node_id){
+                return $query->where('item_node_id', $item_node_id);
+            })
+            ->select($field)
+            ->orderby('id', 'desc');
+
+        if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
+        if(! empty($data['code'])) $model->where('code', 'LIKE', '%'.$data['code'].'%');
+        if(! empty($data['id'])) $model->whereIn('id', $data['id']);
+        if(isset($data['state'])) $model->where('state', $data['state']);
+        if(! empty($data['crt_time'][0]) && ! empty($data['crt_time'][1])) {
+            $return = $this->changeDateToTimeStampAboutRange($data['crt_time']);
+            $model->where('crt_time','>=',$return[0]);
+            $model->where('crt_time','<=',$return[1]);
+        }
+
+        return [true, $model];
+    }
+
     public function itemNodeMissionRule(&$data, $user, $is_add = true){
         $data['top_depart_id'] = $user['top_depart_id'];
         if(empty($data['item_node_id'])) return [false, '项目节点ID不能为空'];

+ 2 - 2
routes/api.php

@@ -113,13 +113,13 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('itemNodeFinish', 'Api\ItemController@itemNodeFinish');
 
     //项目节点任务
-    $route->any('itemNodeMissionList', 'Api\ItemController@itemNodeMissionList');
-    $route->any('itemNodeMissionList', 'Api\ItemController@itemNodeMissionList');
+    $route->any('itemNodeMissionListBySearch', 'Api\ItemController@itemNodeMissionListBySearch'); //不分页 带 项目 节点查询
     $route->any('itemNodeMissionEdit', 'Api\ItemController@itemNodeMissionEdit');
     $route->any('itemNodeMissionAdd', 'Api\ItemController@itemNodeMissionAdd');
     $route->any('itemNodeMissionDel', 'Api\ItemController@itemNodeMissionDel');
     $route->any('itemNodeMissionDetail', 'Api\ItemController@itemNodeMissionDetail');
     $route->any('itemNodeMissionFinish', 'Api\ItemController@itemNodeMissionFinish');
+    $route->any('itemNodeMissionList', 'Api\ItemController@itemNodeMissionList');
 
     //标签管理
     $route->any('tagList', 'Api\TagController@tagList');