Преглед изворни кода

东北大学气瓶修改提交

hanzhiwei пре 2 година
родитељ
комит
fe64f4a745
32 измењених фајлова са 766 додато и 324 уклоњено
  1. 2 2
      zd-common/common-core/src/main/resources/code-generator.properties
  2. 1 1
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/CodeGenerator.java
  3. 26 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/config/MybatisPlusConfig.java
  4. 161 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbBeaconController.java
  5. 0 133
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbBottleController.java
  6. 143 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbBottleTypeController.java
  7. 15 76
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbInOutRecordController.java
  8. 105 23
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbStockController.java
  9. 9 12
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbUsageRecordController.java
  10. 79 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbBeacon.java
  11. 6 9
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbBottle.java
  12. 2 5
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbInOutRecord.java
  13. 5 5
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbStock.java
  14. 2 5
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbUsageRecord.java
  15. 42 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbBeaconBo.java
  16. 3 6
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbBottleBo.java
  17. 4 5
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbInOutRecordBo.java
  18. 2 5
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbStockBo.java
  19. 2 5
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbUsageRecordBo.java
  20. 49 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/vo/DbBeaconPrintVo.java
  21. 18 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/mapper/DbBeaconMapper.java
  22. 3 3
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/mapper/DbBottleMapper.java
  23. 16 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/DbBeaconService.java
  24. 3 3
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/DbBottleService.java
  25. 20 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/DbBeaconServiceImpl.java
  26. 0 20
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/DbBottleServiceImpl.java
  27. 20 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/DbBottleTypeServiceImpl.java
  28. 26 0
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbBeaconMapper.xml
  29. 2 3
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbBottleMapper.xml
  30. 0 1
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbInOutRecordMapper.xml
  31. 0 1
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbStockMapper.xml
  32. 0 1
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbUsageRecordMapper.xml

+ 2 - 2
zd-common/common-core/src/main/resources/code-generator.properties

@@ -1,6 +1,6 @@
 ##数据库信息
-mysql-url=jdbc:mysql://192.168.1.43:13306/cloud_data_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+mysql-url=jdbc:mysql://192.168.1.43:13306/cloud_data_v2_dbdx?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
 mysql-user=root
 mysql-pwd=root123456
 #作者
-author=linft
+author=hzw

+ 1 - 1
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/CodeGenerator.java

@@ -16,7 +16,7 @@ public class CodeGenerator {
 
     public static void main(String[] args) {
         //要生成的表名
-        String[] tables = {"db_usage_record"};
+        String[] tables = {"db_bottle_type"};
         //表前缀,若不想生成在实体里,添加前缀,如:sys_user, 前缀为:sys_
         String tablePrefix = "";
         URL url = CodeGenerator.class.getResource("");

+ 26 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/config/MybatisPlusConfig.java

@@ -0,0 +1,26 @@
+package com.zd.airbottle.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * <p>MybatisPlus配置</p>
+ *
+ * @author: linft
+ * @date: 2023/4/14
+ * @since:
+ */
+@Configuration
+public class MybatisPlusConfig {
+
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        return interceptor;
+    }
+
+}

+ 161 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbBeaconController.java

@@ -0,0 +1,161 @@
+package com.zd.airbottle.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zd.airbottle.domain.DbBeacon;
+import com.zd.airbottle.domain.DbStock;
+import com.zd.airbottle.domain.bo.DbBeaconBo;
+import com.zd.airbottle.domain.vo.DbBeaconPrintVo;
+import com.zd.airbottle.service.DbBeaconService;
+import com.zd.airbottle.service.DbStockService;
+import com.zd.airbottle.utils.PageUtil;
+import com.zd.common.core.annotation.Log;
+import com.zd.common.core.log.BusinessType;
+import com.zd.common.core.utils.StringUtils;
+import com.zd.common.core.web.controller.AbstractController;
+import com.zd.model.domain.ResultData;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Description 东北大学信标
+ * @Author hzw
+ * @Date 2023/10/18 10:03
+ * @Version 2.0
+ */
+@Api("东北大学信标")
+@RestController
+@RequestMapping("/beacon")
+public class DbBeaconController extends AbstractController {
+
+    @Autowired
+    private DbBeaconService dbBeaconService;
+
+    @Autowired
+    private DbStockService dbStockService;
+
+    /**
+     * 新增信标
+     *
+     * @param dbBeaconBo
+     * @return
+     */
+    @ApiOperation(value = "新增信标", notes = "参数说明: ")
+    @Log(title = "新增信标", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/add")
+    public ResultData add(@RequestBody DbBeaconBo dbBeaconBo) {
+        //参数检查
+        paramCheck.notNull(dbBeaconBo).strNotEmpty(dbBeaconBo.getBeaconTag());
+        long count = dbBeaconService.count(new LambdaQueryWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbBeaconBo.getBeaconTag()));
+        if (count > 0) {
+            return ResultData.fail("当前信标码已存在!");
+        }
+        DbBeacon dbBeacon = new DbBeacon();
+        BeanUtils.copyProperties(dbBeaconBo, dbBeacon);
+        if (dbBeaconService.save(dbBeacon)) {
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+
+    /**
+     * 更新信标
+     * @param dbBeaconBo
+     * @return
+     */
+    @ApiOperation(value = "更新信标", notes = "参数说明:id 必填 ")
+    @Log(title = "更新信标", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "/update")
+    public ResultData update(@RequestBody DbBeaconBo dbBeaconBo) {
+        //参数检查
+        paramCheck.notNull(dbBeaconBo).notNull(dbBeaconBo.getId()).strNotEmpty(dbBeaconBo.getBeaconTag());
+        long count = dbBeaconService.count(new LambdaQueryWrapper<DbBeacon>().ne(DbBeacon::getBeaconTag,dbBeaconBo.getId()).eq(DbBeacon::getBeaconTag, dbBeaconBo.getBeaconTag()));
+        if (count > 0) {
+            return ResultData.fail("当前信标码已存在!");
+        }
+        DbBeacon dbBeacon = new DbBeacon();
+        BeanUtils.copyProperties(dbBeaconBo, dbBeacon);
+        if (dbBeaconService.saveOrUpdate(dbBeacon)) {
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+    /**
+     * 通过ID获取信标详情
+     *
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "通过ID获取信标详情", notes = "参数说明:id 必填")
+    @GetMapping(value = "/findById")
+    public ResultData find(@RequestParam("id") Long id) {
+        paramCheck.notNull(id);
+        DbBeacon dbBeacon = dbBeaconService.getById(id);
+        return ResultData.success(dbBeacon);
+    }
+
+    /**
+     * 获取信标列表
+     *
+     * @param dbBeaconBo
+     * @return
+     */
+    @ApiOperation(value = "获取信标列表", notes = "参数说明:searchValue 关键字")
+    @PostMapping(value = "/list")
+    public ResultData list(@RequestBody DbBeaconBo dbBeaconBo) {
+        //查询条件
+        LambdaQueryWrapper<DbBeacon> queryWrapper = new LambdaQueryWrapper<>();
+        //gasName条件
+        if (StringUtils.isNotBlank(dbBeaconBo.getSearchValue())) {
+            queryWrapper.like(DbBeacon::getBeaconTag, dbBeaconBo.getSearchValue());
+        }
+        //倒叙
+        queryWrapper.orderByDesc(DbBeacon::getId);
+        IPage<DbBeacon> result = dbBeaconService.page(PageUtil.getQuery(dbBeaconBo.getPageNum(), dbBeaconBo.getPageSize()), queryWrapper);
+        return ResultData.success(result);
+    }
+
+    /**
+     * 通过Id删除信标
+     *
+     * @param dbBeaconBo
+     * @return
+     */
+    @ApiOperation(value = "通过Id删除信标", notes = "参数说明:id 必填")
+    @Log(title = "通过Id删除信标", businessType = BusinessType.DELETE)
+    @PostMapping(value = "/delete")
+    public ResultData delete(@RequestBody DbBeaconBo dbBeaconBo) {
+        paramCheck.notNull(dbBeaconBo).notNull(dbBeaconBo.getId());
+        boolean bool = dbBeaconService.removeById(dbBeaconBo.getId());
+        if (bool) {
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+    /**
+     * 通过信标码查询打印信息
+     *
+     * @param beaconTag
+     * @return
+     */
+    @ApiOperation(value = "通过信标码查询打印信息", notes = "参数说明:beaconTag 信标标签 必填")
+    @PostMapping(value = "/findByBeaconTag")
+    public ResultData delete(@RequestParam("beaconTag") String beaconTag) {
+        paramCheck.strNotEmpty(beaconTag);
+        DbBeacon dbBeacon = dbBeaconService.getOne(new LambdaQueryWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, beaconTag));
+        DbBeaconPrintVo dbBeaconPrintVo = new DbBeaconPrintVo();
+        if(dbBeacon.getState().equals(1)){
+            //已绑定 查库存
+            DbStock dbStock = dbStockService.getOne(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBeaconTag, beaconTag));
+            BeanUtils.copyProperties(dbStock, dbBeaconPrintVo);
+        }
+        BeanUtils.copyProperties(dbBeacon, dbBeaconPrintVo);
+        return ResultData.success(dbBeaconPrintVo);
+    }
+}

+ 0 - 133
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbBottleController.java

@@ -1,133 +0,0 @@
-package com.zd.airbottle.controller;
-
-import cn.hutool.core.util.IdUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zd.airbottle.domain.DbBottle;
-import com.zd.airbottle.domain.bo.DbBottleBo;
-import com.zd.airbottle.service.DbBottleService;
-import com.zd.airbottle.utils.PageUtil;
-import com.zd.common.core.annotation.Log;
-import com.zd.common.core.log.BusinessType;
-import com.zd.common.core.utils.StringUtils;
-import com.zd.common.core.web.controller.AbstractController;
-import com.zd.model.domain.ResultData;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @Description 东北大学定制气瓶控制类
- * @Author hzw
- * @Date 2023/10/16 17:46
- * @Version 2.0
- */
-@Api(tags = "东北大学定制气瓶控制类")
-@RestController
-@RequestMapping("/bottle")
-public class DbBottleController extends AbstractController {
-
-    private static final String PREFIX = "QP";
-
-    @Autowired
-    private DbBottleService dbBottleService;
-
-
-    /**
-     * 添加气瓶
-     *
-     * @param dbBottleBo
-     * @return
-     */
-    @ApiOperation(value = "添加气瓶", tags = "参数说明:gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号,gasComposition 气体成分 ")
-    @Log(title = "添加气瓶", businessType = BusinessType.INSERT)
-    @PostMapping(value = "/add")
-    public ResultData add(@RequestBody DbBottleBo dbBottleBo) {
-        //参数检查
-        paramCheck.notNull(dbBottleBo).strNotEmpty(dbBottleBo.getGasName()).notNull(dbBottleBo.getLevel()).notNull(dbBottleBo.getSize());
-        DbBottle dbBottle = new DbBottle();
-        BeanUtils.copyProperties(dbBottleBo, dbBottle);
-        dbBottle.setIsDeleted(Boolean.FALSE);
-        if (dbBottleService.save(dbBottle)) {
-            return ResultData.success("操作成功");
-        }
-        return ResultData.fail("操作失败");
-    }
-
-
-    /**
-     * 更新气瓶
-     *
-     * @Param [dbBottleBo]
-     * @Return com.zd.model.domain.ResultData
-     **/
-    @ApiOperation(value = "更新气瓶", tags = "参数说明:id 必填,gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号,gasComposition 气体成分 ")
-    @Log(title = "更新气瓶", businessType = BusinessType.UPDATE)
-    @PostMapping(value = "/update")
-    public ResultData update(@RequestBody DbBottleBo dbBottleBo) {
-        //参数检查
-        paramCheck.notNull(dbBottleBo).notNull(dbBottleBo.getId()).strNotEmpty(dbBottleBo.getGasName()).notNull(dbBottleBo.getLevel()).notNull(dbBottleBo.getSize());
-        DbBottle dbBottle = new DbBottle();
-        BeanUtils.copyProperties(dbBottleBo, dbBottle);
-        if (dbBottleService.saveOrUpdate(dbBottle)) {
-            return ResultData.success("操作成功");
-        }
-        return ResultData.fail("操作失败");
-    }
-
-    /**
-     * 通过ID获取气瓶详情
-     *
-     * @param id
-     * @return
-     */
-    @ApiOperation(value = "通过ID获取气瓶详情", tags = "参数说明:id 必填")
-    @GetMapping(value = "/findById")
-    public ResultData find(@RequestParam("id") Long id) {
-        paramCheck.notNull(id);
-        DbBottle dbBottle = dbBottleService.getById(id);
-        return ResultData.success(dbBottle);
-    }
-
-    /**
-     * 获取气瓶list
-     *
-     * @param dbBottleBo
-     * @return
-     */
-    @ApiOperation(value = "获取气瓶list", tags = "参数说明:searchValue 关键字")
-    @PostMapping(value = "/list")
-    public ResultData list(@RequestBody DbBottleBo dbBottleBo) {
-        //查询条件
-        LambdaQueryWrapper<DbBottle> queryWrapper = new LambdaQueryWrapper<>();
-        //gasName条件
-        if (StringUtils.isNotBlank(dbBottleBo.getSearchValue())) {
-            queryWrapper.like(DbBottle::getGasName, dbBottleBo.getSearchValue());
-        }
-        //过滤物理删除数据及倒叙
-        queryWrapper.eq(DbBottle::getIsDeleted, Boolean.FALSE).orderByDesc(DbBottle::getId);
-        IPage<DbBottle> result = dbBottleService.page(PageUtil.getQuery(dbBottleBo.getPageNum(), dbBottleBo.getPageSize()), queryWrapper);
-        return ResultData.success(result);
-    }
-
-    /**
-     * 通过Id删除气瓶
-     *
-     * @param dbBottleBo
-     * @return
-     */
-    @ApiOperation(value = "通过Id删除气瓶", tags = "参数说明:id 必填")
-    @Log(title = "通过Id删除气瓶", businessType = BusinessType.DELETE)
-    @PostMapping(value = "/delete")
-    public ResultData delete(@RequestBody DbBottleBo dbBottleBo) {
-        paramCheck.notNull(dbBottleBo).notNull(dbBottleBo.getId());
-        boolean bool = dbBottleService.removeById(dbBottleBo.getId());
-        if (bool) {
-            return ResultData.success("操作成功");
-        }
-        return ResultData.fail("操作失败");
-    }
-
-}

+ 143 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbBottleTypeController.java

@@ -0,0 +1,143 @@
+package com.zd.airbottle.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zd.airbottle.domain.DbBottleType;
+import com.zd.airbottle.domain.bo.DbBottleTypeBo;
+import com.zd.airbottle.service.DbBottleTypeService;
+import com.zd.airbottle.utils.PageUtil;
+import com.zd.common.core.annotation.Log;
+import com.zd.common.core.log.BusinessType;
+import com.zd.common.core.utils.StringUtils;
+import com.zd.common.core.web.controller.AbstractController;
+import com.zd.model.domain.ResultData;
+import com.zd.model.page.PageDomain;
+import com.zd.model.page.PageQuery;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Description 东北大学气瓶类型
+ * @Author hzw
+ * @Date 2023/10/16 17:46
+ * @Version 2.0
+ */
+@Api(tags = "东北大学气瓶类型")
+@RestController
+@RequestMapping("/bottleType")
+public class DbBottleTypeController extends AbstractController {
+    @Autowired
+    private DbBottleTypeService dbBottleTypeService;
+
+    /**
+     * 添加气瓶
+     *
+     * @param dbBottleTypeBo
+     * @return
+     */
+    @ApiOperation(value = "添加气瓶类型", notes = "参数说明:gasName 气体名称,level 级别,size 规格,gasComposition 气体成分 ")
+    @Log(title = "添加气瓶类型", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/add")
+    public ResultData add(@RequestBody DbBottleTypeBo dbBottleTypeBo) {
+        //参数检查
+        paramCheck.notNull(dbBottleTypeBo).strNotEmpty(dbBottleTypeBo.getGasName()).notNull(dbBottleTypeBo.getLevel()).notNull(dbBottleTypeBo.getSize());
+        //验证是否重复
+        long count = dbBottleTypeService.count(new LambdaQueryWrapper<DbBottleType>().eq(DbBottleType::getGasName,dbBottleTypeBo.getGasName())
+                .eq(DbBottleType::getLevel, dbBottleTypeBo.getLevel()).eq(DbBottleType::getSize, dbBottleTypeBo.getSize()));
+        if (count > 0) {
+            return ResultData.fail("已存在相同气瓶类型");
+        }
+        DbBottleType dbBottle = new DbBottleType();
+        BeanUtils.copyProperties(dbBottleTypeBo, dbBottle);
+        dbBottle.setIsDeleted(Boolean.FALSE);
+        if (dbBottleTypeService.save(dbBottle)) {
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+
+    /**
+     * 更新气瓶类型
+     *
+     * @Param [dbBottleBo]
+     * @Return com.zd.model.domain.ResultData
+     **/
+    @ApiOperation(value = "更新气瓶类型", notes = "参数说明:id 必填,gasName 气体名称,level 级别,size 规格,gasComposition 气体成分 ")
+    @Log(title = "更新气瓶类型", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "/update")
+    public ResultData update(@RequestBody DbBottleTypeBo dbBottleTypeBo) {
+        //参数检查
+        paramCheck.notNull(dbBottleTypeBo).notNull(dbBottleTypeBo.getId()).strNotEmpty(dbBottleTypeBo.getGasName()).notNull(dbBottleTypeBo.getLevel()).notNull(dbBottleTypeBo.getSize());
+        //验证是否重复
+        long count = dbBottleTypeService.count(new LambdaQueryWrapper<DbBottleType>().ne(DbBottleType::getId,dbBottleTypeBo.getId()).eq(DbBottleType::getGasName,dbBottleTypeBo.getGasName())
+                .eq(DbBottleType::getLevel, dbBottleTypeBo.getLevel()).eq(DbBottleType::getSize, dbBottleTypeBo.getSize()));
+        if (count > 0) {
+            return ResultData.fail("已存在相同气瓶类型");
+        }
+        DbBottleType dbBottle = new DbBottleType();
+        BeanUtils.copyProperties(dbBottleTypeBo, dbBottle);
+        if (dbBottleTypeService.saveOrUpdate(dbBottle)) {
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+    /**
+     * 通过ID获取气瓶类型详情
+     *
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "通过ID获取气瓶类型详情", notes = "参数说明:id 必填")
+    @GetMapping(value = "/findById")
+    public ResultData find(@RequestParam("id") Long id) {
+        paramCheck.notNull(id);
+        DbBottleType dbBottle = dbBottleTypeService.getById(id);
+        return ResultData.success(dbBottle);
+    }
+
+    /**
+     * 获取气瓶类型list
+     *
+     * @param dbBottleTypeBo
+     * @return
+     */
+    @ApiOperation(value = "获取气瓶类型list", notes = "参数说明:searchValue 关键字")
+    @PostMapping(value = "/list")
+    public ResultData list(@RequestBody DbBottleTypeBo dbBottleTypeBo) {
+        //查询条件
+        LambdaQueryWrapper<DbBottleType> queryWrapper = new LambdaQueryWrapper<>();
+        //gasName条件
+        if (StringUtils.isNotBlank(dbBottleTypeBo.getSearchValue())) {
+            queryWrapper.like(DbBottleType::getGasName, dbBottleTypeBo.getSearchValue());
+        }
+        //过滤物理删除数据及倒叙
+        queryWrapper.eq(DbBottleType::getIsDeleted, Boolean.FALSE).orderByDesc(DbBottleType::getId);
+        IPage<DbBottleType> page = dbBottleTypeService.page(PageUtil.getQuery(dbBottleTypeBo.getPageNum(), dbBottleTypeBo.getPageSize()), queryWrapper);
+        return ResultData.success(page);
+    }
+
+    /**
+     * 通过Id删除气瓶类型
+     *
+     * @param dbBottleTypeBo
+     * @return
+     */
+    @ApiOperation(value = "通过Id删除气瓶类型", notes = "参数说明:id 必填")
+    @Log(title = "通过Id删除气瓶类型", businessType = BusinessType.DELETE)
+    @PostMapping(value = "/delete")
+    public ResultData delete(@RequestBody DbBottleTypeBo dbBottleTypeBo) {
+        paramCheck.notNull(dbBottleTypeBo).notNull(dbBottleTypeBo.getId());
+        boolean bool = dbBottleTypeService.removeById(dbBottleTypeBo.getId());
+        if (bool) {
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+}

+ 15 - 76
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbInOutRecordController.java

@@ -1,18 +1,22 @@
 package com.zd.airbottle.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zd.airbottle.domain.DbBottle;
+import com.zd.airbottle.domain.DbBeacon;
 import com.zd.airbottle.domain.DbInOutRecord;
 import com.zd.airbottle.domain.DbStock;
 import com.zd.airbottle.domain.bo.DbInOutRecordBo;
 import com.zd.airbottle.domain.bo.DbInOutRecordParam;
-import com.zd.airbottle.service.DbBottleService;
+import com.zd.airbottle.service.DbBeaconService;
 import com.zd.airbottle.service.DbInOutRecordService;
 import com.zd.airbottle.service.DbStockService;
 import com.zd.airbottle.utils.PageUtil;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.AbstractController;
+import com.zd.laboratory.api.dto.CheckSubjectDto;
+import com.zd.laboratory.api.feign.RemoteLaboratoryService;
+import com.zd.model.constant.HttpStatus;
 import com.zd.model.domain.ResultData;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -20,96 +24,29 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
 import java.util.Objects;
 
 /**
- * @Description 东北大学入库出库记录控制类
+ * @Description 东北大学入库出库记录
  * @Author hzw
  * @Date 2023/10/16 17:47
  * @Version 2.0
  */
-@Api(tags = "东北大学入库出库记录控制类")
+@Api(tags = "东北大学入库出库记录")
 @RestController
 @RequestMapping("/inOutRecord")
 public class DbInOutRecordController extends AbstractController {
-
-//    @Autowired
-//    private DbBottleService dbBottleService;
-
-    @Autowired
-    private DbStockService dbStockService;
-
     @Autowired
     private DbInOutRecordService dbInOutRecordService;
 
     /**
-     * 气瓶入库
-     *
-     * @param dbInOutRecordBo
-     * @return
-     */
-    @ApiOperation(value = "气瓶入库", tags = "参数说明:gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号 ")
-    @PostMapping(value = "/enter")
-    public ResultData in(@RequestBody DbInOutRecordBo dbInOutRecordBo) {
-        //参数检查
-        paramCheck.notNull(dbInOutRecordBo).notNull(dbInOutRecordBo.getType()).strNotEmpty(dbInOutRecordBo.getGasName()).notNull(dbInOutRecordBo.getBottleCode()).notNull(dbInOutRecordBo.getBeaconTag()).notNull(dbInOutRecordBo.getSubjectId());
-        //检查气瓶编号是否被占用
-//        long count = dbBottleService.count(new LambdaQueryWrapper<DbBottle>().eq(DbBottle::getBottleCode, dbInOutRecordBo.getBottleCode()));
-//        if (count == 0) {
-//            return ResultData.success("此气瓶码不存在,请扫描已录入气瓶码!");
-//        }
-        long count1 = dbStockService.count(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBottleCode, dbInOutRecordBo.getBottleCode()));
-        if (count1 > 0) {
-            return ResultData.success("此气瓶码已经绑定!");
-        }
-        //验证信标
-        long count2 = dbStockService.count(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBeaconTag, dbInOutRecordBo.getBeaconTag()));
-        if (count2 > 0) {
-            return ResultData.success("当前信标已绑定!");
-        }
-        DbInOutRecord dbInOutRecord = new DbInOutRecord();
-        BeanUtils.copyProperties(dbInOutRecordBo, dbInOutRecord);
-        boolean a = dbInOutRecordService.save(dbInOutRecord);
-
-        DbStock dbStock = new DbStock();
-        BeanUtils.copyProperties(dbInOutRecordBo, dbStock);
-        boolean b = dbStockService.save(dbStock);
-        if (a && b) {
-            return ResultData.success("操作成功");
-        }
-        return ResultData.fail("操作失败");
-    }
-
-    /**
-     * 气瓶出库
-     *
-     * @param dbInOutRecordBo
-     * @return
-     */
-    @ApiOperation(value = "气瓶出库", tags = "参数说明:gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号 ")
-    @PostMapping(value = "/out")
-    public ResultData out(@RequestBody DbInOutRecordBo dbInOutRecordBo) {
-        //参数检查
-        paramCheck.notNull(dbInOutRecordBo).notNull(dbInOutRecordBo.getStockId()).notNull(dbInOutRecordBo.getType());
-        DbStock stock = dbStockService.getById(dbInOutRecordBo.getStockId());
-        DbInOutRecord dbInOutRecord = new DbInOutRecord();
-        BeanUtils.copyProperties(stock, dbInOutRecord);
-        dbInOutRecord.setType(2);
-        boolean a = dbInOutRecordService.save(dbInOutRecord);
-        boolean b = dbStockService.removeById(dbInOutRecord.getId());
-        if (a && b) {
-            return ResultData.success("出库成功");
-        }
-        return ResultData.fail("出库失败");
-    }
-
-    /**
      * 通过ID获取出入库详情
      *
      * @param id
      * @return
      */
-    @ApiOperation(value = "通过ID获取出入库详情", tags = "参数说明:id 必填")
+    @ApiOperation(value = "通过ID获取出入库详情", notes = "参数说明:id 必填")
     @GetMapping(value = "/findById")
     public ResultData find(@RequestParam("id") Long id) {
         paramCheck.notNull(id);
@@ -123,16 +60,18 @@ public class DbInOutRecordController extends AbstractController {
      * @param dbInOutRecordParam
      * @return
      */
-    @ApiOperation(value = "获取出入库list", tags = "参数说明:searchValue 关键字")
+    @ApiOperation(value = "获取出入库list", notes = "参数说明:searchValue 关键字")
     @PostMapping(value = "/list")
     public ResultData list(@RequestBody DbInOutRecordParam dbInOutRecordParam) {
         //查询条件
         LambdaQueryWrapper<DbInOutRecord> queryWrapper = new LambdaQueryWrapper<>();
         //操作人 联系电话 气瓶编号 气瓶名称
         if (StringUtils.isNotBlank(dbInOutRecordParam.getSearchValue())) {
-            queryWrapper.like(DbInOutRecord::getGasName, dbInOutRecordParam.getSearchValue()).or().like(DbInOutRecord::getOperator, dbInOutRecordParam.getSearchValue()).or().like(DbInOutRecord::getPhone, dbInOutRecordParam.getSearchValue()).or().like(DbInOutRecord::getBottleCode, dbInOutRecordParam.getSearchValue());
+            queryWrapper.like(DbInOutRecord::getGasName, dbInOutRecordParam.getSearchValue()).or().like(DbInOutRecord::getOperator, dbInOutRecordParam.getSearchValue()).or().like(DbInOutRecord::getPhone, dbInOutRecordParam.getSearchValue());
+        }
+        if (Objects.nonNull(dbInOutRecordParam.getType())) {
+            queryWrapper.eq(DbInOutRecord::getType, dbInOutRecordParam.getType());
         }
-
         if (Objects.nonNull(dbInOutRecordParam.getCollegeId())) {
             queryWrapper.eq(DbInOutRecord::getCollegeId, dbInOutRecordParam.getCollegeId());
         }

+ 105 - 23
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbStockController.java

@@ -3,18 +3,28 @@ package com.zd.airbottle.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zd.airbottle.domain.DbBeacon;
+import com.zd.airbottle.domain.DbInOutRecord;
 import com.zd.airbottle.domain.DbStock;
 import com.zd.airbottle.domain.bo.DbStockBo;
 import com.zd.airbottle.domain.bo.DbStockParam;
+import com.zd.airbottle.service.DbBeaconService;
+import com.zd.airbottle.service.DbInOutRecordService;
 import com.zd.airbottle.service.DbStockService;
 import com.zd.airbottle.utils.PageUtil;
 import com.zd.common.core.annotation.Log;
 import com.zd.common.core.log.BusinessType;
+import com.zd.common.core.security.TokenService;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.AbstractController;
+import com.zd.laboratory.api.dto.CheckSubjectDto;
+import com.zd.laboratory.api.feign.RemoteLaboratoryService;
+import com.zd.model.constant.HttpStatus;
 import com.zd.model.domain.ResultData;
+import com.zd.model.entity.SysUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -22,17 +32,91 @@ import java.util.List;
 import java.util.Objects;
 
 /**
- * @Description 东北大学库存控制类
+ * @Description 东北大学库存
  * @Author hzw
  * @Date 2023/10/16 17:50
  * @Version 2.0
  */
-@Api(tags = "东北大学库存控制类")
+@Api(tags = "东北大学库存")
 @RestController
 @RequestMapping("/stock")
 public class DbStockController extends AbstractController {
     @Autowired
     private DbStockService dbStockService;
+    @Autowired
+    private DbBeaconService dbBeaconService;
+    @Autowired
+    private DbInOutRecordService dbInOutRecordService;
+    @Autowired
+    private RemoteLaboratoryService remoteLaboratoryService;
+
+    @Autowired
+    private TokenService tokenService;
+
+    /**
+     * 库存入库
+     *
+     * @param dbStockBo
+     * @return
+     */
+    @ApiOperation(value = "库存入库", notes = "参数说明:gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号 ")
+    @PostMapping(value = "/enter")
+    public ResultData in(@RequestBody DbStockBo dbStockBo) {
+        //参数检查
+        paramCheck.notNull(dbStockBo).strNotEmpty(dbStockBo.getGasName()).notNull(dbStockBo.getBeaconTag()).notNull(dbStockBo.getSubjectId());
+        //验证信标
+        long count1 = dbStockService.count(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBeaconTag, dbStockBo.getBeaconTag()));
+        if (count1 > 0) {
+            return ResultData.success("当前信标已绑定!");
+        }
+        //查询实验室所在学院
+        ResultData<List<CheckSubjectDto>> resultData = remoteLaboratoryService.findSubjectInfoList(String.valueOf(dbStockBo.getSubjectId()));
+        if (resultData != null && HttpStatus.SUCCESS == resultData.getCode()) {
+            List<CheckSubjectDto> data = resultData.getData();
+            dbStockBo.setCollegeId(data.get(0).getDeptId());
+            dbStockBo.setCollegeName(data.get(0).getCollegeName());
+        }
+        DbStock dbStock = new DbStock();
+        BeanUtils.copyProperties(dbStockBo, dbStock);
+        SysUser sysUser = tokenService.getLoginUser().getSysUser();
+        dbStock.setCreateBy(sysUser.getUserId());
+        dbStock.setCreateName(sysUser.getUserName());
+        tokenService.getLoginUser().getSysUser().getPhonenumber();
+//        dbStock.setph(get());
+        if (dbStockService.save(dbStock)) {
+            DbInOutRecord dbInOutRecord = new DbInOutRecord();
+            BeanUtils.copyProperties(dbStockBo, dbInOutRecord);
+            dbInOutRecord.setType(1);
+            dbInOutRecordService.save(dbInOutRecord);
+            dbBeaconService.update(new LambdaUpdateWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbInOutRecord.getBeaconTag()).set(DbBeacon::getState, 1));
+            return ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
+    /**
+     * 库存出库
+     *
+     * @param dbStockBo
+     * @return
+     */
+    @ApiOperation(value = "库存出库", notes = "参数说明:gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号 ")
+    @PostMapping(value = "/out")
+    public ResultData out(@RequestBody DbStockBo dbStockBo) {
+        //参数检查
+        paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId());
+        DbStock stock = dbStockService.getById(dbStockBo.getId());
+        if (dbStockService.removeById(stock.getId())) {
+            DbInOutRecord dbInOutRecord = new DbInOutRecord();
+            BeanUtils.copyProperties(stock, dbInOutRecord);
+            dbInOutRecord.setType(2);
+            dbInOutRecordService.save(dbInOutRecord);
+            dbBeaconService.update(new LambdaUpdateWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbInOutRecord.getBeaconTag()).set(DbBeacon::getState, 0));
+            return ResultData.success("出库成功");
+        }
+        return ResultData.fail("出库失败");
+    }
+
 
     /**
      * 更新库存信息
@@ -40,13 +124,13 @@ public class DbStockController extends AbstractController {
      * @Param [dbStockBo]
      * @Return com.zd.model.domain.ResultData
      **/
-    @ApiOperation(value = "更新气瓶", tags = "参数说明:id 必填,gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号,gasComposition 气体成分 ")
-    @Log(title = "更新气瓶", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "更新库存信息", notes = "参数说明:id 必填 ")
+    @Log(title = "更新库存信息", businessType = BusinessType.UPDATE)
     @PostMapping(value = "/update")
     public ResultData update(@RequestBody DbStockBo dbStockBo) {
         //参数检查
         paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId()).notNull(dbStockBo.getBeaconTag());
-        long count = dbStockService.count(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBeaconTag, dbStockBo.getBeaconTag()));
+        long count = dbStockService.count(new LambdaQueryWrapper<DbStock>().ne(DbStock::getBeaconTag, dbStockBo.getBeaconTag()).eq(DbStock::getBeaconTag, dbStockBo.getBeaconTag()));
         if (count > 0) {
             return ResultData.success("信标标签已存在!");
         }
@@ -62,7 +146,7 @@ public class DbStockController extends AbstractController {
      * @param id
      * @return
      */
-    @ApiOperation(value = "通过ID获取库存详情", tags = "参数说明:库存id 必填")
+    @ApiOperation(value = "通过ID获取库存详情", notes = "参数说明:库存id 必填")
     @GetMapping(value = "/findById")
     public ResultData find(@RequestParam("id") Long id) {
         paramCheck.notNull(id);
@@ -76,14 +160,14 @@ public class DbStockController extends AbstractController {
      * @param dbStockParam
      * @return
      */
-    @ApiOperation(value = "获取库存list", tags = "参数说明:searchValue 关键字")
+    @ApiOperation(value = "获取库存list", notes = "参数说明:searchValue 关键字")
     @PostMapping(value = "/list")
     public ResultData list(@RequestBody DbStockParam dbStockParam) {
         //查询条件
         LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper<>();
         //气瓶编号 气瓶名称 实验室名称
         if (StringUtils.isNotBlank(dbStockParam.getSearchValue())) {
-            queryWrapper.like(DbStock::getGasName, dbStockParam.getSearchValue()).or().like(DbStock::getSubjectName, dbStockParam.getSearchValue()).or().like(DbStock::getBottleCode, dbStockParam.getSearchValue());
+            queryWrapper.like(DbStock::getGasName, dbStockParam.getSearchValue()).or().like(DbStock::getSubjectName, dbStockParam.getSearchValue());
         }
         if (Objects.nonNull(dbStockParam.getCollegeId())) {
             queryWrapper.eq(DbStock::getCollegeId, dbStockParam.getCollegeId());
@@ -98,37 +182,35 @@ public class DbStockController extends AbstractController {
     }
 
     /**
-     * 通过Id删除库存信息
+     * 通过信标查询库信息
      *
-     * @param dbStockBo
+     * @param BeaconTag
      * @return
      */
-    @ApiOperation(value = "通过Id删除库存信息", tags = "参数说明:id 必填")
-    @Log(title = "通过Id删除库存信息", businessType = BusinessType.DELETE)
-    @PostMapping(value = "/delete")
-    public ResultData delete(@RequestBody DbStockBo dbStockBo) {
-        paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId());
-        boolean bool = dbStockService.removeById(dbStockBo.getId());
-        if (bool) {
-            return ResultData.success("操作成功");
-        }
-        return ResultData.fail("操作失败");
+    @ApiOperation(value = "通过信标查询库信息", notes = "参数说明:subId 必填")
+    @GetMapping(value = "/findByBeaconTag")
+    public ResultData findByBancon(@RequestParam("BeaconTag") String BeaconTag) {
+        paramCheck.strNotEmpty(BeaconTag);
+        LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
+        queryWrapper.eq(DbStock::getBeaconTag, BeaconTag);
+        DbStock dbStock = dbStockService.getOne(queryWrapper);
+        return ResultData.success(dbStock);
     }
 
+
     /**
      * 通过subId查询库存列表
      *
      * @param subId
      * @return
      */
-    @ApiOperation(value = "通过subId查询库存列表", tags = "参数说明:subId 必填")
+    @ApiOperation(value = "通过subId查询库存列表", notes = "参数说明:subId 必填")
     @GetMapping(value = "/findBySubId")
     public ResultData findBySubId(@RequestParam("subId") Long subId) {
         paramCheck.notNull(subId);
         LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
-        queryWrapper.eq(DbStock::getSubjectId,subId);
+        queryWrapper.eq(DbStock::getSubjectId, subId);
         List<DbStock> list = dbStockService.list(queryWrapper);
         return ResultData.success(list);
     }
-
 }

+ 9 - 12
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbUsageRecordController.java

@@ -1,12 +1,8 @@
 package com.zd.airbottle.controller;
 
-import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zd.airbottle.domain.DbBottle;
-import com.zd.airbottle.domain.DbStock;
 import com.zd.airbottle.domain.DbUsageRecord;
-import com.zd.airbottle.domain.bo.DbBottleBo;
 import com.zd.airbottle.domain.bo.DbUsageRecordBo;
 import com.zd.airbottle.service.DbUsageRecordService;
 import com.zd.airbottle.utils.PageUtil;
@@ -24,12 +20,12 @@ import org.springframework.web.bind.annotation.*;
 import java.util.Objects;
 
 /**
- * @Description 东北大学使用记录控制类
+ * @Description 东北大学使用记录
  * @Author hzw
  * @Date 2023/10/16 17:52
  * @Version 2.0
  */
-@Api(tags = "东北大学使用记录控制类")
+@Api(tags = "东北大学使用记录")
 @RestController
 @RequestMapping("/usageRecord")
 public class DbUsageRecordController extends AbstractController {
@@ -43,12 +39,13 @@ public class DbUsageRecordController extends AbstractController {
      * @param dbUsageRecordBo
      * @return
      */
-    @ApiOperation(value = "添加使用记录", tags = "参数说明:")
+    @ApiOperation(value = "添加使用记录", notes = "参数说明:")
     @Log(title = "添加使用记录", businessType = BusinessType.INSERT)
     @PostMapping(value = "/add")
     public ResultData add(@RequestBody DbUsageRecordBo dbUsageRecordBo) {
         //参数检查
         paramCheck.notNull(dbUsageRecordBo).notNull(dbUsageRecordBo.getStartTime()).notNull(dbUsageRecordBo.getEndTime());
+
         DbUsageRecord dbUsageRecord = new DbUsageRecord();
         BeanUtils.copyProperties(dbUsageRecordBo, dbUsageRecord);
         if (dbUsageRecordService.save(dbUsageRecord)) {
@@ -64,7 +61,7 @@ public class DbUsageRecordController extends AbstractController {
      * @Param [dbUsageRecordBo]
      * @Return com.zd.model.domain.ResultData
      **/
-    @ApiOperation(value = "更新使用记录", tags = "参数说明:id 必填")
+    @ApiOperation(value = "更新使用记录", notes = "参数说明:id 必填")
     @Log(title = "更新使用记录", businessType = BusinessType.UPDATE)
     @PostMapping(value = "/update")
     public ResultData update(@RequestBody DbUsageRecordBo dbUsageRecordBo) {
@@ -84,7 +81,7 @@ public class DbUsageRecordController extends AbstractController {
      * @param id
      * @return
      */
-    @ApiOperation(value = "通过ID获取使用详情", tags = "参数说明:id 必填")
+    @ApiOperation(value = "通过ID获取使用详情", notes = "参数说明:id 必填")
     @GetMapping(value = "/findById")
     public ResultData find(@RequestParam("id") Long id) {
         paramCheck.notNull(id);
@@ -98,14 +95,14 @@ public class DbUsageRecordController extends AbstractController {
      * @param dbUsageRecordBo
      * @return
      */
-    @ApiOperation(value = "获取使用记录列表", tags = "参数说明:searchValue 关键字")
+    @ApiOperation(value = "获取使用记录列表", notes = "参数说明:searchValue 关键字")
     @PostMapping(value = "/list")
     public ResultData list(@RequestBody DbUsageRecordBo dbUsageRecordBo) {
         //查询条件
         LambdaQueryWrapper<DbUsageRecord> queryWrapper = new LambdaQueryWrapper<>();
         //气瓶编号 气瓶名称 实验室名称
         if (StringUtils.isNotBlank(dbUsageRecordBo.getSearchValue())) {
-            queryWrapper.like(DbUsageRecord::getGasName, dbUsageRecordBo.getSearchValue()).or().like(DbUsageRecord::getSubjectName, dbUsageRecordBo.getSearchValue()).or().like(DbUsageRecord::getBottleCode, dbUsageRecordBo.getSearchValue());
+            queryWrapper.like(DbUsageRecord::getGasName, dbUsageRecordBo.getSearchValue()).or().like(DbUsageRecord::getSubjectName, dbUsageRecordBo.getSearchValue());
         }
         if (Objects.nonNull(dbUsageRecordBo.getCollegeId())) {
             queryWrapper.eq(DbUsageRecord::getCollegeId, dbUsageRecordBo.getCollegeId());
@@ -125,7 +122,7 @@ public class DbUsageRecordController extends AbstractController {
      * @param dbUsageRecordBo
      * @return
      */
-    @ApiOperation(value = "通过Id删除使用记录", tags = "参数说明:id 必填")
+    @ApiOperation(value = "通过Id删除使用记录", notes = "参数说明:id 必填")
     @Log(title = "通过Id删除使用记录", businessType = BusinessType.DELETE)
     @PostMapping(value = "/delete")
     public ResultData delete(@RequestBody DbUsageRecordBo dbUsageRecordBo) {

+ 79 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbBeacon.java

@@ -0,0 +1,79 @@
+package com.zd.airbottle.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 信标表
+ * </p>
+ *
+ * @author hzw
+ * @since 2023-10-18
+ */
+@Getter
+@Setter
+@TableName("db_beacon")
+@ApiModel(value = "DbBeacon对象", description = "信标表")
+public class DbBeacon extends Model<DbBeacon> {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键id")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty("信标标签")
+    private String beaconTag;
+
+    @ApiModelProperty("状态:0-未绑定,1-绑定")
+    private Boolean state;
+
+    @ApiModelProperty("绑定时间")
+    private LocalDateTime bindingTime;
+
+    @ApiModelProperty("最后使用时间")
+    private LocalDateTime lastUseTime;
+
+    @ApiModelProperty("创建人名称")
+    private String createName;
+
+    @ApiModelProperty("创建人ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createBy;
+
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("修改人名称")
+    private String updateName;
+
+    @ApiModelProperty("修改人ID")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long updateBy;
+
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 6 - 9
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbBottle.java

@@ -19,13 +19,13 @@ import lombok.Setter;
  * </p>
  *
  * @author hzw
- * @since 2023-10-16
+ * @since 2023-10-18
  */
 @Getter
 @Setter
-@TableName("db_bottle")
-@ApiModel(value = "DbBottle对象", description = "气瓶表")
-public class DbBottle extends Model<DbBottle> {
+@TableName("db_bottle_type")
+@ApiModel(value = "DbBottleType对象", description = "气瓶表")
+public class DbBottleType extends Model<DbBottleType> {
 
     private static final long serialVersionUID = 1L;
 
@@ -36,15 +36,12 @@ public class DbBottle extends Model<DbBottle> {
     @ApiModelProperty("气体名称")
     private String gasName;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
-    @ApiModelProperty("气瓶编号")
-    private String bottleCode;
-
     @ApiModelProperty("气体成分")
     private String gasComposition;
 

+ 2 - 5
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbInOutRecord.java

@@ -39,15 +39,12 @@ public class DbInOutRecord extends Model<DbInOutRecord> {
     @ApiModelProperty("气体名称")
     private String gasName;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
-    @ApiModelProperty("气瓶编号")
-    private String bottleCode;
-
     @ApiModelProperty("气体成分")
     private String gasComposition;
 

+ 5 - 5
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbStock.java

@@ -33,18 +33,18 @@ public class DbStock extends Model<DbStock> {
     @TableId(value = "id", type = IdType.ASSIGN_ID)
     private Long id;
 
-    @ApiModelProperty("气瓶编号")
-    private Long bottleCode;
-
     @ApiModelProperty("气体名称")
     private String gasName;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
+    @ApiModelProperty("气体成分")
+    private String gasComposition;
+
     @ApiModelProperty("气瓶颜色")
     private String bottleColour;
 

+ 2 - 5
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/DbUsageRecord.java

@@ -39,15 +39,12 @@ public class DbUsageRecord extends Model<DbUsageRecord> {
     @ApiModelProperty("使用量")
     private Integer usageAmount;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
-    @ApiModelProperty("气瓶编号")
-    private String bottleCode;
-
     @ApiModelProperty("气体成分")
     private String gasComposition;
 

+ 42 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbBeaconBo.java

@@ -0,0 +1,42 @@
+package com.zd.airbottle.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.zd.model.page.PageQuery;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 东北大学信标业务类
+ * @Author hzw
+ * @Date 2023/10/18 10:07
+ * @Version 2.0
+ */
+@Data
+@ApiModel("东北大学信标业务类")
+public class DbBeaconBo extends PageQuery implements Serializable {
+
+    @ApiModelProperty("主键id")
+    private Long id;
+
+    @ApiModelProperty("信标标签")
+    private String beaconTag;
+
+    @ApiModelProperty("状态:0-未绑定,1-绑定")
+    private Boolean state;
+
+    @ApiModelProperty("绑定时间")
+    private LocalDateTime bindingTime;
+
+    @ApiModelProperty("最后使用时间")
+    private LocalDateTime lastUseTime;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 3 - 6
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbBottleBo.java

@@ -17,7 +17,7 @@ import java.io.Serializable;
  */
 @ApiModel("东北大学气瓶业务类")
 @Data
-public class DbBottleBo extends PageQuery implements Serializable {
+public class DbBottleTypeBo extends PageQuery implements Serializable {
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty("主键id")
@@ -26,15 +26,12 @@ public class DbBottleBo extends PageQuery implements Serializable {
     @ApiModelProperty("气体名称")
     private String gasName;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
-    @ApiModelProperty("气瓶编号")
-    private String bottleCode;
-
     @ApiModelProperty("气体成分")
     private String gasComposition;
 

+ 4 - 5
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbInOutRecordBo.java

@@ -1,5 +1,6 @@
 package com.zd.airbottle.domain.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
@@ -30,15 +31,12 @@ public class DbInOutRecordBo {
     @ApiModelProperty("气体名称")
     private String gasName;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
-    @ApiModelProperty("气瓶编号")
-    private Long bottleCode;
-
     @ApiModelProperty("气体成分")
     private String gasComposition;
 
@@ -61,6 +59,7 @@ public class DbInOutRecordBo {
     private Integer gasPressure;
 
     @ApiModelProperty("有效期限")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime validPeriod;
 
     @ApiModelProperty("信标标签")

+ 2 - 5
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbStockBo.java

@@ -30,16 +30,13 @@ public class DbStockBo extends PageQuery implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
 
-    @ApiModelProperty("气瓶编号")
-    private Long bottleCode;
-
     @ApiModelProperty("气体名称")
     private String gasName;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
     @ApiModelProperty("气瓶颜色")

+ 2 - 5
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbUsageRecordBo.java

@@ -32,15 +32,12 @@ public class DbUsageRecordBo extends PageQuery implements Serializable {
     @ApiModelProperty("使用量")
     private Integer usageAmount;
 
-    @ApiModelProperty("级别()")
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
     private Integer level;
 
-    @ApiModelProperty("规格")
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
     private Integer size;
 
-    @ApiModelProperty("气瓶编号")
-    private String bottleCode;
-
     @ApiModelProperty("气体成分")
     private String gasComposition;
 

+ 49 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/vo/DbBeaconPrintVo.java

@@ -0,0 +1,49 @@
+package com.zd.airbottle.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @Description 东北大学信标打印VO
+ * @Author hzw
+ * @Date 2023/10/18 10:35
+ * @Version 2.0
+ */
+@Data
+@ApiModel("东北大学信标打印VO")
+public class DbBeaconPrintVo {
+
+    @ApiModelProperty("主键id")
+    private Long id;
+
+    @ApiModelProperty("信标标签")
+    private String beaconTag;
+
+    @ApiModelProperty("状态:0-未绑定,1-绑定")
+    private Boolean state;
+
+    @ApiModelProperty("绑定时间")
+    private LocalDateTime bindingTime;
+
+    @ApiModelProperty("学院名称")
+    private String collegeName;
+
+    @ApiModelProperty("实验室名称")
+    private String subjectName;
+
+    @ApiModelProperty("房间号")
+    private String roomNum;
+
+    @ApiModelProperty("气体名称")
+    private String gasName;
+
+    @ApiModelProperty("级别(1普通纯 2实验纯 3高级纯)")
+    private Integer level;
+
+    @ApiModelProperty("规格(5Mpa,10Mpa,15Mpa)")
+    private Integer size;
+
+}

+ 18 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/mapper/DbBeaconMapper.java

@@ -0,0 +1,18 @@
+package com.zd.airbottle.mapper;
+
+import com.zd.airbottle.domain.DbBeacon;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 信标表 Mapper 接口
+ * </p>
+ *
+ * @author hzw
+ * @since 2023-10-18
+ */
+@Mapper
+public interface DbBeaconMapper extends BaseMapper<DbBeacon> {
+
+}

+ 3 - 3
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/mapper/DbBottleMapper.java

@@ -1,6 +1,6 @@
 package com.zd.airbottle.mapper;
 
-import com.zd.airbottle.domain.DbBottle;
+import com.zd.airbottle.domain.DbBottleType;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -10,9 +10,9 @@ import org.apache.ibatis.annotations.Mapper;
  * </p>
  *
  * @author hzw
- * @since 2023-10-16
+ * @since 2023-10-18
  */
 @Mapper
-public interface DbBottleMapper extends BaseMapper<DbBottle> {
+public interface DbBottleTypeMapper extends BaseMapper<DbBottleType> {
 
 }

+ 16 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/DbBeaconService.java

@@ -0,0 +1,16 @@
+package com.zd.airbottle.service;
+
+import com.zd.airbottle.domain.DbBeacon;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 信标表 服务类
+ * </p>
+ *
+ * @author hzw
+ * @since 2023-10-18
+ */
+public interface DbBeaconService extends IService<DbBeacon> {
+
+}

+ 3 - 3
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/DbBottleService.java

@@ -1,6 +1,6 @@
 package com.zd.airbottle.service;
 
-import com.zd.airbottle.domain.DbBottle;
+import com.zd.airbottle.domain.DbBottleType;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * </p>
  *
  * @author hzw
- * @since 2023-10-16
+ * @since 2023-10-18
  */
-public interface DbBottleService extends IService<DbBottle> {
+public interface DbBottleTypeService extends IService<DbBottleType> {
 
 }

+ 20 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/DbBeaconServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zd.airbottle.service.impl;
+
+import com.zd.airbottle.domain.DbBeacon;
+import com.zd.airbottle.mapper.DbBeaconMapper;
+import com.zd.airbottle.service.DbBeaconService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 信标表 服务实现类
+ * </p>
+ *
+ * @author hzw
+ * @since 2023-10-18
+ */
+@Service
+public class DbBeaconServiceImpl extends ServiceImpl<DbBeaconMapper, DbBeacon> implements DbBeaconService {
+
+}

+ 0 - 20
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/DbBottleServiceImpl.java

@@ -1,20 +0,0 @@
-package com.zd.airbottle.service.impl;
-
-import com.zd.airbottle.domain.DbBottle;
-import com.zd.airbottle.mapper.DbBottleMapper;
-import com.zd.airbottle.service.DbBottleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 气瓶表 服务实现类
- * </p>
- *
- * @author hzw
- * @since 2023-10-16
- */
-@Service
-public class DbBottleServiceImpl extends ServiceImpl<DbBottleMapper, DbBottle> implements DbBottleService {
-
-}

+ 20 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/DbBottleTypeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zd.airbottle.service.impl;
+
+import com.zd.airbottle.domain.DbBottleType;
+import com.zd.airbottle.mapper.DbBottleTypeMapper;
+import com.zd.airbottle.service.DbBottleTypeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 气瓶表 服务实现类
+ * </p>
+ *
+ * @author hzw
+ * @since 2023-10-18
+ */
+@Service
+public class DbBottleTypeServiceImpl extends ServiceImpl<DbBottleTypeMapper, DbBottleType> implements DbBottleTypeService {
+
+}

+ 26 - 0
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbBeaconMapper.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zd.airbottle.mapper.DbBeaconMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.zd.airbottle.domain.DbBeacon">
+        <id column="id" property="id" />
+        <result column="beacon_tag" property="beaconTag" />
+        <result column="state" property="state" />
+        <result column="binding_time" property="bindingTime" />
+        <result column="last_use_time" property="lastUseTime" />
+        <result column="create_name" property="createName" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_name" property="updateName" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, beacon_tag, state, binding_time, last_use_time, create_name, create_by, create_time, update_name, update_by, update_time, remark
+    </sql>
+
+</mapper>

+ 2 - 3
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbBottleMapper.xml

@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zd.airbottle.mapper.DbBottleMapper">
+<mapper namespace="com.zd.airbottle.mapper.DbBottleTypeMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.zd.airbottle.domain.DbBottle">
+    <resultMap id="BaseResultMap" type="com.zd.airbottle.domain.DbBottleType">
         <id column="id" property="id" />
         <result column="gas_name" property="gasName" />
         <result column="level" property="level" />
         <result column="size" property="size" />
-        <result column="bottle_code" property="bottleCode" />
         <result column="gas_composition" property="gasComposition" />
         <result column="create_name" property="createName" />
         <result column="create_by" property="createBy" />

+ 0 - 1
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbInOutRecordMapper.xml

@@ -9,7 +9,6 @@
         <result column="gas_name" property="gasName" />
         <result column="level" property="level" />
         <result column="size" property="size" />
-        <result column="bottle_code" property="bottleCode" />
         <result column="gas_composition" property="gasComposition" />
         <result column="college_id" property="collegeId" />
         <result column="college_name" property="collegeName" />

+ 0 - 1
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbStockMapper.xml

@@ -5,7 +5,6 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.zd.airbottle.domain.DbStock">
         <id column="id" property="id" />
-        <result column="bottle_code" property="bottleCode" />
         <result column="gas_name" property="gasName" />
         <result column="level" property="level" />
         <result column="size" property="size" />

+ 0 - 1
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbUsageRecordMapper.xml

@@ -9,7 +9,6 @@
         <result column="usage_amount" property="usageAmount" />
         <result column="level" property="level" />
         <result column="size" property="size" />
-        <result column="bottle_code" property="bottleCode" />
         <result column="gas_composition" property="gasComposition" />
         <result column="college_id" property="collegeId" />
         <result column="college_name" property="collegeName" />