package com.xisc.pm.domain.repository;

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

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.PmPlateThickAddvBt;
import com.xisc.pm.domain.entity.PmProContProdTtr;

/**
 * 钢板轧制规格及厚度余量基准表(PmPlateThickAddvBt)资源库
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-07-23 17:19:39
 */
public interface PmPlateThickAddvBtRepository extends BaseRepository<PmPlateThickAddvBt> {
    /**
     * 查询
     *
     * @param pmPlateThickAddvBt 查询条件
     * @return 返回值
     */
    List<PmPlateThickAddvBt> selectList(PmPlateThickAddvBt pmPlateThickAddvBt);

    /**
     * 根据主键查询（可关联表）
     *
     * @param pptabId 主键
     * @return 返回值
     */
    PmPlateThickAddvBt selectByPrimary(Long pptabId);
    
    /**
     * 
     * @param tenantId
     * @param rollDirectCode
     * @param heatTreatMode
     * @param stCode
     * @param rollLineNo
     * @param formPlateModde
     * @param adModeCode
     * @param orderThick
     * @return
     */
    PmPlateThickAddvBt selectWidthAndLenByThick(Long tenantId, String rollDirectCode, String rollMode,
            String heatTreatMode , String stCode, String rollLineNo, String formPlateMode , String adModeCode , BigDecimal orderThick) ;

    /**
     * 
     * @param tenantId
     * @param axisPmProContProdTtr
     * @param axisPmContMscTech
     * @param rollLineNo
     * @param pmProContYield
     * @return
     */
    PmPlateThickAddvBt selectTaimAddv(Long tenantId, PmProContProdTtr axisPmProContProdTtr, PmContMscTech axisPmContMscTech,
            String rollLineNo, PmProContYieldRequestDTO pmProContYield);
}
