Bläddra i källkod

电子信息牌,气瓶更多查询和是否在位逻辑修改

xuxiaofei 2 år sedan
förälder
incheckning
41436c7ebf

+ 27 - 12
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/DbStockController.java

@@ -483,6 +483,7 @@ public class DbStockController extends AbstractController {
         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();
                 if(i<num){
@@ -492,13 +493,16 @@ public class DbStockController extends AbstractController {
                     backList.add(backVo);
                 }else{
                     p=p+list.get(i).getTotalNum();
+                    gasNameStr = gasNameStr+list.get(i).getGasName()+",";
                 }
             }
 
             if(list.size()>num){
                 DbStockVo backVo2 = new DbStockVo();
-                backVo2.setGasName("其它");
+                backVo2.setGasName("更多");
                 backVo2.setTotalNum(p);
+                backVo2.setRemark(gasNameStr);
+                backVo2.setFlg(1);
                 backVo2.setRatio(myPercent(p,totalNum,"##.##"));
                 backList.add(backVo2);
             }
@@ -520,21 +524,32 @@ public class DbStockController extends AbstractController {
         List<DbInOutRecordVo> backList = new ArrayList<>();
         //实验室下根据气体名称查询未出库的气瓶集合
         paramCheck.notNull(bo.getSubjectId()).notNull(bo.getGasName());
-        QueryWrapper<DbInOutRecord> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(DbInOutRecord::getSubjectId,bo.getSubjectId()).eq(DbInOutRecord::getGasName,bo.getGasName()).eq(DbInOutRecord::getType,1);
-        List<DbInOutRecord> list = dbInOutRecordService.list(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());
+        }
+
+        List<DbStock> list = dbStockService.list(queryWrapper);
         if(list!=null && !list.isEmpty()){
-            for (DbInOutRecord r:list) {
+            for (DbStock r:list) {
                 DbInOutRecordVo vo = new DbInOutRecordVo();
                 BeanUtils.copyProperties(r,vo);
                 if(r.getBeaconTag()!=null){
-                    //去lab日志表查询气瓶状态
-                    ResultData rd = remoteLaboratoryService.getListByTag(r.getBeaconTag());
-                    if(rd.getCode()==HttpStatus.SUCCESS){
-                        List<WarningNoticeLogDto> warnList = JSON.parseArray(JSONObject.toJSONString(rd.getData()), WarningNoticeLogDto.class);
-                        if(warnList!=null && !warnList.isEmpty()){
-                            vo.setLocationState(warnList.get(0).getLocationState());
-                        }
+                    //查看redis是否有值
+                    String redisStr =redisService.getCacheObject(BaseConstants.BEACON_MATE_DET+"~"+ r.getBeaconTag()+"~"+r.getSubjectId()+"~"+r.getGasName());
+                    if(redisStr!=null && redisStr!=""){
+                        //在位
+                        vo.setLocationState(1);
+                    }else {
+                        //离位
+                        vo.setLocationState(0);
                     }
                 }
                 backList.add(vo);

+ 3 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbStockBo.java

@@ -80,4 +80,7 @@ public class DbStockBo extends PageQuery implements Serializable {
 
     @ApiModelProperty("部门id")
     private Long deptId;
+
+    @ApiModelProperty("标识")
+    private Integer flg;
 }

+ 6 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/vo/DbStockVo.java

@@ -72,4 +72,10 @@ public class DbStockVo implements Serializable {
 
     @ApiModelProperty("比率")
     private String ratio;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("标识")
+    private Integer flg;
 }