whyclxw
2025-05-15 96510a549bfb313920bf297b28089c4cf57f0146
src/main/java/com/whyc/service/LockInfService.java
@@ -43,6 +43,9 @@
    private BaojigroupUsrMapper bjUserMapper;
    @Autowired(required = false)
    private BaojigroupService baojiService;
    @Autowired(required = false)
    private BaojigroupMapper bjMapper;
    @Autowired(required = false)
@@ -72,6 +75,7 @@
            QueryWrapper wrapper1=new QueryWrapper();
            wrapper1.eq("station_id",stationId);
            wrapper1.eq("lock_name",lockInf.getLockName());
            wrapper1.eq("del_flag",0);
            wrapper1.last("limit 1");
            LockInf judgeLock=mapper.selectOne(wrapper1);
            if (judgeLock!=null){
@@ -169,6 +173,7 @@
                wrapper4.eq("baoji_name","默认包机组");
                wrapper4.last("limit 1");
                group=bjMapper.selectOne(wrapper4);
                baojiService.insertNeiZhi(group.getId());
            }
            BaojigroupUsr bjUsr=new BaojigroupUsr();
            bjUsr.setUid(uinf.getUid());
@@ -252,8 +257,9 @@
        if(lockInf.getLockIp()!=null){
            UpdateWrapper wrapper1=new UpdateWrapper();
            wrapper1.set("lock_ip",lockInf.getLockIp());
            wrapper1.eq("lock_id",lockInf.getLockId());
            wrapper1.eq("station_id",lockInf.getStationId());
            mapper.update((LockInf) ActionUtil.objeNull,wrapper1);
            processSurveyService.setUpThreadRestart();
        }
        return new Response().set(1,true);
    }
@@ -279,39 +285,43 @@
        map.put("closeNum",0);
        map.put("unLoadNum",0);
        //根据dto中stationid和包机组id查询出管理的lockid
        List<Integer> lockIdList=bjLockMapper.getLocIdByStationidAndBjId(dto.getStationId(),dto.getBaojiId());
        List<LockInf> linfs=mapper.getRealLock(lockIdList);
        //包机组下锁的位置信息
        List<LockAddress> addressList=addressMapper.getAddressList(lockIdList);
        //机房下所有锁的位置
        List<LockAddress> AllAddressList=addressMapper.getAllAddress(dto.getStationId());
        if(linfs!=null&&linfs.size()>0){
            map.put("sumLinf",linfs.size());
            Map<Integer, List<LockInf>> onlinemap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockOnline));
            for (Integer state : onlinemap.keySet()) {
                if(state==0){
                    map.put("offLineNum", onlinemap.get(0).size());//离线
        try {
            List<Integer> lockIdList=bjLockMapper.getLocIdByStationidAndBjId(dto.getStationId(),dto.getBaojiId());
            List<LockInf> linfs=mapper.getRealLock(lockIdList);
            //包机组下锁的位置信息
            List<LockAddress> addressList=addressMapper.getAddressList(lockIdList);
            //机房下所有锁的位置
            List<LockAddress> AllAddressList=addressMapper.getAllAddress(dto.getStationId());
            if(linfs!=null&&linfs.size()>0){
                map.put("sumLinf",linfs.size());
                Map<Integer, List<LockInf>> onlinemap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockOnline));
                for (Integer state : onlinemap.keySet()) {
                    if(state==0){
                        map.put("offLineNum", onlinemap.get(0).size());//离线
                    }
                    if(state==1){
                        map.put("onlineNum", onlinemap.get(1).size());//在线
                    }
                }
                if(state==1){
                    map.put("onlineNum", onlinemap.get(1).size());//在线
                Map<Integer, List<LockInf>> openmap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockState));
                for (Integer open : openmap.keySet()) {
                    if(open==0){
                        map.put("closeNum", openmap.get(0).size());//闭锁
                    }
                    if(open==1){
                        map.put("openNum", openmap.get(1).size());//开锁
                    }
                    if(open==-1){
                        map.put("unLoadNum", openmap.get(-1).size());//未安装
                    }
                }
            }
            Map<Integer, List<LockInf>> openmap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockState));
            for (Integer open : openmap.keySet()) {
                if(open==0){
                    map.put("closeNum", openmap.get(0).size());//闭锁
                }
                if(open==1){
                    map.put("openNum", openmap.get(1).size());//开锁
                }
                if(open==-1){
                    map.put("unLoadNum", openmap.get(-1).size());//未安装
                }
            }
            PageInfo pageInfo= PageInfoUtils.list2PageInfo(linfs, dto.getPageNum(), dto.getPageSize());
            map.put("pageInfo",pageInfo);
            return new Response().setIV(1,linfs!=null,map,addressList,AllAddressList,"实时获取获取区域下所有锁的状态");
        } catch (Exception e) {
            return new Response().set(1,false,"实时获取获取区域下所有锁的状态");
        }
        PageInfo pageInfo= PageInfoUtils.list2PageInfo(linfs, dto.getPageNum(), dto.getPageSize());
        map.put("pageInfo",pageInfo);
        return new Response().setIV(1,linfs!=null,map,addressList,AllAddressList,"实时获取获取区域下所有锁的状态");
    }
    //查询锁的信息和id卡
    public Response getLockId(LockIdDto dto) {