修改患者填写缺少字段至医生,同步修改问诊病例
This commit is contained in:
parent
e609e05ca6
commit
11bf031bd4
@ -16,6 +16,7 @@ use App\Model\PatientFamilyHealth;
|
||||
use App\Model\PatientFamilyPersonal;
|
||||
use App\Model\User;
|
||||
use App\Model\UserDoctor;
|
||||
use Hyperf\DbConnection\Db;
|
||||
use Hyperf\Redis\Redis;
|
||||
|
||||
/**
|
||||
@ -473,6 +474,16 @@ class PatientCaseService extends BaseService
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 获取病例信息
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry_id;
|
||||
$order_inquiry_case = OrderInquiryCase::getOne($params);
|
||||
if (empty($order_inquiry_case)) {
|
||||
return fail();
|
||||
}
|
||||
|
||||
$order_inquiry_case = $order_inquiry_case->toArray();
|
||||
|
||||
// 初始字段定义
|
||||
$fields = [
|
||||
"relation", // 与患者关系(1:本人 2:父母 3:爱人 4:子女 5:亲戚 6:其他 )
|
||||
@ -505,6 +516,8 @@ class PatientCaseService extends BaseService
|
||||
"chemical_compound_describe", // 化合物描述
|
||||
];
|
||||
|
||||
Db::beginTransaction();
|
||||
|
||||
try {
|
||||
$redis = $this->container->get(Redis::class);
|
||||
$redis_key = "patient_family_inquiry_case_unfilled_fields_" . $order_inquiry_id;
|
||||
@ -515,19 +528,46 @@ class PatientCaseService extends BaseService
|
||||
|
||||
// 患者病例字段
|
||||
$case_fields = [];
|
||||
|
||||
// 修改字段
|
||||
$order_inquiry_case_data = [];
|
||||
|
||||
foreach ($request_params['fields'] as $key => $value){
|
||||
if (!in_array($key,$fields)){
|
||||
if ($key != "order_inquiry_id"){
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR,"存在非法数据");
|
||||
}
|
||||
}
|
||||
|
||||
if ($value === ""){
|
||||
continue;
|
||||
}
|
||||
|
||||
// 判断修改数据
|
||||
if (array_key_exists($key,$order_inquiry_case)){
|
||||
if ($order_inquiry_case[$key] == null){
|
||||
$order_inquiry_case_data[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$case_fields[$key] = $value;
|
||||
}
|
||||
|
||||
$case_fields = json_encode($case_fields,JSON_UNESCAPED_UNICODE);
|
||||
// 存储至问诊病例中
|
||||
if (!empty($order_inquiry_case_data)){
|
||||
$params = array();
|
||||
$params['inquiry_case_id'] = $order_inquiry_case['inquiry_case_id'];
|
||||
$res = OrderInquiryCase::edit($params,$order_inquiry_case_data);
|
||||
if (!$res){
|
||||
Db::rollBack();
|
||||
return fail();
|
||||
}
|
||||
}
|
||||
|
||||
// 发送im消息
|
||||
$case_fields = json_encode($case_fields,JSON_UNESCAPED_UNICODE);
|
||||
|
||||
$imService = new ImService();
|
||||
$imService->CaseUnfilledFieldsToDoctor($order_inquiry,$doctor['user_id'],$user_info['user_id'],$case_fields);
|
||||
|
||||
@ -545,7 +585,10 @@ class PatientCaseService extends BaseService
|
||||
}else{
|
||||
$redis->del($redis_key);
|
||||
}
|
||||
|
||||
Db::commit();
|
||||
}catch (\Throwable $e){
|
||||
Db::rollBack();
|
||||
return fail();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user