| | |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | .betweenIfPresent(MesQcOqcDO::getInspectDate, reqVO.getInspectDate()) |
| | | .orderByDesc(MesQcOqcDO::getId); |
| | | if (permittedClientIds != null) { |
| | | // 未填客户的单据不属于任何客户,不受客户权限遮挡 |
| | | if (CollUtil.isEmpty(permittedClientIds)) { |
| | | return PageResult.empty(); |
| | | wrapper.isNull(MesQcOqcDO::getClientId); |
| | | } else { |
| | | wrapper.and(w -> w.isNull(MesQcOqcDO::getClientId) |
| | | .or().in(MesQcOqcDO::getClientId, permittedClientIds)); |
| | | } |
| | | wrapper.in(MesQcOqcDO::getClientId, permittedClientIds); |
| | | } |
| | | return selectPage(reqVO, wrapper); |
| | | } |
| | |
| | | return selectOne(MesQcOqcDO::getCode, code); |
| | | } |
| | | |
| | | /** |
| | | * 按导入去重键查询:同一 物料 + 客户 + 批次号 + 出货日期 视为同一批出货检验数据 |
| | | * |
| | | * 客户与出货日期在本分支可为空,故三个可空维度均做空值安全比较(null 比 null)。 |
| | | */ |
| | | default List<MesQcOqcDO> selectListByImportKey(Long itemId, Long clientId, String batchCode, |
| | | LocalDateTime outDate) { |
| | | return selectList(new LambdaQueryWrapperX<MesQcOqcDO>() |
| | | .eq(MesQcOqcDO::getItemId, itemId) |
| | | .eq(clientId != null, MesQcOqcDO::getClientId, clientId) |
| | | .isNull(clientId == null, MesQcOqcDO::getClientId) |
| | | .eq(batchCode != null, MesQcOqcDO::getBatchCode, batchCode) |
| | | .isNull(batchCode == null, MesQcOqcDO::getBatchCode) |
| | | .eq(outDate != null, MesQcOqcDO::getOutDate, outDate) |
| | | .isNull(outDate == null, MesQcOqcDO::getOutDate) |
| | | .orderByAsc(MesQcOqcDO::getId)); |
| | | } |
| | | |
| | | } |