BusDeviceRunningController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.coffee.bus.controller;
  2. import cn.dev33.satoken.SaManager;
  3. import cn.dev33.satoken.annotation.SaCheckPermission;
  4. import cn.dev33.satoken.stp.StpLogic;
  5. import cn.hutool.extra.spring.SpringUtil;
  6. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7. import com.baomidou.mybatisplus.core.mapper.Mapper;
  8. import com.coffee.bus.controller.vo.DeviceRunningMockVo;
  9. import com.coffee.bus.controller.vo.NoPumpConfigVo;
  10. import com.coffee.bus.entity.BusDeviceRunningEntity;
  11. import com.coffee.bus.enums.DeviceAlarmEnum;
  12. import com.coffee.bus.enums.DeviceStatusEnum;
  13. import com.coffee.bus.listener.event.bean.DeviceInfoEvent;
  14. import com.coffee.bus.service.LocalBusDeviceRunningService;
  15. import com.coffee.bus.utils.MockUtils;
  16. import com.coffee.common.crud.BaseService;
  17. import com.coffee.common.crud.controller.BaseQueryController;
  18. import com.coffee.common.result.R;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiImplicitParam;
  21. import io.swagger.annotations.ApiImplicitParams;
  22. import io.swagger.annotations.ApiOperation;
  23. import lombok.AllArgsConstructor;
  24. import org.springframework.boot.SpringApplication;
  25. import org.springframework.web.bind.annotation.*;
  26. /**
  27. * @author lifang
  28. * @version 1.0.0
  29. * @ClassName BusHospitalController.java
  30. * @Description TODO
  31. * @createTime 2022年03月19日 09:28:00
  32. */
  33. @RestController
  34. @AllArgsConstructor
  35. @RequestMapping("/bus/device/running")
  36. @Api(tags = "设备运行状态管理",description = "统一权限前缀(device:running),例如新增device:running:add")
  37. public class BusDeviceRunningController implements BaseQueryController<BusDeviceRunningEntity, String> {
  38. private final LocalBusDeviceRunningService netPumpService;
  39. @GetMapping("/alarm/dict")
  40. @ApiOperation(value = "设备报警状态枚举,无权限配置, alarm字段表示该状态是否为报警状态")
  41. public R alarm(){
  42. return R.success(DeviceAlarmEnum.values());
  43. }
  44. @GetMapping("/status/dict")
  45. @ApiOperation(value = "设备运行状态枚举,无权限配置")
  46. public R status(){
  47. return R.success(DeviceStatusEnum.values());
  48. }
  49. @PostMapping("/nopump")
  50. @SaCheckPermission("device:running:add")
  51. @ApiOperation(value = "新增无泵数据,权限为device:running:add")
  52. public R saveNoPump(@RequestBody NoPumpConfigVo noPump){
  53. return R.success();
  54. }
  55. @PostMapping("/count/clinic")
  56. @ApiOperation(value = "查询临床下泵的数量",notes = "根据病号+临床id+医院id 查询一个病人下是否绑定了多个泵,以此来作为泵重复的依据,权限标识为【空】")
  57. @ApiImplicitParams({
  58. @ApiImplicitParam(value = "病号",name = "code"),
  59. @ApiImplicitParam(value = "临床id",name = "clinicId")
  60. })
  61. public R repeatCount(@RequestParam("code") String patientCode,@RequestParam("clinicId") String clinic){
  62. return R.success(netPumpService.count(new QueryWrapper<BusDeviceRunningEntity>()
  63. .lambda()
  64. .eq(BusDeviceRunningEntity::getPatientCode,patientCode)
  65. .eq(BusDeviceRunningEntity::getClinicId,clinic)));
  66. }
  67. @PostMapping("/mock")
  68. @ApiOperation(value = "模拟设备运行数据",notes = "在进行数据模拟前,请确保该泵存在于bus_device表中,若不存在,请添加后再模拟数据,当出现泵重复状态时,权限标识为【无】")
  69. public R<BusDeviceRunningEntity> mock(@RequestBody DeviceRunningMockVo mockVo){
  70. BusDeviceRunningEntity mock = MockUtils.mock(mockVo.getDeviceId(), mockVo.getPatientCode(), mockVo.getClassification(), mockVo.getType());
  71. SpringUtil.publishEvent(new DeviceInfoEvent(this,mockVo,mockVo.getDeviceId()));
  72. return R.success(mock);
  73. }
  74. /**
  75. * 权限控制前缀
  76. * @return
  77. */
  78. @Override
  79. public String getPermissionPrefix() {
  80. return "device:running";
  81. }
  82. @Override
  83. public StpLogic getStpLogin() {
  84. return SaManager.getStpLogic("");
  85. }
  86. @Override
  87. public BaseService<? extends Mapper<BusDeviceRunningEntity>, BusDeviceRunningEntity, String> getService() {
  88. return netPumpService;
  89. }
  90. }