1
This commit is contained in:
parent
31f94fef18
commit
8be42f20f0
@ -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" => "感冒药1(50ml*10)",
|
||||
"single_unit" => "一次一包",
|
||||
"frequency_use" => "1天3次",
|
||||
"single_use" => "口服",
|
||||
"prescription_product_num" => "X1盒",
|
||||
],
|
||||
[
|
||||
"product_name" => "感冒药2(50ml*10)",
|
||||
"single_unit" => "一次一包",
|
||||
"frequency_use" => "1天3次",
|
||||
"single_use" => "口服",
|
||||
"prescription_product_num" => "X1盒",
|
||||
],
|
||||
[
|
||||
"product_name" => "感冒药3(50ml*10)",
|
||||
"single_unit" => "一次一包",
|
||||
"frequency_use" => "1天3次",
|
||||
"single_use" => "口服",
|
||||
"prescription_product_num" => "X1盒",
|
||||
],
|
||||
[
|
||||
"product_name" => "感冒药4(50ml*10)",
|
||||
"single_unit" => "一次一包",
|
||||
"frequency_use" => "1天3次",
|
||||
"single_use" => "口服",
|
||||
"prescription_product_num" => "X1盒",
|
||||
],
|
||||
[
|
||||
"product_name" => "感冒药5(50ml*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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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)
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)){
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user