新增处方详情接口
This commit is contained in:
@@ -13,10 +13,12 @@ use App\Model\DoctorBankCard;
|
||||
use App\Model\DoctorExpertise;
|
||||
use App\Model\DoctorInquiryConfig;
|
||||
use App\Model\DoctorWord;
|
||||
use App\Model\InquiryCaseProduct;
|
||||
use App\Model\OrderEvaluation;
|
||||
use App\Model\OrderInquiry;
|
||||
use App\Model\OrderInquiryCase;
|
||||
use App\Model\OrderPrescription;
|
||||
use App\Model\OrderProductItem;
|
||||
use App\Model\User;
|
||||
use App\Model\UserDoctor;
|
||||
use App\Model\UserDoctorInfo;
|
||||
@@ -791,17 +793,82 @@ class UserDoctorService extends BaseService
|
||||
{
|
||||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||||
|
||||
$order_prescription_id = $this->request->route('order_prescription_id');
|
||||
$order_inquiry_id = $this->request->input('order_inquiry_id');
|
||||
$order_prescription_id = $this->request->input('order_prescription_id');
|
||||
|
||||
// 获取医生信息
|
||||
$params = array();
|
||||
$params['doctor_id'] = $user_info['client_user_id'];
|
||||
|
||||
$fields = [
|
||||
'doctor_id',
|
||||
'iden_auth_status',
|
||||
'idcard_status',
|
||||
'multi_point_status',
|
||||
];
|
||||
$user_doctor = UserDoctor::getOne($params, $fields);
|
||||
if (empty($user_doctor)) {
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "非法医生");
|
||||
}
|
||||
|
||||
$res = $this->checkDoctorAuth($user_doctor);
|
||||
if ($res !== true) {
|
||||
return fail(HttpEnumCode::HTTP_ERROR, $res);
|
||||
}
|
||||
|
||||
// 获取患者病例表
|
||||
$fields = [
|
||||
'inquiry_case_id',
|
||||
'name',
|
||||
'sex',
|
||||
'age',
|
||||
'disease_desc',
|
||||
];
|
||||
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry_id;
|
||||
$params['status'] = 1;
|
||||
$order_inquiry_case = OrderInquiryCase::getOne($params,$fields);
|
||||
if (empty($order_inquiry_case)){
|
||||
return fail(HttpEnumCode::HTTP_ERROR,"患者病例信息错误");
|
||||
}
|
||||
|
||||
// 获取用药意向
|
||||
$CaseService = new CaseService();
|
||||
$inquiry_case_product = $CaseService->getCaseProductlist($order_inquiry_case['inquiry_case_id']);
|
||||
|
||||
if (!empty($order_prescription_id)){
|
||||
// 获取处方数据
|
||||
$params = array();
|
||||
$params['order_prescription_id'] = $order_prescription_id;
|
||||
$order_prescription = OrderPrescription::getOne($params);
|
||||
if (empty($order_prescription)){
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 订单-商品订单列表
|
||||
$OrderPrescriptionService = new OrderPrescriptionService();
|
||||
$order_product_items = $OrderPrescriptionService->getproductList($order_inquiry_id,$order_prescription_id);
|
||||
}
|
||||
|
||||
$result = array();
|
||||
$result['inquiry_case_product'] = $inquiry_case_product;// 用药意向
|
||||
$result['order_product_items'] = $order_product_items ?? [];// 开方药品
|
||||
$result['case'] = $order_inquiry_case;// 病例数据
|
||||
$result['prescription']['doctor_advice'] = $order_prescription['doctor_advice'] ?? "";// 医嘱
|
||||
|
||||
return success($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测医生身份认证
|
||||
* @param object|array $user_doctor 医生表数据
|
||||
* @param bool $is_iden_auth 是否检测身份认证
|
||||
* @param bool $is_idcard 是否检测实名认证
|
||||
* @param bool $is_multi_point 是否检测多点执业认证
|
||||
* @return bool|string string:错误信息 bool:通过
|
||||
*/
|
||||
public function checkDoctorAuth(object|array $user_doctor): bool|string
|
||||
public function checkDoctorAuth(object|array $user_doctor,bool $is_iden_auth = true,bool $is_idcard = true,bool $is_multi_point = true): bool|string
|
||||
{
|
||||
if (empty($user_doctor)){
|
||||
throw new BusinessException();
|
||||
|
||||
Reference in New Issue
Block a user