DbStockController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.zd.airbottle.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.zd.airbottle.domain.DbStock;
  6. import com.zd.airbottle.domain.bo.DbStockBo;
  7. import com.zd.airbottle.domain.bo.DbStockParam;
  8. import com.zd.airbottle.service.DbStockService;
  9. import com.zd.airbottle.utils.PageUtil;
  10. import com.zd.common.core.annotation.Log;
  11. import com.zd.common.core.log.BusinessType;
  12. import com.zd.common.core.utils.StringUtils;
  13. import com.zd.common.core.web.controller.AbstractController;
  14. import com.zd.model.domain.ResultData;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.List;
  20. import java.util.Objects;
  21. /**
  22. * @Description 东北大学库存控制类
  23. * @Author hzw
  24. * @Date 2023/10/16 17:50
  25. * @Version 2.0
  26. */
  27. @Api(tags = "东北大学库存控制类")
  28. @RestController
  29. @RequestMapping("/stock")
  30. public class DbStockController extends AbstractController {
  31. @Autowired
  32. private DbStockService dbStockService;
  33. /**
  34. * 更新库存信息
  35. *
  36. * @Param [dbStockBo]
  37. * @Return com.zd.model.domain.ResultData
  38. **/
  39. @ApiOperation(value = "更新气瓶", tags = "参数说明:id 必填,gasName 气体名称,level 级别,size 规格,bottleCode 气瓶编号,gasComposition 气体成分 ")
  40. @Log(title = "更新气瓶", businessType = BusinessType.UPDATE)
  41. @PostMapping(value = "/update")
  42. public ResultData update(@RequestBody DbStockBo dbStockBo) {
  43. //参数检查
  44. paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId()).notNull(dbStockBo.getBeaconTag());
  45. long count = dbStockService.count(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBeaconTag, dbStockBo.getBeaconTag()));
  46. if (count > 0) {
  47. return ResultData.success("信标标签已存在!");
  48. }
  49. if (dbStockService.update(new LambdaUpdateWrapper<DbStock>().eq(DbStock::getId, dbStockBo.getId()).set(DbStock::getBeaconTag, dbStockBo.getBeaconTag()))) {
  50. return ResultData.success("操作成功");
  51. }
  52. return ResultData.fail("操作失败");
  53. }
  54. /**
  55. * 通过ID获取库存详情
  56. *
  57. * @param id
  58. * @return
  59. */
  60. @ApiOperation(value = "通过ID获取库存详情", tags = "参数说明:库存id 必填")
  61. @GetMapping(value = "/findById")
  62. public ResultData find(@RequestParam("id") Long id) {
  63. paramCheck.notNull(id);
  64. DbStock dbStock = dbStockService.getById(id);
  65. return ResultData.success(dbStock);
  66. }
  67. /**
  68. * 获取库存list
  69. *
  70. * @param dbStockParam
  71. * @return
  72. */
  73. @ApiOperation(value = "获取库存list", tags = "参数说明:searchValue 关键字")
  74. @PostMapping(value = "/list")
  75. public ResultData list(@RequestBody DbStockParam dbStockParam) {
  76. //查询条件
  77. LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper<>();
  78. //气瓶编号 气瓶名称 实验室名称
  79. if (StringUtils.isNotBlank(dbStockParam.getSearchValue())) {
  80. queryWrapper.like(DbStock::getGasName, dbStockParam.getSearchValue()).or().like(DbStock::getSubjectName, dbStockParam.getSearchValue()).or().like(DbStock::getBottleCode, dbStockParam.getSearchValue());
  81. }
  82. if (Objects.nonNull(dbStockParam.getCollegeId())) {
  83. queryWrapper.eq(DbStock::getCollegeId, dbStockParam.getCollegeId());
  84. }
  85. if (Objects.nonNull(dbStockParam.getStartTime()) && Objects.nonNull(dbStockParam.getEndTime())) {
  86. queryWrapper.between(DbStock::getValidPeriod, dbStockParam.getStartTime(), dbStockParam.getEndTime());
  87. }
  88. //倒叙
  89. queryWrapper.orderByDesc(DbStock::getId);
  90. IPage<DbStock> result = dbStockService.page(PageUtil.getQuery(dbStockParam.getPageNum(), dbStockParam.getPageSize()), queryWrapper);
  91. return ResultData.success(result);
  92. }
  93. /**
  94. * 通过Id删除库存信息
  95. *
  96. * @param dbStockBo
  97. * @return
  98. */
  99. @ApiOperation(value = "通过Id删除库存信息", tags = "参数说明:id 必填")
  100. @Log(title = "通过Id删除库存信息", businessType = BusinessType.DELETE)
  101. @PostMapping(value = "/delete")
  102. public ResultData delete(@RequestBody DbStockBo dbStockBo) {
  103. paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId());
  104. boolean bool = dbStockService.removeById(dbStockBo.getId());
  105. if (bool) {
  106. return ResultData.success("操作成功");
  107. }
  108. return ResultData.fail("操作失败");
  109. }
  110. /**
  111. * 通过subId查询库存列表
  112. *
  113. * @param subId
  114. * @return
  115. */
  116. @ApiOperation(value = "通过subId查询库存列表", tags = "参数说明:subId 必填")
  117. @GetMapping(value = "/findBySubId")
  118. public ResultData findBySubId(@RequestParam("subId") Long subId) {
  119. paramCheck.notNull(subId);
  120. LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
  121. queryWrapper.eq(DbStock::getSubjectId,subId);
  122. List<DbStock> list = dbStockService.list(queryWrapper);
  123. return ResultData.success(list);
  124. }
  125. }