| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.coffee.bus.controller;
- import cn.dev33.satoken.SaManager;
- import cn.dev33.satoken.annotation.SaCheckPermission;
- import cn.dev33.satoken.stp.StpLogic;
- import cn.hutool.extra.spring.SpringUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.mapper.Mapper;
- import com.coffee.bus.controller.vo.DeviceRunningMockVo;
- import com.coffee.bus.controller.vo.NoPumpConfigVo;
- import com.coffee.bus.entity.BusDeviceRunningEntity;
- import com.coffee.bus.enums.DeviceAlarmEnum;
- import com.coffee.bus.enums.DeviceStatusEnum;
- import com.coffee.bus.listener.event.bean.DeviceInfoEvent;
- import com.coffee.bus.service.LocalBusDeviceRunningService;
- import com.coffee.bus.utils.MockUtils;
- import com.coffee.common.crud.BaseService;
- import com.coffee.common.crud.controller.BaseQueryController;
- import com.coffee.common.result.R;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.AllArgsConstructor;
- import org.springframework.boot.SpringApplication;
- import org.springframework.web.bind.annotation.*;
- /**
- * @author lifang
- * @version 1.0.0
- * @ClassName BusHospitalController.java
- * @Description TODO
- * @createTime 2022年03月19日 09:28:00
- */
- @RestController
- @AllArgsConstructor
- @RequestMapping("/bus/device/running")
- @Api(tags = "设备运行状态管理",description = "统一权限前缀(device:running),例如新增device:running:add")
- public class BusDeviceRunningController implements BaseQueryController<BusDeviceRunningEntity, String> {
- private final LocalBusDeviceRunningService netPumpService;
- @GetMapping("/alarm/dict")
- @ApiOperation(value = "设备报警状态枚举,无权限配置, alarm字段表示该状态是否为报警状态")
- public R alarm(){
- return R.success(DeviceAlarmEnum.values());
- }
- @GetMapping("/status/dict")
- @ApiOperation(value = "设备运行状态枚举,无权限配置")
- public R status(){
- return R.success(DeviceStatusEnum.values());
- }
- @PostMapping("/nopump")
- @SaCheckPermission("device:running:add")
- @ApiOperation(value = "新增无泵数据,权限为device:running:add")
- public R saveNoPump(@RequestBody NoPumpConfigVo noPump){
- return R.success();
- }
- @PostMapping("/count/clinic")
- @ApiOperation(value = "查询临床下泵的数量",notes = "根据病号+临床id+医院id 查询一个病人下是否绑定了多个泵,以此来作为泵重复的依据,权限标识为【空】")
- @ApiImplicitParams({
- @ApiImplicitParam(value = "病号",name = "code"),
- @ApiImplicitParam(value = "临床id",name = "clinicId")
- })
- public R repeatCount(@RequestParam("code") String patientCode,@RequestParam("clinicId") String clinic){
- return R.success(netPumpService.count(new QueryWrapper<BusDeviceRunningEntity>()
- .lambda()
- .eq(BusDeviceRunningEntity::getPatientCode,patientCode)
- .eq(BusDeviceRunningEntity::getClinicId,clinic)));
- }
- @PostMapping("/mock")
- @ApiOperation(value = "模拟设备运行数据",notes = "在进行数据模拟前,请确保该泵存在于bus_device表中,若不存在,请添加后再模拟数据,当出现泵重复状态时,权限标识为【无】")
- public R<BusDeviceRunningEntity> mock(@RequestBody DeviceRunningMockVo mockVo){
- BusDeviceRunningEntity mock = MockUtils.mock(mockVo.getDeviceId(), mockVo.getPatientCode(), mockVo.getClassification(), mockVo.getType());
- SpringUtil.publishEvent(new DeviceInfoEvent(this,mockVo,mockVo.getDeviceId()));
- return R.success(mock);
- }
- /**
- * 权限控制前缀
- * @return
- */
- @Override
- public String getPermissionPrefix() {
- return "device:running";
- }
- @Override
- public StpLogic getStpLogin() {
- return SaManager.getStpLogic("");
- }
- @Override
- public BaseService<? extends Mapper<BusDeviceRunningEntity>, BusDeviceRunningEntity, String> getService() {
- return netPumpService;
- }
- }
|