diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java index a5ac83dc..bf55e8b7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java @@ -26,10 +26,8 @@ import org.dromara.tender.mapper.TenderSupplierInputMapper; import org.dromara.tender.service.ITenderSupplierInputService; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; +import java.util.stream.Collectors; import static org.dromara.common.constant.MinioPathConstant.SupplierInput; @@ -219,9 +217,20 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl tenderSupplierInputVos, Long projectId) { + List tenderSupplierInputVos1 = tenderSupplierInputVos.stream() + .collect(Collectors.collectingAndThen( + Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(item -> + item.getSupplierName() + "_" + item.getSupplierPerson() + "_" + item.getSupplierCode()))), + ArrayList::new + )); List tenderSupplierInputs = new ArrayList<>(); - for (TenderSupplierInputVo tenderSupplierInputVo : tenderSupplierInputVos) { - Long count = baseMapper.selectCount(new LambdaQueryWrapper().eq(TenderSupplierInput::getSupplierCode, tenderSupplierInputVo.getSupplierCode())); + for (TenderSupplierInputVo tenderSupplierInputVo : tenderSupplierInputVos1) { + Long count = baseMapper.selectCount(new LambdaQueryWrapper() + .eq(TenderSupplierInput::getProjectId,projectId) + .eq(TenderSupplierInput::getSupplierCode, tenderSupplierInputVo.getSupplierCode()) + .eq(TenderSupplierInput::getSupplierName, tenderSupplierInputVo.getSupplierName()) + .eq(TenderSupplierInput::getSupplierPerson, tenderSupplierInputVo.getSupplierPerson())); if (count > 0) { continue; }