This commit is contained in:
wucongxing 2023-03-31 09:27:59 +08:00
parent 31f94fef18
commit 8be42f20f0
7 changed files with 27 additions and 148 deletions

View File

@ -9,6 +9,7 @@ use App\Exception\BusinessException;
use App\Model\DoctorInquiryTime;
use App\Model\DoctorPharmacistCert;
use App\Model\OrderInquiry;
use App\Model\OrderPrescription;
use App\Model\UserDoctor;
use App\Services\ImService;
use App\Services\MessagePush;
@ -505,153 +506,21 @@ class TestController extends AbstractController
public function test_11(){
$oss = new Oss();
$filename = "basic/file/prescription.jpg";
$sign_image = $oss->getObjectToRAM($filename);
$manager = new ImageManager();
$image = $manager->make($sign_image);
$fontPath = './extend/Ca/ZiYuYongSongTi-2.ttf';
// 处方号
$image->text('1234567890', 1480, 540, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 日期
$image->text('2023-03-21', 354, 675, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 科室
$image->text('测试科室1', 1385, 675, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 姓名
$image->text('测试姓名', 354, 795, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 性别
$image->text('男', 1385, 790, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 年龄
$image->text('19', 354, 900, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 过敏史
$image->text('对阿莫西林过敏对阿莫西林过敏', 405, 1030, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 初步诊断
$image->text('对阿莫西林过敏对阿莫西林过敏', 445, 1145, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
// 医生建议
$image->text('没有建议', 445, 1252, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
$data = array();
$data['product'] = [
[
"product_name" => "感冒药150ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
"prescription_product_num" => "X1盒",
],
[
"product_name" => "感冒药250ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
"prescription_product_num" => "X1盒",
],
[
"product_name" => "感冒药350ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
"prescription_product_num" => "X1盒",
],
[
"product_name" => "感冒药450ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
"prescription_product_num" => "X1盒",
],
[
"product_name" => "感冒药550ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
"prescription_product_num" => "X1盒",
],
];
// 用药
foreach ($data['product'] as $key => $item){
$x_axis = 229;
$y_axis = 1600 + $key * 250;
$x_axis_num = 1900;// 数量使用
$image->text($item['product_name'], $x_axis, $y_axis, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(50);
$font->align('left');
});
$image->text("X1盒", $x_axis_num, $y_axis, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(50);
$font->align('left');
});
$image->text("用量:" . $item['single_unit'] . " " . $item['frequency_use'], $x_axis, $y_axis+70, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(50);
$font->align('left');
});
$image->text("用法:" . $item['single_use'], $x_axis, $y_axis+140, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(50);
$font->align('left');
});
$OrderPrescriptionService = new OrderPrescriptionService();
$prescription_img = $OrderPrescriptionService->openPrescription($order_prescription->order_prescription_id,$user_info['user_id']);
if (empty($prescription_img)){
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "处方开具失败");
}
// 将处理后的图片重新保存到其他路径
$image->save('./runtime/2.jpg');
// 修改处方表
$data = array();
$data['prescription_img'] = $prescription_img;
$data['doctor_created_time'] = date('Y-m-d H:i:s',time());
$params = array();
$params['order_prescription_id'] = $order_prescription->order_prescription_id;
OrderPrescription::edit($params,$data);
}
}

View File

@ -141,7 +141,7 @@ class PatientHistoryInquiry extends Model
public static function getIndexHistoryDoctorList(array $params, array $fields = ["*"]): Collection|array|\Hyperf\Utils\Collection
{
return self::with([
"UserDoctor:doctor_id,user_name,avatar,hospital_id",
"UserDoctor:doctor_id,user_name,avatar,hospital_id,doctor_title",
"UserDoctor.Hospital:hospital_id,hospital_name"
])
->where($params)

View File

@ -425,6 +425,9 @@ class OrderPrescriptionService extends BaseService
dump("下载处方签章文件成功");
// 处方签章pdf转图片
// 上传oss
$filename = "applet/prescription/" . $order_prescription['order_prescription_id'] . '.' . 'pdf';
$prescription_pdf_url = $oss->putObject($filename, $prescription_pdf_result);

View File

@ -736,6 +736,8 @@ class PatientDoctorService extends BaseService
$data['hospital_name'] = $patient_history_doctor['userDoctor']['Hospital']['hospital_name'];
}
$data['doctor_title'] = empty($patient_history_doctor['userDoctor']['doctor_title']) ? "" : DoctorTitleCode::getMessage($patient_history_doctor['userDoctor']['doctor_title']);
// 按照天来计算当日为1前一天为2 未服务过为0
if (empty($patient_history_doctor['created_at'])) {
$data['days'] = 0;

View File

@ -1308,6 +1308,7 @@ class UserDoctorService extends BaseService
unset($product);
}
// 开具处方
$OrderPrescriptionService = new OrderPrescriptionService();
$prescription_img = $OrderPrescriptionService->openPrescription($order_prescription->order_prescription_id,$user_info['user_id']);
if (empty($prescription_img)){

View File

@ -53,7 +53,7 @@ class UserPatientService extends BaseService
// 获取处方数量-未使用
$OrderPrescriptionService = new OrderPrescriptionService();
$order_prescription_count = $OrderPrescriptionService->getPatientPrescriptionWithStatus($user_patient['patient_id'],3);
$order_prescription_count = $OrderPrescriptionService->getPatientPrescriptionWithStatus($user_patient['patient_id'],2);
// 获取药品数量-待支付
$OrderProductService = new OrderProductService();

View File

@ -197,6 +197,7 @@ class UserPharmacistService extends BaseService
// 审核成功
$data['prescription_status'] = 2;
$data['pharmacist_audit_status'] = 1;
$data['platform_audit_status'] = 1;
}else{
$data['pharmacist_audit_status'] = 2;
$data['pharmacist_fail_reason'] = $pharmacist_fail_reason;
@ -208,6 +209,9 @@ class UserPharmacistService extends BaseService
OrderPrescription::edit($params,$data);
// 发送消息
$ImService = new ImService();