package com.steering.pss.sale.order.qualityDesign.Dao.imp;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

import com.steering.pss.sale.order.model.DesignStdWicEntity;
import com.steering.pss.sale.order.model.DesignWaterRatioEntity;
import com.steering.pss.sale.order.model.MscStdWaterEntity;

/**
 * 水压标准bean接口
 * 
 * @author Administrator
 * 
 */
public interface MscWaterDaoImp {
	/**
	 * 查询审批水压索引号 （扣型，冶金规范码）
	 * 
	 * @param con
	 * @param msc
	 *            冶金规范码
	 * @param modelCode
	 *            扣型
	 * @return
	 * @throws SQLException
	 */
	List<MscStdWaterEntity> getExamineWic(Connection con, String msc,
			String modelCode) throws SQLException;

	/**
	 * 查询审批水压索引号 （扣型，冶金规范码）
	 * 
	 * @param con
	 * @param msc
	 *            冶金规范码
	 * @param modelCode
	 *            扣型
	 * @return
	 * @throws SQLException
	 */
	List<MscStdWaterEntity> getValidWic(Connection con, String msc,
			String modelCode) throws SQLException;

	/**
	 * 查询引用水压标准主键
	 * 
	 * @param con
	 *            连接字符串
	 * @param stdCode
	 *            标准
	 * @param stdStyle
	 *            标准类别
	 * @return 引用水压标准和引用水压标准类别
	 * @throws SQLException
	 */
	String[] getQuoteWaterStd(Connection con, String stdCode, String stdStyle)
			throws SQLException;

	/**
	 * 查询水压压力等
	 * 
	 * @param con
	 * @param modelCode
	 *            扣型
	 * @param stdCode
	 *            标准
	 * @param steelCode
	 *            钢级
	 * @param stdStyle
	 *            类别
	 * @return List<DesignWaterRatioEntity>
	 * @throws SQLException
	 */
	List<DesignWaterRatioEntity> getWaterPress(Connection con,
			String modelCode, String stdCode, String steelCode, String stdStyle)
			throws SQLException;

	/**
	 * 查询水压标准
	 * 
	 * @param con
	 * @param wic
	 * @return
	 * @throws SQLException
	 */
	List<DesignStdWicEntity> getWaterByWic(Connection con, String wic)
			throws SQLException;

	/**
	 * 保存水压标准
	 * 
	 * @param con
	 * @param water
	 * @param designKey
	 * @throws SQLException
	 */
	void saveWater(Connection con, DesignStdWicEntity water, String designKey)
			throws SQLException;

	/**
	 * 修改交付标准索引号
	 * 
	 * @param con
	 *            连接字符串
	 * @param Wic
	 *            成分索引号
	 * @param cic
	 *            质量主键
	 * @throws SQLException
	 */
	void updateDesignStd(Connection con, String wic, String designKey)
			throws SQLException;

	/**
	 * 查询水压压力等(如果第一次没有找到)
	 * 
	 * @param con
	 * @param modelCode
	 *            扣型
	 * @param stdCode
	 *            标准
	 * @param steelStyle
	 *            钢级
	 * @return
	 * @throws SQLException
	 */
	List<DesignWaterRatioEntity> getWaterPressOther(Connection con,
			String modelCode, String stdCode, String steelCode)
			throws SQLException;

	/**
	 * 通过水压主键找水压系数和压力
	 * 
	 * @param con
	 * @param id
	 * @return
	 * @throws SQLException
	 */
	String[] getPressByMajor(Connection con, String id) throws SQLException;
	
	/**
	 * 获取设定的水压系数
	 * @param con
	 * @param ordLnPk
	 * @return
	 * @throws SQLException
	 */
	String getSetRatioId(Connection con, String ordLnPk)  throws SQLException;
	
	/**
	 * 获取水压最小屈服强度
	 * @param con
	 * @param designKey
	 * @return
	 * @throws SQLException
	 */
	String getWaterYS(Connection con, String designKey) throws SQLException;
	
	/**
	 * 获取水压最小抗拉强度
	 * @param con
	 * @param designKey
	 * @return
	 * @throws SQLException
	 */
	String getWaterTS(Connection con, String designKey) throws SQLException;
}
