package com.xisc.pm.domain.repository;

import org.hzero.mybatis.base.BaseRepository;

import com.xisc.pm.api.dto.PmProContYieldRequestDTO;
import com.xisc.pm.domain.entity.PmContMscTech;
import com.xisc.pm.domain.entity.PmPlateCutLenBt;
import com.xisc.pm.domain.entity.PmProContProdTtr;

import java.math.BigDecimal;
import java.util.List;

/**
 * 钢板切缝切头尾范围基准表(PmPlateCutLenBt)资源库
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-07-24 09:26:44
 */
public interface PmPlateCutLenBtRepository extends BaseRepository<PmPlateCutLenBt> {
    /**
     * 查询
     *
     * @param pmPlateCutLenBt 查询条件
     * @return 返回值
     */
    List<PmPlateCutLenBt> selectList(PmPlateCutLenBt pmPlateCutLenBt);

    /**
     * 根据主键查询（可关联表）
     *
     * @param ppclbId 主键
     * @return 返回值
     */
    PmPlateCutLenBt selectByPrimary(Long ppclbId);

    /**
     * 通过收得率参数与轴合同获取钢板切缝宽度
     * @param pmProContYield
     * @param axisPmProContProdTtr
     * @param axisPmContMscTech 
     * @param broadFlag
     * @param mscLineNo
     * @return
     */
    PmPlateCutLenBt selectPmPlateCutLenBt(PmProContYieldRequestDTO pmProContYield, PmProContProdTtr axisPmProContProdTtr,
            PmContMscTech axisPmContMscTech, String broadFlag, String mscLineNo);
    
    /**
     * 通过收得率参数与轴合同获取钢板切缝宽度
     * @param pmProContYield
     * @param axisPmProContProdTtr
     * @param axisPmContMscTech 
     * @param broadFlag
     * @param mscLineNo
     * @return
     */
    List<PmPlateCutLenBt> selectPmPlateCutLenForPlate(PmProContYieldRequestDTO pmProContYield, PmProContProdTtr axisPmProContProdTtr,
            PmContMscTech axisPmContMscTech, String broadFlag, String mscLineNo);
}
