docs(requirement): 添加手术室维护界面需求文档
- 创建手术室维护界面PRD文档 - 定义页面概述、核心功能和用户价值 - 设计整体布局和页面区域详细描述 - 规范交互功能和数据结构说明 - 说明开发实现要点和注意事项 - 移除中医诊断主诊断功能实现说明文档 - 移除公告通知弹窗功能说明文档 - 移除手术人员字段不显示问题解决方案文档 - 移除手术和麻醉信息Redis缓存实现说明文档 - 移除手术室管理添加类型和所属科室字段说明文档
This commit is contained in:
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.core.common.core.domain.R;
|
||||
import com.core.common.utils.AssignSeqUtil;
|
||||
import com.core.common.utils.ChineseConvertUtils;
|
||||
import com.core.common.utils.DictUtils;
|
||||
import com.core.common.utils.StringUtils;
|
||||
import com.openhis.administration.domain.OperatingRoom;
|
||||
import com.openhis.administration.mapper.OperatingRoomMapper;
|
||||
@@ -78,23 +79,12 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
e.setStatusEnum_dictText(e.getStatusEnum() != null && e.getStatusEnum() == 1 ? "启用" : "停用");
|
||||
// 类型
|
||||
if (e.getRoomTypeEnum() != null) {
|
||||
switch (e.getRoomTypeEnum()) {
|
||||
case 1:
|
||||
e.setRoomTypeEnum_dictText("急诊手术室");
|
||||
break;
|
||||
case 2:
|
||||
e.setRoomTypeEnum_dictText("择期手术室");
|
||||
break;
|
||||
case 3:
|
||||
e.setRoomTypeEnum_dictText("日间手术室");
|
||||
break;
|
||||
case 4:
|
||||
e.setRoomTypeEnum_dictText("复合手术室");
|
||||
break;
|
||||
default:
|
||||
e.setRoomTypeEnum_dictText("未知");
|
||||
break;
|
||||
}
|
||||
e.setRoomTypeEnum_dictText(DictUtils.getDictLabel("operating_room_type", String.valueOf(e.getRoomTypeEnum())));
|
||||
}
|
||||
// 如果有机构ID,查询机构名称
|
||||
if (e.getOrganizationId() != null) {
|
||||
String orgName = commonService.getOrgNameById(e.getOrganizationId());
|
||||
e.setOrganizationName(orgName);
|
||||
}
|
||||
// 拼音码
|
||||
e.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(e.getName()));
|
||||
@@ -127,23 +117,7 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
|
||||
// 类型描述
|
||||
if (operatingRoom.getRoomTypeEnum() != null) {
|
||||
switch (operatingRoom.getRoomTypeEnum()) {
|
||||
case 1:
|
||||
operatingRoomDto.setRoomTypeEnum_dictText("急诊手术室");
|
||||
break;
|
||||
case 2:
|
||||
operatingRoomDto.setRoomTypeEnum_dictText("择期手术室");
|
||||
break;
|
||||
case 3:
|
||||
operatingRoomDto.setRoomTypeEnum_dictText("日间手术室");
|
||||
break;
|
||||
case 4:
|
||||
operatingRoomDto.setRoomTypeEnum_dictText("复合手术室");
|
||||
break;
|
||||
default:
|
||||
operatingRoomDto.setRoomTypeEnum_dictText("未知");
|
||||
break;
|
||||
}
|
||||
operatingRoomDto.setRoomTypeEnum_dictText(DictUtils.getDictLabel("operating_room_type", String.valueOf(operatingRoom.getRoomTypeEnum())));
|
||||
}
|
||||
|
||||
// 如果有机构ID,查询机构名称
|
||||
@@ -168,6 +142,11 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
return R.fail("手术室名称不能为空");
|
||||
}
|
||||
|
||||
// 校验房间号不能为空
|
||||
if (StringUtils.isEmpty(operatingRoomDto.getBusNo())) {
|
||||
return R.fail("房间号不能为空");
|
||||
}
|
||||
|
||||
// 去除空格
|
||||
String name = operatingRoomDto.getName().replaceAll("[ ]", "");
|
||||
operatingRoomDto.setName(name);
|
||||
@@ -177,13 +156,14 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
return R.fail("【" + name + "】已存在");
|
||||
}
|
||||
|
||||
// 判断房间号是否已存在
|
||||
if (isExistBusNo(operatingRoomDto.getBusNo(), null)) {
|
||||
return R.fail("房间号【" + operatingRoomDto.getBusNo() + "】已存在");
|
||||
}
|
||||
|
||||
OperatingRoom operatingRoom = new OperatingRoom();
|
||||
BeanUtils.copyProperties(operatingRoomDto, operatingRoom);
|
||||
|
||||
// 生成编码
|
||||
String code = assignSeqUtil.getSeq(AssignSeqEnum.OPERATING_ROOM_BUS_NO.getPrefix(), 3);
|
||||
operatingRoom.setBusNo(code);
|
||||
|
||||
// 拼音码
|
||||
operatingRoom.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(operatingRoomDto.getName()));
|
||||
// 五笔码
|
||||
@@ -215,6 +195,11 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
return R.fail("手术室名称不能为空");
|
||||
}
|
||||
|
||||
// 校验房间号不能为空
|
||||
if (StringUtils.isEmpty(operatingRoomDto.getBusNo())) {
|
||||
return R.fail("房间号不能为空");
|
||||
}
|
||||
|
||||
// 去除空格
|
||||
String name = operatingRoomDto.getName().replaceAll("[ ]", "");
|
||||
operatingRoomDto.setName(name);
|
||||
@@ -224,6 +209,11 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
return R.fail("【" + name + "】已存在");
|
||||
}
|
||||
|
||||
// 判断房间号是否已存在(排除自己)
|
||||
if (isExistBusNo(operatingRoomDto.getBusNo(), operatingRoomDto.getId())) {
|
||||
return R.fail("房间号【" + operatingRoomDto.getBusNo() + "】已存在");
|
||||
}
|
||||
|
||||
OperatingRoom operatingRoom = new OperatingRoom();
|
||||
BeanUtils.copyProperties(operatingRoomDto, operatingRoom);
|
||||
|
||||
@@ -331,4 +321,20 @@ public class OperatingRoomAppServiceImpl implements IOperatingRoomAppService {
|
||||
}
|
||||
return operatingRoomService.count(queryWrapper) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断房间号是否已存在
|
||||
*
|
||||
* @param busNo 房间号
|
||||
* @param excludeId 排除的ID
|
||||
* @return 是否存在
|
||||
*/
|
||||
private boolean isExistBusNo(String busNo, Long excludeId) {
|
||||
LambdaQueryWrapper<OperatingRoom> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(OperatingRoom::getBusNo, busNo);
|
||||
if (excludeId != null) {
|
||||
queryWrapper.ne(OperatingRoom::getId, excludeId);
|
||||
}
|
||||
return operatingRoomService.count(queryWrapper) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user