处理回写患者病例
This commit is contained in:
parent
7478c198dd
commit
0d5ee9e6ad
@ -12,6 +12,7 @@ use App\Model\OrderEvaluation;
|
||||
use App\Model\OrderInquiry;
|
||||
use App\Model\OrderInquiryCase;
|
||||
use App\Model\OrderPrescription;
|
||||
use App\Model\PatientFamily;
|
||||
use App\Model\PatientFamilyHealth;
|
||||
use App\Model\PatientFamilyPersonal;
|
||||
use App\Model\PatientPathography;
|
||||
@ -104,7 +105,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
}
|
||||
|
||||
// 超出执行次数
|
||||
if ($result['code'] == 2){
|
||||
if ($result['code'] == 2) {
|
||||
Db::rollBack();
|
||||
return Result::ACK;
|
||||
}
|
||||
@ -152,7 +153,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
// 新增上报监管平台数据
|
||||
$reportRegulatoryService = new ReportRegulatoryService();
|
||||
$res = $reportRegulatoryService->addReportRegulatory($order_inquiry['order_inquiry_id']);
|
||||
if (!$res){
|
||||
if (!$res) {
|
||||
// 新增上报失败
|
||||
Db::rollBack();
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("新增上报监管平台数据失败");
|
||||
@ -171,7 +172,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
try {
|
||||
// 推送问诊结束im消息
|
||||
$this->pushImInquiryFinish($order_inquiry);
|
||||
}catch (\Exception $e){
|
||||
} catch (\Exception $e) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("发送消息异常错误:" . $e->getMessage());
|
||||
}
|
||||
|
||||
@ -288,7 +289,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$data['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$data['name_mask'] = Mask::maskNameStr($order_inquiry['patient_name'],2);
|
||||
$data['name_mask'] = Mask::maskNameStr($order_inquiry['patient_name'], 2);
|
||||
$data['reply_quality'] = 100;//回复质量(百分制)
|
||||
$data['service_attitude'] = 100; // 服务态度(百分制)
|
||||
$data['reply_progress'] = 100; // 回复速度(百分制)
|
||||
@ -308,120 +309,242 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
* @param array|object $order_inquiry
|
||||
* @return void
|
||||
*/
|
||||
protected function handleOrderInquiryCase(array|object $order_inquiry): void
|
||||
protected function handleOrderInquiryCase(array|object $order_inquiry): bool
|
||||
{
|
||||
// 获取订单-问诊病例表
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_inquiry_case = OrderInquiryCase::getOne($params);
|
||||
if (!empty($order_inquiry_case)) {
|
||||
// 获取患者家庭成员信息表-健康情况
|
||||
if (empty($order_inquiry_case)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取患者家庭成员信息表-基本信息
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$params['status'] = 1;
|
||||
$patient_family = PatientFamily::getOne($params);
|
||||
if (empty($patient_family)){
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
|
||||
// 身高
|
||||
if ($patient_family['height'] == null && $order_inquiry_case['height'] != null){
|
||||
$data['height'] = $order_inquiry_case['height'];
|
||||
}
|
||||
|
||||
// 体重
|
||||
if ($patient_family['weight'] == null && $order_inquiry_case['weight'] != null){
|
||||
$data['weight'] = $order_inquiry_case['weight'];
|
||||
}
|
||||
|
||||
// 婚姻状况(0:未婚 1:已婚 2:离异)
|
||||
if ($patient_family['marital_status'] == null && $order_inquiry_case['marital_status'] != null){
|
||||
$data['marital_status'] = $order_inquiry_case['marital_status'];
|
||||
}
|
||||
|
||||
// 民族
|
||||
if ($patient_family['nation_id'] == null && $order_inquiry_case['nation_id'] != null){
|
||||
$data['nation_id'] = $order_inquiry_case['nation_id'];
|
||||
|
||||
// 民族名称
|
||||
if ($patient_family['nation_name'] == null && $order_inquiry_case['nation_name'] != null){
|
||||
$data['nation_name'] = $order_inquiry_case['nation_name'];
|
||||
}
|
||||
}
|
||||
|
||||
// 职业
|
||||
if ($patient_family['job_id'] == null && $order_inquiry_case['job_id'] != null){
|
||||
$data['job_id'] = $order_inquiry_case['job_id'];
|
||||
|
||||
// 职业名称
|
||||
if ($patient_family['job_name'] == null && $order_inquiry_case['job_name'] != null){
|
||||
$data['job_name'] = $order_inquiry_case['job_name'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$patient_family_health = PatientFamilyHealth::getOne($params);
|
||||
$params['family_id'] = $patient_family['family_id'];
|
||||
PatientFamily::edit($params, $data);
|
||||
}
|
||||
|
||||
// 获取患者家庭成员信息表-健康情况
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$patient_family_health = PatientFamilyHealth::getOne($params);
|
||||
if (empty($patient_family_health)) {
|
||||
// 表数据为空
|
||||
$data = array();
|
||||
$data['family_id'] = $order_inquiry['family_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
|
||||
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
|
||||
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
|
||||
$data['diagnosis_hospital'] = $order_inquiry_case['diagnosis_hospital']; // 确诊医院
|
||||
$data['is_take_medicine'] = $order_inquiry_case['is_take_medicine']; // 正在服药(0:否 1:是)
|
||||
$data['drugs_name'] = $order_inquiry_case['drugs_name']; // 正在服药名称
|
||||
$patient_family_health = PatientFamilyHealth::addPatientFamilyHealth($data);
|
||||
if (empty($patient_family_health)) {
|
||||
// 表数据为空
|
||||
$data = array();
|
||||
$data['family_id'] = $order_inquiry['family_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
|
||||
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
|
||||
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
|
||||
$patient_family_health = PatientFamilyHealth::addPatientFamilyHealth($data);
|
||||
if (empty($patient_family_health)) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("错误:回写患者家庭成员信息表-健康情况表失败");
|
||||
}
|
||||
} else {
|
||||
$data = array();
|
||||
if ($order_inquiry_case['disease_class_id'] != $patient_family_health['disease_class_id']) {
|
||||
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
|
||||
}
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("错误:回写患者家庭成员信息表-健康情况表失败");
|
||||
}
|
||||
} else {
|
||||
$data = array();
|
||||
|
||||
if ($order_inquiry_case['disease_class_name'] != $patient_family_health['disease_class_name']) {
|
||||
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
|
||||
}
|
||||
// 疾病分类id-系统
|
||||
if ($patient_family_health['disease_class_id'] == null && $order_inquiry_case['disease_class_id'] != null) {
|
||||
$data['disease_class_id'] = $order_inquiry_case['disease_class_id'];
|
||||
|
||||
if ($order_inquiry_case['diagnosis_date'] != $patient_family_health['diagnosis_date']) {
|
||||
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
|
||||
}
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_health_id'] = $patient_family_health['family_health_id'];
|
||||
PatientFamilyHealth::edit($params, $data);
|
||||
// 疾病名称-系统
|
||||
if ($patient_family_health['disease_class_name'] == null && $order_inquiry_case['disease_class_name'] != null) {
|
||||
$data['disease_class_name'] = $order_inquiry_case['disease_class_name'];
|
||||
}
|
||||
}
|
||||
|
||||
// 获取患者家庭成员信息表-个人情况
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$patient_family_personal = PatientFamilyPersonal::getOne($params);
|
||||
if (empty($patient_family_personal)) {
|
||||
$data = array();
|
||||
$data['family_id'] = $order_inquiry['family_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
if ($order_inquiry_case['is_allergy_history'] !== null) {
|
||||
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history']; // 是否存在过敏史(0:否 1:是)
|
||||
}
|
||||
// 确诊日期
|
||||
if ($patient_family_health['diagnosis_date'] == null && $order_inquiry_case['diagnosis_date'] != null) {
|
||||
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date'];
|
||||
}
|
||||
|
||||
// 确诊医院
|
||||
if ($patient_family_health['diagnosis_hospital'] == null && $order_inquiry_case['diagnosis_hospital'] != null) {
|
||||
$data['diagnosis_hospital'] = $order_inquiry_case['diagnosis_hospital'];
|
||||
}
|
||||
|
||||
// 正在服药
|
||||
if ($patient_family_health['is_take_medicine'] == null && $order_inquiry_case['is_take_medicine'] != null) {
|
||||
$data['is_take_medicine'] = $order_inquiry_case['is_take_medicine'];
|
||||
|
||||
// 正在服药名称
|
||||
if ($patient_family_health['drugs_name'] == null && $order_inquiry_case['drugs_name'] != null) {
|
||||
$data['drugs_name'] = $order_inquiry_case['drugs_name'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_health_id'] = $patient_family_health['family_health_id'];
|
||||
PatientFamilyHealth::edit($params, $data);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取患者家庭成员信息表-个人情况
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$patient_family_personal = PatientFamilyPersonal::getOne($params);
|
||||
if (empty($patient_family_personal)) {
|
||||
$data = array();
|
||||
$data['family_id'] = $order_inquiry['family_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
|
||||
// 是否存在过敏史(0:否 1:是)
|
||||
if ($order_inquiry_case['is_allergy_history'] !== null) {
|
||||
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history'];
|
||||
|
||||
// 过敏史描述
|
||||
if ($order_inquiry_case['allergy_history'] != null) {
|
||||
$data['allergy_history'] = $order_inquiry_case['allergy_history']; // 过敏史描述
|
||||
$data['allergy_history'] = $order_inquiry_case['allergy_history'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($order_inquiry_case['is_family_history'] !== null) {
|
||||
$data['is_family_history'] = $order_inquiry_case['is_family_history']; // 是否存在家族病史(0:否 1:是)
|
||||
}
|
||||
|
||||
// 是否存在家族病史(0:否 1:是)
|
||||
if ($order_inquiry_case['is_family_history'] !== null) {
|
||||
$data['is_family_history'] = $order_inquiry_case['is_family_history'];
|
||||
|
||||
// 家族病史描述
|
||||
if ($order_inquiry_case['family_history'] != null) {
|
||||
$data['family_history'] = $order_inquiry_case['family_history']; // 家族病史描述
|
||||
$data['family_history'] = $order_inquiry_case['family_history'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($order_inquiry_case['is_pregnant'] !== null) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
}
|
||||
// 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
if ($order_inquiry_case['is_pregnant'] !== null) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant'];
|
||||
|
||||
// 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
if ($order_inquiry_case['pregnant'] != null) {
|
||||
$data['pregnant'] = $order_inquiry_case['pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
$data['pregnant'] = $order_inquiry_case['pregnant'];
|
||||
}
|
||||
}
|
||||
|
||||
$patient_family_personal = PatientFamilyPersonal::addPatientFamilyPersonal($data);
|
||||
if (empty($patient_family_personal)) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("错误:回写患者家庭成员信息表-个人情况表失败");
|
||||
}
|
||||
} else {
|
||||
$data = array();
|
||||
if ($order_inquiry_case['is_allergy_history'] !== $patient_family_personal['is_allergy_history']) {
|
||||
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history']; // 是否存在过敏史(0:否 1:是)
|
||||
}
|
||||
$patient_family_personal = PatientFamilyPersonal::addPatientFamilyPersonal($data);
|
||||
if (empty($patient_family_personal)) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("错误:回写患者家庭成员信息表-个人情况表失败");
|
||||
}
|
||||
} else {
|
||||
$data = array();
|
||||
|
||||
if ($order_inquiry_case['allergy_history'] != $patient_family_personal['allergy_history']) {
|
||||
$data['allergy_history'] = $order_inquiry_case['allergy_history']; // 过敏史描述
|
||||
}
|
||||
// 是否存在过敏史(0:否 1:是)
|
||||
if ($patient_family_personal['is_allergy_history'] == null && $order_inquiry_case['is_allergy_history'] != null){
|
||||
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history'];
|
||||
|
||||
if ($order_inquiry_case['is_family_history'] !== $patient_family_personal['is_family_history']) {
|
||||
$data['is_family_history'] = $order_inquiry_case['is_family_history']; // 是否存在家族病史(0:否 1:是)
|
||||
// 过敏史描述
|
||||
if ($patient_family_personal['allergy_history'] == null && $order_inquiry_case['allergy_history'] != null){
|
||||
$data['allergy_history'] = $order_inquiry_case['allergy_history'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($order_inquiry_case['family_history'] != $patient_family_personal['family_history']) {
|
||||
$data['family_history'] = $order_inquiry_case['family_history']; // 家族病史描述
|
||||
}
|
||||
// 是否存在家族病史(0:否 1:是)
|
||||
if ($patient_family_personal['is_family_history'] == null && $order_inquiry_case['is_family_history'] != null){
|
||||
$data['is_family_history'] = $order_inquiry_case['is_family_history'];
|
||||
|
||||
if ($order_inquiry_case['is_pregnant'] !== $patient_family_personal['is_pregnant']) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
// 家族病史描述
|
||||
if ($patient_family_personal['family_history'] == null && $order_inquiry_case['family_history'] != null){
|
||||
$data['family_history'] = $order_inquiry_case['family_history'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($order_inquiry_case['pregnant'] != $patient_family_personal['pregnant']) {
|
||||
$data['pregnant'] = $order_inquiry_case['pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
}
|
||||
// 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
if ($patient_family_personal['is_pregnant'] == null && $order_inquiry_case['is_pregnant'] != null){
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant'];
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_personal_id'] = $patient_family_personal['family_personal_id'];
|
||||
PatientFamilyPersonal::edit($params, $data);
|
||||
// 备孕、妊娠、哺乳期描述
|
||||
if ($patient_family_personal['pregnant'] == null && $order_inquiry_case['pregnant'] != null){
|
||||
$data['pregnant'] = $order_inquiry_case['pregnant'];
|
||||
}
|
||||
}
|
||||
|
||||
// 是否存在手术(0:否 1:是)
|
||||
if ($patient_family_personal['is_operation'] == null && $order_inquiry_case['is_operation'] != null){
|
||||
$data['is_operation'] = $order_inquiry_case['is_operation'];
|
||||
|
||||
// 手术描述
|
||||
if ($patient_family_personal['operation'] == null && $order_inquiry_case['operation'] != null){
|
||||
$data['operation'] = $order_inquiry_case['operation'];
|
||||
}
|
||||
}
|
||||
|
||||
// 饮酒状态(1:从不 2:偶尔 3:经常 4:每天 5:已戒酒)
|
||||
if ($patient_family_personal['drink_wine_status'] == null && $order_inquiry_case['drink_wine_status'] != null){
|
||||
$data['drink_wine_status'] = $order_inquiry_case['drink_wine_status'];
|
||||
}
|
||||
|
||||
// 吸烟状态(1:从不 2:偶尔 3:经常 4:每天 5:已戒烟)
|
||||
if ($patient_family_personal['smoke_status'] == null && $order_inquiry_case['smoke_status'] != null){
|
||||
$data['smoke_status'] = $order_inquiry_case['smoke_status'];
|
||||
}
|
||||
|
||||
// 化合物状态(1:从不 2:偶尔 3:经常 4:每天)
|
||||
if ($patient_family_personal['chemical_compound_status'] == null && $order_inquiry_case['chemical_compound_status'] != null){
|
||||
$data['chemical_compound_status'] = $order_inquiry_case['chemical_compound_status'];
|
||||
|
||||
// 化合物描述
|
||||
if ($patient_family_personal['chemical_compound_describe'] == null && $order_inquiry_case['chemical_compound_describe'] != null){
|
||||
$data['chemical_compound_describe'] = $order_inquiry_case['chemical_compound_describe'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_personal_id'] = $patient_family_personal['family_personal_id'];
|
||||
PatientFamilyPersonal::edit($params, $data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -434,7 +557,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
{
|
||||
$params = array();
|
||||
$params['doctor_id'] = $doctor_id;
|
||||
UserDoctor::inc($params,'served_patients_num');
|
||||
UserDoctor::inc($params, 'served_patients_num');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -448,7 +571,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$params = array();
|
||||
$params['doctor_id'] = $doctor_id;
|
||||
$order_evaluation_count = OrderEvaluation::getCount($params);
|
||||
if ($order_evaluation_count == 0){
|
||||
if ($order_evaluation_count == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -463,7 +586,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
|
||||
$data = array();
|
||||
$data['praise_rate'] = $praise_rate;
|
||||
UserDoctor::editUserDoctor($params,$data);
|
||||
UserDoctor::editUserDoctor($params, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -481,22 +604,22 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$params['doctor_id'] = $doctor_id;
|
||||
$params['inquiry_status'] = 6;
|
||||
$order_inquiry = OrderInquiry::getList($params);
|
||||
if (!empty($order_inquiry)){
|
||||
if (!empty($order_inquiry)) {
|
||||
$order_inquiry = $order_inquiry->toArray();
|
||||
foreach ($order_inquiry as $item){
|
||||
if (empty($item['reception_time'])){
|
||||
foreach ($order_inquiry as $item) {
|
||||
if (empty($item['reception_time'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$response_time = strtotime($item['reception_time']) - strtotime($item['created_at']);
|
||||
if ($response_time < 0){
|
||||
if ($response_time < 0) {
|
||||
// 小于0的数据不统计
|
||||
continue;
|
||||
}
|
||||
$avg_response_time[] = $response_time;
|
||||
}
|
||||
|
||||
if (!empty($avg_response_time)){
|
||||
if (!empty($avg_response_time)) {
|
||||
$result = floor((array_sum($avg_response_time) / count($avg_response_time)) / 60 * 100) / 100;
|
||||
|
||||
$params = array();
|
||||
@ -504,7 +627,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
|
||||
$data = array();
|
||||
$data['avg_response_time'] = $result;
|
||||
UserDoctor::editUserDoctor($params,$data);
|
||||
UserDoctor::editUserDoctor($params, $data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -520,13 +643,13 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$is_inquiry = false;
|
||||
|
||||
$params = array();
|
||||
$params[] = ['user_id','=',$order_inquiry['user_id']];
|
||||
$params[] = ['doctor_id','=',$order_inquiry['doctor_id']];
|
||||
$params[] = ['created_at','>',$order_inquiry['created_at']];
|
||||
$params[] = ['user_id', '=', $order_inquiry['user_id']];
|
||||
$params[] = ['doctor_id', '=', $order_inquiry['doctor_id']];
|
||||
$params[] = ['created_at', '>', $order_inquiry['created_at']];
|
||||
$order_inquirys = OrderInquiry::getList($params);
|
||||
if (!empty($order_inquirys)){
|
||||
foreach ($order_inquirys as $item){
|
||||
if ($item['order_inquiry_id'] == $order_inquiry['order_inquiry_id']){
|
||||
if (!empty($order_inquirys)) {
|
||||
foreach ($order_inquirys as $item) {
|
||||
if ($item['order_inquiry_id'] == $order_inquiry['order_inquiry_id']) {
|
||||
continue;
|
||||
}
|
||||
$is_inquiry = true;
|
||||
@ -534,15 +657,15 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
}
|
||||
}
|
||||
|
||||
if (!$is_inquiry){
|
||||
if (!$is_inquiry) {
|
||||
// 获取医生数据
|
||||
$params = array();
|
||||
$params['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$user_doctor = UserDoctor::getOne($params);
|
||||
if (!empty($user_doctor)){
|
||||
if (!empty($user_doctor)) {
|
||||
// 发送IM消息-问诊已结束
|
||||
$imService = new ImService();
|
||||
$imService->inquiryFinish($order_inquiry,$user_doctor['user_id'],$order_inquiry['user_id']);
|
||||
$imService->inquiryFinish($order_inquiry, $user_doctor['user_id'], $order_inquiry['user_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -555,7 +678,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
*/
|
||||
protected function handlePatientPathography(array|object $order_inquiry): bool
|
||||
{
|
||||
if ($order_inquiry['inquiry_type'] != 1 && $order_inquiry['inquiry_type'] != 2 && $order_inquiry['inquiry_type'] != 3 && $order_inquiry['inquiry_type'] != 4){
|
||||
if ($order_inquiry['inquiry_type'] != 1 && $order_inquiry['inquiry_type'] != 2 && $order_inquiry['inquiry_type'] != 3 && $order_inquiry['inquiry_type'] != 4) {
|
||||
// 非问诊订单,不进行处理
|
||||
return true;
|
||||
}
|
||||
@ -566,7 +689,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$patient_pathography = PatientPathography::getOne($params);
|
||||
if (!empty($patient_pathography)){
|
||||
if (!empty($patient_pathography)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -574,7 +697,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry["order_inquiry_id"];
|
||||
$order_inquiry_case = OrderInquiryCase::getOne($params);
|
||||
if (empty($order_inquiry_case)){
|
||||
if (empty($order_inquiry_case)) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("错误:缺少问诊病例表");
|
||||
return false;
|
||||
}
|
||||
@ -584,19 +707,19 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$data = array();
|
||||
foreach ($order_inquiry_case as $key => $value) {
|
||||
// 主键跳过
|
||||
if ($key == "inquiry_case_id"){
|
||||
if ($key == "inquiry_case_id") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($key == "created_at"){
|
||||
if ($key == "created_at") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($key == "updated_at"){
|
||||
if ($key == "updated_at") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($value == null){
|
||||
if ($value == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -607,13 +730,13 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_prescription = OrderPrescription::getOne($params);
|
||||
if (!empty($order_prescription)){
|
||||
if (!empty($order_prescription)) {
|
||||
$data['order_prescription_id'] = $order_prescription['order_prescription_id'];
|
||||
}
|
||||
|
||||
// 新增病情记录
|
||||
$patient_pathography = PatientPathography::addPatientPathography($data);
|
||||
if (empty($patient_pathography)){
|
||||
if (empty($patient_pathography)) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error("错误:回写病情记录失败");
|
||||
return false;
|
||||
}
|
||||
@ -635,7 +758,7 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
|
||||
try {
|
||||
$redis = $this->container->get(Redis::class);
|
||||
}catch (\Throwable $e) {
|
||||
} catch (\Throwable $e) {
|
||||
Log::getInstance("queue-AutoFinishInquiry")->error($e->getMessage());
|
||||
$result['message'] = $e->getMessage();
|
||||
return $result;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user