|
|
@@ -63,7 +63,7 @@ public class DbStockController extends AbstractController {
|
|
|
private TokenService tokenService;
|
|
|
|
|
|
@Autowired
|
|
|
- private static RedisService redisService;
|
|
|
+ private RedisService redisService;
|
|
|
|
|
|
/**
|
|
|
* 库存入库
|
|
|
@@ -76,6 +76,10 @@ public class DbStockController extends AbstractController {
|
|
|
public ResultData in(@RequestBody DbStockBo dbStockBo) {
|
|
|
//参数检查
|
|
|
paramCheck.notNull(dbStockBo).strNotEmpty(dbStockBo.getGasName()).notNull(dbStockBo.getBeaconTag()).notNull(dbStockBo.getSubjectId());
|
|
|
+ long count = dbBeaconService.count(new LambdaQueryWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbStockBo.getBeaconTag()));
|
|
|
+ if (count == 0) {
|
|
|
+ return ResultData.fail("信标库中不存在此标签!");
|
|
|
+ }
|
|
|
//验证信标
|
|
|
long count1 = dbStockService.count(new LambdaQueryWrapper<DbStock>().eq(DbStock::getBeaconTag, dbStockBo.getBeaconTag()));
|
|
|
if (count1 > 0) {
|
|
|
@@ -101,7 +105,7 @@ public class DbStockController extends AbstractController {
|
|
|
dbInOutRecordService.save(dbInOutRecord);
|
|
|
dbBeaconService.update(new LambdaUpdateWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbInOutRecord.getBeaconTag()).set(DbBeacon::getState, Boolean.TRUE).set(DbBeacon::getBindingTime, LocalDateTime.now()));
|
|
|
//todo 重新加载入库的信标到redis chai
|
|
|
- new Thread(()->loadBeaconDate(dbStock)).start();
|
|
|
+ new Thread(() -> loadBeaconDate(dbStock)).start();
|
|
|
return ResultData.success("操作成功");
|
|
|
}
|
|
|
return ResultData.fail("操作失败");
|
|
|
@@ -119,21 +123,24 @@ public class DbStockController extends AbstractController {
|
|
|
//参数检查
|
|
|
paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId());
|
|
|
DbStock stock = dbStockService.getById(dbStockBo.getId());
|
|
|
+ if(dbStockBo.getGasPressure() != null){
|
|
|
+ dbStockService.update(new LambdaUpdateWrapper<DbStock>().set(DbStock::getGasPressure, dbStockBo.getGasPressure()).eq(DbStock::getGasPressure, dbStockBo.getGasPressure()));
|
|
|
+ }
|
|
|
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));
|
|
|
//todo 重新加载入库的信标到redis chai
|
|
|
- new Thread(()->remBeaconDate(stock)).start();
|
|
|
+ new Thread(() -> remBeaconDate(stock)).start();
|
|
|
return ResultData.success("出库成功");
|
|
|
}
|
|
|
return ResultData.fail("出库失败");
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 更新库存信息
|
|
|
*
|
|
|
@@ -146,14 +153,19 @@ public class DbStockController extends AbstractController {
|
|
|
public ResultData update(@RequestBody DbStockBo dbStockBo) {
|
|
|
//参数检查
|
|
|
paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId()).notNull(dbStockBo.getBeaconTag());
|
|
|
+ long count1 = dbBeaconService.count(new LambdaQueryWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbStockBo.getBeaconTag()));
|
|
|
+ if (count1 == 0) {
|
|
|
+ return ResultData.fail("信标库中不存在此标签!");
|
|
|
+ }
|
|
|
long count = dbStockService.count(new LambdaQueryWrapper<DbStock>().ne(DbStock::getBeaconTag, dbStockBo.getBeaconTag()).eq(DbStock::getBeaconTag, dbStockBo.getBeaconTag()));
|
|
|
if (count > 0) {
|
|
|
- return ResultData.success("信标标签已存在!");
|
|
|
+ return ResultData.fail("信标标签已绑定!");
|
|
|
}
|
|
|
+ dbBeaconService.update(new LambdaUpdateWrapper<DbBeacon>().eq(DbBeacon::getBeaconTag, dbStockBo.getBeaconTag()).set(DbBeacon::getState, Boolean.TRUE).set(DbBeacon::getBindingTime, LocalDateTime.now()));
|
|
|
//将旧的信标从redis中移除 chai
|
|
|
DbStock oldDbStock = dbStockService.getById(dbStockBo.getId());
|
|
|
if (dbStockService.update(new LambdaUpdateWrapper<DbStock>().eq(DbStock::getId, dbStockBo.getId()).set(DbStock::getBeaconTag, dbStockBo.getBeaconTag()))) {
|
|
|
- redisService.deleteObject(BaseConstants.BEACON_MATE_DET+"~"+ oldDbStock.getBeaconTag()+"~"+oldDbStock.getSubjectId()+"~"+oldDbStock.getGasName());
|
|
|
+ redisService.deleteObject(BaseConstants.BEACON_MATE_DET + "~" + oldDbStock.getBeaconTag() + "~" + oldDbStock.getSubjectId() + "~" + oldDbStock.getGasName());
|
|
|
//先把对应的信标提示语撤销
|
|
|
List <Map<String,Object>> beaconNoticeList = redisService.getCacheObject(BaseConstants.BEACON_MATE_NOTICE+"~"+oldDbStock.getSubjectId());
|
|
|
List <Map<String,Object>> newNoticeList = new ArrayList <>();
|
|
|
@@ -176,7 +188,7 @@ public class DbStockController extends AbstractController {
|
|
|
}
|
|
|
//todo 重新加载入库的信标到redis chai
|
|
|
DbStock newDbStock = dbStockService.getById(dbStockBo.getId());
|
|
|
- new Thread(()->loadBeaconDate(newDbStock)).start();
|
|
|
+ new Thread(() -> loadBeaconDate(newDbStock)).start();
|
|
|
return ResultData.success("操作成功");
|
|
|
}
|
|
|
return ResultData.fail("操作失败");
|
|
|
@@ -195,10 +207,14 @@ public class DbStockController extends AbstractController {
|
|
|
DbStock dbStock = dbStockService.getById(id);
|
|
|
DbUsageRecord dbUsageRecord = dbUsageRecordService.getOne(new LambdaQueryWrapper<DbUsageRecord>().eq(DbUsageRecord::getStcokId, dbStock.getId()).orderByDesc(DbUsageRecord::getId).last("limit 1"));
|
|
|
DbStockVo dbStockVo = new DbStockVo();
|
|
|
- BeanUtils.copyProperties(dbStock,dbStockVo);
|
|
|
- dbStockVo.setUser(dbUsageRecord.getCreateName());
|
|
|
- dbStockVo.setLastUseTime(dbUsageRecord.getCreateTime());
|
|
|
- return ResultData.success(dbStock);
|
|
|
+ BeanUtils.copyProperties(dbStock, dbStockVo);
|
|
|
+ if (dbUsageRecord != null) {
|
|
|
+ dbStockVo.setUser(dbUsageRecord.getCreateName());
|
|
|
+ dbStockVo.setLastUseTime(dbUsageRecord.getCreateTime());
|
|
|
+ }
|
|
|
+ List<DbUsageRecord> list = dbUsageRecordService.list(new LambdaQueryWrapper<DbUsageRecord>().eq(DbUsageRecord::getStcokId, dbStock.getId()).orderByDesc(DbUsageRecord::getId));
|
|
|
+ dbStockVo.setDbUsageRecordList(list);
|
|
|
+ return ResultData.success(dbStockVo);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -241,7 +257,10 @@ public class DbStockController extends AbstractController {
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
|
queryWrapper.eq(DbStock::getBeaconTag, BeaconTag);
|
|
|
DbStock dbStock = dbStockService.getOne(queryWrapper);
|
|
|
- return ResultData.success(dbStock);
|
|
|
+ if (dbStock != null) {
|
|
|
+ return ResultData.success(dbStock);
|
|
|
+ }
|
|
|
+ return ResultData.fail("信标未绑定库存信息!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -257,18 +276,17 @@ public class DbStockController extends AbstractController {
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
|
queryWrapper.eq(DbStock::getSubjectId, subId);
|
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
|
- Map <String,List<DbStock>> dbStockMap = Optional.ofNullable(list).orElseGet(Collections::emptyList).stream()
|
|
|
- .collect(Collectors.groupingBy(DbStock::getGasName));
|
|
|
- Map<String,Object> allMap = new HashMap <>();
|
|
|
- allMap.put("total",list.size());
|
|
|
- List<Map<String,Object>> classifyList = new ArrayList <>();
|
|
|
- dbStockMap.forEach((key,value)->{
|
|
|
- Map<String,Object> classifyMap = new HashMap <>();
|
|
|
- classifyMap.put("name",key);
|
|
|
- classifyMap.put("bottleSize",value.size());
|
|
|
+ Map<String, List<DbStock>> dbStockMap = Optional.ofNullable(list).orElseGet(Collections::emptyList).stream().collect(Collectors.groupingBy(DbStock::getGasName));
|
|
|
+ Map<String, Object> allMap = new HashMap<>();
|
|
|
+ allMap.put("total", list.size());
|
|
|
+ List<Map<String, Object>> classifyList = new ArrayList<>();
|
|
|
+ dbStockMap.forEach((key, value) -> {
|
|
|
+ Map<String, Object> classifyMap = new HashMap<>();
|
|
|
+ classifyMap.put("name", key);
|
|
|
+ classifyMap.put("bottleSize", value.size());
|
|
|
classifyList.add(classifyMap);
|
|
|
});
|
|
|
- allMap.put("classifyList",classifyList);
|
|
|
+ allMap.put("classifyList", classifyList);
|
|
|
return ResultData.success(allMap);
|
|
|
}
|
|
|
|
|
|
@@ -295,14 +313,14 @@ public class DbStockController extends AbstractController {
|
|
|
* @param dbStock
|
|
|
* @return
|
|
|
*/
|
|
|
- public void loadBeaconDate(DbStock dbStock){
|
|
|
+ public void loadBeaconDate(DbStock dbStock) {
|
|
|
//查询库存信标列表,存入redis
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
|
queryWrapper.eq(DbStock::getSubjectId, dbStock.getSubjectId());
|
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
|
- redisService.setCacheObject(BaseConstants.BEACON_MATE_INFO+"~"+ dbStock.getSubjectId(),list, 7L, TimeUnit.DAYS);
|
|
|
+ redisService.setCacheObject(BaseConstants.BEACON_MATE_INFO + "~" + dbStock.getSubjectId(), list, 7L, TimeUnit.DAYS);
|
|
|
//将提交的库存数据,存入redis
|
|
|
- redisService.setCacheObject(BaseConstants.BEACON_MATE_DET+"~"+ dbStock.getBeaconTag()+"~"+dbStock.getSubjectId()+"~"+dbStock.getGasName(),dbStock.getBeaconTag(), 120L, TimeUnit.SECONDS);
|
|
|
+ redisService.setCacheObject(BaseConstants.BEACON_MATE_DET + "~" + dbStock.getBeaconTag() + "~" + dbStock.getSubjectId() + "~" + dbStock.getGasName(), dbStock.getBeaconTag(), 120L, TimeUnit.SECONDS);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -311,14 +329,14 @@ public class DbStockController extends AbstractController {
|
|
|
* @param dbStock
|
|
|
* @return
|
|
|
*/
|
|
|
- public void remBeaconDate(DbStock dbStock){
|
|
|
+ public void remBeaconDate(DbStock dbStock) {
|
|
|
//查询库存信标列表,存入redis
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
|
queryWrapper.eq(DbStock::getSubjectId, dbStock.getSubjectId());
|
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
|
- redisService.setCacheObject(BaseConstants.BEACON_MATE_INFO+"~"+ dbStock.getSubjectId(),list, 7L, TimeUnit.DAYS);
|
|
|
+ redisService.setCacheObject(BaseConstants.BEACON_MATE_INFO + "~" + dbStock.getSubjectId(), list, 7L, TimeUnit.DAYS);
|
|
|
//将信标从redis中移除
|
|
|
- redisService.deleteObject(BaseConstants.BEACON_MATE_DET+"~"+ dbStock.getBeaconTag()+"~"+dbStock.getSubjectId()+"~"+dbStock.getGasName());
|
|
|
+ redisService.deleteObject(BaseConstants.BEACON_MATE_DET + "~" + dbStock.getBeaconTag() + "~" + dbStock.getSubjectId() + "~" + dbStock.getGasName());
|
|
|
}
|
|
|
|
|
|
/**
|