weizong song 5 years ago
parent 42b4f72d8b
commit 765c187bfe

@ -26,6 +26,11 @@ class AttachAffectedOrders
$order->affected_orders = $affected_orders;
return $order;
}
//护工没换
if ($order->paramedic_id == $from_paramedic) {
$order->affected_orders = $affected_orders;
return $order;
}
//更换护工查询从原护工手上退出订单后原护工的其他订单是否变成了1对1
if ($from_paramedic) {

@ -623,7 +623,8 @@ class OrdersController extends CommonController
}
//更新订单基本信息
$update = (new Orders())->filterRequestColumns(request(), ["id", "paramedic_id"]);
$from_paramedic = $order->paramedic_id;
$update = (new Orders())->filterRequestColumns(request(), ["id"]);
if (request()->has("contact", "patient_name") && !request()->contact) {
$update["contact"] = request()->patient_name;
}
@ -635,13 +636,16 @@ class OrdersController extends CommonController
}
$order->update($update);
//更换护工的处理
if ($order->isOngoing()) {
//正在进行中的订单修改子订单
if ($order->isOngoing() && request()->available_day == "today") {
$res = (new OrderItems())->updateTodayItem($order->id);
if (!$res["status"]) {
return response()->json([
"errorcode" => "103",
"errormsg" => request()->available_day
"errormsg" => $res["msg"]
]);
}
}
//如果原本的护工id为空且新提交了护工id视同为派单
if ($order->isPending() && request()->paramedic_id) {
@ -650,10 +654,10 @@ class OrdersController extends CommonController
"status" => Orders::STATUS_ONGOING
]);
event(new OrderAssigned($order));
$order = (new AttachAffectedOrders)($order);
}
DB::commit();
$order = (new AttachAffectedOrders)($order, $from_paramedic);
return response()->json($order->toArray());
} catch (\Exception $exception) {
DB::rollBack();

@ -112,6 +112,50 @@ class OrderItems extends SoftDeletesModel
return $this->create($order_item);
}
public function updateTodayItem($order_id)
{
$service_date = date("Y-m-d");
$record = (new OrderItems())->where([
"order_id" => $order_id,
"service_date" => $service_date
])->first();
if (!$record) {
return [
"status" => 0,
"msg" => "没找到当日子订单"
];
}
if ($record->paid_at) {
return [
"status" => 0,
"msg" => "当日子订单已扣款,请移步至子订单修改"
];
}
$order = (new Orders())->find($order_id);
$patient_quantity = (new Orders())
->where("status", Orders::STATUS_ONGOING)
->where("paramedic_id", $order->paramedic_id)
->count();
$update = [
"product_item_id" => $order->product_item_id,
"product_paramedic_level_id" => $order->product_paramedic_level_id,
"bed_id" => $order->bed_id,
"paramedic_id" => $order->paramedic_id,
"patient_quantity" => $patient_quantity,
"total" => $order->price,
"factors" => $order->factors
];
$record->update($update);
return [
"status" => 1,
"msg" => "当日子订单同步成功"
];
}
public function calculateFee()
{
$factors = json_decode($this->factors);

Loading…
Cancel
Save