From 440f3671c552a58d9a911dbe184b583e3d17be16 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 30 十一月 2024 16:13:48 +0800
Subject: [PATCH] 客户资料 巡检任务业务

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 110 insertions(+), 4 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 85bfb6a..2c6f8d7 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
@@ -1,14 +1,19 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 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.model.YwDeviceRecord;
-import com.doumee.dao.business.model.YwPatrolPoint;
-import com.doumee.dao.business.model.YwPatrolScheme;
-import com.doumee.dao.business.model.YwPatrolTaskRecord;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.model.Multifile;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.YwPatrolTaskRecordService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -19,8 +24,10 @@
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -34,6 +41,15 @@
 
     @Autowired
     private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper;
+
+    @Autowired
+    private MultifileMapper multifileMapper;
+
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+
 
     @Override
     public Integer create(YwPatrolTaskRecord ywPatrolTaskRecord) {
@@ -100,6 +116,7 @@
         YwPatrolTaskRecord model = pageWrap.getModel();
         queryWrapper.selectAll(YwPatrolTaskRecord.class)
                 .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
+                .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
                 .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
                 .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
                 .eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
@@ -116,4 +133,93 @@
         QueryWrapper<YwPatrolTaskRecord> wrapper = new QueryWrapper<>(ywPatrolTaskRecord);
         return ywPatrolTaskRecordMapper.selectCount(wrapper);
     }
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    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();
+        YwPatrolTaskRecord model = ywPatrolTaskRecordMapper.selectById(ywPatrolTaskRecord.getId());
+        if(Objects.isNull(model)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆");
+        }
+
+        ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda()
+                .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus())
+                .set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId())
+                .set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime())
+                .set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime())
+                .set(YwPatrolTaskRecord::getDealUserId,loginUserInfo.getId())
+                .set(YwPatrolTaskRecord::getStatus,Constants.ONE)
+                .set(YwPatrolTaskRecord::getDealInfo, ywPatrolTaskRecord.getDealInfo())
+                .eq(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()));
+
+        //闄勪欢鏁版嵁
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){
+            for (Multifile multifile:ywPatrolTaskRecord.getMultifileList()) {
+                if(Objects.isNull(multifile)
+                        || StringUtils.isBlank(multifile.getFileurl())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢淇℃伅閿欒");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjType(Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey());
+                multifile.setObjId(ywPatrolTaskRecord.getId());
+            }
+            multifileMapper.insert(ywPatrolTaskRecord.getMultifileList());
+        }
+
+    }
+
+
+
+    @Override
+    public YwPatrolTaskRecord getDetail(Integer id) {
+
+        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(YwPatrolTaskRecord::getId,id)
+                .orderByDesc(YwPatrolScheme::getCreateDate)
+        );
+        //闄勪欢鏁版嵁
+        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,id)
+                .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;
+    }
+
+
+
 }

--
Gitblit v1.9.3