|
@@ -112,7 +112,7 @@ public class DbStockController extends AbstractController {
|
|
|
if (dbStockService.save(dbStock)) {
|
|
if (dbStockService.save(dbStock)) {
|
|
|
DbInOutRecord dbInOutRecord = new DbInOutRecord();
|
|
DbInOutRecord dbInOutRecord = new DbInOutRecord();
|
|
|
BeanUtils.copyProperties(dbStockBo, dbInOutRecord);
|
|
BeanUtils.copyProperties(dbStockBo, dbInOutRecord);
|
|
|
- if(sysUser != null){
|
|
|
|
|
|
|
+ if (sysUser != null) {
|
|
|
dbInOutRecord.setOperator(sysUser.getNickName());
|
|
dbInOutRecord.setOperator(sysUser.getNickName());
|
|
|
dbInOutRecord.setOperatorId(sysUser.getUserId());
|
|
dbInOutRecord.setOperatorId(sysUser.getUserId());
|
|
|
dbInOutRecord.setPhone(sysUser.getPhonenumber());
|
|
dbInOutRecord.setPhone(sysUser.getPhonenumber());
|
|
@@ -141,14 +141,14 @@ public class DbStockController extends AbstractController {
|
|
|
//参数检查
|
|
//参数检查
|
|
|
paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId());
|
|
paramCheck.notNull(dbStockBo).notNull(dbStockBo.getId());
|
|
|
DbStock stock = dbStockService.getById(dbStockBo.getId());
|
|
DbStock stock = dbStockService.getById(dbStockBo.getId());
|
|
|
- if(dbStockBo.getGasPressure() != null){
|
|
|
|
|
|
|
+ if (dbStockBo.getGasPressure() != null) {
|
|
|
dbStockService.update(new LambdaUpdateWrapper<DbStock>().set(DbStock::getGasPressure, dbStockBo.getGasPressure()).eq(DbStock::getGasPressure, dbStockBo.getGasPressure()));
|
|
dbStockService.update(new LambdaUpdateWrapper<DbStock>().set(DbStock::getGasPressure, dbStockBo.getGasPressure()).eq(DbStock::getGasPressure, dbStockBo.getGasPressure()));
|
|
|
}
|
|
}
|
|
|
SysUser sysUser = tokenService.getLoginUser().getSysUser();
|
|
SysUser sysUser = tokenService.getLoginUser().getSysUser();
|
|
|
if (dbStockService.removeById(stock.getId())) {
|
|
if (dbStockService.removeById(stock.getId())) {
|
|
|
DbInOutRecord dbInOutRecord = new DbInOutRecord();
|
|
DbInOutRecord dbInOutRecord = new DbInOutRecord();
|
|
|
- BeanUtils.copyProperties(stock, dbInOutRecord,new String[] {"createBy","createTime","updateName","updateBy","updateTime","createName"});
|
|
|
|
|
- if(sysUser != null){
|
|
|
|
|
|
|
+ BeanUtils.copyProperties(stock, dbInOutRecord, new String[]{"createBy", "createTime", "updateName", "updateBy", "updateTime", "createName"});
|
|
|
|
|
+ if (sysUser != null) {
|
|
|
dbInOutRecord.setOperator(sysUser.getNickName());
|
|
dbInOutRecord.setOperator(sysUser.getNickName());
|
|
|
dbInOutRecord.setOperatorId(sysUser.getUserId());
|
|
dbInOutRecord.setOperatorId(sysUser.getUserId());
|
|
|
dbInOutRecord.setPhone(sysUser.getPhonenumber());
|
|
dbInOutRecord.setPhone(sysUser.getPhonenumber());
|
|
@@ -193,24 +193,24 @@ public class DbStockController extends AbstractController {
|
|
|
if (dbStockService.update(new LambdaUpdateWrapper<DbStock>().eq(DbStock::getId, dbStockBo.getId()).set(DbStock::getBeaconTag, dbStockBo.getBeaconTag()))) {
|
|
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 <>();
|
|
|
|
|
- if(beaconNoticeList!=null){
|
|
|
|
|
|
|
+ List<Map<String, Object>> beaconNoticeList = redisService.getCacheObject(BaseConstants.BEACON_MATE_NOTICE + "~" + oldDbStock.getSubjectId());
|
|
|
|
|
+ List<Map<String, Object>> newNoticeList = new ArrayList<>();
|
|
|
|
|
+ if (beaconNoticeList != null) {
|
|
|
newNoticeList.addAll(beaconNoticeList);
|
|
newNoticeList.addAll(beaconNoticeList);
|
|
|
}
|
|
}
|
|
|
// 循环信标通知,修改的信标提示语移除。
|
|
// 循环信标通知,修改的信标提示语移除。
|
|
|
- if(beaconNoticeList != null){
|
|
|
|
|
- for(Map notice:beaconNoticeList){
|
|
|
|
|
- if(notice.get("beaconTag").equals(oldDbStock.getBeaconTag())){
|
|
|
|
|
- log.info("=====================================》移除返回来的信标提示语:"+notice);
|
|
|
|
|
|
|
+ if (beaconNoticeList != null) {
|
|
|
|
|
+ for (Map notice : beaconNoticeList) {
|
|
|
|
|
+ if (notice.get("beaconTag").equals(oldDbStock.getBeaconTag())) {
|
|
|
|
|
+ log.info("=====================================》移除返回来的信标提示语:" + notice);
|
|
|
newNoticeList.remove(notice);
|
|
newNoticeList.remove(notice);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//下发通知,告诉前端页面,查询redis获取相关信息
|
|
//下发通知,告诉前端页面,查询redis获取相关信息
|
|
|
- if(beaconNoticeList!=null && beaconNoticeList.size()!=newNoticeList.size()){
|
|
|
|
|
|
|
+ if (beaconNoticeList != null && beaconNoticeList.size() != newNoticeList.size()) {
|
|
|
//判断通知消息集合有数据,说明信标有变动,需要重新变更加通知
|
|
//判断通知消息集合有数据,说明信标有变动,需要重新变更加通知
|
|
|
- redisService.setCacheObject(BaseConstants.BEACON_MATE_NOTICE+"~"+ oldDbStock.getSubjectId(),newNoticeList, 30L, TimeUnit.MINUTES);
|
|
|
|
|
|
|
+ redisService.setCacheObject(BaseConstants.BEACON_MATE_NOTICE + "~" + oldDbStock.getSubjectId(), newNoticeList, 30L, TimeUnit.MINUTES);
|
|
|
}
|
|
}
|
|
|
// 重新加载入库的信标到redis chai
|
|
// 重新加载入库的信标到redis chai
|
|
|
DbStock newDbStock = dbStockService.getById(dbStockBo.getId());
|
|
DbStock newDbStock = dbStockService.getById(dbStockBo.getId());
|
|
@@ -365,7 +365,6 @@ public class DbStockController extends AbstractController {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 通过subId载入库存列表
|
|
* 通过subId载入库存列表
|
|
|
*
|
|
*
|
|
@@ -380,7 +379,7 @@ public class DbStockController extends AbstractController {
|
|
|
queryWrapper.eq(DbStock::getSubjectId, subId);
|
|
queryWrapper.eq(DbStock::getSubjectId, subId);
|
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
|
redisService.setCacheObject(BaseConstants.BEACON_MATE_INFO + "~" + subId, list, 7L, TimeUnit.DAYS);
|
|
redisService.setCacheObject(BaseConstants.BEACON_MATE_INFO + "~" + subId, list, 7L, TimeUnit.DAYS);
|
|
|
- for(DbStock stock : list){
|
|
|
|
|
|
|
+ for (DbStock stock : list) {
|
|
|
redisService.setCacheObject(BaseConstants.BEACON_MATE_DET + "~" + stock.getBeaconTag() + "~" + stock.getSubjectId() + "~" + stock.getGasName(), stock.getBeaconTag(), 120L, TimeUnit.SECONDS);
|
|
redisService.setCacheObject(BaseConstants.BEACON_MATE_DET + "~" + stock.getBeaconTag() + "~" + stock.getSubjectId() + "~" + stock.getGasName(), stock.getBeaconTag(), 120L, TimeUnit.SECONDS);
|
|
|
}
|
|
}
|
|
|
return ResultData.success(list);
|
|
return ResultData.success(list);
|
|
@@ -418,24 +417,24 @@ public class DbStockController extends AbstractController {
|
|
|
//将信标从redis中移除
|
|
//将信标从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());
|
|
|
//先把对应的信标提示语撤销
|
|
//先把对应的信标提示语撤销
|
|
|
- List <Map<String,Object>> beaconNoticeList = redisService.getCacheObject(BaseConstants.BEACON_MATE_NOTICE+"~"+dbStock.getSubjectId());
|
|
|
|
|
- List <Map<String,Object>> newNoticeList = new ArrayList <>();
|
|
|
|
|
- if(beaconNoticeList!=null){
|
|
|
|
|
|
|
+ List<Map<String, Object>> beaconNoticeList = redisService.getCacheObject(BaseConstants.BEACON_MATE_NOTICE + "~" + dbStock.getSubjectId());
|
|
|
|
|
+ List<Map<String, Object>> newNoticeList = new ArrayList<>();
|
|
|
|
|
+ if (beaconNoticeList != null) {
|
|
|
newNoticeList.addAll(beaconNoticeList);
|
|
newNoticeList.addAll(beaconNoticeList);
|
|
|
}
|
|
}
|
|
|
// 循环信标通知,修改的信标提示语移除。
|
|
// 循环信标通知,修改的信标提示语移除。
|
|
|
- if(beaconNoticeList != null){
|
|
|
|
|
- for(Map notice:beaconNoticeList){
|
|
|
|
|
- if(notice.get("beaconTag").equals(dbStock.getBeaconTag())){
|
|
|
|
|
- log.info("=====================================》移除返回来的信标提示语:"+notice);
|
|
|
|
|
|
|
+ if (beaconNoticeList != null) {
|
|
|
|
|
+ for (Map notice : beaconNoticeList) {
|
|
|
|
|
+ if (notice.get("beaconTag").equals(dbStock.getBeaconTag())) {
|
|
|
|
|
+ log.info("=====================================》移除返回来的信标提示语:" + notice);
|
|
|
newNoticeList.remove(notice);
|
|
newNoticeList.remove(notice);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//下发通知,告诉前端页面,查询redis获取相关信息
|
|
//下发通知,告诉前端页面,查询redis获取相关信息
|
|
|
- if(beaconNoticeList!=null && beaconNoticeList.size()!=newNoticeList.size()){
|
|
|
|
|
|
|
+ if (beaconNoticeList != null && beaconNoticeList.size() != newNoticeList.size()) {
|
|
|
//判断通知消息集合有数据,说明信标有变动,需要重新变更加通知
|
|
//判断通知消息集合有数据,说明信标有变动,需要重新变更加通知
|
|
|
- redisService.setCacheObject(BaseConstants.BEACON_MATE_NOTICE+"~"+ dbStock.getSubjectId(),newNoticeList, 30L, TimeUnit.MINUTES);
|
|
|
|
|
|
|
+ redisService.setCacheObject(BaseConstants.BEACON_MATE_NOTICE + "~" + dbStock.getSubjectId(), newNoticeList, 30L, TimeUnit.MINUTES);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -444,8 +443,7 @@ public class DbStockController extends AbstractController {
|
|
|
*/
|
|
*/
|
|
|
@ApiOperation(value = "根据实验室ids查询库存列表")
|
|
@ApiOperation(value = "根据实验室ids查询库存列表")
|
|
|
@GetMapping("/{ids}")
|
|
@GetMapping("/{ids}")
|
|
|
- public ResultData getStockBySubIds(@PathVariable Long[] ids)
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ public ResultData getStockBySubIds(@PathVariable Long[] ids) {
|
|
|
//查询库存信标列表,存入redis
|
|
//查询库存信标列表,存入redis
|
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
LambdaQueryWrapper<DbStock> queryWrapper = new LambdaQueryWrapper();
|
|
|
queryWrapper.in(DbStock::getSubjectId, ids);
|
|
queryWrapper.in(DbStock::getSubjectId, ids);
|
|
@@ -466,44 +464,45 @@ public class DbStockController extends AbstractController {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 按气体名称分组(电子信息牌使用)
|
|
* 按气体名称分组(电子信息牌使用)
|
|
|
|
|
+ *
|
|
|
* @param bo
|
|
* @param bo
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
@ApiOperation(value = "按气体名称分组")
|
|
@ApiOperation(value = "按气体名称分组")
|
|
|
@GetMapping(value = "/groupName")
|
|
@GetMapping(value = "/groupName")
|
|
|
public ResultData groupName(DbStockBo bo) {
|
|
public ResultData groupName(DbStockBo bo) {
|
|
|
- if(bo.getSubjectId()==null){
|
|
|
|
|
|
|
+ if (bo.getSubjectId() == null) {
|
|
|
ResultData.success(new ArrayList<>());
|
|
ResultData.success(new ArrayList<>());
|
|
|
}
|
|
}
|
|
|
//气瓶分类后显示的长度
|
|
//气瓶分类后显示的长度
|
|
|
- int num=4;
|
|
|
|
|
|
|
+ int num = 4;
|
|
|
List<DbStockVo> backList = new ArrayList<>();
|
|
List<DbStockVo> backList = new ArrayList<>();
|
|
|
paramCheck.notNull(bo.getSubjectId());
|
|
paramCheck.notNull(bo.getSubjectId());
|
|
|
- List<DbStockVo> list= dbStockService.selectStockListGroupBy(bo);
|
|
|
|
|
- if(list!=null && !list.isEmpty()){
|
|
|
|
|
- Integer totalNum = list.stream().mapToInt(DbStockVo::getTotalNum).sum();
|
|
|
|
|
- int p=0;
|
|
|
|
|
- String gasNameStr="";
|
|
|
|
|
- for (int i=0;i<list.size();i++){
|
|
|
|
|
|
|
+ List<DbStockVo> list = dbStockService.selectStockListGroupBy(bo);
|
|
|
|
|
+ if (list != null && !list.isEmpty()) {
|
|
|
|
|
+ Integer totalNum = list.stream().mapToInt(DbStockVo::getTotalNum).sum();
|
|
|
|
|
+ int p = 0;
|
|
|
|
|
+ String gasNameStr = "";
|
|
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
DbStockVo backVo = new DbStockVo();
|
|
DbStockVo backVo = new DbStockVo();
|
|
|
- if(i<num){
|
|
|
|
|
|
|
+ if (i < num) {
|
|
|
backVo.setGasName(list.get(i).getGasName());
|
|
backVo.setGasName(list.get(i).getGasName());
|
|
|
backVo.setTotalNum(list.get(i).getTotalNum());
|
|
backVo.setTotalNum(list.get(i).getTotalNum());
|
|
|
- backVo.setRatio(myPercent(list.get(i).getTotalNum(),totalNum,"##.##"));
|
|
|
|
|
|
|
+ backVo.setRatio(myPercent(list.get(i).getTotalNum(), totalNum, "##.##"));
|
|
|
backList.add(backVo);
|
|
backList.add(backVo);
|
|
|
- }else{
|
|
|
|
|
- p=p+list.get(i).getTotalNum();
|
|
|
|
|
- gasNameStr = gasNameStr+list.get(i).getGasName()+",";
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ p = p + list.get(i).getTotalNum();
|
|
|
|
|
+ gasNameStr = gasNameStr + list.get(i).getGasName() + ",";
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(list.size()>num){
|
|
|
|
|
|
|
+ if (list.size() > num) {
|
|
|
DbStockVo backVo2 = new DbStockVo();
|
|
DbStockVo backVo2 = new DbStockVo();
|
|
|
backVo2.setGasName("更多");
|
|
backVo2.setGasName("更多");
|
|
|
backVo2.setTotalNum(p);
|
|
backVo2.setTotalNum(p);
|
|
|
backVo2.setRemark(gasNameStr);
|
|
backVo2.setRemark(gasNameStr);
|
|
|
backVo2.setFlg(1);
|
|
backVo2.setFlg(1);
|
|
|
- backVo2.setRatio(myPercent(p,totalNum,"##.##"));
|
|
|
|
|
|
|
+ backVo2.setRatio(myPercent(p, totalNum, "##.##"));
|
|
|
backList.add(backVo2);
|
|
backList.add(backVo2);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -518,36 +517,34 @@ public class DbStockController extends AbstractController {
|
|
|
@ApiOperation(value = "查询实验室下气体列表(信息牌使用)")
|
|
@ApiOperation(value = "查询实验室下气体列表(信息牌使用)")
|
|
|
@GetMapping(value = "/getListByName")
|
|
@GetMapping(value = "/getListByName")
|
|
|
public ResultData getListByName(DbStockBo bo) {
|
|
public ResultData getListByName(DbStockBo bo) {
|
|
|
- if(bo.getSubjectId()==null || bo.getGasName()==null){
|
|
|
|
|
|
|
+ if (bo.getSubjectId() == null || bo.getGasName() == null) {
|
|
|
return ResultData.success(new ArrayList<>());
|
|
return ResultData.success(new ArrayList<>());
|
|
|
}
|
|
}
|
|
|
List<DbInOutRecordVo> backList = new ArrayList<>();
|
|
List<DbInOutRecordVo> backList = new ArrayList<>();
|
|
|
- //实验室下根据气体名称查询未出库的气瓶集合
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //实验室下根据气体名称查询气瓶集合
|
|
|
paramCheck.notNull(bo.getSubjectId()).notNull(bo.getGasName());
|
|
paramCheck.notNull(bo.getSubjectId()).notNull(bo.getGasName());
|
|
|
QueryWrapper<DbStock> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<DbStock> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(DbStock::getSubjectId,bo.getSubjectId());
|
|
|
|
|
- if(bo.getFlg()!=null && 1==bo.getFlg() && bo.getRemark()!=null && bo.getRemark()!=""){
|
|
|
|
|
- if(bo.getRemark()!=null && bo.getRemark()!=""){
|
|
|
|
|
- queryWrapper.lambda().in(DbStock::getGasName,bo.getRemark().split(","));
|
|
|
|
|
- }else {
|
|
|
|
|
- log.error(" 查询实验室下气体列表,气体集合为空:"+bo.getRemark());
|
|
|
|
|
- }
|
|
|
|
|
- }else{
|
|
|
|
|
- queryWrapper.lambda().eq(DbStock::getGasName,bo.getGasName());
|
|
|
|
|
|
|
+ queryWrapper.lambda().eq(DbStock::getSubjectId, bo.getSubjectId());
|
|
|
|
|
+ if (bo.getFlg() != null && 1 == bo.getFlg() && bo.getRemark() != null && bo.getRemark() != "") {
|
|
|
|
|
+ queryWrapper.lambda().in(DbStock::getGasName, bo.getRemark().split(","));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ queryWrapper.lambda().eq(DbStock::getGasName, bo.getGasName());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
List<DbStock> list = dbStockService.list(queryWrapper);
|
|
|
- if(list!=null && !list.isEmpty()){
|
|
|
|
|
- for (DbStock r:list) {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (list != null && !list.isEmpty()) {
|
|
|
|
|
+ for (DbStock r : list) {
|
|
|
DbInOutRecordVo vo = new DbInOutRecordVo();
|
|
DbInOutRecordVo vo = new DbInOutRecordVo();
|
|
|
- BeanUtils.copyProperties(r,vo);
|
|
|
|
|
- if(r.getBeaconTag()!=null){
|
|
|
|
|
|
|
+ BeanUtils.copyProperties(r, vo);
|
|
|
|
|
+ if (r.getBeaconTag() != null) {
|
|
|
//查看redis是否有值
|
|
//查看redis是否有值
|
|
|
- String redisStr =redisService.getCacheObject(BaseConstants.BEACON_MATE_DET+"~"+ r.getBeaconTag()+"~"+r.getSubjectId()+"~"+r.getGasName());
|
|
|
|
|
- if(redisStr!=null && redisStr!=""){
|
|
|
|
|
|
|
+ String redisStr = redisService.getCacheObject(BaseConstants.BEACON_MATE_DET + "~" + r.getBeaconTag() + "~" + r.getSubjectId() + "~" + r.getGasName());
|
|
|
|
|
+ log.info("气瓶是否在redis存在:"+redisStr);
|
|
|
|
|
+ if (redisStr != null && redisStr != "") {
|
|
|
//在位
|
|
//在位
|
|
|
vo.setLocationState(1);
|
|
vo.setLocationState(1);
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
//离位
|
|
//离位
|
|
|
vo.setLocationState(0);
|
|
vo.setLocationState(0);
|
|
|
}
|
|
}
|
|
@@ -559,7 +556,6 @@ public class DbStockController extends AbstractController {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 百分比计算
|
|
* 百分比计算
|
|
|
*
|
|
*
|