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.DesignMscPlEntity;
import com.steering.pss.sale.order.model.DesignMscPlPcEntity;
import com.steering.pss.sale.order.model.DesignMscPlPcLstEntity;
import com.steering.pss.sale.order.model.OrderLineDeliveryEntity;

/**
 * 生产周期
 * @author Administrator
 */
public interface ProCycleDaoImp {
    /**
     * 查询质量设计验证通过的制程
     * @param con 连接字符串
     * @param designKey 质量主键
     * @return List<DesignMscPlEntity>
     * @throws SQLException
     */
    List<DesignMscPlEntity> getValidZC(Connection con, String designKey)
            throws SQLException;

    /**
     * 查询验证通过的接箍码
     * @param con 连接字符串
     * @param designKey 质量主键
     * @return List<String>
     * @throws SQLException
     */
    List<String> getValidJG(Connection con, String designKey)
            throws SQLException;

    /**
     * 查询产品码
     * @param con 连接字符串
     * @param proDucCode 品名代码
     * @param stdCode 标准代码
     * @param steelCode 钢级代码
     * @param stdStyle 标准类别
     * @return String
     * @throws SQLException
     */
    String getPscByCode(Connection con, String proDucCode, String stdCode,
            String steelCode, String stdStyle) throws SQLException;

    /**
     * 查询冶金规范码
     * @param con 连接字符串
     * @param psc 产品码
     * @param useCode 用途码
     * @return String
     * @throws SQLException
     */
    String getMscByPsc(Connection con, String psc, String useCode)
            throws SQLException;

    /**
     * 查询交货行信息
     * @param con
     * @param ordLnPk
     * @param form 等于2 来自合同变更界面
     * @return
     * @throws SQLException
     */
    List<OrderLineDeliveryEntity> getLineDelivery(Connection con,
            String ordLnPk, String form) throws SQLException;

    /**
     * 保存生存周期主表
     * @param con
     * @param mscPlPcEntity
     * @throws SQLException
     */
    void saveMSCPLPC(Connection con, DesignMscPlPcEntity mscPlPcEntity)
            throws SQLException;

    /**
     * 保存生产周期从表
     * @param con
     * @param mscPlPcLstEntity
     * @throws SQLException
     */
    void saveMSCPLPCLST(Connection con, DesignMscPlPcLstEntity mscPlPcLstEntity)
            throws SQLException;

    /**
     * 查询根据交货行号交货行信息
     * @param con
     * @param oldLnDlyPk 交货行号
     * @return OrderLineDeliveryEntity
     * @throws SQLException
     */
    OrderLineDeliveryEntity getLineDeliveryByPk(Connection con,
            String oldLnDlyPk) throws SQLException;
}
