From 7e59b9cc3680a05acdf227d03b19f00351ec7b95 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 10 一月 2025 09:19:21 +0800
Subject: [PATCH] 页面
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java | 73 ++++++++++++++++++++++++++++--------
1 files changed, 57 insertions(+), 16 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
index d85a2fe..375b2f6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -26,6 +26,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
@@ -51,6 +52,7 @@
private RedisTemplate<String, Object> redisTemplate;
@Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(YwPatrolScheme ywPatrolScheme) {
if(Objects.isNull(ywPatrolScheme)
|| StringUtils.isBlank(ywPatrolScheme.getTitle())
@@ -59,11 +61,15 @@
||Objects.isNull(ywPatrolScheme.getStartDate())
||Objects.isNull(ywPatrolScheme.getEndDate())
||Objects.isNull(ywPatrolScheme.getCircleType())
- ||StringUtils.isBlank(ywPatrolScheme.getStartTime())
- ||StringUtils.isBlank(ywPatrolScheme.getEndTime())
|| (!Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ZERO) &&StringUtils.isBlank(ywPatrolScheme.getCircleDays()))
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(StringUtils.isBlank(ywPatrolScheme.getStartTime())){
+ ywPatrolScheme.setStartTime("00:00:00");
+ }
+ if(StringUtils.isBlank(ywPatrolScheme.getEndTime())){
+ ywPatrolScheme.setEndTime("23:59:59");
}
LoginUserInfo loginUserInfo = ywPatrolScheme.getLoginUserInfo();
ywPatrolScheme.setCreateDate(new Date());
@@ -92,10 +98,29 @@
public void createThreeDaysData(YwPatrolScheme ywPatrolScheme){
//寰幆鐢熸垚涓夊ぉ鍐呯殑鏁版嵁
for (int i = 0; i < 3; i++) {
- Date schemeDate = DateUtil.getXDayAfterDate(new Date(),i);
+ Date schemeDate = DateUtil.getXDayAfterDate(
+ DateUtil.StringToDate(
+ DateUtil.getDate(new Date(),"yyyy-MM-dd"),"yyyy-MM-dd"),i);
this.createTask(schemeDate,ywPatrolScheme);
}
}
+
+
+ @Override
+ public void timerAuto(){
+ List<YwPatrolScheme> ywPatrolSchemeList = ywPatrolSchemeMapper.selectList(new QueryWrapper<YwPatrolScheme>().lambda()
+ .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
+ .eq(YwPatrolScheme::getStatus,Constants.ZERO)
+ .apply(" START_DATE <= now() and END_DATE>= now() ")
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolSchemeList)){
+ for (YwPatrolScheme ywPatrolScheme:ywPatrolSchemeList) {
+ this.createTask(new Date(),ywPatrolScheme);
+ }
+ }
+ }
+
+
/**
* 鏍规嵁鏃ユ湡鐢熸垚浠诲姟
@@ -103,8 +128,8 @@
* @param ywPatrolScheme
*/
public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme){
- if(ywPatrolScheme.getStartDate().getTime() > schemeDate.getTime()
- || ywPatrolScheme.getEndDate().getTime() < schemeDate.getTime() ){
+ if(!(ywPatrolScheme.getStartDate().getTime() <= schemeDate.getTime()
+ && ywPatrolScheme.getEndDate().getTime() >= schemeDate.getTime()) ){
return;
}
if(Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ONE)){
@@ -114,17 +139,17 @@
return;
}
List<String> weeks = Arrays.asList(ywPatrolScheme.getCircleDays().split(","));
- String weekStr = weeks.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),week.getNumber())).findFirst().get();
- if(StringUtils.isBlank(weekStr)){
+ if(weeks.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),week.getNumber())).collect(Collectors.toList()).size()<=Constants.ZERO){
return;
}
- }else{
+
+ }else if(Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.TWO)){
//姣忔湀鏍规嵁鏃ユ湡鐢熸垚 鏍规嵁鏃ユ湡鑾峰彇鏄摢澶�
List<String> days = Arrays.asList(ywPatrolScheme.getCircleDays().split(","));
- String dayStr = DateUtil.getFomartDate(schemeDate,"dd");
- if(Objects.isNull(days.stream().filter(i->StringUtils.equals(i,dayStr)).findFirst().get())){
+ Integer dayStr = Integer.valueOf(DateUtil.getFomartDate(schemeDate,"dd"));
+ if(days.stream().filter(i->i.equals(dayStr.toString())).collect(Collectors.toList()).size()<=Constants.ZERO){
return;
- };
+ }
}
String schemeDateStr = DateUtil.getDate(schemeDate,"yyyy-MM-dd");
//鏌ヨ褰撳ぉ鏄惁鐢熸垚杩囨暟鎹�
@@ -184,6 +209,20 @@
@Override
public void deleteById(Integer id, LoginUserInfo user) {
+ //鍒ゆ柇鏄惁鏈夎繘琛屼腑鎴栧凡瓒呮湡鐨勪换鍔�
+ if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
+ .eq(YwPatrolTask::getSchemeId,id)
+ .in(YwPatrolTask::getStatus,Constants.ONE,Constants.THREE,Constants.TWO)
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪杩涜涓�/宸插畬鎴愮殑浠诲姟锛屾棤娉曡繘琛屽垹闄�");
+ }
+ if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
+ .eq(YwPatrolTask::getSchemeId,id)
+ .eq(YwPatrolTask::getStatus,Constants.ZERO)
+ .le(YwPatrolTask::getEndDate,"now()")
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪宸茶秴鏈熺殑浠诲姟锛屾棤娉曡繘琛屽垹闄�");
+ }
ywPatrolSchemeMapper.deleteById(id);
}
@@ -282,11 +321,13 @@
.eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
.like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
//鏌ヨ鏈夋椂娈典氦闆嗙殑鏁版嵁
- .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
- " t.START_DATE <= '"+Utils.Date.getStart(pageWrap.getModel().getEndDate())+"' and t.END_DATE >= '"+Utils.Date.getStart(pageWrap.getModel().getStartDate())+"' "
- )
-// .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
-// .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
+ /* .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
+ " t.START_DATE <= '"+pageWrap.getModel().getEndDate()+"' or t.END_DATE >= '"+pageWrap.getModel().getStartDate()+"' "
+ )*/
+ .ge( model.getStartDate()!=null,YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
+ .le(Objects.nonNull(model.getEndDate()),YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
+ .ge(Objects.nonNull(model.getStartDateSec()),YwPatrolScheme::getEndDate, Utils.Date.getStart(pageWrap.getModel().getStartDateSec()))
+ .le(Objects.nonNull(model.getEndDateSec()),YwPatrolScheme::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDateSec()))
.orderByDesc(YwPatrolScheme::getCreateDate)
;
IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper);
--
Gitblit v1.9.3