From 6525935588f4b9a06e08f91dfc9d2895e5ec2c38 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 11:00:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
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