eight
2025-04-09 d37e1f573a732c6138c53e3e15db616a671367ad
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/room/RoomController.java
@@ -4,11 +4,18 @@
import java.io.IOException;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.annotation.security.PermitAll;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import cn.hutool.extra.servlet.ServletUtil;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomProfile;
import cn.lihu.jh.module.ecg.service.queue.QueueService;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -16,9 +23,6 @@
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomRespVO;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomSaveReqVO;
import cn.lihu.jh.module.ecg.service.room.RoomService;
import cn.lihu.jh.module.system.api.dept.DeptApi;
import cn.lihu.jh.module.system.api.dept.dto.DeptRespDTO;
@@ -79,6 +83,15 @@
    public CommonResult<RoomRespVO> getRoom(@RequestParam("id") Integer id) {
        RoomDO room = roomService.getRoom(id);
        return success(BeanUtils.toBean(room, RoomRespVO.class));
    }
    @GetMapping("/get-room-by-ip")
    @Operation(summary = "获得诊室和诊疗床")
    @PermitAll
    public CommonResult<RoomProfileRespVO> getRoomByIP(HttpServletRequest request, @RequestParam(value = "roomId", required = false) Long roomId) {
        String reqIp = ServletUtil.getClientIP(request);
        RoomProfile roomProfile = roomService.getRoomByIP(reqIp, roomId);
        return success(BeanUtils.toBean(roomProfile, RoomProfileRespVO.class));
    }
    @GetMapping("/page")
@@ -149,26 +162,26 @@
    @GetMapping(value = {"/list-simple-room"})
    @Operation(summary = "获取门诊室列表", description = "主要用于前端的诊室选择")
    public CommonResult<Map<String, List<RoomRespVO>>> getSimpleRoomList() {
    public CommonResult<Map<Long, List<RoomRespVO>>> getSimpleRoomList() {
        List<RoomDO> list = roomService.simpleRoomList();
        List<RoomRespVO> list2 = BeanUtils.toBean(list, RoomRespVO.class);
        Map<String, List<RoomRespVO>> map = list2.stream().collect(Collectors.groupingBy(RoomRespVO::getRoomName));
        Map<Long, List<RoomRespVO>> map = list2.stream().collect(Collectors.groupingBy(RoomRespVO::getRoomId));
        return success(map);
    }
    @GetMapping(value = {"/reset-room"})
    @Operation(summary = "重置门诊室", description = "主要用于每天关闭工位")
    public CommonResult<String> resetRoom() {
        roomService.resetRoom();
        roomService.resetRoom(true);
        return success("reset room ok");
    }
    @GetMapping(value = {"/get-opening-flag"})
    @Operation(summary = "当前开诊状态获取", description = "当前开诊状态获取 监控用")
    public CommonResult<Integer> getOpeningFlag() {
        Integer openingFlag = roomService.getOpeningFlag();
        return success( openingFlag );
    @GetMapping(value = {"/monitor"})
    @Operation(summary = "监控状态获取", description = "监控状态获取 监控用")
    public CommonResult<MonitorInfoVO> getMonitorInfo() {
        MonitorInfoVO monitorInfoVO = roomService.getMonitorInfo();
        return success( monitorInfoVO );
    }
    @GetMapping("/start-biz")
@@ -187,4 +200,5 @@
        return success(0);
    }
}