diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java index 165d0d60..b45fd43d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java @@ -23,6 +23,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -56,6 +58,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl getPage(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request, @@ -68,7 +72,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl queryLawsMarketStandard = new LambdaQueryWrapper<>(); queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,lawsMarketStandardOld.getManifestNo()); @@ -96,7 +100,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl queryLawsMarketStandard = new LambdaQueryWrapper<>(); queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,lawsMarketStandardOld.getManifestNo()); @@ -131,13 +135,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl listLawsMarketStandardDetailExcel = ExcelImportUtil.importExcel( - file.getInputStream(), LawsMarketStandardDetailExcel.class, params); - if(!CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel) - && listLawsMarketStandardDetailExcel.size() >= 2){ - listLawsMarketStandardDetailExcel = listLawsMarketStandardDetailExcel. - subList(2,listLawsMarketStandardDetailExcel.size()); - } + List listLawsMarketStandardDetailExcel = getLawsMarketStandardDetailExcels(file, params); if(CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel)){ return Result.error("导入数据为空"); } @@ -157,16 +155,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl queryLawsMarketStandardDetail = new LambdaQueryWrapper<>(); - queryLawsMarketStandardDetail.select(LawsMarketStandardDetail::getStandardId); - queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,manifestId); - queryLawsMarketStandardDetail.isNotNull(LawsMarketStandardDetail::getStandardId); - List listStandardId = list(queryLawsMarketStandardDetail); - List listStandardIds = new ArrayList<>(); - if(!CollectionUtils.isEmpty(listStandardId)){ - listStandardIds = listStandardId.stream().map(LawsMarketStandardDetail::getStandardId) - .collect(Collectors.toList()); - } + List listStandardIds = getStandardIds(manifestId); // 验证标准编号是否重复 List listStandardIdRepeat = new ArrayList<>(); for (int i = 0; i < listLawsMarketStandardDetail.size(); i++) { @@ -184,22 +173,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl listStandardNumberData = listIds.stream().filter(o-> - Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listStandardNumberData)){ - s.append("标准编号不存在;"); - }else{ - String id = listStandardNumberData.get(0).getStandardId(); - p.setStandardId(id); - if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){ - s.append("标准编号已存在;"); - }else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){ - s.append("标准编号重复;"); - } - listStandardIdRepeat.add(listStandardNumberData.get(0).getId()); - } - } + checkStandard(listIds, listStandardIds, listStandardIdRepeat, p, s); if(!StringUtils.isBlank(s.toString())){ m.append("第").append(i + 4).append("行,").append(s.toString()); } @@ -224,6 +198,52 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl getLawsMarketStandardDetailExcels(MultipartFile file, ImportParams params) throws Exception { + List listLawsMarketStandardDetailExcel = ExcelImportUtil.importExcel( + file.getInputStream(), LawsMarketStandardDetailExcel.class, params); + if(!CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel) + && listLawsMarketStandardDetailExcel.size() >= 2){ + listLawsMarketStandardDetailExcel = listLawsMarketStandardDetailExcel. + subList(2,listLawsMarketStandardDetailExcel.size()); + } + return listLawsMarketStandardDetailExcel; + } + + private void checkStandard(List listIds, List listStandardIds, List listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s) { + if(!StringUtils.isBlank(p.getStandardNumber())){ + List listStandardNumberData = listIds.stream().filter(o-> + Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listStandardNumberData)){ + s.append("标准编号不存在;"); + }else{ + String id = listStandardNumberData.get(0).getStandardId(); + p.setStandardId(id); + if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){ + s.append("标准编号已存在;"); + }else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){ + s.append("标准编号重复;"); + } + listStandardIdRepeat.add(listStandardNumberData.get(0).getId()); + } + } + } + + @NotNull + private List getStandardIds(String manifestId) { + LambdaQueryWrapper queryLawsMarketStandardDetail = new LambdaQueryWrapper<>(); + queryLawsMarketStandardDetail.select(LawsMarketStandardDetail::getStandardId); + queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,manifestId); + queryLawsMarketStandardDetail.isNotNull(LawsMarketStandardDetail::getStandardId); + List listStandardId = list(queryLawsMarketStandardDetail); + List listStandardIds = new ArrayList<>(); + if(!CollectionUtils.isEmpty(listStandardId)){ + listStandardIds = listStandardId.stream().map(LawsMarketStandardDetail::getStandardId) + .collect(Collectors.toList()); + } + return listStandardIds; + } + @Override public void downloadTemplate(HttpServletResponse response) { // 模板存放地址 @@ -267,7 +287,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl listOld = list(queryOld); if(CollectionUtils.isEmpty(listOld)){ - return Result.error("数据不存在"); + return Result.error(NOT_DATA); } LambdaQueryWrapper queryNew = new LambdaQueryWrapper<>(); queryNew.eq(LawsMarketStandardDetail::getManifestId,newId); @@ -277,7 +297,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl!listStandardId.contains(o.getStandardId())).collect(Collectors.toList()); } if(CollectionUtils.isEmpty(listOld)){ - return Result.error("数据不存在"); + return Result.error(NOT_DATA); } setData(newId, listOld); saveBatch(listOld); @@ -318,7 +338,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl