From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 06 六月 2025 19:19:34 +0800
Subject: [PATCH] 开发更新

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java |   99 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 77 insertions(+), 22 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
index d025f21..963f7b8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -12,7 +12,9 @@
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.Multifile;
+import com.doumee.dao.system.model.Notices;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.YwPatrolTaskRecordService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -26,9 +28,11 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 杩愮淮宸℃浠诲姟 - 宸℃鐐逛俊鎭〃Service瀹炵幇
@@ -58,6 +62,9 @@
 
     @Autowired
     private YwPatrolSchemeMapper ywPatrolSchemeMapper;
+
+    @Autowired
+    private NoticesJoinMapper noticesJoinMapper;
 
 
     @Override
@@ -127,13 +134,22 @@
                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
                 .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
                 .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+
+                .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle)
+                .selectAs(YwPatrolTask::getCode,YwPatrolTaskRecord::getTaskCode)
+                .selectAs(YwPatrolTask::getStartDate,YwPatrolTaskRecord::getStartDate)
+                .selectAs(YwPatrolTask::getEndDate,YwPatrolTaskRecord::getEndDate)
+
                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
+                .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId)
+                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
                 .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getTaskId()),YwPatrolTaskRecord::getTaskId, model.getTaskId())
                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getDealUserId()),YwPatrolTaskRecord::getDealUserId, model.getDealUserId())
                 .like(StringUtils.isNotBlank(model.getPointName()),YwPatrolPoint::getName,model.getPointName())
                 .eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()) , YwPatrolTaskRecord::getStatus,model.getStatus())
+                .eq(Objects.nonNull(model) && Objects.nonNull(model.getDeviceId()) , YwPatrolPoint::getDeviceId,model.getDeviceId())
                 .orderByDesc(YwPatrolScheme::getCreateDate)
         ;
         IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper); 
@@ -199,7 +215,8 @@
         if(Objects.isNull(ywPatrolScheme)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸℃璁″垝淇℃伅");
         }
-        if(!ywPatrolScheme.getUserIds().equals(loginUserInfo.getId().toString())){
+        List<String>  userIdList = Arrays.asList(ywPatrolScheme.getUserIds().split(","));
+        if(userIdList.stream().filter(i->Constants.equalsInteger(Integer.valueOf(i),loginUserInfo.getId())).collect(Collectors.toList()).size()<=0){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闈炴偍鐨勫贰妫�浠诲姟鏃犳硶杩涜澶勭悊");
         }
         YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId());
@@ -220,6 +237,7 @@
                 .set(YwPatrolTaskRecord::getDealInfo, ywPatrolTaskRecord.getDealInfo())
                 .eq(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()));
 
+
         if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda()
                 .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId())
                 .eq(YwPatrolTaskRecord::getStatus,Constants.ZERO)
@@ -234,18 +252,14 @@
                     .set(YwPatrolTask::getEditor,loginUserInfo.getId())
             );
 
-            if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
-                    .eq(YwPatrolTask::getSchemeId,ywPatrolTask.getSchemeId())
-                    .in(YwPatrolTask::getStatus,Constants.ZERO,Constants.ONE)
-                    .ne(YwPatrolTask::getId,ywPatrolTask.getId())
-            )==Constants.ZERO){
-                ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
-                        .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
-                        .set(YwPatrolScheme::getStatus,Constants.TWO)
-                        .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
-                        .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
-                );
-            }
+            //鏍囪寰呭姙宸插鐞�
+            noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+                    .set(Notices::getStatus,Constants.ONE)
+                    .set(Notices::getParam3,Constants.TWO)
+                    .eq(Notices::getIsdeleted,Constants.ZERO)
+                    .eq(Notices::getObjType,Constants.ONE)
+                    .eq(Notices::getObjId,ywPatrolTask.getId())
+            );
         }else{
             if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO)){
                 ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
@@ -255,14 +269,13 @@
                         .set(YwPatrolTask::getEditor,loginUserInfo.getId())
                 );
             }
-            if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
-                ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
-                        .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
-                        .set(YwPatrolScheme::getStatus,Constants.ONE)
-                        .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
-                        .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
-                );
-            }
+            //鏍囪寰呭姙宸插鐞�
+            noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+                    .set(Notices::getParam3,Constants.ONE)
+                    .eq(Notices::getIsdeleted,Constants.ZERO)
+                    .eq(Notices::getObjType,Constants.ONE)
+                    .eq(Notices::getObjId,ywPatrolTask.getId())
+            );
         }
         //闄勪欢鏁版嵁
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){
@@ -303,7 +316,7 @@
                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
                 .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
-                .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
+                .eq(YwPatrolTaskRecord::getIsdeleted, Constants.ZERO)
                 .eq(YwPatrolPoint::getCode,bean.getPointCode())
                 .eq(YwPatrolTaskRecord::getTaskId,bean.getTaskId())
                 .orderByDesc(YwPatrolScheme::getCreateDate)
@@ -318,6 +331,48 @@
 
     }
 
+    /**
+     * 鏍规嵁鐧诲綍浜轰笌宸℃鐐规煡璇换鍔′俊鎭�
+     * @param bean
+     * @return
+     */
+    @Override
+    public YwPatrolTaskRecord getRecordByUserPoint(YwPatrolTaskRecord bean,LoginUserInfo loginUserInfo) {
+        if(Objects.isNull(bean)
+                || StringUtils.isBlank(bean.getPointCode())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(ywPatrolPointMapper.selectCount(new QueryWrapper<YwPatrolPoint>().lambda().eq(YwPatrolPoint::getCode,bean.getPointCode()))==Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈尮閰嶅埌宸℃鐐癸紝璇烽噸鏂版壂鐮�!");
+        }
+        YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>()
+                .selectAll(YwPatrolTaskRecord.class)
+                .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
+                .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+                .selectAs(YwPatrolPoint::getDeviceId,YwPatrolTaskRecord::getDeviceId)
+                .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle)
+                .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+                .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName)
+                .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
+                .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId)
+                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
+                .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .eq(YwPatrolTaskRecord::getIsdeleted, Constants.ZERO)
+                .eq(YwPatrolTaskRecord::getStatus, Constants.ZERO)
+                .eq(YwPatrolPoint::getCode,bean.getPointCode())
+                .apply("  DATE(t2.START_DATE) = DATE(NOW()) and find_in_set('"+loginUserInfo.getId()+"', t3.USER_IDS )  ")
+                .orderByDesc(YwPatrolScheme::getCreateDate)
+                .last(" limit 1 ")
+        );
+        if(Objects.isNull(ywPatrolTaskRecord)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠婃棩鏆傛棤宸℃浠诲姟!");
+        }
+        getFileListByModel(ywPatrolTaskRecord);
+        return ywPatrolTaskRecord;
+
+    }
+
 
 
 

--
Gitblit v1.9.3