|
@@ -3,18 +3,28 @@ package com.zd.airbottle.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
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.DbStock;
|
|
|
import com.zd.airbottle.domain.bo.DbStockBo;
|
|
import com.zd.airbottle.domain.bo.DbStockBo;
|
|
|
import com.zd.airbottle.domain.bo.DbStockParam;
|
|
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.service.DbStockService;
|
|
|
import com.zd.airbottle.utils.PageUtil;
|
|
import com.zd.airbottle.utils.PageUtil;
|
|
|
import com.zd.common.core.annotation.Log;
|
|
import com.zd.common.core.annotation.Log;
|
|
|
import com.zd.common.core.log.BusinessType;
|
|
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.utils.StringUtils;
|
|
|
import com.zd.common.core.web.controller.AbstractController;
|
|
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.domain.ResultData;
|
|
|
|
|
+import com.zd.model.entity.SysUser;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
@@ -22,17 +32,91 @@ import java.util.List;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * @Description 东北大学库存控制类
|
|
|
|
|
|
|
+ * @Description 东北大学库存
|
|
|
* @Author hzw
|
|
* @Author hzw
|
|
|
* @Date 2023/10/16 17:50
|
|
* @Date 2023/10/16 17:50
|
|
|
* @Version 2.0
|
|
* @Version 2.0
|
|
|
*/
|
|
*/
|
|
|
-@Api(tags = "东北大学库存控制类")
|
|
|
|
|
|
|
+@Api(tags = "东北大学库存")
|
|
|
@RestController
|
|
@RestController
|
|
|
@RequestMapping("/stock")
|
|
@RequestMapping("/stock")
|
|
|
public class DbStockController extends AbstractController {
|
|
public class DbStockController extends AbstractController {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DbStockService dbStockService;
|
|
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]
|
|
* @Param [dbStockBo]
|
|
|
* @Return com.zd.model.domain.ResultData
|
|
* @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")
|
|
@PostMapping(value = "/update")
|
|
|
public ResultData update(@RequestBody DbStockBo dbStockBo) {
|
|
public ResultData update(@RequestBody DbStockBo dbStockBo) {
|
|
|
//参数检查
|
|
//参数检查
|
|
|
paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId()).notNull(dbStockBo.getBeaconTag());
|
|
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) {
|
|
if (count > 0) {
|
|
|
return ResultData.success("信标标签已存在!");
|
|
return ResultData.success("信标标签已存在!");
|
|
|
}
|
|
}
|
|
@@ -62,7 +146,7 @@ public class DbStockController extends AbstractController {
|
|
|
* @param id
|
|
* @param id
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- @ApiOperation(value = "通过ID获取库存详情", tags = "参数说明:库存id 必填")
|
|
|
|
|
|
|
+ @ApiOperation(value = "通过ID获取库存详情", notes = "参数说明:库存id 必填")
|
|
|
@GetMapping(value = "/findById")
|
|
@GetMapping(value = "/findById")
|
|
|
public ResultData find(@RequestParam("id") Long id) {
|
|
public ResultData find(@RequestParam("id") Long id) {
|
|
|
paramCheck.notNull(id);
|
|
paramCheck.notNull(id);
|
|
@@ -76,14 +160,14 @@ public class DbStockController extends AbstractController {
|
|
|
* @param dbStockParam
|
|
* @param dbStockParam
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- @ApiOperation(value = "获取库存list", tags = "参数说明:searchValue 关键字")
|
|
|
|
|
|
|
+ @ApiOperation(value = "获取库存list", notes = "参数说明:searchValue 关键字")
|
|
|
@PostMapping(value = "/list")
|
|
@PostMapping(value = "/list")
|
|
|
public ResultData list(@RequestBody DbStockParam dbStockParam) {
|
|
public ResultData list(@RequestBody DbStockParam dbStockParam) {
|
|
|
//查询条件
|
|
//查询条件
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
//气瓶编号 气瓶名称 实验室名称
|
|
//气瓶编号 气瓶名称 实验室名称
|
|
|
if (StringUtils.isNotBlank(dbStockParam.getSearchValue())) {
|
|
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())) {
|
|
if (Objects.nonNull(dbStockParam.getCollegeId())) {
|
|
|
queryWrapper.eq(DbStock::getCollegeId, dbStockParam.getCollegeId());
|
|
queryWrapper.eq(DbStock::getCollegeId, dbStockParam.getCollegeId());
|
|
@@ -98,37 +182,35 @@ public class DbStockController extends AbstractController {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 通过Id删除库存信息
|
|
|
|
|
|
|
+ * 通过信标查询库信息
|
|
|
*
|
|
*
|
|
|
- * @param dbStockBo
|
|
|
|
|
|
|
+ * @param BeaconTag
|
|
|
* @return
|
|
* @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查询库存列表
|
|
* 通过subId查询库存列表
|
|
|
*
|
|
*
|
|
|
* @param subId
|
|
* @param subId
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- @ApiOperation(value = "通过subId查询库存列表", tags = "参数说明:subId 必填")
|
|
|
|
|
|
|
+ @ApiOperation(value = "通过subId查询库存列表", notes = "参数说明:subId 必填")
|
|
|
@GetMapping(value = "/findBySubId")
|
|
@GetMapping(value = "/findBySubId")
|
|
|
public ResultData findBySubId(@RequestParam("subId") Long subId) {
|
|
public ResultData findBySubId(@RequestParam("subId") Long subId) {
|
|
|
paramCheck.notNull(subId);
|
|
paramCheck.notNull(subId);
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
|
- queryWrapper.eq(DbStock::getSubjectId,subId);
|
|
|
|
|
|
|
+ queryWrapper.eq(DbStock::getSubjectId, subId);
|
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
|
return ResultData.success(list);
|
|
return ResultData.success(list);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|