| | |
| | | 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; |
| | |
| | | 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> |
| | |
| | | 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, "标准物质名称")); |