This commit is contained in:
Your Name
2026-04-22 16:36:40 +08:00
parent 4872e4d2e6
commit 852bcd54a5
7 changed files with 528 additions and 66 deletions
@@ -124,6 +124,22 @@ class PrescriptionOrderLogic
return self::roleIntersect($adminInfo, is_array($allow) ? $allow : []);
}
/**
* 列表顶栏金额统计:与「关联支付单」审核白名单同档的角色可见「全量」统计(不缩小到本人/医助诊单域)
*/
public static function canViewOrderListStatsAllScope(array $adminInfo): bool
{
if (!empty($adminInfo['root']) && (int) $adminInfo['root'] === 1) {
return true;
}
$allow = Config::get('project.prescription_order_payment_audit_roles', [0, 3, 4, 9, 6]);
if (!is_array($allow)) {
$allow = [0, 3];
}
return self::roleIntersect($adminInfo, $allow);
}
/**
* @param array<string,mixed> $row
*/
@@ -424,6 +440,12 @@ class PrescriptionOrderLogic
return false;
}
if ((int) ($rx['void_status'] ?? 0) === 1) {
self::$error = '已作废处方不可创建业务订单';
return false;
}
if (PrescriptionOrder::where('prescription_id', $rxId)->whereNull('delete_time')->where('fulfillment_status', '<>', 4)->count() > 0) {
self::$error = '该处方已存在有效业务订单(未撤回前不可重复创建)';