From 2a4889b621bea7f49ee8977d56f5a0e15ddecd14 Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 06 十二月 2024 15:49:59 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- 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