新增
This commit is contained in:
@@ -2066,7 +2066,57 @@ class DiagnosisLogic extends BaseLogic
|
||||
->order('a.id', 'asc')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
|
||||
if ($assistants === []) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$adminIds = array_column($assistants, 'id');
|
||||
$adminDepts = \app\common\model\auth\AdminDept::whereIn('admin_id', $adminIds)
|
||||
->select()
|
||||
->toArray();
|
||||
$adminToDeptIds = [];
|
||||
foreach ($adminDepts as $ad) {
|
||||
$aid = (int) ($ad['admin_id'] ?? 0);
|
||||
if ($aid <= 0) {
|
||||
continue;
|
||||
}
|
||||
$adminToDeptIds[$aid][] = (int) ($ad['dept_id'] ?? 0);
|
||||
}
|
||||
$allDeptIds = [];
|
||||
foreach ($adminToDeptIds as $deptIdList) {
|
||||
foreach ($deptIdList as $did) {
|
||||
if ($did > 0) {
|
||||
$allDeptIds[$did] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
$allDeptIds = array_keys($allDeptIds);
|
||||
$deptNameMap = [];
|
||||
if ($allDeptIds !== []) {
|
||||
$deptNameMap = \app\common\model\dept\Dept::whereIn('id', $allDeptIds)
|
||||
->whereNull('delete_time')
|
||||
->column('name', 'id');
|
||||
}
|
||||
foreach ($assistants as &$row) {
|
||||
$aid = (int) ($row['id'] ?? 0);
|
||||
$idsForAdmin = [];
|
||||
foreach ($adminToDeptIds[$aid] ?? [] as $did) {
|
||||
if ($did > 0) {
|
||||
$idsForAdmin[] = $did;
|
||||
}
|
||||
}
|
||||
$row['dept_ids'] = array_values(array_unique($idsForAdmin));
|
||||
$names = [];
|
||||
foreach ($row['dept_ids'] as $did) {
|
||||
if (!empty($deptNameMap[$did])) {
|
||||
$names[] = (string) $deptNameMap[$did];
|
||||
}
|
||||
}
|
||||
$row['dept_names'] = $names !== [] ? implode('、', array_unique($names)) : '';
|
||||
}
|
||||
unset($row);
|
||||
|
||||
return $assistants;
|
||||
} catch (\Exception $e) {
|
||||
\think\facade\Log::error('获取医助列表失败: ' . $e->getMessage());
|
||||
@@ -2737,7 +2787,9 @@ class DiagnosisLogic extends BaseLogic
|
||||
'systolic_pressure' => !empty($params['systolic_pressure']) ? intval($params['systolic_pressure']) : null,
|
||||
'diastolic_pressure' => !empty($params['diastolic_pressure']) ? intval($params['diastolic_pressure']) : null,
|
||||
'fasting_blood_sugar' => !empty($params['fasting_blood_sugar']) ? floatval($params['fasting_blood_sugar']) : null,
|
||||
'diabetes_discovery_year' => !empty($params['diabetes_discovery_year']) ? intval($params['diabetes_discovery_year']) : null,
|
||||
'diabetes_discovery_year' => isset($params['diabetes_discovery_year'])
|
||||
? (trim((string) $params['diabetes_discovery_year']) !== '' ? trim((string) $params['diabetes_discovery_year']) : null)
|
||||
: null,
|
||||
'local_hospital_diagnosis' => $params['local_hospital_diagnosis'] ?? '',
|
||||
'local_hospital_name' => $params['local_hospital_name'] ?? '',
|
||||
'local_hospital_visit_date' => $params['local_hospital_visit_date'] ?? '',
|
||||
|
||||
Reference in New Issue
Block a user