cqp 1 bulan lalu
induk
melakukan
a7669fd5c9
3 mengubah file dengan 38 tambahan dan 0 penghapusan
  1. 13 0
      app/Http/Controllers/Api/ItemController.php
  2. 24 0
      app/Service/ItemService.php
  3. 1 0
      routes/api.php

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

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

+ 24 - 0
app/Service/ItemService.php

@@ -1582,6 +1582,30 @@ class ItemService extends Service
         return [true, $customer];
     }
 
+    public function itemNodeMissionUpdateState($data, $user){
+        if(empty($data['id'])) return [false, '任务ID不能为空'];
+        if(empty($data['state']) || ! isset(ItemNodeMission::State_Type[$data['state']])) return [false, '状态不存在错误'];
+        $model = ItemNodeMission::where('del_time',0)
+            ->where('id',$data['id'])
+            ->first();
+        if(empty($model)) return [false,'项目节点任务不存在或已被删除'];
+        if($model->state == ItemNodeMission::TYPE_THREE || $model->state == ItemNodeMission::TYPE_MINUS_ONE) return [false, '任务状态处在不允许更新的状态'];
+
+        try {
+            DB::beginTransaction();
+
+            $model->state = $data['state'];
+            $model->save();
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false,$exception->getMessage()];
+        }
+
+        return [true, ''];
+    }
+
     public function itemNodeMissionUpdateProgressContent($data, $user){
         if(empty($data['id'])) return [false, '任务ID不能为空'];
         $customer = ItemNodeMission::where('del_time',0)

+ 1 - 0
routes/api.php

@@ -122,6 +122,7 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('itemNodeMissionFinish', 'Api\ItemController@itemNodeMissionFinish'); // 完结
     $route->any('itemNodeMissionUpdateProgress', 'Api\ItemController@itemNodeMissionUpdateProgress'); // 更新任务进展
     $route->any('itemNodeMissionUpdateProgressContent', 'Api\ItemController@itemNodeMissionUpdateProgressContent'); // 更新任务进展人员日报
+    $route->any('itemNodeMissionUpdateState', 'Api\ItemController@itemNodeMissionUpdateState'); // 拖拽更新任务状态
     $route->any('itemNodeMissionList', 'Api\ItemController@itemNodeMissionList');
 
     //标签管理