weizong song 5 years ago
parent f56fe91f4b
commit 71818c2548

@ -2124,78 +2124,6 @@ class OrdersController extends CommonController
return response()->json($paramedic_levels->toArray());
}
/**
* @OA\POST(
* path="/manager/create-paramedic",
* summary="V2-新增护工",
* description="",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="project_id", in="query", @OA\Schema(type="integer"), required=true, description="医院/项目ID"),
* @OA\Parameter(name="name", in="query", @OA\Schema(type="string"), required=true, description="姓名"),
* @OA\Parameter(name="avatar", in="query", @OA\Schema(type="string"), required=true, description="头像图片路径图片路径获取参见upload-image接口"),
* @OA\Parameter(name="id_card_number", in="query", @OA\Schema(type="string"), required=true, description="身份证号"),
* @OA\Parameter(name="mobile", in="query", @OA\Schema(type="string"), required=true, description="手机号码"),
* @OA\Parameter(name="join_at", in="query", @OA\Schema(type="string"), required=true, description="入职日期"),
* @OA\Parameter(name="work_years", in="query", @OA\Schema(type="string"), required=true, description="护理经验年限"),
* @OA\Parameter(name="paramedic_level_id", in="query", @OA\Schema(type="integer"), required=true, description="项目护工级别ID"),
* @OA\Parameter(name="bank", in="query", @OA\Schema(type="string"), required=false, description="开户行"),
* @OA\Parameter(name="account", in="query", @OA\Schema(type="string"), required=false, description="银行卡号"),
* @OA\Parameter(name="idcard_front", in="query", @OA\Schema(type="integer"), required=false, description="身份证正面图片ID"),
* @OA\Parameter(name="idcard_back", in="query", @OA\Schema(type="integer"), required=false, description="身份证反面图片ID"),
* @OA\Parameter(name="has_health_certificate", in="query", @OA\Schema(type="integer"), required=true, description="是否持有健康证"),
* @OA\Parameter(name="has_work_certificate", in="query", @OA\Schema(type="integer"), required=true, description="是否是有技能资格证"),
* @OA\Response(
* response="200",
* description="新增护工"
* )
* )
*/
public function createParamedic(Request $request)
{
if (!$request->id_card_number) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "身份证号不可以为空"
]);
}
if (!InfoHelper::identityCard()->validate($request->id_card_number)) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "身份证号不正确"
]);
}
$birthday = InfoHelper::identityCard()->birthday($request->id_card_number);
$sex = InfoHelper::identityCard()->sex($request->id_card_number);
switch ($sex) {
case "M":
$sex = "男";
break;
case "F":
$sex = "女";
break;
default:
//do nothing
}
$paramedic = (new Paramedic())->where("id_card_number", $request->id_card_number)->first();
if ($paramedic) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "已存在相同身份证号的护工"
]);
}
$data = (new Paramedic())->filterRequestColumns($request);
$data["birthday"] = $birthday;
$data["sex"] = $sex;
$data["creator_type"] = get_class($this->manager);
$data["creator_id"] = $this->manager->id;
$res = (new Paramedic())->create($data);
return response()->json($res);
}
/**
* @OA\POST(
* path="/manager/upload-image",

@ -0,0 +1,167 @@
<?php
namespace App\Http\Controllers\Manager;
use AlicFeng\IdentityCard\InfoHelper;
use App\Models\Paramedic;
use Illuminate\Http\Request;
class ParamedicController extends CommonController
{
/**
* @OA\POST(
* path="/manager/create-paramedic",
* summary="V2-新增护工",
* description="",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="project_id", in="query", @OA\Schema(type="integer"), required=true, description="医院/项目ID"),
* @OA\Parameter(name="name", in="query", @OA\Schema(type="string"), required=true, description="姓名"),
* @OA\Parameter(name="avatar", in="query", @OA\Schema(type="string"), required=true, description="头像图片路径图片路径获取参见upload-image接口"),
* @OA\Parameter(name="id_card_number", in="query", @OA\Schema(type="string"), required=true, description="身份证号"),
* @OA\Parameter(name="mobile", in="query", @OA\Schema(type="string"), required=true, description="手机号码"),
* @OA\Parameter(name="join_at", in="query", @OA\Schema(type="string"), required=true, description="入职日期"),
* @OA\Parameter(name="work_years", in="query", @OA\Schema(type="string"), required=true, description="护理经验年限"),
* @OA\Parameter(name="paramedic_level_id", in="query", @OA\Schema(type="integer"), required=true, description="项目护工级别ID"),
* @OA\Parameter(name="bank", in="query", @OA\Schema(type="string"), required=false, description="开户行"),
* @OA\Parameter(name="account", in="query", @OA\Schema(type="string"), required=false, description="银行卡号"),
* @OA\Parameter(name="idcard_front", in="query", @OA\Schema(type="integer"), required=false, description="身份证正面图片ID"),
* @OA\Parameter(name="idcard_back", in="query", @OA\Schema(type="integer"), required=false, description="身份证反面图片ID"),
* @OA\Parameter(name="has_health_certificate", in="query", @OA\Schema(type="integer"), required=true, description="是否持有健康证"),
* @OA\Parameter(name="has_work_certificate", in="query", @OA\Schema(type="integer"), required=true, description="是否是有技能资格证"),
* @OA\Response(
* response="200",
* description="新增护工"
* )
* )
*/
public function createParamedic(Request $request)
{
if (!$request->id_card_number) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "身份证号不可以为空"
]);
}
if (!InfoHelper::identityCard()->validate($request->id_card_number)) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "身份证号不正确"
]);
}
$birthday = InfoHelper::identityCard()->birthday($request->id_card_number);
$sex = InfoHelper::identityCard()->sex($request->id_card_number);
switch ($sex) {
case "M":
$sex = "男";
break;
case "F":
$sex = "女";
break;
default:
//do nothing
}
$paramedic = (new Paramedic())->where("id_card_number", $request->id_card_number)->withTrashed()->first();
if ($paramedic) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "已存在相同身份证号的护工"
]);
}
$data = (new Paramedic())->filterRequestColumns($request);
$data["birthday"] = $birthday;
$data["sex"] = $sex;
$data["creator_type"] = get_class($this->manager);
$data["creator_id"] = $this->manager->id;
$res = (new Paramedic())->create($data);
return response()->json($res);
}
/**
* @OA\POST(
* path="/manager/delete-paramedic/{id}",
* summary="V2-护工离职(删除护工)",
* description="",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="护工ID"),
* @OA\Response(
* response="200",
* description="护工离职"
* )
* )
*/
public function deleteParamedic($id)
{
$paramedic = (new Paramedic())->find($id);
$paramedic->delete();
return response()->json($paramedic);
}
/**
* @OA\POST(
* path="/manager/toggle-paramedic/{id}",
* summary="V2-护工状态切换(正常与请假两个状态)",
* description="",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="护工ID"),
* @OA\Response(
* response="200",
* description="护工离职"
* )
* )
*/
public function toggleParamedic($id)
{
$paramedic = (new Paramedic())->find($id);
$paramedic->toggle();
return response()->json($paramedic);
}
/**
* @OA\POST(
* path="/manager/update-paramedic/{id}",
* summary="V2-新增护工",
* description="",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="护工ID"),
* @OA\Parameter(name="project_id", in="query", @OA\Schema(type="integer"), required=true, description="医院/项目ID"),
* @OA\Parameter(name="name", in="query", @OA\Schema(type="string"), required=true, description="姓名"),
* @OA\Parameter(name="avatar", in="query", @OA\Schema(type="string"), required=true, description="头像图片路径图片路径获取参见upload-image接口"),
* @OA\Parameter(name="mobile", in="query", @OA\Schema(type="string"), required=true, description="手机号码"),
* @OA\Parameter(name="join_at", in="query", @OA\Schema(type="string"), required=true, description="入职日期"),
* @OA\Parameter(name="work_years", in="query", @OA\Schema(type="string"), required=true, description="护理经验年限"),
* @OA\Parameter(name="paramedic_level_id", in="query", @OA\Schema(type="integer"), required=true, description="项目护工级别ID"),
* @OA\Parameter(name="bank", in="query", @OA\Schema(type="string"), required=false, description="开户行"),
* @OA\Parameter(name="account", in="query", @OA\Schema(type="string"), required=false, description="银行卡号"),
* @OA\Parameter(name="idcard_front", in="query", @OA\Schema(type="integer"), required=false, description="身份证正面图片ID"),
* @OA\Parameter(name="idcard_back", in="query", @OA\Schema(type="integer"), required=false, description="身份证反面图片ID"),
* @OA\Parameter(name="has_health_certificate", in="query", @OA\Schema(type="integer"), required=true, description="是否持有健康证"),
* @OA\Parameter(name="has_work_certificate", in="query", @OA\Schema(type="integer"), required=true, description="是否是有技能资格证"),
* @OA\Response(
* response="200",
* description="修改护工"
* )
* )
*/
public function updateParamedic($id, Request $request)
{
if ($request->id_card_number) {
return response()->json([
"errorcode" => "99999",
"errormsg" => "身份证号码不可修改"
]);
}
$paramedic = (new Paramedic())->find($id);
$data = (new Paramedic())->filterRequestColumns($request, ["id"]);
$paramedic->update($data);
return response()->json($paramedic);
}
}

@ -7,15 +7,30 @@ use App\Scopes\AdminProjectScope;
class Paramedic extends SoftDeletesModel
{
protected $table = "paramedic";
public $appends = ["avatar_url", "age"];
const STATUS_ACTIVE = 1;
public $appends = ["avatar_url", "age", "status_name"];
const STATUS_ACTIVE = "active";
const STATUS_INACTIVE = "inactive";
const TEXT_ACTIVE = "正常";
const TEXT_INACTIVE = "请假";
protected static function booted()
{
static::addGlobalScope(new AdminProjectScope());
}
public function getStatusNameAttribute() {
$status_name = $this->status;
switch ($this->status) {
case self::STATUS_ACTIVE:
$status_name = self::TEXT_ACTIVE;
break;
case self::STATUS_INACTIVE:
$status_name = self::TEXT_INACTIVE;
break;
}
return $status_name;
}
public function getAvatarUrlAttribute()
{
$protocol = request()->secure() ? "https" : "http";
@ -32,9 +47,10 @@ class Paramedic extends SoftDeletesModel
return $this->avatar ? $protocol . "://" . request()->getHost() . $this->avatar : $this->avatar;
}
public function getAgeAttribute() {
if (date("Y-m-d",strtotime($this->birthday)) == $this->birthday) {
return date("Y") - date("Y",strtotime($this->birthday));
public function getAgeAttribute()
{
if (date("Y-m-d", strtotime($this->birthday)) == $this->birthday) {
return date("Y") - date("Y", strtotime($this->birthday));
}
return "";
}
@ -54,8 +70,9 @@ class Paramedic extends SoftDeletesModel
return $this->belongsTo(ParamedicLevel::class, "paramedic_level_id", "id");
}
public function levelInProject() {
return $this->hasOneThrough(ProductParamedicLevel::class, ParamedicLevel::class,"id","paramedic_level_id","paramedic_level_id","id");
public function levelInProject()
{
return $this->hasOneThrough(ProductParamedicLevel::class, ParamedicLevel::class, "id", "paramedic_level_id", "paramedic_level_id", "id");
}
public function orders()

@ -14,7 +14,7 @@ class UpdateParamedicAddStatus extends Migration
public function up()
{
Schema::table("paramedic", function (Blueprint $table) {
$table->string("status")->default(1);
$table->string("status")->default("active");
});
}

@ -0,0 +1,18 @@
<?php
use Illuminate\Database\Seeder;
class UpdateParamedicStatus extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\App\Models\Paramedic::where("status", 1)->withTrashed()->update([
"status" => (string)\App\Models\Paramedic::STATUS_ACTIVE
]);
}
}

@ -128,6 +128,11 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () {
Route::get('get-video/{id}', 'TrainingController@getVideo');
Route::group(['middleware' => ['authorize.jwt:manager']], function () {
Route::post('create-paramedic', 'ParamedicController@createParamedic');
Route::post('update-paramedic/{id}', 'ParamedicController@updateParamedic');
Route::post('delete-paramedic/{id}', 'ParamedicController@deleteParamedic');
Route::post('toggle-paramedic/{id}', 'ParamedicController@toggleParamedic');
Route::post('me', 'AuthController@me');
Route::get('get-projects', 'OrdersController@getProjects');
Route::get('get-notifications', 'AuthController@getNotifications');
@ -141,6 +146,7 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () {
Route::get('get-project-paramedic-levels/{project_id}', 'OrdersController@getProjectParamedicLevels');
Route::get('get-project-areas/{project_id}', 'OrdersController@getProjectAreas');
Route::get('get-area-beds/{area_id}', 'OrdersController@getAreaBeds');
Route::post('upload-image', 'OrdersController@uploadImage');
Route::post('create-patient', 'OrdersController@createPatient');
Route::post('create-order', 'OrdersController@createOrder');
Route::post('scan-pay/{order_id}', 'OrdersController@scanPay');
@ -164,8 +170,6 @@ Route::group(["namespace" => "Manager", "prefix" => "manager"], function () {
Route::post('get-balance/{customer_id}', 'OrdersController@getBalance');
Route::post('recharge-for-order/{id}', 'OrdersController@rechargeForOrder');
Route::post('refund-for-order/{id}', 'OrdersController@refundForOrder');
Route::post('create-paramedic', 'OrdersController@createParamedic');
Route::post('upload-image', 'OrdersController@uploadImage');
Route::get('statistics/beds', 'StatisticsController@beds');
});
});

Loading…
Cancel
Save