This commit is contained in:
Your Name
2026-07-09 11:24:18 +08:00
parent 6432e9990c
commit 0f33f2ad28
15 changed files with 450 additions and 22 deletions
@@ -3407,17 +3407,14 @@ class PrescriptionOrderLogic
}
/**
* 导出用:主方/辅方服用天数(优先业务订单 medication_days,缺省回退处方 usage_days / 辅方 aux_usage
* 导出用:主方/辅方开立天数(与详情侧栏「处方开立」同口径:主方取处方 usage_days辅方 aux_usage.usage_days
* 订单服用天数单独导出在 export_medication_days 列,不在此混用。
*
* @param array<string, mixed> $rx
* @param array<string, mixed>|null $auxUsage
*/
private static function resolveExportUsageDays(array $rx, ?array $auxUsage, $orderMedicationDays, bool $isAux): string
private static function resolveExportUsageDays(array $rx, ?array $auxUsage, bool $isAux): string
{
$medDays = $orderMedicationDays;
if ($medDays !== null && $medDays !== '' && (int) $medDays > 0) {
return (string) (int) $medDays;
}
if ($isAux) {
$days = (int) ($auxUsage['usage_days'] ?? 0);
@@ -3990,10 +3987,9 @@ class PrescriptionOrderLogic
} else {
$item['export_aux_usage'] = '';
}
$orderMedDays = $item['medication_days'] ?? null;
$item['export_main_usage_days'] = self::resolveExportUsageDays($rxArr, $auxUsageNorm, $orderMedDays, false);
$item['export_main_usage_days'] = self::resolveExportUsageDays($rxArr, $auxUsageNorm, false);
$item['export_aux_usage_days'] = $auxHerbs !== []
? self::resolveExportUsageDays($rxArr, $auxUsageNorm, $orderMedDays, true)
? self::resolveExportUsageDays($rxArr, $auxUsageNorm, true)
: '';
$item['export_service_package'] = self::formatServicePackageForExport(
@@ -4906,8 +4902,8 @@ class PrescriptionOrderLogic
return false;
}
if (in_array((int) $order->fulfillment_status, [3, 4], true)) {
self::setError('已完成或已取消的订单不可修改');
if ((int) $order->fulfillment_status === 4) {
self::setError('已取消的订单不可修改');
return false;
}