新增处方队列执行,系统配置选择添加队列

This commit is contained in:
2023-04-20 14:14:09 +08:00
parent 3d4a941537
commit c120103692
8 changed files with 161 additions and 20 deletions
+28
View File
@@ -5,6 +5,7 @@ namespace App\Services;
use App\Amqp\Producer\AssignPharmacistProducer;
use App\Amqp\Producer\AutoCompleteInquiryDelayDirectProducer;
use App\Amqp\Producer\AutoFinishInquiryDelayDirectProducer;
use App\Amqp\Producer\AutoPharmacistCaVerifyProducer;
use App\Constants\DoctorTitleCode;
use App\Constants\HttpEnumCode;
use App\Exception\BusinessException;
@@ -32,6 +33,7 @@ use App\Model\PatientHistoryInquiry;
use App\Model\Popup;
use App\Model\Product;
use App\Model\ProductPlatformAmount;
use App\Model\SystemConfig;
use App\Model\SystemInquiryConfig;
use App\Model\SystemInquiryTime;
use App\Model\User;
@@ -1381,8 +1383,18 @@ class UserDoctorService extends BaseService
return fail(HttpEnumCode::SERVER_ERROR, "处方开具失败");
}
// 获取系统配置
$params = array();
$params['system_config_id'] = 1;
$system_config = SystemConfig::getOne($params);
if (empty($system_config)){
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "处方开具失败");
}
// 修改处方表
$data = array();
$data['is_auto_phar_verify'] = $system_config['is_auto_phar_verify_prescription'];// 是否药师自动审核(0:否 1:是)
$data['doctor_created_time'] = date('Y-m-d H:i:s',time());
$params = array();
@@ -1400,6 +1412,22 @@ class UserDoctorService extends BaseService
return fail(HttpEnumCode::SERVER_ERROR, "处方开具失败");
}
if ($system_config['is_auto_phar_verify_prescription'] == 1){
// 添加药师自动签章审核队列
$data = array();
$data['prescription_file_id'] = $prescription_open_result['file_id'];
$data['order_prescription_id'] = $order_prescription->order_prescription_id;
$message = new AutoPharmacistCaVerifyProducer($data);
$producer = ApplicationContext::getContainer()->get(Producer::class);
$result = $producer->produce($message);
if (!$result) {
// 处方开具成功,添加自动签章审核队列失败
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "处方开具失败");
}
}
// 发送消息-药师审核中
$ImService = new ImService();
$ImService->pharmacistVerify($order_inquiry,(string)$order_prescription->order_prescription_id,$product_name,$user_doctor['user_id'],$order_inquiry['user_id']);