| | |
| | | default MesWmBatchDO selectFirst(MesWmBatchDO batch) { |
| | | LambdaQueryWrapper<MesWmBatchDO> query = new LambdaQueryWrapper<>(); |
| | | query.eq(MesWmBatchDO::getItemId, batch.getItemId()); |
| | | if (ObjUtil.isNull(batch.getReelNo())) { |
| | | query.isNull(MesWmBatchDO::getReelNo); |
| | | } else { |
| | | query.eq(MesWmBatchDO::getReelNo, batch.getReelNo()); |
| | | } |
| | | if (ObjUtil.isNull(batch.getVendorId())) { |
| | | query.isNull(MesWmBatchDO::getVendorId); |
| | | } else { |
| | |
| | | |
| | | // 返回 ID 最小的批次 |
| | | query.orderByAsc(MesWmBatchDO::getId); |
| | | if (batch.getReelNo() != null) { |
| | | // 数据库排序规则可能忽略大小写或末尾空格;盘号必须按输入值精确匹配。 |
| | | return selectList(query).stream() |
| | | .filter(candidate -> batch.getReelNo().equals(candidate.getReelNo())) |
| | | .findFirst().orElse(null); |
| | | } |
| | | query.last("LIMIT 1"); |
| | | return selectOne(query); |
| | | } |