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) {

@ -35,7 +35,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-projects",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2 获取医院列表",
* description="获取医院列表",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -60,7 +60,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-care-product/{project_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取产品详情",
* description="获取产品详情",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -98,7 +98,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-project-orders-count/{project_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取医院订单数量角标",
* description="获取医院订单数量角标",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -124,7 +124,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-projcet-orders/{project_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取订单列表",
* description="获取订单列表",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -181,7 +181,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-order/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取订单详情",
* description="获取订单详情",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -226,7 +226,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-order-item/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取子订单详情",
* description="获取子订单详情",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -321,7 +321,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-project-areas/{project_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取医院病区",
* description="获取医院病区",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -350,7 +350,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-area-beds/{area_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-根据病区获取病床",
* description="根据病区获取病床",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -378,7 +378,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-available-paramedics",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取可用护工列表(已基本准确,需进一步打磨)",
* description="获取可用护工列表",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -402,7 +402,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/create-patient",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-创建被护理人",
* description="创建被护理人",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -431,7 +431,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/create-order",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-创建订单",
* description="创建订单",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -534,7 +534,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/update-order/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-订单修改(静态修改不影响当前所有子订单)",
* description="订单修改",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -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,12 +636,15 @@ class OrdersController extends CommonController
}
$order->update($update);
//更换护工的处理
if ($order->isOngoing()) {
return response()->json([
"errorcode" => "103",
"errormsg" => request()->available_day
]);
//正在进行中的订单修改子订单
if ($order->isOngoing() && request()->available_day == "today") {
$res = (new OrderItems())->updateTodayItem($order->id);
if (!$res["status"]) {
return response()->json([
"errorcode" => "103",
"errormsg" => $res["msg"]
]);
}
}
//如果原本的护工id为空且新提交了护工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();
@ -667,7 +671,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/update-order-items",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-子订单修改(覆盖单条修改)",
* description="子订单修改",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -811,7 +815,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/checkout-order-items/{order_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-中途结算(即只依次结算子订单,并不结束订单,只需余额刚好)",
* description="交互流程如下初次请求带上just_check参数将返回to_recharge_total值如果to_recharge_total大于0表示需要充值充值完成之后去除just_check参数再次提交如果to_recharge_total <= 0直接去除just_check参数再次提交",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -986,7 +990,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/checkout-order/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-订单结算",
* description="交互流程如下初次请求带上just_check参数将返回to_recharge_total和to_refund_total值仅在to_recharge_total和to_refund_total都为0的情况下才可以结算成功如果to_recharge_total大于0表示需要充值充值完成之后剔除just_check参数再次提交如果to_refund_total大于0表示需要退款根据返回的退款方式操作后剔除just_check参数再次提交",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -1221,7 +1225,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/scan-pay/{order_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-扫用户支付码收款",
* description="扫用户支付码收款",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -1360,7 +1364,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/cancel-order/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-取消订单",
* description="取消订单",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -1402,7 +1406,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/get-balance/{customer_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="获取用户余额",
* description="获取用户余额",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -1430,7 +1434,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/recharge-for-order/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-现金或pos刷卡充值",
* description="现金或pos刷卡充值",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -1510,7 +1514,7 @@ class OrdersController extends CommonController
/**
* @OA\POST(
* path="/manager/refund-for-order/{id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-退款",
* description="退款",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
@ -1590,7 +1594,7 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-project-paramedic-levels/{project_id}",
* tags={"管理端订单处理"},
* tags={"管理端订单处理"},
* summary="V2-获取医院护工等级",
* description="获取医院护工等级",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),

@ -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