/// <summary>
        /// 增加一条数据
        /// </summary>
        /// <param name="model">model</param>
        public int AddRecord(TSOutDetailData model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("set nocount on; ");
            strSql.Append("insert into TSOutDetail(");
            strSql.Append(@"tsOutBillNo,number,unitQty,boxqty,boxNumber,instantSate,materialNo,financeBillNo)");
            strSql.Append(" values (");
            strSql.Append(@"@tsOutBillNo,@number,@unitQty,@boxqty,@boxNumber,@instantSate,@materialNo,@financeBillNo)");
            strSql.Append("; select @@identity; set nocount off; ");
            SqlParameter[] parameters = {
                    new SqlParameter("@tsOutBillNo", SqlDbType.NVarChar,50),
                    new SqlParameter("@number", SqlDbType.Decimal,9),
                    new SqlParameter("@unitQty", SqlDbType.Decimal,9),
                    new SqlParameter("@boxqty", SqlDbType.Decimal,9),
                    new SqlParameter("@boxNumber", SqlDbType.Int),
                    new SqlParameter("@instantSate", SqlDbType.NChar,10),
                    new SqlParameter("@materialNo", SqlDbType.NVarChar,50),
                    new SqlParameter("@financeBillNo", SqlDbType.NVarChar,50)
                };
            parameters[0].Value = model.tsOutBillNo;
            parameters[1].Value = model.number;
            parameters[2].Value = model.unitQty;
            parameters[3].Value = model.boxqty;
            parameters[4].Value = model.boxNumber;
            parameters[5].Value = model.instantSate;
            parameters[6].Value = model.materialNo;
            parameters[7].Value = model.financeBillNo;

            int id = 0;
            try
            {
                object ret = SqlHelper.ExecuteScalar(this.connection, this.transaction, CommandType.Text, strSql.ToString(), parameters);

                if (ret != null && ret != DBNull.Value)
                {
                    id = Convert.ToInt32(ret);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return id;
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        /// <param name="model">model</param>
        public bool ModifyRecord(TSOutDetailData model)
        {
            bool ret = false;
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update TSOutDetail set ");
            strSql.Append("tsOutBillNo=@tsOutBillNo,");
            strSql.Append("number=@number,");
            strSql.Append("unitQty=@unitQty,");
            strSql.Append("boxqty=@boxqty,");
            strSql.Append("boxNumber=@boxNumber,");
            strSql.Append("instantSate=@instantSate,");
            strSql.Append("materialNo=@materialNo,");
            strSql.Append("financeBillNo=@financeBillNo");
            strSql.Append(" where ");
            SqlParameter[] parameters = {
                    new SqlParameter("@tsOutBillNo", SqlDbType.NVarChar,50),
                    new SqlParameter("@number", SqlDbType.Decimal,9),
                    new SqlParameter("@unitQty", SqlDbType.Decimal,9),
                    new SqlParameter("@boxqty", SqlDbType.Decimal,9),
                    new SqlParameter("@boxNumber", SqlDbType.Int),
                    new SqlParameter("@instantSate", SqlDbType.NChar,10),
                    new SqlParameter("@materialNo", SqlDbType.NVarChar,50),
                    new SqlParameter("@financeBillNo", SqlDbType.NVarChar,50)
                };
            parameters[0].Value = model.tsOutBillNo;
            parameters[1].Value = model.number;
            parameters[2].Value = model.unitQty;
            parameters[3].Value = model.boxqty;
            parameters[4].Value = model.boxNumber;
            parameters[5].Value = model.instantSate;
            parameters[6].Value = model.materialNo;
            parameters[7].Value = model.financeBillNo;

            try
            {
                SqlHelper.ExecuteNonQuery(this.connection, this.transaction, CommandType.Text, strSql.ToString(), parameters);
                ret = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return ret;
        }
        /// <summary>
        /// 得到一个model
        /// </summary>
        /// <returns>model</returns>
        public TSOutDetailData GetModel()
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append(@"select id,tsOutBillNo,number,unitQty,boxqty,boxNumber,instantSate,materialNo,financeBillNo from TSOutDetail");
            strSql.Append(" where ");
            SqlParameter[] parameters = {

                };

            TSOutDetailData model = new TSOutDetailData();
            DataSet ds = SqlHelper.ExecuteDataset(this.connection, this.transaction, CommandType.Text, strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                DataRow row = ds.Tables[0].Rows[0];
                if (row["id"] != DBNull.Value)
                {
                    model.id = Convert.ToInt32(row["id"]);
                }
                if (row["tsOutBillNo"] != DBNull.Value)
                {
                    model.tsOutBillNo = Convert.ToString(row["tsOutBillNo"]);
                }
                if (row["number"] != DBNull.Value)
                {
                    model.number = Convert.ToDecimal(row["number"]);
                }
                if (row["unitQty"] != DBNull.Value)
                {
                    model.unitQty = Convert.ToDecimal(row["unitQty"]);
                }
                if (row["boxqty"] != DBNull.Value)
                {
                    model.boxqty = Convert.ToDecimal(row["boxqty"]);
                }
                if (row["boxNumber"] != DBNull.Value)
                {
                    model.boxNumber = Convert.ToInt32(row["boxNumber"]);
                }
                if (row["instantSate"] != DBNull.Value)
                {
                    model.instantSate = Convert.ToString(row["instantSate"]);
                }
                if (row["materialNo"] != DBNull.Value)
                {
                    model.materialNo = Convert.ToString(row["materialNo"]);
                }
                if (row["financeBillNo"] != DBNull.Value)
                {
                    model.financeBillNo = Convert.ToString(row["financeBillNo"]);
                }
                return model;
            }
            else
            {
                return null;
            }
        }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 /// <param name="model">model</param>
 public bool ModifyRecord(TSOutDetailData model)
 {
     return this.sOutDetailDB.ModifyRecord(model);
 }
 /// <summary>
 /// 增加一条数据
 /// </summary>
 /// <param name="model">model</param>
 public int AddRecord(TSOutDetailData model)
 {
     return this.sOutDetailDB.AddRecord(model);
 }
        /// <summary>
        /// 更新一条"TSOutDetail"信息
        /// </summary>
        /// <param name="model">model</param>
        public bool ModifyRecord(TSOutDetailData model)
        {
            bool ret = false;
            SqlTransaction trans = null;
            try
            {
                if (this.transaction == null)
                {
                    trans = this.connection.BeginTransaction("TransModify");
                    this.sOutDetailBB.Transaction = trans;
                    this.errorDiaryBB.Transaction = trans;
                    this.operatDiaryBB.Transaction = trans;
                }

                this.sOutDetailBB.ModifyRecord(model);

                SOperatDiaryData operatDiaryData = new SOperatDiaryData();
                operatDiaryData.empId = this.empId;
                operatDiaryData.functionId = "";
                operatDiaryData.recordId = model.id.ToString();
                operatDiaryData.operateContent = "TSOutDetail修改一条id为“" + model.id.ToString() + "”的记录";
                this.operatDiaryBB.AddRecord(operatDiaryData);

                if (this.transaction == null) trans.Commit();
                ret = true;
            }
            catch (Exception ex)
            {
                if (this.transaction == null) trans.Rollback("TransModify");
                SErrorDiaryData errorDiaryData = new SErrorDiaryData();
                errorDiaryData.empId = this.empId;
                errorDiaryData.functionId = "";
                errorDiaryData.errorText = "TSOutDetail修改记录“" + model.id.ToString() + "”时报错:" + ex.Message;
                this.errorDiaryBB.AddRecord(errorDiaryData);
                throw ex;
            }
            finally
            {
            }
            return ret;
        }
        /// <summary>
        /// 增加一条"TSOutDetail"信息
        /// </summary>
        /// <param name="model">model</param>
        public int AddRecord(DataTable dtPlan, string arriveBillNo, string isrtDt, int isrtEmpid, string remark, string outTypeName)
        {
            TSOutDetailData model = new TSOutDetailData();

            int id = 0;
            SqlTransaction trans = null;
            try
            {
                if (this.transaction == null)
                {
                    trans = this.connection.BeginTransaction("TransAdd");
                    this.sOutDetailBB.Transaction = trans;

                }

                foreach (DataRow dr in dtPlan.Rows)
                {
                    model.tsOutBillNo = arriveBillNo;//其他入库单号,手动赋值
                   // model.boxNum = 0.00;// 实际箱数
                    model.boxqty = decimal.Parse(dr["boxqty"].ToString());//整箱数量
                    model.number = decimal.Parse(dr["number"].ToString());//收货数量
                    model.unitQty = decimal.Parse(dr["unitQty"].ToString());//单体数量
                    model.boxNumber = int.Parse(dr["boxNumber"].ToString());//计划收货箱数
                    model.financeBillNo = dr["financeBillNo"].ToString();//采购合同号
                    model.materialNo = dr["materialNo"].ToString();//物料号
                    model.instantSate = "01";//开始的时候 都是false
                    id = this.sOutDetailBB.AddRecord(model);
                }
                string command = "Insert into TSoutBIll (tsOutBill,isrtEmpId,isrtDate,instantState,remark,tsOutTypeName) values ('" + arriveBillNo + "'," + isrtEmpid + ",'" + isrtDt + "','01','" + remark + "','" + outTypeName + "')";
                SQLHelperDM.ExecuteNonQuery(HS.Config.SqlDataObject.GetJoeyConnectionString, command);
                if (this.transaction == null) trans.Commit();
            }
            catch (Exception ex)
            {
                if (this.transaction == null) trans.Rollback("TransAdd");

                throw ex;
            }
            finally
            {

            }
            return id;
        }