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.qualityDesign.model.SlmOrdDesignStdPicEntity;
import com.steering.pss.sale.order.qualityDesign.model.SlmOrdDesignStdPicSmpEntity;

public interface PhyDaoImp {
	/**
	 * 查询已审批理化索引号
	 * 
	 * @param con
	 *            连接字符串
	 * @param msc
	 *            冶金规范码
	 * @param modelCode
	 *            扣型
	 * @return List<String>
	 * @throws SQLException
	 */
	List<String> getExaminePic(Connection con, String msc, String modelCode)
			throws SQLException;

	/**
	 * 查询有效理化索引号
	 * 
	 * @param con
	 *            连接字符串
	 * @param msc
	 *            冶金规范码
	 * @param modelCode
	 *            扣型
	 * @return List<String>
	 * @throws SQLException
	 */
	List<String> getEValidPic(Connection con, String msc, String modelCode)
			throws SQLException;

	/**
	 * 通过理化索引号查询理化标准
	 * 
	 * @param con
	 *            连接字符串
	 * @param pic
	 *            理化索引号
	 * @return List<DesignStdPicEntity>
	 * @throws SQLException
	 */
	List<SlmOrdDesignStdPicEntity> getPhyByPic(Connection con, String pic)
			throws SQLException;

	/**
	 * 保存理化标准
	 * 
	 * @param con
	 *            连接字符串
	 * @param phy
	 *            理化标准类
	 * @throws SQLException
	 */
	void savePhy(Connection con, SlmOrdDesignStdPicEntity phy)
			throws SQLException;

	/**
	 * 查询取样要求
	 * 
	 * @param con
	 *            连接字符串
	 * @param pic
	 *            理化索引号
	 * @param phyCodeMin
	 *            取样码
	 * @return DesignStdPicSmpEntity
	 * @throws SQLException
	 */
	List<SlmOrdDesignStdPicSmpEntity> getPicSample(Connection con, String pic, String phyCodeMin, String itemCodeF,
			String itemCodeC, String itemCodeW, String stdCode, String steelCode, String produccode) throws SQLException;
	
	/**
	 * 查询试样要求
	 * 
	 * @param con
	 *            连接字符串
	 * @param pic
	 *            理化索引号
	 * @param phyCodeMin
	 *            取样码
	 * @return DesignStdPicSmpEntity
	 * @throws SQLException
	 */
	List<SlmOrdDesignStdPicSmpEntity> getPicSpline(Connection con, String pic,
			String phyCodeMin, String stdCode, String producCode, String steelCode,
			String itemCodeF, String itemCodeC, String itemCodeW) throws SQLException;

	/**
	 * 保存取样要求
	 * 
	 * @param con
	 *            连接字符串
	 * @param comPicSmp
	 *            取样类
	 * @param designKey
	 *            质量主键
	 * @throws SQLException
	 */
	void savePicSample(Connection con, SlmOrdDesignStdPicSmpEntity comPicSmp)
			throws SQLException;
	
	/**
	 * 保存试样要求
	 * 
	 * @param con
	 *            连接字符串
	 * @param comPicSmp
	 *            取样类
	 * @param designKey
	 *            质量主键
	 * @throws SQLException
	 */
	void savePicSpline(Connection con, SlmOrdDesignStdPicSmpEntity comPicSpline)
			throws SQLException;

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

	/**
	 * 修改交付标准索引号
	 * 
	 * @param con
	 *            连接字符串
	 * @param pic
	 *            索引号
	 * @param cic
	 *            质量主键
	 * @throws SQLException
	 */
	boolean checkSmp(Connection con, SlmOrdDesignStdPicSmpEntity comPicSmp)
			throws SQLException;
}
