weizong song 5 years ago
parent b30ffaacc2
commit 8ea1695390

@ -129,10 +129,11 @@ class OrdersController extends CommonController
/** /**
* @OA\Get( * @OA\Get(
* path="/manager/get-orders", * path="/manager/get-projcet-orders/{project_id}",
* summary="获取订单列表", * summary="V2-获取订单列表",
* description="获取订单列表", * description="获取订单列表",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), * @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="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="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="每页数量默认为5"),
@ -181,22 +182,20 @@ class OrdersController extends CommonController
$pageLength = request()->pageLength ? (int)request()->pageLength : 5; $pageLength = request()->pageLength ? (int)request()->pageLength : 5;
$data = $data $data = $data
->with([ ->with([
"project", "patient" => function ($query) {
"product", $query->select("id", "customer_id", "name", "sex", "age");
"customer", },
"manager",
"patient",
"productItem", "productItem",
"productParamedicLevel", "productParamedicLevel",
"bed" => function ($query) { "bed" => function ($query) {
$query->with(["room", "building"]); $query->with(["room", "building"])->select("id", "room_id", "building_id");
}, },
"paramedic", "paramedic" => function ($query) {
"handlingApprovalItem" => function ($query) { $query->select();
$query->with("approval");
} }
]) ])
->orderBy("id", "desc") ->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); ->paginate($pageLength);
foreach ($data as $order) { foreach ($data as $order) {
$order = $order->refreshTotal(); $order = $order->refreshTotal();

@ -11,12 +11,11 @@ class TrainingController extends CommonController
/** /**
* @OA\Get( * @OA\Get(
* path="/manager/get-videos", * path="/manager/get-videos",
* summary="获取视频列表", * summary="V2-获取视频列表",
* description="获取视频列表", * 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="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="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( * @OA\Response(
* response="200", * response="200",
* description="获取视频列表" * description="获取视频列表"
@ -37,9 +36,33 @@ class TrainingController extends CommonController
}); });
}); });
} }
$pageLength = request()->pageLength ? (int)request()->pageLength : 5; $pageLength = request()->pageLength ? (int)request()->pageLength : 3;
$data = $data->paginate($pageLength); $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()); 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() public function refreshTotal()
{ {
$order_items = $this->orderItems()->get();
switch ($this->status) { switch ($this->status) {
case self::STATUS_UNCONFIRMED: case self::STATUS_UNCONFIRMED:
case self::STATUS_UNASSIGNED: case self::STATUS_UNASSIGNED:
case self::STATUS_ONGOING: case self::STATUS_ONGOING:
default: default:
$items_total = $this->orderItems->sum("total"); $items_total = $order_items->sum("total");
$price = $this->price; $price = $this->price;
if ($this->lastItem) { if ($order_items->last()) {
$days = max(0, Carbon::parse($this->lastItem->service_date)->diffInDays($this->to_date, false)); $days = max(0, Carbon::parse($order_items->last()->service_date)->diffInDays($this->to_date, false));
} else { } else {
$days = max(0, Carbon::parse($this->from_date)->diffInDays($this->to_date, false) + 1); $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"); $total = $this->orderItems()->sum("total");
} }
if ($this->orderItems->last()) { if ($order_items->last()) {
if (!$this->to_date || Carbon::parse($this->to_date)->diffInDays($this->orderItems->last()->service_date, false) > 0) { if (!$this->to_date || Carbon::parse($this->to_date)->diffInDays($order_items->last()->service_date, false) > 0) {
$this->to_date = $this->orderItems->last()->service_date; $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; return $item->paid_at;
})->sum("total"); })->sum("total");

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

Loading…
Cancel
Save