weizong song 5 years ago
parent b30ffaacc2
commit 8ea1695390

@ -129,10 +129,11 @@ class OrdersController extends CommonController
/**
* @OA\Get(
* path="/manager/get-orders",
* summary="获取订单列表",
* path="/manager/get-projcet-orders/{project_id}",
* summary="V2-获取订单列表",
* description="获取订单列表",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="project_id", in="path", @OA\Schema(type="integer"), required=false, description="医院ID"),
* @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=false, description="查询关键词"),
* @OA\Parameter(name="page", in="query", @OA\Schema(type="integer"), required=false, description="当前页码默认为1"),
* @OA\Parameter(name="pageLength", in="query", @OA\Schema(type="integer"), required=false, description="每页数量默认为5"),
@ -181,22 +182,20 @@ class OrdersController extends CommonController
$pageLength = request()->pageLength ? (int)request()->pageLength : 5;
$data = $data
->with([
"project",
"product",
"customer",
"manager",
"patient",
"patient" => function ($query) {
$query->select("id", "customer_id", "name", "sex", "age");
},
"productItem",
"productParamedicLevel",
"bed" => function ($query) {
$query->with(["room", "building"]);
$query->with(["room", "building"])->select("id", "room_id", "building_id");
},
"paramedic",
"handlingApprovalItem" => function ($query) {
$query->with("approval");
"paramedic" => function ($query) {
$query->select();
}
])
->orderBy("id", "desc")
->select("id", "serial", "customer_id", "patient_id", "project_id", "product_id", "manager_id", "from_date", "to_date", "remark", "status", "contact", "mobile", "price", "patient_quantity")
->paginate($pageLength);
foreach ($data as $order) {
$order = $order->refreshTotal();

@ -11,12 +11,11 @@ class TrainingController extends CommonController
/**
* @OA\Get(
* path="/manager/get-videos",
* summary="获取视频列表",
* summary="V2-获取视频列表",
* description="获取视频列表",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=false, description="查询关键词"),
* @OA\Parameter(name="page", in="query", @OA\Schema(type="integer"), required=false, description="当前页码默认为1"),
* @OA\Parameter(name="pageLength", in="query", @OA\Schema(type="integer"), required=false, description="每页数量,默认为5"),
* @OA\Parameter(name="pageLength", in="query", @OA\Schema(type="integer"), required=false, description="每页数量,默认为3"),
* @OA\Response(
* response="200",
* description="获取视频列表"
@ -37,9 +36,33 @@ class TrainingController extends CommonController
});
});
}
$pageLength = request()->pageLength ? (int)request()->pageLength : 5;
$data = $data->paginate($pageLength);
$pageLength = request()->pageLength ? (int)request()->pageLength : 3;
$data = $data->with(["type" => function ($query) {
$query->select("id", "name");
}])->select("id", "type_id", "title", "poster", "video", "published_at")->orderBy("published_at")->paginate($pageLength);
return response()->json($data->toArray());
}
/**
* @OA\Get(
* path="/manager/get-video/{id}",
* summary="V2-获取单条视频数据",
* description="获取单条视频数据",
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="视频内容ID"),
* @OA\Response(
* response="200",
* description="获取单条视频数据"
* )
* )
*/
public function getVideo($id)
{
$video = Training::with(["type" => function ($query) {
$query->select("id", "name");
}])->select("id", "type_id", "title", "poster", "video", "published_at")->find($id);
return response()->json($video->toArray());
}
}

@ -242,15 +242,17 @@ class Orders extends SoftDeletesModel
public function refreshTotal()
{
$order_items = $this->orderItems()->get();
switch ($this->status) {
case self::STATUS_UNCONFIRMED:
case self::STATUS_UNASSIGNED:
case self::STATUS_ONGOING:
default:
$items_total = $this->orderItems->sum("total");
$items_total = $order_items->sum("total");
$price = $this->price;
if ($this->lastItem) {
$days = max(0, Carbon::parse($this->lastItem->service_date)->diffInDays($this->to_date, false));
if ($order_items->last()) {
$days = max(0, Carbon::parse($order_items->last()->service_date)->diffInDays($this->to_date, false));
} else {
$days = max(0, Carbon::parse($this->from_date)->diffInDays($this->to_date, false) + 1);
}
@ -261,13 +263,13 @@ class Orders extends SoftDeletesModel
$total = $this->orderItems()->sum("total");
}
if ($this->orderItems->last()) {
if (!$this->to_date || Carbon::parse($this->to_date)->diffInDays($this->orderItems->last()->service_date, false) > 0) {
$this->to_date = $this->orderItems->last()->service_date;
if ($order_items->last()) {
if (!$this->to_date || Carbon::parse($this->to_date)->diffInDays($order_items->last()->service_date, false) > 0) {
$this->to_date = $order_items->last()->service_date;
}
}
$paid_total = $this->orderItems->filter(function ($item) {
$paid_total = $order_items->filter(function ($item) {
return $item->paid_at;
})->sum("total");

@ -126,6 +126,7 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () {
Route::post('login-by-code', 'AuthController@loginByCode');
Route::post('login-by-username', 'AuthController@loginByUsername');
Route::get('get-videos', 'TrainingController@index');
Route::get('get-video/{id}', 'TrainingController@getVideo');
Route::group(['middleware' => ['authorize.jwt:manager']], function () {
Route::get('get-projects', 'OrdersController@getProjects');
@ -135,7 +136,7 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () {
Route::get('get-badges', 'OrdersController@getBadges');
Route::post('create-patient', 'OrdersController@createPatient');
Route::post('create-order', 'OrdersController@createOrder');
Route::get('get-orders', 'OrdersController@list');
Route::get('get-project-orders/{project_id}', 'OrdersController@list');
Route::get('get-order/{id}', 'OrdersController@getOrder');
Route::get('get-beds-by-project/{id}', 'OrdersController@getBedsByProject');
Route::get('get-approvals', 'OrdersController@getApprovals');

Loading…
Cancel
Save