From 7666113e060747cce6be99e0deb68485b4283161 Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期一, 20 十月 2025 10:38:41 +0800 Subject: [PATCH] 钥匙柜 电信大屏 配置文件 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 257 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 151 insertions(+), 106 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java index 28633c9..b0b1113 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java @@ -1,7 +1,9 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSONObject; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; +import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.*; @@ -20,6 +22,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.third.model.PageWrap; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.hikvision.artemis.sdk.config.ArtemisConfig; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,6 +39,7 @@ * @date 2025/09/28 09:01 */ @Service +@Slf4j public class JkCabinetGridServiceImpl implements JkCabinetGridService { @Autowired @@ -250,23 +255,24 @@ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); - } - List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) - .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) - .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) - .in(JkCabinetGrid::getId,dto.getGridIdList()) - ); - if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; + }else{ + List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) + .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) + .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) + .in(JkCabinetGrid::getId,dto.getGridIdList()) + ); + if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ + LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); + for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { + jkCabinetGrid.setEditor(loginUserInfo.getId()); + jkCabinetGrid.setEditDate(new Date()); + jkCabinetGrid.setWorkingStatus(Constants.ONE); + jkCabinetGridMapper.updateById(jkCabinetGrid); + } + } } - LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); - for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { - jkCabinetGrid.setEditor(loginUserInfo.getId()); - jkCabinetGrid.setEditDate(new Date()); - jkCabinetGrid.setWorkingStatus(Constants.ONE); - jkCabinetGridMapper.updateById(jkCabinetGrid); - } + } /** @@ -293,16 +299,16 @@ .isNotNull(JkCabinetGrid::getKeyId) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); - if(CollectionUtils.isEmpty(jkCabinetGridList)){ - return; + if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ + for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { + jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() + .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) + .set(JkKeys::getStatus,Constants.TWO) + .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) + ); + } } - for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { - jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() - .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) - .set(JkKeys::getStatus,Constants.TWO) - .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) - ); - } + } @@ -315,23 +321,23 @@ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); + return; } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ONE) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); - if(CollectionUtils.isEmpty(jkCabinetGridList)){ - return; + if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ + LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); + for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { + jkCabinetGrid.setEditor(loginUserInfo.getId()); + jkCabinetGrid.setEditDate(new Date()); + jkCabinetGrid.setWorkingStatus(Constants.ZERO); + jkCabinetGridMapper.updateById(jkCabinetGrid); + } } - LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); - for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { - jkCabinetGrid.setEditor(loginUserInfo.getId()); - jkCabinetGrid.setEditDate(new Date()); - jkCabinetGrid.setWorkingStatus(Constants.ZERO); - jkCabinetGridMapper.updateById(jkCabinetGrid); - } + } @@ -344,42 +350,42 @@ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); + return; } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); - if(CollectionUtils.isEmpty(jkCabinetGridList)){ - return; - } - LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); - if(org.apache.commons.collections.CollectionUtils.isNotEmpty(jkCabinetGridList)){ - List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); - for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { - JkCabinetLog jkCabinetLog = new JkCabinetLog(); - jkCabinetLog.setCreateDate(new Date()); - jkCabinetLog.setCreator(loginUserInfo.getId()); - jkCabinetLog.setIsdeleted(Constants.ZERO); - jkCabinetLog.setCabinetId(dto.getCabinetId()); - jkCabinetLog.setGridId(jkCabinetGrid.getId()); - jkCabinetLog.setAuthType(Constants.TWO); - jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); - if(Objects.nonNull(jkCabinetGrid.getKeyId())){ - JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); - if(Objects.nonNull(jkKeys)){ - if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ - jkCabinetLog.setCarId(jkKeys.getCarId()); - jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); + if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ + LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(jkCabinetGridList)){ + List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); + for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { + JkCabinetLog jkCabinetLog = new JkCabinetLog(); + jkCabinetLog.setCreateDate(new Date()); + jkCabinetLog.setCreator(loginUserInfo.getId()); + jkCabinetLog.setIsdeleted(Constants.ZERO); + jkCabinetLog.setCabinetId(dto.getCabinetId()); + jkCabinetLog.setGridId(jkCabinetGrid.getId()); + jkCabinetLog.setAuthType(Constants.TWO); + jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); + if(Objects.nonNull(jkCabinetGrid.getKeyId())){ + JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); + if(Objects.nonNull(jkKeys)){ + if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ + jkCabinetLog.setCarId(jkKeys.getCarId()); + jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); + } + jkCabinetLog.setRoleType(jkKeys.getRoleType()); } - jkCabinetLog.setRoleType(jkKeys.getRoleType()); } + jkCabinetLog.setType(Constants.ZERO); + jkCabinetLogs.add(jkCabinetLog); } - jkCabinetLog.setType(Constants.ZERO); - jkCabinetLogs.add(jkCabinetLog); + jkCabinetLogMapper.insert(jkCabinetLogs); } - jkCabinetLogMapper.insert(jkCabinetLogs); } + } @@ -403,38 +409,53 @@ .eq(JkCabinetGrid::getId,dto.getGridId()) .last(" limit 1 ") ); - if(Objects.isNull(jkCabinetGrid)){ - return; - } - JkCabinetLog jkCabinetLog = new JkCabinetLog(); - jkCabinetLog.setCreateDate(new Date()); - jkCabinetLog.setIsdeleted(Constants.ZERO); - jkCabinetLog.setCabinetId(dto.getCabinetId()); - jkCabinetLog.setGridId(jkCabinetGrid.getId()); - jkCabinetLog.setAuthType(dto.getAuthType()); - jkCabinetLog.setMemberId(dto.getMemberId()); - if(Objects.nonNull(jkCabinetGrid.getKeyId())){ - //鍙湁閽ュ寵鏌滅粦瀹氫簡閽ュ寵淇℃伅 鎵嶄細鏇存柊閽ュ寵鐨勪俊鎭� - JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); - if(Objects.nonNull(jkKeys)){ - if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ - jkCabinetLog.setCarId(jkKeys.getCarId()); - jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); - } - jkCabinetLog.setRoleType(jkKeys.getRoleType()); - //閽ュ寵鐘舵�佷笌褰撳墠鎿嶄綔鐘舵�佷笉涓�鑷达紝鍒欒繘琛屾洿鏂伴挜鍖欑姸鎬� - if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus())){ - jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() - .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) - .set(JkKeys::getStatus,dto.getKeyStatus()) - .eq(JkKeys::getId,jkKeys.getId()) - ); + if(Objects.nonNull(jkCabinetGrid)){ + JkCabinetLog jkCabinetLog = new JkCabinetLog(); + jkCabinetLog.setCreateDate(new Date()); + jkCabinetLog.setIsdeleted(Constants.ZERO); + jkCabinetLog.setCabinetId(dto.getCabinetId()); + jkCabinetLog.setGridId(jkCabinetGrid.getId()); + jkCabinetLog.setAuthType(dto.getAuthType()); + jkCabinetLog.setMemberId(dto.getMemberId()); + jkCabinetLog.setKeyStatus(Constants.ZERO); + Boolean isChange = false; + if(Objects.nonNull(jkCabinetGrid.getKeyId())){ + //鍙湁閽ュ寵鏌滅粦瀹氫簡閽ュ寵淇℃伅 鎵嶄細鏇存柊閽ュ寵鐨勪俊鎭� + JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); + if(Objects.nonNull(jkKeys)){ + if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ + jkCabinetLog.setCarId(jkKeys.getCarId()); + jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); + } + jkCabinetLog.setRoleType(jkKeys.getRoleType()); + jkCabinetLog.setKeyStatus(dto.getKeyStatus()); + //閽ュ寵鐘舵�佷笌褰撳墠鎿嶄綔鐘舵�佷笉涓�鑷达紝鍒欒繘琛屾洿鏂伴挜鍖欑姸鎬� + if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus()) + && (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)); + } } - jkCabinetLog.setType(Constants.ONE); - jkCabinetLogMapper.insert(jkCabinetLog); } + + /** @@ -442,26 +463,48 @@ */ @Override public List<JkCabinetGrid> getDriverGrid(GetDriverGridDTO dto){ + List<JkCabinetGrid> jkCabinetGridList = new ArrayList<>(); if(Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getMemberId()) || Objects.isNull(dto.getType())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); + return jkCabinetGridList; + }else{ + JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId()); + if(Objects.isNull(jkCabinet)){ + return jkCabinetGridList; + } + if(Constants.equalsInteger(jkCabinet.getDoubleAuth(),Constants.ONE)){ + if(StringUtils.isBlank(jkCabinet.getAuthMemberId())){ + return jkCabinetGridList; + } + List<String> authMemberList = Arrays.asList(jkCabinet.getAuthMemberId().split(",")); + Boolean flag = true; + for (String id:authMemberList) { + if(id.equals(jkCabinet.getAuthMemberId())){ + flag = false; + break; + } + } + if(flag){ + return jkCabinetGridList; + } + } + jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, + new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) + .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) + .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) + .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) + .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) + .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) + .eq(JkCabinetGrid::getWorkingStatus,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) + .isNotNull(JkCabinetGrid::getKeyId) + .apply(" t1.car_id in ( select c.CAR_ID from car_driver c left join cars c1 on c.car_id = c1.id where c.ISDELETED = 0 and c.TYPE != 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) ") + ); } - List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, - new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) - .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) - .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) - .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) - .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) - .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) - .eq(JkCabinetGrid::getWorkingStatus,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) - .isNotNull(JkCabinetGrid::getKeyId) - .apply(" t1.car_id in ( select c.CAR_ID from car_driver c left join cars c1 on c.car_id = c1.id where c.ISDELETED = 0 and c.TYPE != 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) ") - ); return jkCabinetGridList; } @@ -478,10 +521,9 @@ .last(" limit 1 ") ); if(Objects.isNull(jkCabinetGrid)){ - return; + return ; } LoginUserInfo loginUserInfo = openGridDriverDTO.getLoginUserInfo(); - List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setCreator(loginUserInfo.getId()); @@ -501,7 +543,10 @@ jkCabinetLog.setRoleType(jkKeys.getRoleType()); } } - jkCabinetLogMapper.insert(jkCabinetLogs); + jkCabinetLogMapper.insert(jkCabinetLog); } + + + } -- Gitblit v1.9.3