|  |  | 
 |  |  | package cn.lihu.jh.module.ecg.controller.admin.devmanage; | 
 |  |  |  | 
 |  |  | import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordPageReqVO; | 
 |  |  | import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordStatisticVO; | 
 |  |  | import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceStatisticDO; | 
 |  |  | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | import org.springframework.validation.annotation.Validated; | 
 |  |  | import org.springframework.security.access.prepost.PreAuthorize; | 
 |  |  | 
 |  |  | import io.swagger.v3.oas.annotations.Parameter; | 
 |  |  | import io.swagger.v3.oas.annotations.Operation; | 
 |  |  |  | 
 |  |  | import java.time.LocalDate; | 
 |  |  | import java.util.*; | 
 |  |  | import java.io.IOException; | 
 |  |  |  | 
 |  |  | 
 |  |  |         return success(BeanUtils.toBean(device, DeviceRespVO.class)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/update-dev-state") | 
 |  |  |     @Operation(summary = "更新设备状态") | 
 |  |  |     @Parameter(name = "devId", description = "编号", required = true, example = "1024") | 
 |  |  |     @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") | 
 |  |  |     public CommonResult<Integer> updateDeviceState(@Valid @RequestBody DeviceSaveReqVO updateReqVO) { | 
 |  |  |         updateReqVO.setStateDate( LocalDate.now() ); | 
 |  |  |         Integer ret =  deviceService.updateDeviceState(updateReqVO); | 
 |  |  |         return success(ret); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @GetMapping("/page") | 
 |  |  |     @Operation(summary = "获得设备分页") | 
 |  |  |     @PreAuthorize("@ss.hasPermission('ecg:device:query')") | 
 |  |  | 
 |  |  |               HttpServletResponse response) throws IOException { | 
 |  |  |         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | 
 |  |  |         List<DeviceDO> list = deviceService.getDevicePage(pageReqVO).getList(); | 
 |  |  |  | 
 |  |  |         List<DeviceRespFlattenVO> listFlatten = list.stream().map(deviceDO -> { | 
 |  |  |             DeviceRespFlattenVO deviceRespFlattenVO = BeanUtils.toBean(deviceDO, DeviceRespFlattenVO.class); | 
 |  |  |             if (null != deviceDO.getPatDetails()) { | 
 |  |  |                 deviceRespFlattenVO.setPatId(deviceDO.getPatDetails().getId()); | 
 |  |  |                 deviceRespFlattenVO.setPatName(deviceDO.getPatDetails().getName()); | 
 |  |  |                 deviceRespFlattenVO.setPatMobile(deviceDO.getPatDetails().getMobile()); | 
 |  |  |                 deviceRespFlattenVO.setPatDeptCode(deviceDO.getPatDetails().getDeptCode()); | 
 |  |  |                 deviceRespFlattenVO.setPatDeptDesc(deviceDO.getPatDetails().getDeptDesc()); | 
 |  |  |                 deviceRespFlattenVO.setPatWardCode(deviceDO.getPatDetails().getWardCode()); | 
 |  |  |                 deviceRespFlattenVO.setPatWardDesc(deviceDO.getPatDetails().getWardDesc()); | 
 |  |  |                 deviceRespFlattenVO.setPatBedNo(deviceDO.getPatDetails().getBedNo()); | 
 |  |  |             } | 
 |  |  |             return deviceRespFlattenVO; | 
 |  |  |         }).toList(); | 
 |  |  |  | 
 |  |  |         // 导出 Excel | 
 |  |  |         ExcelUtils.write(response, "设备.xls", "数据", DeviceRespVO.class, | 
 |  |  |                         BeanUtils.toBean(list, DeviceRespVO.class)); | 
 |  |  |         ExcelUtils.write(response, "设备.xls", "数据", DeviceRespFlattenVO.class, listFlatten); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |     @GetMapping("/dev-statistic") | 
 |  |  |     @Operation(summary = "设备统计") | 
 |  |  |     @PreAuthorize("@ss.hasPermission('ecg:device:statistic')") | 
 |  |  |     public CommonResult<List<DeviceStatisticVO>> getDeviceStatistic(@Valid DevicePageReqVO pageReqVO) { | 
 |  |  |         List<DeviceStatisticDO> statisticDOList = deviceService.getDeviceStatistic(pageReqVO); | 
 |  |  |         return success(BeanUtils.toBean(statisticDOList, DeviceStatisticVO.class)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |