修改问诊购药分配医生

This commit is contained in:
2023-04-17 13:30:36 +08:00
parent 8ff1205e7c
commit 108ce91850
5 changed files with 408 additions and 308 deletions
+45 -1
View File
@@ -25,6 +25,7 @@ use App\Model\PatientFamilyPersonal;
use App\Model\PatientFollow;
use App\Model\Product;
use App\Model\SystemInquiryConfig;
use App\Model\SystemInquiryTime;
use App\Model\User;
use App\Model\UserCoupon;
use App\Model\UserDoctor;
@@ -116,6 +117,13 @@ class InquiryService extends BaseService
}
}
// 检测当前是否符合系统问诊时间
$inquiryService = new InquiryService();
$is_system_time_pass = $inquiryService->checkSystemInquiryTime($request_params['inquiry_type']);
if (!$is_system_time_pass && $request_params['inquiry_type'] == 4){
return fail(HttpEnumCode::HTTP_ERROR, "当前非医生接诊时间");
}
// 获取问诊价格
$DoctorInquiryService = new DoctorInquiryService();
$inquiry_price = $DoctorInquiryService->getDoctorInquiryPrice($request_params['inquiry_type'], $request_params['inquiry_mode'], $request_params['doctor_id'] ?: "");
@@ -849,7 +857,6 @@ class InquiryService extends BaseService
return $amount_total_sum ?: 0;
}
/**
* 获取医生可提现金额
* @param string $doctor_id
@@ -1209,4 +1216,41 @@ class InquiryService extends BaseService
}
}
/**
* 检测当前是否符合系统问诊时间
* @param string $inquiry_type 接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
* @return bool
*/
public function checkSystemInquiryTime(string $inquiry_type): bool
{
// 获取问诊配置
$params = array();
$params['inquiry_type'] = $inquiry_type;
$params['inquiry_mode'] = 1;
$system_inquiry_config = SystemInquiryConfig::getOne($params);
if (empty($system_inquiry_config)){
throw new BusinessException("系统问诊配置错误");
}
// 获取系统工作时间
$params = array();
$params['system_inquiry_config_id'] = $system_inquiry_config['system_inquiry_config_id'];
$system_inquiry_time = SystemInquiryTime::getList($params);
if (empty($system_inquiry_time)){
throw new BusinessException("系统问诊时间配置错误");
}
// 检测当前是否坐班时间
$is_time_pass = false; // 非坐班时间
foreach ($system_inquiry_time as $item){
$now_time = date('H',time()) . date('i',time());
if ($item['start_time'] < $now_time && $item['end_time'] > $now_time){
// 符合当前时间区间
$is_time_pass = true;
}
}
return $is_time_pass;
}
}