From e1ec365640eefdcb06abb1d73da0d80367f79be3 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 06 一月 2025 09:13:25 +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/YwPatrolTaskRecordServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 12 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 087d9a3..d025f21 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
@@ -56,6 +56,8 @@
     @Autowired
     private YwPatrolTaskMapper ywPatrolTaskMapper;
 
+    @Autowired
+    private YwPatrolSchemeMapper ywPatrolSchemeMapper;
 
 
     @Override
@@ -175,7 +177,8 @@
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) {
         if(Objects.isNull(ywPatrolTaskRecord)
-        || Objects.isNull(ywPatrolTaskRecord.getId())
+            || Objects.isNull(ywPatrolTaskRecord.getId())
+            || Objects.isNull(ywPatrolTaskRecord.getDealStatus())
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -187,13 +190,17 @@
         if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆");
         }
+
         YwPatrolPoint ywPatrolPoint = ywPatrolPointMapper.selectById(model.getPointId());
         if(Objects.isNull(ywPatrolPoint)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        YwDevice ywDevice = ywDeviceMapper.selectById(ywPatrolPoint.getDeviceId());
-        if(Objects.isNull(ywDevice)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        YwPatrolScheme ywPatrolScheme = ywPatrolSchemeMapper.selectById(model.getSchemeId());
+        if(Objects.isNull(ywPatrolScheme)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸℃璁″垝淇℃伅");
+        }
+        if(!ywPatrolScheme.getUserIds().equals(loginUserInfo.getId().toString())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闈炴偍鐨勫贰妫�浠诲姟鏃犳硶杩涜澶勭悊");
         }
         YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId());
         if(Objects.isNull(ywPatrolTask)){
@@ -202,8 +209,9 @@
         if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌宸℃鏃堕棿鏃犳硶杩涜璇ユ搷浣�");
         }
+
         ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda()
-                .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus())
+                .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus())
                 .set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId())
                 .set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime())
                 .set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime())
@@ -215,7 +223,8 @@
         if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda()
                 .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId())
                 .eq(YwPatrolTaskRecord::getStatus,Constants.ZERO)
-                .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){
+                .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId())
+        )==Constants.ZERO){
             ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
                     .eq(YwPatrolTask::getId,ywPatrolTask.getId())
                     .set(YwPatrolTask::getStatus,Constants.THREE)
@@ -224,13 +233,36 @@
                     .set(YwPatrolTask::getDealUserId,loginUserInfo.getId())
                     .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())
+                );
+            }
         }else{
-            ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
-                    .eq(YwPatrolTask::getId,ywPatrolTask.getId())
-                    .set(YwPatrolTask::getStatus,Constants.ONE)
-                    .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
-                    .set(YwPatrolTask::getEditor,loginUserInfo.getId())
-            );
+            if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO)){
+                ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
+                        .eq(YwPatrolTask::getId,ywPatrolTask.getId())
+                        .set(YwPatrolTask::getStatus,Constants.ONE)
+                        .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
+                        .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())
+                );
+            }
         }
         //闄勪欢鏁版嵁
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){
@@ -265,6 +297,7 @@
                 .selectAll(YwPatrolTaskRecord.class)
                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
                 .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+                .selectAs(YwPatrolPoint::getDeviceId,YwPatrolTaskRecord::getDeviceId)
                 .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
                 .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName)
                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)

--
Gitblit v1.9.3