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

import java.sql.SQLException;

import com.steering.pss.sale.order.model.DesignStatusEntity;
import com.steering.pss.sale.order.qualityDesign.ReturnsModel.DesignEntity;

/**
 * 设计状态（明细、合同行）数据库操作接口
 * 
 * @author Administrator
 * 
 */
public interface StatusDaoImp {
	/**
	 * 增加设计状态 （合同行）
	 * 
	 * @param con
	 *            连接字符串
	 * @param designKey
	 *            designKey
	 * @param ordLnPk
	 *            合同行
	 * @param userName
	 *            操作人
	 * @throws SQLException
	 */
	void addDesignStsTklg(java.sql.Connection con, String designKey,
			String ordLnPk, String userName) throws SQLException;

	/**
	 * 修改設計状态（合同行）
	 * 
	 * @param con
	 *            连接字符串
	 * @param designKey
	 *            designKey
	 * @param userName
	 *            操作人
	 * @param designSts
	 *            设计状态 (W:等待;S:通过;F:失败)
	 * @param prdcycMeet
	 *            生产周期满足(W:等待;S:满足;F:不满足)
	 * @throws SQLException
	 */
	void updateDesignStsTklg(java.sql.Connection con, String designKey,
			String userName, String designSts, String prdcycMeet)
			throws SQLException;

	/**
	 * 修改 技术设计状态明细
	 * 
	 * @param con
	 *            连接字符串
	 * @param comDesign
	 *            设计状态明细类
	 * @throws SQLException
	 *             异常
	 */
	void updateDesignStatus(java.sql.Connection con, DesignStatusEntity status)
			throws SQLException;

	/**
	 * 新增 技术设计状态明细
	 * 
	 * @param con
	 *            连接字符串
	 * @param comDesign
	 *            设计状态明细类
	 * @return 操作行数
	 * @throws SQLException
	 *             异常
	 */
	void addDesignStatus(java.sql.Connection con, DesignStatusEntity status)
			throws SQLException;

	/**
	 * 状态实体类赋值
	 * 
	 * @param reDesign
	 *            常用值实体类
	 * @param msc
	 *            冶金規范碼
	 * @param lstItem
	 *            明细项目
	 * @param designSts
	 *            设计状态
	 * @param designStsRs
	 *            设计状态原因
	 * @param designStsDesc
	 *            设计状态结果描述
	 * @param designObjKey
	 *            设计对象Key值
	 * @param unitCode
	 *            管理科室代码
	 * @param unitDesc
	 *            管理科室描述
	 * @return
	 */
	DesignStatusEntity setDesignStatus(DesignEntity designEntity, String msc,
			String lstItem, String designSts, String designStsRs,
			String designStsDesc, String designObjKey, String unitCode,
			String unitDesc);

}
