fix: 医生下拉关联真实用户 + 清理脏数据 + 3D查看器
修复: - 医生下拉改为调用/system/user/list获取所有活跃用户 - 新建任务表单filterable选择真实医生 - 清理测试产生的脏数据(7个CANCELLED任务+5个测试报告) - 修复卡住的PROCESSING任务(改为CANCELLED) 医生列表: - 显示所有活跃用户的nickName+userName - 支持搜索过滤
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"test_time": "2026-06-08T09:11:33.934379",
|
||||
"test_time": "2026-06-08T11:20:49.248056",
|
||||
"environment": "http://localhost:18082/healthlink-his",
|
||||
"total": 125,
|
||||
"passed": 125,
|
||||
@@ -167,7 +167,7 @@
|
||||
"id": "OP-PHARM",
|
||||
"name": "待发药列表",
|
||||
"ok": true,
|
||||
"detail": "待发药=534"
|
||||
"detail": "待发药=532"
|
||||
},
|
||||
{
|
||||
"id": "OP-WEST",
|
||||
@@ -377,13 +377,13 @@
|
||||
"id": "INS-3D",
|
||||
"name": "3D重建任务",
|
||||
"ok": true,
|
||||
"detail": "任务=0"
|
||||
"detail": "任务=14"
|
||||
},
|
||||
{
|
||||
"id": "INS-3D-RPT",
|
||||
"name": "3D重建报告",
|
||||
"ok": true,
|
||||
"detail": "报告=0"
|
||||
"detail": "报告=11"
|
||||
},
|
||||
{
|
||||
"id": "INS-RAD-RPT",
|
||||
@@ -695,7 +695,7 @@
|
||||
"id": "MR-05-PHARM",
|
||||
"name": "药师→待发药",
|
||||
"ok": true,
|
||||
"detail": "待发药=534"
|
||||
"detail": "待发药=532"
|
||||
},
|
||||
{
|
||||
"id": "MR-06-CHARGE",
|
||||
|
||||
@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.core.common.core.domain.R;
|
||||
import com.healthlink.his.reconstruction.domain.*;
|
||||
import com.healthlink.his.reconstruction.service.*;
|
||||
import com.core.system.service.ISysUserService;
|
||||
import com.core.system.service.ISysRoleService;
|
||||
import com.core.common.core.domain.entity.SysRole;
|
||||
import com.core.common.core.domain.entity.SysUser;
|
||||
import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*;
|
||||
@@ -13,6 +17,8 @@ public class Reconstruction3DController {
|
||||
private final IReconstructionTaskService taskService;
|
||||
private final IReconstructionResultService resultService;
|
||||
private final IReconstructionReportService reportService;
|
||||
private final ISysUserService userService;
|
||||
private final ISysRoleService roleService;
|
||||
|
||||
// ==================== 重建任务 ====================
|
||||
@GetMapping("/task/page")
|
||||
@@ -100,4 +106,32 @@ public class Reconstruction3DController {
|
||||
stats.put("totalReports", reportService.count());
|
||||
return R.ok(stats);
|
||||
}
|
||||
|
||||
// ==================== 医生列表 ====================
|
||||
@GetMapping("/doctors")
|
||||
public R<?> getDoctors() {
|
||||
SysUser query = new SysUser();
|
||||
query.setStatus("0");
|
||||
query.setDelFlag("0");
|
||||
List<SysUser> allUsers = userService.selectUserList(query);
|
||||
// For each user, check if they have role 200 (doctor)
|
||||
List<Map<String, Object>> doctors = new ArrayList<>();
|
||||
for (SysUser user : allUsers) {
|
||||
List<SysRole> roles = roleService.selectRolesByUserId(user.getUserId());
|
||||
if (roles != null) {
|
||||
for (SysRole role : roles) {
|
||||
if (role.getRoleId() != null && role.getRoleId() == 200L) {
|
||||
Map<String, Object> doc = new HashMap<>();
|
||||
doc.put("userId", user.getUserId());
|
||||
doc.put("userName", user.getUserName());
|
||||
doc.put("nickName", user.getNickName());
|
||||
doctors.add(doc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return R.ok(doctors);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@ export function addReport(d){return request({url:'/reconstruction/report/add',me
|
||||
export function submitReport(id){return request({url:'/reconstruction/report/submit/'+id,method:'put'})}
|
||||
export function verifyReport(id,doctor){return request({url:'/reconstruction/report/verify/'+id,method:'put',params:{doctor}})}
|
||||
export function getStats(){return request({url:'/reconstruction/stats',method:'get'})}
|
||||
// 获取医生列表(有医生角色的用户)
|
||||
export function getDoctorList(){return request({url:'/system/user/list',method:'get',params:{pageSize:200}})}
|
||||
// Get all active users for doctor selection
|
||||
export function getDoctorList(){return request({url:'/system/user/list',method:'get',params:{status:'0',pageSize:200}})}
|
||||
|
||||
Reference in New Issue
Block a user