report/rejectAudit{
"report_id": "报告ID",
"reject_reason": "驳回原因"
}
$field = ['report_doctor_id','exam_id'];
$write = $this->reportDao->getReportById($id,$field);
$now_authority = $this->reportDao->getDoctorClass($user['id']);
$now_authority = explode(',',$now_authority);
if(!in_array('3',$now_authority)) {
$this->throwError('do_not_have_permission',0005);
}
doctor_class 表查询当前医生的权限分类3(审核权限)$this->reportDao->updateExamStatus($write['exam_id'], 12);
exams 表的 exam_status 字段为 12(审核驳回)$this->reportDao->updateReport($write['exam_id'], 1, [
'review_doctor_id' => null,
'review_doctor_name' => null,
'review_datetime' => null
]);
report 表中的审核相关字段1 表示本地报告(type=1)$data = [
'id' => UUIDUtils::uuid(),
'title' => '您写的报告有最新消息,请注意查收',
'content' => $user['realname'].'医师驳回了您写得报告,驳回原因是:'.$reason,
'count' => '1',
'type' => '9',
'ctime' => date('Y-m-d H:i:s', time()),
'exam_id' => $write['exam_id'],
'doctor_id' => $write['report_doctor_id']
];
$this->reportDao->insertMessage($data);
message 表9(报告驳回通知)return true;
7: 已写报告8: 已审报告12: 审核驳回9: 报告驳回通知驳回操作需要权限码 3(审核权限)
权限码说明:
1: 书写权限2: 审核权限(推测)3: 审核驳回权限report - 报告表
exams - 检查表
message - 消息表
doctor_class - 医生权限分类表
1. 审核医生发起驳回
↓
2. 验证权限(必须有权限码3)
↓
3. 查询报告信息(获取书写医生ID和检查ID)
↓
4. 更新检查状态为"审核驳回"(exam_status=12)
↓
5. 清空报告的审核医生信息
↓
6. 创建消息通知书写医生
↓
7. 返回成功
POST /api/report/reject
{
"reportId": "报告ID",
"rejectReason": "驳回原因"
}