From 35ed9cd31d7b675082425361a9f08bec40aa1292 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 03 十二月 2024 18:23:01 +0800
Subject: [PATCH] ll
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 148 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 85bfb6a..6fb3725 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,18 @@
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.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.*;
+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 +23,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 +40,23 @@
@Autowired
private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper;
+
+ @Autowired
+ private MultifileMapper multifileMapper;
+
+ @Autowired
+ private YwDeviceMapper ywDeviceMapper;
+
+ @Autowired
+ private YwPatrolPointMapper ywPatrolPointMapper;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private YwPatrolTaskMapper ywPatrolTaskMapper;
+
+
@Override
public Integer create(YwPatrolTaskRecord ywPatrolTaskRecord) {
@@ -100,9 +123,13 @@
YwPatrolTaskRecord model = pageWrap.getModel();
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)
@@ -116,4 +143,120 @@
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())
+ ){
+ 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(),"鏁版嵁鐘舵�佸凡娴佽浆");
+ }
+ 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,ywDevice.getStatus())
+ .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(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda()
+ .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId())
+ .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){
+ ywPatrolTask.setStatus(Constants.THREE);
+ }else{
+ ywPatrolTask.setStatus(Constants.ONE);
+ }
+ //鏌ヨ鏄惁瀛樺湪鍏朵粬鏈�
+ ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda().eq(YwPatrolTask::getId,ywPatrolTask.getId())
+ .set(YwPatrolTask::getStatus,ywPatrolTask.getStatus())
+ .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()) {
+ 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