From 95ac9aac14f5b2e7f3f52ca8ebcf0e00345983cd Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sun, 9 Jan 2022 17:59:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E4=B8=8A=E5=B7=A5=E4=BD=9C=E6=B5=81=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/ProjectController.php | 16 ++++------------ app/Models/ProjectTask.php | 13 +++++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index 06857f0e..3a6ab5ed 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -1438,13 +1438,12 @@ class ProjectController extends AbstractController if ($projectFlowItem?->projectFlow) { $projectFlow = $projectFlowItem->projectFlow; } else { - $projectFlow = ProjectFlow::whereProjectId($projectTask->project_id)->first(); + $projectFlow = ProjectFlow::whereProjectId($projectTask->project_id)->orderByDesc('id')->first(); } if (empty($projectFlow)) { return Base::retSuccess('success', [ 'task_id' => $projectTask->id, 'flow_item_id' => 0, - 'flow_item_name' => '', 'turns' => [], ]); } @@ -1454,22 +1453,20 @@ class ProjectController extends AbstractController $data = [ 'task_id' => $projectTask->id, 'flow_item_id' => 0, - 'flow_item_name' => '', 'turns' => $turns, ]; - $assign = null; if ($projectTask->complete_at) { // 赋一个结束状态 foreach ($turns as $turn) { if ($turn->status == 'end' || preg_match("/complete|done|完成/i", $turn->name)) { - $assign = $turn; + $data['flow_item_id'] = $turn->id; break; } } if (empty($data['flow_item_id'])) { foreach ($turns as $turn) { if ($turn->status == 'end') { - $assign = $turn; + $data['flow_item_id'] = $turn->id; break; } } @@ -1478,20 +1475,15 @@ class ProjectController extends AbstractController // 赋一个开始状态 foreach ($turns as $turn) { if ($turn->status == 'start') { - $assign = $turn; + $data['flow_item_id'] = $turn->id; break; } } } - if ($assign) { - $data['flow_item_id'] = $assign->id; - $data['flow_item_name'] = $assign->name; - } } else { $data = [ 'task_id' => $projectTask->id, 'flow_item_id' => $projectFlowItem->id, - 'flow_item_name' => $projectFlowItem->name, 'turns' => $turns, ]; } diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index 0e4f5ad8..5943321a 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -419,6 +419,19 @@ class ProjectTask extends AbstractModel } else { $task->sort = intval(self::whereColumnId($task->column_id)->orderByDesc('sort')->value('sort')) + 1; } + // 工作流 + $projectFlow = ProjectFlow::whereProjectId($project_id)->orderByDesc('id')->first(); + if ($projectFlow) { + $turns = ProjectFlowItem::select(['id', 'name', 'status', 'turns'])->whereFlowId($projectFlow->id)->orderBy('sort')->get(); + // 赋一个开始状态 + foreach ($turns as $turn) { + if ($turn->status == 'start') { + $task->flow_item_id = $turn->id; + $task->flow_item_name = $turn->status . "|" . $turn->name; + break; + } + } + } // return AbstractModel::transaction(function() use ($times, $subtasks, $content, $owner, $task) { $task->save();