|  |  |  | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | }else if(Objects.nonNull(jkCabinetGrid.getChannelCode())||Objects.nonNull(jkCabinetGrid.getBoardCode())){ | 
|---|
|  |  |  | jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() | 
|---|
|  |  |  | .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode()) | 
|---|
|  |  |  | .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode()) | 
|---|
|  |  |  | .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() | 
|---|
|  |  |  | .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode()) | 
|---|
|  |  |  | .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode()) | 
|---|
|  |  |  | .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"请确保钥匙柜通道号/板号唯一"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Objects.nonNull(model.getStatus()),JkCabinetGrid::getStatus,model.getStatus()) | 
|---|
|  |  |  | .isNull(Objects.nonNull(model.getBindStatus())&&Constants.equalsInteger(model.getBindStatus(),Constants.ZERO),JkCabinetGrid::getKeyId) | 
|---|
|  |  |  | .isNotNull(Objects.nonNull(model.getBindStatus())&&Constants.equalsInteger(model.getBindStatus(),Constants.ONE),JkCabinetGrid::getKeyId) | 
|---|
|  |  |  | .like(StringUtils.isNotBlank(model.getKeyCode()),JkKeys::getCode,model.getKeyCode()); | 
|---|
|  |  |  | .like(StringUtils.isNotBlank(model.getKeyCode()),JkKeys::getCode,model.getKeyCode()) | 
|---|
|  |  |  | .orderByAsc(JkCabinetGrid::getId) | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<JkCabinetGrid> iPage = jkCabinetGridMapper.selectJoinPage(page,JkCabinetGrid.class,wrapper); | 
|---|
|  |  |  | for (JkCabinetGrid jkCabinetGrid:iPage.getRecords()) { | 
|---|
|  |  |  | jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE); | 
|---|
|  |  |  | 
|---|
|  |  |  | jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() | 
|---|
|  |  |  | .set(JkCabinetGrid::getKeyId,null) | 
|---|
|  |  |  | .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList()))); | 
|---|
|  |  |  | .in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList()))); | 
|---|
|  |  |  | List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList()); | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(keyIdList)){ | 
|---|
|  |  |  | jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda() | 
|---|
|  |  |  | 
|---|
|  |  |  | jkCabinetLog.setGridId(jkCabinetGrid.getId()); | 
|---|
|  |  |  | jkCabinetLog.setAuthType(Constants.TWO); | 
|---|
|  |  |  | jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); | 
|---|
|  |  |  | jkCabinetLog.setStatus(Constants.ZERO); | 
|---|
|  |  |  | if(Objects.nonNull(jkCabinetGrid.getKeyId())){ | 
|---|
|  |  |  | jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId()); | 
|---|
|  |  |  | JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); | 
|---|
|  |  |  | if(Objects.nonNull(jkKeys)){ | 
|---|
|  |  |  | if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ | 
|---|
|  |  |  | 
|---|
|  |  |  | jkCabinetLog.setAuthType(dto.getAuthType()); | 
|---|
|  |  |  | jkCabinetLog.setMemberId(dto.getMemberId()); | 
|---|
|  |  |  | jkCabinetLog.setKeyStatus(Constants.ZERO); | 
|---|
|  |  |  | Boolean isChange = false; | 
|---|
|  |  |  | jkCabinetLog.setStatus(Constants.ZERO); | 
|---|
|  |  |  | if(Objects.nonNull(jkCabinetGrid.getKeyId())){ | 
|---|
|  |  |  | //只有钥匙柜绑定了钥匙信息 才会更新钥匙的信息 | 
|---|
|  |  |  | JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); | 
|---|
|  |  |  | jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId()); | 
|---|
|  |  |  | if(Objects.nonNull(jkKeys)){ | 
|---|
|  |  |  | if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ | 
|---|
|  |  |  | jkCabinetLog.setCarId(jkKeys.getCarId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | jkCabinetLog.setKeyStatus(dto.getKeyStatus()); | 
|---|
|  |  |  | //钥匙状态与当前操作状态不一致,则进行更新钥匙状态 | 
|---|
|  |  |  | if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus()) | 
|---|
|  |  |  | && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){ | 
|---|
|  |  |  | && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){ | 
|---|
|  |  |  | jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() | 
|---|
|  |  |  | .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .set(JkKeys::getStatus,dto.getKeyStatus()) | 
|---|
|  |  |  | .eq(JkKeys::getId,jkKeys.getId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | isChange = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | jkCabinetLog.setType(Constants.ONE); | 
|---|
|  |  |  | jkCabinetLogMapper.insert(jkCabinetLog); | 
|---|
|  |  |  | //查询钥匙对应的借出了钥匙的开门记录 进行添加关门记录主键 | 
|---|
|  |  |  | if(isChange && Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)){ | 
|---|
|  |  |  | jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() | 
|---|
|  |  |  | .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId()) | 
|---|
|  |  |  | .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId()) | 
|---|
|  |  |  | .eq(JkCabinetLog::getType,Constants.ZERO) | 
|---|
|  |  |  | .eq(JkCabinetLog::getKeyStatus,Constants.TWO) | 
|---|
|  |  |  | .isNotNull(JkCabinetLog::getCloseLogId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询钥匙的开门记录 进行添加关门记录主键 | 
|---|
|  |  |  | jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() | 
|---|
|  |  |  | .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId()) | 
|---|
|  |  |  | .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId()) | 
|---|
|  |  |  | .eq(JkCabinetLog::getType,Constants.ZERO) | 
|---|
|  |  |  | .isNull(JkCabinetLog::getCloseLogId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | List<String> authMemberList =  Arrays.asList(jkCabinet.getAuthMemberId().split(",")); | 
|---|
|  |  |  | Boolean flag = true; | 
|---|
|  |  |  | for (String id:authMemberList) { | 
|---|
|  |  |  | if(id.equals(jkCabinet.getAuthMemberId())){ | 
|---|
|  |  |  | if(Arrays.asList(jkCabinet.getAuthMemberId().split(",")).contains(id)){ | 
|---|
|  |  |  | flag = false; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getStatus,Constants.ZERO) | 
|---|
|  |  |  | .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) | 
|---|
|  |  |  | .in(Constants.equalsInteger(dto.getType(),Constants.ONE),JkKeys::getStatus,Constants.TWO,Constants.THREE) | 
|---|
|  |  |  | .in(Constants.equalsInteger(dto.getType(),Constants.ZERO),JkKeys::getStatus,Constants.ONE) | 
|---|
|  |  |  | 
|---|
|  |  |  | for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { | 
|---|
|  |  |  | jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE); | 
|---|
|  |  |  | jkCabinetGrid.setKeyStatus(Objects.isNull(jkCabinetGrid.getKeyStatus())?Constants.ZERO:jkCabinetGrid.getKeyStatus()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return jkCabinetGridList; | 
|---|
|  |  |  | 
|---|
|  |  |  | jkCabinetLog.setAuthType(openGridDriverDTO.getAuthType()); | 
|---|
|  |  |  | jkCabinetLog.setMemberId(openGridDriverDTO.getMemberId()); | 
|---|
|  |  |  | jkCabinetLog.setType(Constants.ZERO); | 
|---|
|  |  |  | jkCabinetLog.setStatus(Constants.ZERO); | 
|---|
|  |  |  | if(Objects.nonNull(jkCabinetGrid.getKeyId())){ | 
|---|
|  |  |  | jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId()); | 
|---|
|  |  |  | JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); | 
|---|
|  |  |  | if(Objects.nonNull(jkKeys)){ | 
|---|
|  |  |  | if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ | 
|---|
|  |  |  | 
|---|
|  |  |  | .last(" limit 1 ") | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //            if(Objects.nonNull(jkCabinetGrid)){ | 
|---|
|  |  |  | //                log.error("柜格开门超时未关闭告警信息:{}"+JSONObject.toJSONString(jkCabinetGrid)); | 
|---|
|  |  |  | //                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() | 
|---|
|  |  |  | //                        .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); | 
|---|
|  |  |  | //                if(Objects.isNull(warning)){ | 
|---|
|  |  |  | //                    return; | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | //                List<Member> memberList = this.getWarningList(warning); | 
|---|
|  |  |  | //                if(CollectionUtils.isEmpty(memberList)){ | 
|---|
|  |  |  | //                    return; | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | //                //存储异常日志 | 
|---|
|  |  |  | // | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //            }else{ | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | if(Objects.nonNull(jkCabinetGrid)){ | 
|---|
|  |  |  | log.error("柜格开门超时未关闭告警信息:{}"+JSONObject.toJSONString(jkCabinetGrid)); | 
|---|
|  |  |  | Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() | 
|---|
|  |  |  | .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); | 
|---|
|  |  |  | if(Objects.isNull(warning)){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Member> memberList = this.getWarningList(warning); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(memberList)){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //todo 存储异常日志 | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public void alcoholTestAlarm(AlcoholTestAlarmDTO dto){ | 
|---|
|  |  |  | if(Objects.nonNull(dto) | 
|---|
|  |  |  | && Objects.nonNull(dto.getMemberId())){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SystemUser systemUser = | 
|---|
|  |  |  | systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
|---|
|  |  |  | .eq(SystemUser::getMemberId,dto.getMemberId()) | 
|---|
|  |  |  | 
|---|
|  |  |  | .last(" limit 1 ") | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //            Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() | 
|---|
|  |  |  | //                    .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); | 
|---|
|  |  |  | //            if(Objects.isNull(warning)){ | 
|---|
|  |  |  | //                return; | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //            List<Member> memberList = this.getWarningList(warning); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | // | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //            //存储异常日志 | 
|---|
|  |  |  | //            if(Objects.nonNull(systemUser)){ | 
|---|
|  |  |  | //                log.error("司机酒精检测,超出酒精值告警信息:{}"+JSONObject.toJSONString(systemUser)); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() | 
|---|
|  |  |  | .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); | 
|---|
|  |  |  | if(Objects.isNull(warning)){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Member> memberList = this.getWarningList(warning); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(memberList)){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //todo 存储异常日志 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //存储异常日志 | 
|---|
|  |  |  | if(Objects.nonNull(systemUser)){ | 
|---|
|  |  |  | log.error("司机酒精检测,超出酒精值告警信息:{}"+JSONObject.toJSONString(systemUser)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|