cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceServiceImpl.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.framework.exception.ErrorException;
@@ -23,11 +22,8 @@
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.stream.Collectors;
/**
 * <p>
@@ -85,26 +81,11 @@
            throw new ErrorException("导入文件没有标准物质数据");
        }
        Set<String> manageNumbers = new HashSet<>();
        for (int i = 0; i < rows.size(); i++) {
            String manageNum = required(rows.get(i).getManageNum(), i + 2, "管理编号");
            if (!manageNumbers.add(manageNum)) {
                throw new ErrorException("第" + (i + 2) + "行:管理编号" + manageNum + "在文件中重复");
            }
        }
        Set<String> existingNumbers = baseMapper.selectList(Wrappers.<FeStandardSubstance>lambdaQuery()
                        .in(FeStandardSubstance::getManageNum, manageNumbers)
                        .select(FeStandardSubstance::getManageNum))
                .stream().map(FeStandardSubstance::getManageNum).collect(Collectors.toSet());
        List<FeStandardSubstance> substances = new ArrayList<>();
        for (int i = 0; i < rows.size(); i++) {
            int rowNumber = i + 2;
            FeStandardSubstanceImport row = rows.get(i);
            String manageNum = required(row.getManageNum(), rowNumber, "管理编号");
            if (existingNumbers.contains(manageNum)) {
                throw new ErrorException("第" + rowNumber + "行:管理编号" + manageNum + "已存在");
            }
            FeStandardSubstance substance = new FeStandardSubstance();
            substance.setName(required(row.getName(), rowNumber, "标准物质名称"));
@@ -160,4 +141,4 @@
    private String trim(String value) {
        return value == null ? null : value.trim();
    }
}
}