修改家庭档案接口

This commit is contained in:
2023-03-21 13:54:54 +08:00
parent cf12f1f0ab
commit 84d1ebbc12
7 changed files with 403 additions and 95 deletions
+117 -4
View File
@@ -6,11 +6,13 @@ use App\Constants\HttpEnumCode;
use App\Model\DoctorPharmacistCert;
use Extend\Alibaba\Oss;
use Extend\Ca\Ca;
use Intervention\Image\ImageManager;
use TCPDF;
class TestController extends AbstractController
{
public function test(){
$this->test_4();
$this->test_5();
}
// 获取云证书-首次
@@ -57,14 +59,14 @@ class TestController extends AbstractController
$data['doctor_advice'] = "多吃药";
$data['product'] = [
[
"product_name" => "感冒药1",
"product_name" => "感冒药150ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
"prescription_product_num" => "X1盒",
],
[
"product_name" => "感冒药2",
"product_name" => "感冒药250ml*10",
"single_unit" => "一次一包",
"frequency_use" => "1天3次",
"single_use" => "口服",
@@ -122,8 +124,119 @@ class TestController extends AbstractController
dump($data);
}
// 处理处方pdf图片
// 生成处方pdf图片
public function test_5(){
// 下载阿里云图片
$oss = new Oss();
$filename = "Basic/images/prescription_img.jpg";
$sign_image = $oss->getObjectToRAM($filename);
$manager = new ImageManager();
$image = $manager->make($sign_image);
$fontPath = './runtime/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盒",
]
];
// 用药
foreach ($data['product'] as $key => $item){
$image->text($item['product_name'], 229, 1530 + ($key+1) * 100, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
$image->text("用量:" . $item['single_unit'] . " " . $item['frequency_use'], 229, 1530 + ($key+1) * 100, function ($font) use($fontPath) {
$font->file($fontPath);
$font->size(60);
$font->align('left');
});
}
// 将处理后的图片重新保存到其他路径
$image->save('./runtime/2.jpg');
}
}
-10
View File
@@ -358,15 +358,5 @@ class UserController extends AbstractController
// $result = $RecentContact->getRecentContactPage();
$ca = new Ca();
// 添加签章配置(首次)
dump($result);
}
}
+117 -71
View File
@@ -48,7 +48,7 @@ class PatientFamilyService extends BaseService
}
/**
* 新增家庭成员-cuowu
* 新增家庭成员
* @return array
* @throws GuzzleException
*/
@@ -356,15 +356,17 @@ class PatientFamilyService extends BaseService
}
// 检测省市区
if ($request_params['province_id'] != $patient_family['province_id'] || $request_params['city_id'] != $patient_family['city_id'] || $request_params['county_id'] != $patient_family['county_id']){
$areaService = new AreaService();
if (isset($request_params['province_id']) && isset($request_params['city_id']) && isset($request_params['county_id'])){
if ($request_params['province_id'] != $patient_family['province_id'] || $request_params['city_id'] != $patient_family['city_id'] || $request_params['county_id'] != $patient_family['county_id']){
$areaService = new AreaService();
$req = $areaService->checkAreaById($request_params['province_id'],$request_params['city_id'],$request_params['county_id']);
if(empty($req)){
return fail(HttpEnumCode::HTTP_ERROR,"地区选择错误");
$req = $areaService->checkAreaById($request_params['province_id'],$request_params['city_id'],$request_params['county_id']);
if(empty($req)){
return fail(HttpEnumCode::HTTP_ERROR,"地区选择错误");
}
$area = $areaService->getAreaById($request_params['province_id'],$request_params['city_id'],$request_params['county_id']);
}
$area = $areaService->getAreaById($request_params['province_id'],$request_params['city_id'],$request_params['county_id']);
}
// 检测证件号是否修改
@@ -551,52 +553,68 @@ class PatientFamilyService extends BaseService
// 修改
$data = array();
if ($request_params['is_allergy_history'] != $patient_family_personal['is_allergy_history']){
// 是否存在过敏史(0:否 1:是)
$data['is_allergy_history'] = $request_params['is_allergy_history'];
$data['allergy_history'] = $request_params['allergy_history'];
if (isset($request_params['is_allergy_history'])){
if ($request_params['is_allergy_history'] != $patient_family_personal['is_allergy_history']){
// 是否存在过敏史(0:否 1:是)
$data['is_allergy_history'] = $request_params['is_allergy_history'];
$data['allergy_history'] = $request_params['allergy_history'];
}
}
if ($request_params['is_family_history'] != $patient_family_personal['is_family_history']){
// 是否存在家族病史(0:否 1:是)
$data['is_family_history'] = $request_params['is_family_history'];
$data['family_history'] = $request_params['family_history'];
if (isset($request_params['is_family_history'])){
if ($request_params['is_family_history'] != $patient_family_personal['is_family_history']){
// 是否存在家族病史(0:否 1:是)
$data['is_family_history'] = $request_params['is_family_history'];
$data['family_history'] = $request_params['family_history'];
}
}
if ($request_params['is_pregnant'] != $patient_family_personal['is_pregnant']){
// 是否备孕、妊娠、哺乳期(0:否 1:是)
$data['is_pregnant'] = $request_params['is_pregnant'];
$data['pregnant'] = $request_params['pregnant'];
if (isset($request_params['is_pregnant'])){
if ($request_params['is_pregnant'] != $patient_family_personal['is_pregnant']){
// 是否备孕、妊娠、哺乳期(0:否 1:是)
$data['is_pregnant'] = $request_params['is_pregnant'];
$data['pregnant'] = $request_params['pregnant'];
}
}
if ($request_params['is_operation'] != $patient_family_personal['is_operation']){
// 是否存在手术(0:否 1:是)
$data['is_operation'] = $request_params['is_operation'];
$data['operation'] = $request_params['operation'];
if (isset($request_params['is_operation'])){
if ($request_params['is_operation'] != $patient_family_personal['is_operation']){
// 是否存在手术(0:否 1:是)
$data['is_operation'] = $request_params['is_operation'];
$data['operation'] = $request_params['operation'];
}
}
if ($request_params['drink_wine_status'] != $patient_family_personal['drink_wine_status']){
// 饮酒状态(1:从不 2:偶尔 3:经常 4:每天 5:已戒酒)
$data['drink_wine_status'] = $request_params['drink_wine_status'];
if (isset($request_params['drink_wine_status'])){
if ($request_params['drink_wine_status'] != $patient_family_personal['drink_wine_status']){
// 饮酒状态(1:从不 2:偶尔 3:经常 4:每天 5:已戒酒)
$data['drink_wine_status'] = $request_params['drink_wine_status'];
}
}
if ($request_params['smoke_status'] != $patient_family_personal['smoke_status']){
// 吸烟状态(1:从不 2:偶尔 3:经常 4:每天 5:已戒烟)
$data['smoke_status'] = $request_params['smoke_status'];
if (isset($request_params['smoke_status'])){
if ($request_params['smoke_status'] != $patient_family_personal['smoke_status']){
// 吸烟状态(1:从不 2:偶尔 3:经常 4:每天 5:已戒烟)
$data['smoke_status'] = $request_params['smoke_status'];
}
}
if ($request_params['chemical_compound_status'] != $patient_family_personal['chemical_compound_status']){
// 化合物状态(1:从不 2:偶尔 3:经常 4:每天)
$data['chemical_compound_status'] = $request_params['chemical_compound_status'];
$data['chemical_compound_describe'] = $request_params['chemical_compound_describe'];
if (isset($request_params['chemical_compound_status'])){
if ($request_params['chemical_compound_status'] != $patient_family_personal['chemical_compound_status']){
// 化合物状态(1:从不 2:偶尔 3:经常 4:每天)
$data['chemical_compound_status'] = $request_params['chemical_compound_status'];
$data['chemical_compound_describe'] = $request_params['chemical_compound_describe'];
}
}
$data['updated_at'] = date('Y-m-d H:i:s', time());
if (!empty($data)){
$data['updated_at'] = date('Y-m-d H:i:s', time());
$params = array();
$params['family_personal_id'] = $patient_family_personal['family_personal_id'];
$params = array();
$params['family_personal_id'] = $patient_family_personal['family_personal_id'];
PatientFamilyPersonalModel::edit($params, $data);
}
PatientFamilyPersonalModel::edit($params, $data);
return success();
}
@@ -630,18 +648,36 @@ class PatientFamilyService extends BaseService
$data = array();
$data['family_id'] = $request_params['family_id'];
$data['patient_id'] = $user_info['client_user_id'];
$data['is_allergy_history'] = $request_params['is_allergy_history'];
$data['allergy_history'] = $request_params['allergy_history'];
$data['is_family_history'] = $request_params['is_family_history'];
$data['family_history'] = $request_params['family_history'];
$data['is_pregnant'] = $request_params['is_pregnant'];
$data['pregnant'] = $request_params['pregnant'];
$data['is_operation'] = $request_params['is_operation'];
$data['operation'] = $request_params['operation'];
$data['drink_wine_status'] = $request_params['drink_wine_status'];
$data['smoke_status'] = $request_params['smoke_status'];
$data['chemical_compound_status'] = $request_params['chemical_compound_status'];
$data['chemical_compound_describe'] = $request_params['chemical_compound_describe'];
if (isset($request_params['is_allergy_history'])){
$data['is_allergy_history'] = $request_params['is_allergy_history'];
$data['allergy_history'] = $request_params['allergy_history'] ?? "";
}
if (isset($request_params['is_family_history'])){
$data['is_family_history'] = $request_params['is_family_history'];
$data['family_history'] = $request_params['family_history'] ?? "";
}
if (isset($request_params['is_pregnant'])){
$data['is_pregnant'] = $request_params['is_pregnant'];
$data['pregnant'] = $request_params['pregnant'] ?? "";
}
if (isset($request_params['is_operation'])){
$data['is_operation'] = $request_params['is_operation'];
$data['operation'] = $request_params['operation'] ?? "";
}
if (isset($request_params['drink_wine_status'])){
$data['drink_wine_status'] = $request_params['drink_wine_status'];
$data['smoke_status'] = $request_params['smoke_status'] ?? "";
}
if (isset($request_params['chemical_compound_status'])){
$data['chemical_compound_status'] = $request_params['chemical_compound_status'];
$data['chemical_compound_describe'] = $request_params['chemical_compound_describe'];
}
$patient_family_personal = PatientFamilyPersonalModel::addPatientFamilyPersonal($data);
if (empty($patient_family_personal)){
return fail();
@@ -691,39 +727,49 @@ class PatientFamilyService extends BaseService
}
$data = array();
if ($request_params['disease_class_id'] != $patient_family_health['disease_class_id']){
// 疾病分类id-系统
$data['disease_class_id'] = $request_params['disease_class_id'];
if (isset($request_params['disease_class_id'])){
if ($request_params['disease_class_id'] != $patient_family_health['disease_class_id']){
// 疾病分类id-系统
$data['disease_class_id'] = $request_params['disease_class_id'];
// 检测疾病是否正确
$params = array();
$params['disease_class_id'] = $request_params['disease_class_id'];
$disease_class = DiseaseClass::getOne($params);
if (empty($disease_class)){
return fail(HttpEnumCode::HTTP_ERROR,"疾病数据错误");
// 检测疾病是否正确
$params = array();
$params['disease_class_id'] = $request_params['disease_class_id'];
$disease_class = DiseaseClass::getOne($params);
if (empty($disease_class)){
return fail(HttpEnumCode::HTTP_ERROR,"疾病数据错误");
}
$data['disease_class_name'] = $disease_class['disease_class_name'];
}
$data['disease_class_name'] = $disease_class['disease_class_name'];
}
if ($request_params['diagnosis_date'] != $patient_family_health['diagnosis_date']){
$data['diagnosis_date'] = $request_params['diagnosis_date'];
if (isset($request_params['diagnosis_date'])){
if ($request_params['diagnosis_date'] != $patient_family_health['diagnosis_date']){
$data['diagnosis_date'] = $request_params['diagnosis_date'];
}
}
if ($request_params['diagnosis_hospital'] != $patient_family_health['diagnosis_hospital']){
$data['diagnosis_hospital'] = $request_params['diagnosis_hospital'];
if (isset($request_params['diagnosis_hospital'])){
if ($request_params['diagnosis_hospital'] != $patient_family_health['diagnosis_hospital']){
$data['diagnosis_hospital'] = $request_params['diagnosis_hospital'];
}
}
if ($request_params['drugs_name'] != $patient_family_health['drugs_name']){
$data['drugs_name'] = $request_params['drugs_name'];
if (isset($request_params['drugs_name'])){
if ($request_params['drugs_name'] != $patient_family_health['drugs_name']){
$data['drugs_name'] = $request_params['drugs_name'];
}
}
$data['updated_at'] = date('Y-m-d H:i:s', time());
if (!empty($data)){
$data['updated_at'] = date('Y-m-d H:i:s', time());
$params = array();
$params['family_health_id'] = $patient_family_health['family_health_id'];
$params = array();
$params['family_health_id'] = $patient_family_health['family_health_id'];
PatientFamilyHealth::edit($params,$data);
PatientFamilyHealth::edit($params,$data);
}
return success();
}
+1 -1
View File
@@ -1351,7 +1351,7 @@ class UserDoctorService extends BaseService
$oss = new Oss();
$filename = $user_doctor['doctor_id'] . '.' . 'jpg';
$filename = "applet/doctor/card/" . $user_doctor['doctor_id'] . '.' . 'jpg';
$qr_code = $oss->putObject($filename, $img_buffer);