From a0a1c206612de9a3e9d64f3d45564c0ff03f93f6 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 02 一月 2025 15:22:13 +0800
Subject: [PATCH] 环境

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 5 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 2c6f8d7..f463fe7 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
@@ -9,8 +9,7 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.YwContractRevenueMapper;
-import com.doumee.dao.business.YwPatrolTaskRecordMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.MultifileMapper;
 import com.doumee.dao.system.model.Multifile;
@@ -45,9 +44,17 @@
     @Autowired
     private MultifileMapper multifileMapper;
 
+    @Autowired
+    private YwDeviceMapper ywDeviceMapper;
+
+    @Autowired
+    private YwPatrolPointMapper ywPatrolPointMapper;
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private YwPatrolTaskMapper ywPatrolTaskMapper;
 
 
 
@@ -117,9 +124,12 @@
         queryWrapper.selectAll(YwPatrolTaskRecord.class)
                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
                 .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+                .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
                 .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())
                 .orderByDesc(YwPatrolScheme::getCreateDate)
@@ -140,7 +150,7 @@
     public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) {
         if(Objects.isNull(ywPatrolTaskRecord)
         || Objects.isNull(ywPatrolTaskRecord.getId())
-        || Objects.isNull(ywPatrolTaskRecord.getDealStatus())){
+        ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         LoginUserInfo loginUserInfo = ywPatrolTaskRecord.getLoginUserInfo();
@@ -151,9 +161,23 @@
         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);
+        }
+        YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId());
+        if(Objects.isNull(ywPatrolTask)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌宸℃鏃堕棿鏃犳硶杩涜璇ユ搷浣�");
+        }
         ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda()
-                .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus())
+                .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus())
                 .set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId())
                 .set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime())
                 .set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime())
@@ -162,6 +186,26 @@
                 .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)
+                .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){
+            ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
+                    .eq(YwPatrolTask::getId,ywPatrolTask.getId())
+                    .set(YwPatrolTask::getStatus,Constants.THREE)
+                    .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
+                    .set(YwPatrolTask::getDealDate,DateUtil.getCurrDateTime())
+                    .set(YwPatrolTask::getDealUserId,loginUserInfo.getId())
+                    .set(YwPatrolTask::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(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){
             for (Multifile multifile:ywPatrolTaskRecord.getMultifileList()) {
@@ -184,6 +228,58 @@
 
 
     @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public YwPatrolTaskRecord getPointRecordByCode(YwPatrolTaskRecord bean) {
+        if(Objects.isNull(bean)
+        || Objects.isNull(bean.getTaskId())
+        || StringUtils.isBlank(bean.getPointCode())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>()
+                .selectAll(YwPatrolTaskRecord.class)
+                .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
+                .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
+                .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+                .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName)
+                .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(YwPatrolPoint::getCode,bean.getPointCode())
+                .eq(YwPatrolTaskRecord::getTaskId,bean.getTaskId())
+                .orderByDesc(YwPatrolScheme::getCreateDate)
+                .last(" limit 1 ")
+        );
+        if(Objects.isNull(ywPatrolTaskRecord)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈尮閰嶅埌宸℃鐐�!");
+        }
+        //闄勪欢鏁版嵁
+        List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
+                .selectAll(Multifile.class)
+                .selectAs(SystemUser::getRealname,Multifile::getUserName)
+                .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
+                .eq(Multifile::getObjId,ywPatrolTaskRecord.getId())
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey()));
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
+            for (Multifile multifile:multifileList) {
+                if(StringUtils.isNotBlank(multifile.getFileurl())){
+                    multifile.setFileurlFull(path + multifile.getFileurl());
+                }
+            }
+            ywPatrolTaskRecord.setMultifileList(multifileList);
+        }
+
+        return ywPatrolTaskRecord;
+
+    }
+
+
+
+
+    @Override
     public YwPatrolTaskRecord getDetail(Integer id) {
 
         YwPatrolTaskRecord ywPatrolTaskRecord = ywPatrolTaskRecordMapper.selectJoinOne(YwPatrolTaskRecord.class,new MPJLambdaWrapper<YwPatrolTaskRecord>()

--
Gitblit v1.9.3