更新
This commit is contained in:
@@ -246,7 +246,7 @@ class ExpressTrackingService
|
||||
}
|
||||
|
||||
/**
|
||||
* 处方业务订单履约「已发货(5) / 已签收(6)」时:清空关联诊单(患者)医助,并写入 tcm_diagnosis_assign_log。
|
||||
* 处方业务订单履约「已发货(5) / 已签收(6)」时:清空关联诊单(患者)医助,并写入 tcm_diagnosis_assign_log(含关联业务订单 creator_id / create_time 快照,便于核对医助创建订单时间)。
|
||||
* 快递 100 定时拉轨迹、甘草路由、甘草回调与履约核对共用同一规则。
|
||||
* 例外:指派日志中若存在「从某医助改派到另一医助」(原、新医助 ID 均大于 0)的记录,视为人工指派链,自动释放跳过。
|
||||
* 例外:患者当前医助在「二中心」及其全部子部门(与后台部门树一致)下任职时,不自动清空医助(按 admin_dept 与 dept 树判定)。
|
||||
@@ -323,19 +323,24 @@ class ExpressTrackingService
|
||||
default => '系统·订单已发货/签收',
|
||||
};
|
||||
|
||||
$relatedPoCreatorId = (int) ($order->getAttr('creator_id') ?? 0);
|
||||
$relatedPoCreateTime = (int) ($order->getAttr('create_time') ?? 0);
|
||||
|
||||
Db::startTrans();
|
||||
try {
|
||||
Diagnosis::where('id', $diagnosisId)->whereNull('delete_time')->update(['assistant_id' => 0]);
|
||||
|
||||
DiagnosisAssignLog::create([
|
||||
'diagnosis_id' => $diagnosisId,
|
||||
'from_assistant_id' => $fromAssistantId,
|
||||
'to_assistant_id' => 0,
|
||||
'operator_admin_id' => 0,
|
||||
'operator_name' => $operatorName,
|
||||
'operator_account' => '',
|
||||
'ip' => '',
|
||||
'create_time' => time(),
|
||||
'diagnosis_id' => $diagnosisId,
|
||||
'from_assistant_id' => $fromAssistantId,
|
||||
'to_assistant_id' => 0,
|
||||
'operator_admin_id' => 0,
|
||||
'operator_name' => $operatorName,
|
||||
'operator_account' => '',
|
||||
'ip' => '',
|
||||
'related_po_creator_id' => $relatedPoCreatorId,
|
||||
'related_po_create_time' => $relatedPoCreateTime,
|
||||
'create_time' => time(),
|
||||
]);
|
||||
|
||||
Db::commit();
|
||||
@@ -345,12 +350,15 @@ class ExpressTrackingService
|
||||
}
|
||||
|
||||
Log::info('Cleared diagnosis assistant (prescription shipped/signed), assign log written', [
|
||||
'source' => $source,
|
||||
'diagnosis_id' => $diagnosisId,
|
||||
'prescription_order_id' => $orderId,
|
||||
'tracking_id' => $trackingId,
|
||||
'fulfillment_status' => $fs,
|
||||
'former_assistant_id' => $fromAssistantId,
|
||||
'source' => $source,
|
||||
'diagnosis_id' => $diagnosisId,
|
||||
'prescription_order_id' => $orderId,
|
||||
'tracking_id' => $trackingId,
|
||||
'fulfillment_status' => $fs,
|
||||
'former_assistant_id' => $fromAssistantId,
|
||||
'related_po_creator_id' => $relatedPoCreatorId,
|
||||
'related_po_create_time' => $relatedPoCreateTime,
|
||||
'assistant_created_order' => ($relatedPoCreatorId === $fromAssistantId && $relatedPoCreateTime > 0) ? 1 : 0,
|
||||
]);
|
||||
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user