From cb54e068db9d9816ae38f60f57ad0fe7ca10fca8 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 06 十二月 2024 16:28:23 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java |   44 ++++++++++++++++++++++++++------------------
 1 files changed, 26 insertions(+), 18 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 1ddf1ad..171745d 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())
@@ -73,7 +75,7 @@
         ywPatrolScheme.setCode(this.getNextCode());
         ywPatrolSchemeMapper.insert(ywPatrolScheme);
 
-        this.createThreeDaysData(ywPatrolScheme,loginUserInfo);
+        this.createThreeDaysData(ywPatrolScheme);
         return ywPatrolScheme.getId();
     }
 
@@ -89,11 +91,13 @@
 
 
 
-    public void createThreeDaysData(YwPatrolScheme ywPatrolScheme,LoginUserInfo loginUserInfo){
+    public void createThreeDaysData(YwPatrolScheme ywPatrolScheme){
         //寰幆鐢熸垚涓夊ぉ鍐呯殑鏁版嵁
         for (int i = 0; i < 3; i++) {
-            Date schemeDate = DateUtil.getXDayAfterDate(new Date(),i);
-            this.createTask(schemeDate,ywPatrolScheme,loginUserInfo);
+            Date schemeDate = DateUtil.getXDayAfterDate(
+                    DateUtil.StringToDate(
+                    DateUtil.getDate(new Date(),"yyyy-MM-dd"),"yyyy-MM-dd"),i);
+            this.createTask(schemeDate,ywPatrolScheme);
         }
     }
 
@@ -102,9 +106,9 @@
      * @param schemeDate
      * @param ywPatrolScheme
      */
-    public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme,LoginUserInfo loginUserInfo){
-        if(ywPatrolScheme.getStartDate().getTime() > schemeDate.getTime()
-            || ywPatrolScheme.getEndDate().getTime() < schemeDate.getTime() ){
+    public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme){
+        if(!(ywPatrolScheme.getStartDate().getTime() <= schemeDate.getTime()
+            && ywPatrolScheme.getEndDate().getTime() >= schemeDate.getTime()) ){
             return;
         }
         if(Constants.equalsInteger(ywPatrolScheme.getCircleType(),Constants.ONE)){
@@ -114,17 +118,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");
         //鏌ヨ褰撳ぉ鏄惁鐢熸垚杩囨暟鎹�
@@ -150,7 +154,7 @@
         String nextCode = StringUtils.leftPad(codeSn.toString(),3,"0");
         YwPatrolTask ywPatrolTask = new YwPatrolTask();
         ywPatrolTask.setCreateDate(new Date());
-        ywPatrolTask.setCreator(loginUserInfo.getId());
+        ywPatrolTask.setCreator(ywPatrolScheme.getCreator());
         ywPatrolTask.setIsdeleted(Constants.ZERO);
         ywPatrolTask.setStatus(Constants.patrolTaskStatus.waitStart);
         ywPatrolTask.setSchemeId(ywPatrolScheme.getId()); 
@@ -167,7 +171,7 @@
             //鐢熸垚浠诲姟鏁版嵁
             YwPatrolTaskRecord ywPatrolTaskRecord = new YwPatrolTaskRecord();
             ywPatrolTaskRecord.setCreateDate(new Date());
-            ywPatrolTaskRecord.setCreator(loginUserInfo.getId());
+            ywPatrolTaskRecord.setCreator(ywPatrolScheme.getCreator());
             ywPatrolTaskRecord.setIsdeleted(Constants.ZERO);
             ywPatrolTaskRecord.setStatus(Constants.ZERO);
             ywPatrolTaskRecord.setSchemeId(ywPatrolScheme.getId());
@@ -237,7 +241,7 @@
         ywPatrolScheme.setEditor(loginUserInfo.getId());
         ywPatrolSchemeMapper.updateById(ywPatrolScheme);
         if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
-            this.createThreeDaysData(ywPatrolScheme,loginUserInfo);
+            this.createThreeDaysData(ywPatrolScheme);
         }
     }
 
@@ -281,8 +285,12 @@
                 .leftJoin(" system_user t2 on t.creator =  t2.id  ")
                 .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
                 .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
-                .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()+"' and t.END_DATE >= '"+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()))
                 .orderByDesc(YwPatrolScheme::getCreateDate)
         ;
         IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper);

--
Gitblit v1.9.3