Commit b91b4446 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 2c4dacf4 17ab9c95
...@@ -18,6 +18,8 @@ import org.springframework.stereotype.Service; ...@@ -18,6 +18,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -66,13 +68,34 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C ...@@ -66,13 +68,34 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
public Boolean checkProjectFileExist(AddProjectFileUploadBo fileUploadBo) { public Boolean checkProjectFileExist(AddProjectFileUploadBo fileUploadBo) {
String filename = fileUploadBo.getFile().getOriginalFilename(); String filename = fileUploadBo.getFile().getOriginalFilename();
assert filename != null; assert filename != null;
baseMapper.selectList(new LambdaQueryWrapper<CbProjectFile>() List<CbProjectFile> projectFileList = baseMapper.selectList(new LambdaQueryWrapper<CbProjectFile>()
.eq(CbProjectFile::getProjectId, fileUploadBo.getProjectId()) .eq(CbProjectFile::getProjectId, fileUploadBo.getProjectId())
.eq(CbProjectFile::getCbType, fileUploadBo.getCbType())).forEach(projectFile -> { .eq(CbProjectFile::getCbType, fileUploadBo.getCbType()));
projectFileList.forEach(projectFile -> {
//仅对比文件名,不考虑文件格式 //仅对比文件名,不考虑文件格式
Assert.isFalse(projectFile.getFileName().substring(0, projectFile.getFileName().lastIndexOf(".")).equals(filename.substring(0, filename.lastIndexOf("."))) String projectFileName = projectFile.getFileName().substring(0, projectFile.getFileName().lastIndexOf("."));
String uploadFileName = null;
try {
uploadFileName = URLDecoder.decode(filename, "UTF-8");
uploadFileName = uploadFileName.substring(0, uploadFileName.lastIndexOf("."));
} catch (UnsupportedEncodingException e) {
throw new ServiceException("文件名解码异常");
}
Assert.isFalse(projectFileName.equals(uploadFileName)
, "当前成本类型下存在同名文件,请重新上传"); , "当前成本类型下存在同名文件,请重新上传");
}); });
//根据成本类型限制文件上传数量
switch (fileUploadBo.getCbType()) {
case CbProjectConstants.CB_TYPE_DIRECT_EXPENSE:
int size = projectFileList.size();
Assert.isTrue(size == 0, "直接费成本仅允许上传1个文件");
break;
case CbProjectConstants.CB_TYPE_SUMMARY:
int size1 = projectFileList.size();
Assert.isTrue(projectFileList.size() < 2, "成本汇总最多允许上传2个文件");
break;
}
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment