|
|
@@ -2,9 +2,12 @@ package com.ruoyi.web.controller.info;
|
|
|
|
|
|
import java.net.MalformedURLException;
|
|
|
import java.net.URL;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
@@ -32,20 +35,31 @@ import com.ruoyi.common.enums.BusinessType;
|
|
|
import com.ruoyi.common.enums.FilePathSplicingType;
|
|
|
import com.ruoyi.common.filepathsplicing.FilePathSplicing;
|
|
|
import com.ruoyi.common.filepathsplicing.FilePathSplicingUtil;
|
|
|
+import com.ruoyi.common.utils.BeanCopyUtils;
|
|
|
+import com.ruoyi.common.utils.CollectionUtils;
|
|
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
+import com.ruoyi.info.hospital.domain.vo.HospitalDepartmentVo;
|
|
|
+import com.ruoyi.info.hospital.domain.vo.HospitalVo;
|
|
|
+import com.ruoyi.info.hospital.service.IHospitalDepartmentService;
|
|
|
+import com.ruoyi.info.hospital.service.IHospitalService;
|
|
|
+import com.ruoyi.info.management.domain.TeacherDepartmentRel;
|
|
|
import com.ruoyi.info.management.domain.bo.ManagementTeacherBo;
|
|
|
import com.ruoyi.info.management.domain.bo.ManagementTeacherPageReqBo;
|
|
|
import com.ruoyi.info.management.domain.vo.ManagementTeacherVo;
|
|
|
import com.ruoyi.info.management.service.IManagementTeacherService;
|
|
|
+import com.ruoyi.info.management.service.ITeacherDepartmentRelService;
|
|
|
import com.ruoyi.info.nursing.domain.bo.EnableStatusBo;
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
|
+import static com.ruoyi.common.utils.CollectionUtils.*;
|
|
|
+
|
|
|
/**
|
|
|
* 管理老师信息Controller
|
|
|
*
|
|
|
@@ -63,6 +77,12 @@ public class ManagementTeacherController extends BaseController {
|
|
|
|
|
|
private final FilePathSplicingUtil filePathSplicingUtil;
|
|
|
|
|
|
+ private final ITeacherDepartmentRelService iTeacherDepartmentRelService;
|
|
|
+
|
|
|
+ private final IHospitalService iHospitalService;
|
|
|
+
|
|
|
+ private final IHospitalDepartmentService iHospitalDepartmentService;
|
|
|
+
|
|
|
/**
|
|
|
* 分页查询管理老师信息列表
|
|
|
*/
|
|
|
@@ -84,7 +104,34 @@ public class ManagementTeacherController extends BaseController {
|
|
|
public R<ManagementTeacherVo> getInfo(@ApiParam("主键")
|
|
|
@NotNull(message = "主键不能为空")
|
|
|
@PathVariable("id") Long id) {
|
|
|
- return R.ok(iManagementTeacherService.queryById(id));
|
|
|
+ ManagementTeacherVo managementTeacherVo = iManagementTeacherService.queryById(id);
|
|
|
+
|
|
|
+ // 获取管理老师关联的医院和科室信息
|
|
|
+ List<TeacherDepartmentRel> teacherDepartmentRelList = iTeacherDepartmentRelService.queryByTeacherId(id);
|
|
|
+ if (CollUtil.isEmpty(teacherDepartmentRelList)) {
|
|
|
+ return R.ok(managementTeacherVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理老师关联的医院和科室信息
|
|
|
+ Set<Long> hospitalIds = convertSet(teacherDepartmentRelList, TeacherDepartmentRel::getHospitalId);
|
|
|
+ List<HospitalVo> hospitalList = iHospitalService.queryListByIds(hospitalIds);
|
|
|
+ List<ManagementTeacherVo.HospitalSimpleInfo> hospitalSimpleInfoList = BeanCopyUtils.copyList(hospitalList, ManagementTeacherVo.HospitalSimpleInfo.class);
|
|
|
+
|
|
|
+ // 科室信息
|
|
|
+ for (ManagementTeacherVo.HospitalSimpleInfo hospitalSimpleInfo : hospitalSimpleInfoList) {
|
|
|
+ Set<Long> departmentIds = teacherDepartmentRelList.stream()
|
|
|
+ .filter(rel -> rel.getHospitalId().equals(hospitalSimpleInfo.getId()))
|
|
|
+ .map(TeacherDepartmentRel::getDepartmentId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+
|
|
|
+ // 获取关联部门详情
|
|
|
+ List<ManagementTeacherVo.DepartmentSimpleInfo> departmentSimpleInfoList =
|
|
|
+ BeanCopyUtils.copyList(iHospitalDepartmentService.queryListByIds(departmentIds), ManagementTeacherVo.DepartmentSimpleInfo.class);
|
|
|
+ hospitalSimpleInfo.setDepartmentList(departmentSimpleInfoList);
|
|
|
+ }
|
|
|
+ managementTeacherVo.setHospitalRelList(hospitalSimpleInfoList);
|
|
|
+
|
|
|
+ return R.ok(managementTeacherVo);
|
|
|
}
|
|
|
|
|
|
/**
|