From 1fb6ce7f165e85cb9458d6e8d1b6bf7debc1e665 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 03 十二月 2025 14:26:37 +0800
Subject: [PATCH] 功能开发
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 84 ++++++++++++++++++++++-------------------
1 files changed, 45 insertions(+), 39 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 9f68973..4f627d6 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
@@ -36,10 +36,12 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -461,7 +463,7 @@
*/
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
- public void closeGrid(CloseGridDTO dto){
+ public JDYKeyUseByBookDTO closeGrid(CloseGridDTO dto){
if(Objects.isNull(dto)
|| Objects.isNull(dto.getGridId())
|| Objects.isNull(dto.getCabinetId())
@@ -475,6 +477,7 @@
.eq(JkCabinetGrid::getId,dto.getGridId())
.last(" limit 1 ")
);
+ JDYKeyUseByBookDTO jdyKeyUseByBookDTO = new JDYKeyUseByBookDTO();
if(Objects.nonNull(jkCabinetGrid)){
JkCabinetLog jkCabinetLog = new JkCabinetLog();
jkCabinetLog.setCreateDate(new Date());
@@ -495,10 +498,10 @@
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))){
+ jkCabinetLog.setKeyStatus(dto.getKeyStatus());
jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda()
.set(JkKeys::getEditDate,DateUtil.getCurrDateTime())
.set(JkKeys::getStatus,dto.getKeyStatus())
@@ -521,7 +524,6 @@
if(Objects.nonNull(lastOutLog)){
jkCabinetLog.setOpenWay(lastOutLog.getOpenWay());
jkCabinetLog.setCarUseBookId(lastOutLog.getCarUseBookId());
-
if(Objects.nonNull(lastOutLog.getCarUseBookId())) {
CarUseBook carUseBook = carUseBookMapper.selectById(lastOutLog.getCarUseBookId());
if (Objects.nonNull(carUseBook)) {
@@ -529,15 +531,15 @@
.set(CarUseBook::getKeyStatus, Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO)?Constants.ONE:Constants.TWO)
.eq(CarUseBook::getId, carUseBook.getId())
);
+ String carUseBookId = carUseBook.getJdyNo();
//鎺ㄩ�佺畝閬撲簯 鏍囪涓氬姟鏁版嵁宸茶棰嗗彇閽ュ寵
if (StringUtils.isNotBlank(carUseBook.getJdyId())) {
- JDYKeyUseByBookDTO jdyKeyUseByBookDTO = new JDYKeyUseByBookDTO();
jdyKeyUseByBookDTO.setCreate_date(System.currentTimeMillis());
jdyKeyUseByBookDTO.setStart_date(System.currentTimeMillis());
jdyKeyUseByBookDTO.setEnd_date(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)?System.currentTimeMillis():null);
jdyKeyUseByBookDTO.setType(Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO)?Constants.ZERO:Constants.ONE);
jdyKeyUseByBookDTO.setId(carUseBook.getJdyNo());
- this.pushJDYKeyInfo(jdyKeyUseByBookDTO);
+// this.pushJDYKeyInfo(jdyKeyUseByBookDTO);
}
}
}
@@ -561,7 +563,10 @@
}
}
+ return jdyKeyUseByBookDTO;
}
+
+
@@ -641,7 +646,8 @@
.eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
.in(JkKeys::getStatus,Constants.TWO,Constants.THREE)
.isNotNull(JkCabinetGrid::getKeyId)
- .apply("t1.car_id in ( select c.id from cars c where c.ISDELETED = 0 and c.MEMBER_ID = "+dto.getMemberId()+" )")
+ .apply(" ( t1.car_id in ( select c.id from cars c where c.ISDELETED = 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) " +
+ " or t1.car_code in ( select c.car_code from car_use_book c where c.isdeleted = 0 and c.KEY_STATUS = 1 and c.DRIVER_ID = "+dto.getMemberId()+" ) ) ")
.orderByAsc(JkCabinetGrid::getCode)
);
for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
@@ -664,29 +670,6 @@
Boolean isCleanTime = Constants.betweenTimeConfig(cleanConfig);
List<Integer> girdIdList = new ArrayList<>();
//鏌ヨ鏍规嵁浠诲姟鍙互棰嗗彇鐨勬暟鎹�
-// jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,
-// new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class)
-// .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
-// .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
-// .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId)
-// .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus)
-// .selectAs(CarUseBook::getId,JkCabinetGrid::getCarUseBookId)
-// .select("1",JkCabinetGrid::getGetKeyWay)
-// .innerJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
-// .innerJoin(CarUseBook.class,CarUseBook::getCarCode,JkKeys::getCarCode)
-// .innerJoin(Cars.class,Cars::getCode,CarUseBook::getCarCode)
-// .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
-// .eq(CarUseBook::getIsdeleted,Constants.ZERO)
-// .eq(Cars::getIsdeleted,Constants.ZERO)
-// .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO)
-// .eq(JkCabinetGrid::getStatus,Constants.ZERO)
-// .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
-// .in(JkKeys::getStatus,Constants.ONE)
-// .eq(JkKeys::getRoleType,Constants.ONE)
-// .isNotNull(JkCabinetGrid::getKeyId)
-// .apply(" NOW() > DATE_SUB(t2.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < t2.end_time and t3.MEMBER_ID = "+dto.getMemberId()+" ")
-// );
-
jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,
new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class)
.selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
@@ -703,9 +686,9 @@
.eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
.in(JkKeys::getStatus,Constants.ONE)
.eq(JkKeys::getRoleType,Constants.ONE)
- .eq(Cars::getMemberId,dto.getMemberId())
+// .eq(Cars::getMemberId,dto.getMemberId())
.isNotNull(JkCabinetGrid::getKeyId)
- .apply(" t2.code in ( select c.car_code from car_use_book c left join cars c1 on c.car_code = c1.code where c.isdeleted = 0 and c1.isdeleted =0 and NOW() > DATE_SUB(c.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < c.end_time and c1.MEMBER_ID = "+dto.getMemberId()+" ) ")
+ .apply(" t2.code in ( select c.car_code from car_use_book c where c.isdeleted = 0 and NOW() > DATE_SUB(c.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < c.end_time and c.DRIVER_ID = "+dto.getMemberId()+" ) ")
);
for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
@@ -715,7 +698,7 @@
.eq(CarUseBook::getIsdeleted,Constants.ZERO)
.eq(Cars::getIsdeleted,Constants.ZERO)
.eq(CarUseBook::getCarCode,jkCabinetGrid.getCarCode())
- .eq(Cars::getMemberId,dto.getMemberId())
+ .eq(CarUseBook::getDriverId,dto.getMemberId())
.apply(" NOW() > DATE_SUB(t.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < t.end_time ")
);
if(CollectionUtils.isNotEmpty(carUseBookList)) {
@@ -801,6 +784,8 @@
}
+ @Async
+ @Override
public void pushJDYKeyInfo(JDYKeyUseByBookDTO dto){
String url = systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.PUSH_URL_KEYS).getCode();
// JSONObject object = new JSONObject();
@@ -812,9 +797,6 @@
log.error("銆愮畝閬撲簯銆戞帹閫佹淳杞﹀崟鏁版嵁棰嗙敤涓庡綊杩樹俊鎭�-璇锋眰鍏ュ弬锛�"+JSONObject.toJSONString(dto));
String result = HttpsUtil.postJson(url,JSONObject.toJSONString(dto));
log.error("銆愮畝閬撲簯銆戞帹閫佹淳杞﹀崟鏁版嵁棰嗙敤涓庡綊杩樹俊鎭�-璇锋眰缁撴灉锛�"+JSONObject.toJSONString(result));
-
-
-
}
@@ -1058,6 +1040,34 @@
if(Objects.isNull(warning)){
return;
}
+ if(StringUtils.isNotBlank(dto.getAlcoholNum())){
+ try{
+ //瀛樺偍閰掔簿妫�娴嬫棩蹇�
+ Integer threshold = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.THRESHOLD).getCode());
+ //妫�娴嬫爣鍑嗗��
+ BigDecimal concentration = new BigDecimal( systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.CONCENTRATION).getCode());
+ //妫�娴嬪��
+ BigDecimal alcoholNum = new BigDecimal(dto.getAlcoholNum());
+ JkCabinetLog jkCabinetLog = new JkCabinetLog();
+ jkCabinetLog.setCreator(systemUser.getId());
+ jkCabinetLog.setCreateDate(new Date());
+ jkCabinetLog.setCabinetName(jkCabinet.getName());
+ jkCabinetLog.setMemberId(dto.getMemberId());
+ jkCabinetLog.setCabinetId(dto.getCabinetId());
+ jkCabinetLog.setIsdeleted(Constants.ZERO);
+ jkCabinetLog.setType(Constants.TWO);
+ //1=mg/100ml;2=mg/L;3=%BAC 妫�娴嬪�硷細400mg/100ml锛屾爣鍑嗗��500mg/100ml
+ jkCabinetLog.setStatus(alcoholNum.compareTo(concentration)<Constants.ZERO?Constants.ONE:Constants.ZERO);
+ String thresholdStr = (Constants.equalsInteger(threshold,Constants.ONE)?"mg/100ml":Constants.equalsInteger(threshold,Constants.TWO)?"mg/L":"%BAC");
+ jkCabinetLog.setKeyInfo("妫�娴嬪�硷細"+alcoholNum+thresholdStr+";鏍囧噯鍊硷細"+concentration+thresholdStr+";");
+ jkCabinetLogMapper.insert(jkCabinetLog);
+ if(alcoholNum.compareTo(concentration)<Constants.ZERO){
+ return;
+ }
+ }catch (Exception e){
+
+ }
+ }
List<Integer> ruleIdList = this.processWarnFront(warningConfig);
if(CollectionUtils.isEmpty(ruleIdList)){
return;
@@ -1223,11 +1233,7 @@
.eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
);
}
-
}
-
-
-
}
--
Gitblit v1.9.3