yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/ipqc/MesQcIpqcMapper.java
@@ -7,10 +7,13 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.ipqc.MesQcIpqcDO;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
import java.util.List;
/**
 * MES 过程检验单(IPQC) Mapper
 *
 * @author 芋道源码
 * @author 超级管理员
 */
@Mapper
public interface MesQcIpqcMapper extends BaseMapperX<MesQcIpqcDO> {
@@ -24,6 +27,7 @@
                .eqIfPresent(MesQcIpqcDO::getCheckResult, reqVO.getCheckResult())
                .eqIfPresent(MesQcIpqcDO::getStatus, reqVO.getStatus())
                .eqIfPresent(MesQcIpqcDO::getInspectorUserId, reqVO.getInspectorUserId())
                .betweenIfPresent(MesQcIpqcDO::getInspectDate, reqVO.getInspectDate())
                .orderByDesc(MesQcIpqcDO::getId));
    }
@@ -31,4 +35,25 @@
        return selectOne(MesQcIpqcDO::getCode, code);
    }
    default List<MesQcIpqcDO> selectListBySourceDoc(Integer sourceDocType, Long sourceDocId) {
        return selectList(new LambdaQueryWrapperX<MesQcIpqcDO>()
                .eq(MesQcIpqcDO::getSourceDocType, sourceDocType)
                .eq(MesQcIpqcDO::getSourceDocId, sourceDocId)
                .orderByDesc(MesQcIpqcDO::getId));
    }
    /**
     * 按导入去重键查询:同一 生产工单 + 检验类型 + 工位 + 检测日期 视为同一批过程检验数据
     */
    default List<MesQcIpqcDO> selectListByImportKey(Long workOrderId, Integer type, Long workstationId,
                                                    LocalDateTime inspectDate) {
        return selectList(new LambdaQueryWrapperX<MesQcIpqcDO>()
                .eq(MesQcIpqcDO::getWorkOrderId, workOrderId)
                .eq(MesQcIpqcDO::getType, type)
                .eq(MesQcIpqcDO::getWorkstationId, workstationId)
                .eq(inspectDate != null, MesQcIpqcDO::getInspectDate, inspectDate)
                .isNull(inspectDate == null, MesQcIpqcDO::getInspectDate)
                .orderByAsc(MesQcIpqcDO::getId));
    }
}