From 022b17044ab6bb284fd6313da91d1d1dfb2d5079 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 03 六月 2024 13:20:42 +0800 Subject: [PATCH] update --- assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java | 108 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 64 insertions(+), 44 deletions(-) diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java index 907c2cd..24f5e55 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java @@ -2,6 +2,7 @@ import com.gkhy.assess.common.enums.RequestSourceEnum; import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssAccessoryFile; import com.gkhy.assess.system.domain.AssInvestigation; import com.gkhy.assess.system.enums.AccessoryFileTypeEnum; import com.gkhy.assess.system.enums.ReportProgressEnum; @@ -14,6 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -34,49 +40,38 @@ @Override @Transactional(rollbackFor = RuntimeException.class) - public int addInvestigation(AssInvestigation investigation,String requestSourceType) { + public Long addInvestigation(AssInvestigation investigation) { Long projectId=investigation.getProjectId(); projectService.checkUserAllowed(projectId); - checkInvestigationCount(projectId); + // checkInvestigationCount(projectId); investigation.setCreateBy(ShiroUtils.getSysUser().getUsername()); if(investigation.getIsSafetyCheck()!=null&&investigation.getIsSafetyCheck()==1){ - Integer fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode()); + Integer fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId,null, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode()); if(fileCount==0){ throw new ApiException("未上传现场安全检查表"); } } - //校验图片数量 - Integer fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.DEVICE_IMAGE.getCode()); - if(fileCount==0){ - throw new ApiException("主要装置前的合影照片不能为空"); + List<AssAccessoryFile> accessFiles=new ArrayList<>(); + accessFiles.addAll(investigation.getCompanyImages()); + accessFiles.addAll(investigation.getDeviceImages()); + accessFiles.addAll(investigation.getInvestingationImages()); + if(investigation.getInvestingationVideos()!=null&& !investigation.getInvestingationVideos().isEmpty()){ + accessFiles.addAll(investigation.getInvestingationVideos()); } - fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode()); - if(fileCount==0){ - throw new ApiException("现场勘验照片照片不能为空"); + if(investigation.getAssAccessoryFiles()!=null&&!investigation.getAssAccessoryFiles().isEmpty()){ + accessFiles.addAll(investigation.getAssAccessoryFiles()); } - fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.COMPANY_IMAGE.getCode()); - if(fileCount==0){ - throw new ApiException("现场勘验人员与企业陪同人员图片不能为空"); + List<Long> fileIds=new ArrayList<>(); + for(AssAccessoryFile accessoryFile:accessFiles){ + if(accessoryFile.getId()==null){ + throw new ApiException("附件或图片id不能为空"); + } + fileIds.add(accessoryFile.getId()); } -// fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode()); -// if(fileCount==0){ -// throw new ApiException("现场勘验视频不能为空"); -// } - int row=baseMapper.insert(investigation); - if(requestSourceType== RequestSourceEnum.WEB.getCode()){ - //校验项目状态 - projectService.checkReportProgress(projectId, ReportProgressEnum.WORK_NOTIFICATION); - //更新项目状态 - projectService.changeReportProgress(projectId,ReportProgressEnum.INVESTINGATION); - } - //校验项目状态 -// projectService.checkReportProgress(projectId, ReportProgressEnum.WORK_NOTIFICATION); -// int row=baseMapper.insert(investigation); -// if(row>0 && (investigation.getState()==null||!investigation.getState().equals(ApproveStatusEnum.TEMPORARY.getCode()))) { -// //更新项目状态 -// projectService.changeReportProgress(projectId,ReportProgressEnum.INVESTINGATION); -// } - return row; + baseMapper.insert(investigation); + //更新图片过程id + accessoryFileService.batchUpdateAccessoryFileProcessId(fileIds,investigation.getId()); + return investigation.getId(); } public void checkInvestigationCount(Long projectId){ @@ -88,36 +83,61 @@ } @Override + @Transactional(rollbackFor = RuntimeException.class) public int editInvestigation(AssInvestigation investigation) { + if(investigation.getId()==null){ + throw new ApiException("现场勘验记录id不能为空!"); + } projectService.checkUserAllowed(investigation.getProjectId()); investigation.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + List<AssAccessoryFile> accessFiles=new ArrayList<>(); + accessFiles.addAll(investigation.getCompanyImages()); + accessFiles.addAll(investigation.getDeviceImages()); + accessFiles.addAll(investigation.getInvestingationImages()); + if(investigation.getInvestingationVideos()!=null&& !investigation.getInvestingationVideos().isEmpty()){ + accessFiles.addAll(investigation.getInvestingationVideos()); + } + if(investigation.getAssAccessoryFiles()!=null&&!investigation.getAssAccessoryFiles().isEmpty()){ + accessFiles.addAll(investigation.getAssAccessoryFiles()); + } + List<Long> fileIds=new ArrayList<>(); + for(AssAccessoryFile accessoryFile:accessFiles){ + if(accessoryFile.getId()==null){ + throw new ApiException("附件或图片id不能为空"); + } + fileIds.add(accessoryFile.getId()); + } + accessoryFileService.batchUpdateAccessoryFileProcessId(fileIds,investigation.getId()); int row=baseMapper.updateById(investigation); return row; } @Override - public AssInvestigation getInvestigationByProjectId(Long projectId) { + public List<AssInvestigation> getInvestigationByProjectId(Long projectId) { projectService.checkUserAllowed(projectId); - AssInvestigation investigation= baseMapper.getInvestigationByProjectId(projectId); - if(investigation!=null) { - investigation.setAssAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode())); - investigation.setCcompanyImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.COMPANY_IMAGE.getCode())); - investigation.setDeviceImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.DEVICE_IMAGE.getCode())); - investigation.setInvestingationImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode())); - investigation.setInvestingationVideos(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode())); - } - return investigation; + List<AssInvestigation> investigations= baseMapper.getInvestigationByProjectId(projectId); + return investigations; } @Override public AssInvestigation getInvestigationById(Long investigationId) { - return baseMapper.getInvestigationById(investigationId); + AssInvestigation investigation= baseMapper.getInvestigationById(investigationId); + if(investigation!=null) { + investigation.setAssAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(investigation.getProjectId(),investigation.getId(), AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode())); + investigation.setCompanyImages(accessoryFileService.getAccessoryFileByProjectId(investigation.getProjectId(),investigation.getId(), AccessoryFileTypeEnum.COMPANY_IMAGE.getCode())); + investigation.setDeviceImages(accessoryFileService.getAccessoryFileByProjectId(investigation.getProjectId(),investigation.getId(), AccessoryFileTypeEnum.DEVICE_IMAGE.getCode())); + investigation.setInvestingationImages(accessoryFileService.getAccessoryFileByProjectId(investigation.getProjectId(),investigation.getId(), AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode())); + investigation.setInvestingationVideos(accessoryFileService.getAccessoryFileByProjectId(investigation.getProjectId(),investigation.getId(), AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode())); + } + return investigation; } @Override - public void doInvestigationProcess(Long projectId) { + public void doInvestigationProcess(Map map) { + Long projectId= Long.parseLong(map.get("projectId").toString()); projectService.checkUserAllowed(projectId); + //校验项目状态 projectService.checkReportProgress(projectId, ReportProgressEnum.WORK_NOTIFICATION); //更新项目状态 -- Gitblit v1.9.2