diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index 3cd9466..d2567d3 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -210,11 +210,7 @@ class OrdersController extends CommonController $order = $order->refreshTotal(); $order->balance = $order->customer->balance; // 是否需要签订协议,0否1是 - $order->need_agreements = 0; - if ($order->paramedic_id && $order->id != 66685 && $order->project_id != 7 && strtotime($order->created_at) >= strtotime(Orders::AGREEMENT_START_DATE) - && ($order->orderAgreements->isEmpty() || ($order->orderAgreements->isNotEmpty() && $order->orderAgreements[0]->paramedic_id != $order->paramedic_id))) { - $order->need_agreements = 1; - } + $order->need_agreements = $order->needAgreements(); } return response()->json($data->toArray()); } @@ -345,11 +341,7 @@ class OrdersController extends CommonController } $order->group_by_paramedic = collect($group_by_paramedic); // 是否需要签订协议,0否1是 - $order->need_agreements = 0; - if ($order->paramedic_id && $order->id != 66685 && $order->project_id != 7 && strtotime($order->created_at) >= strtotime(Orders::AGREEMENT_START_DATE) - && ($order->orderAgreements->isEmpty() || ($order->orderAgreements->isNotEmpty() && $order->orderAgreements[0]->paramedic_id != $order->paramedic_id))) { - $order->need_agreements = 1; - } + $order->need_agreements = $order->needAgreements(); if ($ajax === true) { return response()->json($order->toArray()); } diff --git a/app/Models/Orders.php b/app/Models/Orders.php index a913197..f91b721 100755 --- a/app/Models/Orders.php +++ b/app/Models/Orders.php @@ -26,6 +26,20 @@ class Orders extends SoftDeletesModel protected $appends = ["status_name", "days"]; + /** + * 判断是否要签协议 + */ + public function needAgreements() + { + if ($this->paramedic_id && $this->project->agreement == 1 + && strtotime($this->created_at) >= strtotime(Orders::AGREEMENT_START_DATE) + && ($this->orderAgreementByLast()->isEmpty() || ($this->orderAgreementByLast()->isNotEmpty() && $this->orderAgreementByLast()->paramedic_id != $this->paramedic_id))) { + return 1; + } + return 0; + } + + public function getStatusLabelAttribute($pure_text = true) { switch ($this->status) { diff --git a/database/migrations/2025_10_27_012803_update_project_add_agreement.php b/database/migrations/2025_10_27_012803_update_project_add_agreement.php new file mode 100644 index 0000000..7fe48be --- /dev/null +++ b/database/migrations/2025_10_27_012803_update_project_add_agreement.php @@ -0,0 +1,30 @@ +tinyInteger('agreement')->nullable()->default(1)->comment('是否需要签订协议'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}