Files
hospital-applets-api/app/Services/OrderPrescriptionService.php
T
2023-03-01 13:52:06 +08:00

97 lines
3.4 KiB
PHP

<?php
namespace App\Services;
use App\Model\OrderPrescription;
use App\Model\OrderProductItem;
use Hyperf\Contract\LengthAwarePaginatorInterface;
class OrderPrescriptionService extends BaseService
{
/**
* 获取医生是否存在被驳回处方
* @param string $doctor_id 医生id
* @return bool
*/
public function getDoctorExistsAuditFail(string $doctor_id): bool
{
$params = array();
$params['doctor_id'] = $doctor_id;
$params['pharmacist_audit_status'] = 2;// 处方审核状态(0:审核中 1:审核成功 2:审核驳回)
$params['platform_audit_status'] = 1;// 处方平台审核状态(0:审核中 1:审核成功 2:审核驳回)
$params['is_delete'] = 0;// 是否删除(0:否 1:是)
return OrderPrescription::getExists($params);
}
/**
* 获取药师待审核处方-分页-存在问题,需修改
* @param string $pharmacist_id 药师id
* @return array
*/
public function getPharmacistWaitAuditPage(string $pharmacist_id): array
{
$params = array();
$params['pharmacist_id'] = $pharmacist_id;
$params['pharmacist_audit_status'] = 0; //处方审核状态(0:审核中 1:审核成功 2:审核驳回)
// $fields = [
// "order_prescription_id",
// "order_inquiry_id",
// "doctor_id",
// "pharmacist_id",
// "prescription_status",
// "pharmacist_audit_status",
// "is_delete",
// "is_pass",
// "prescription_code",
// "not_pass_reason",
// "audit_fail_reason",
// "doctor_name",
// "patient_name",
// "patient_sex",
// "patient_age",
// "created_at",
// ];
$fields = [];
$page = $this->request->input('page', 1);
$per_page = $this->request->input('per_page', 10);
return OrderPrescription::getPage($params, $fields);
}
/**
* 获取处方订单中开方商品数据
* @param string|int $order_inquiry_id
* @param string|int $order_prescription_id
* @return array
*/
public function getproductList(string|int $order_inquiry_id ,string|int $order_prescription_id): array
{
$params = array();
$params['order_inquiry_id'] = $order_inquiry_id;
$params['order_prescription_id'] = $order_prescription_id;
$order_product_items = OrderProductItem::getWithProductList($params);
if(empty($order_product_items)){
return [];
}
$result = [];
foreach ($order_product_items as $order_product_item){
$data = array();
$data['product_item_id'] = $order_product_item['product_item_id'];
$data['product_id'] = $order_product_item['product_id'];
$data['amount'] = $order_product_item['amount'];
$data['product_cover_img'] = addAliyunOssWebsite($order_product_item['product_cover_img']);
$data['single_unit'] = $order_product_item['Product']['single_unit'];
$data['single_use'] = $order_product_item['Product']['single_use'];
$data['packaging_unit'] = $order_product_item['Product']['packaging_unit'];
$data['frequency_use'] = $order_product_item['Product']['frequency_use'];
$result[] = $data;
}
unset($order_product_items);
return $result;
}
}