/// <summary> /// 由一行数据得到一个实体 /// </summary> private Hi.Model.DIS_StockOrder GetModel(DataRow r) { Hi.Model.DIS_StockOrder model = new Hi.Model.DIS_StockOrder(); model.ID = SqlHelper.GetInt(r["ID"]); model.CompID = SqlHelper.GetInt(r["CompID"]); model.OrderNO = SqlHelper.GetString(r["OrderNO"]); model.Type = SqlHelper.GetInt(r["Type"]); model.StockType = SqlHelper.GetString(r["StockType"]); model.ChkDate = SqlHelper.GetDateTime(r["ChkDate"]); model.Remark = SqlHelper.GetString(r["Remark"]); model.State = SqlHelper.GetInt(r["State"]); model.CreateUserID = SqlHelper.GetInt(r["CreateUserID"]); model.CreateDate = SqlHelper.GetDateTime(r["CreateDate"]); model.ts = SqlHelper.GetDateTime(r["ts"]); model.dr = SqlHelper.GetInt(r["dr"]); model.modifyuser = SqlHelper.GetInt(r["modifyuser"]); model.OrderID = SqlHelper.GetInt(r["OrderID"]); return(model); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Hi.Model.DIS_StockOrder model, SqlTransaction tran) { StringBuilder strSql = new StringBuilder(); strSql.Append("update [DIS_StockOrder] set "); strSql.Append("[CompID]=@CompID,"); strSql.Append("[OrderNO]=@OrderNO,"); strSql.Append("[Type]=@Type,"); strSql.Append("[StockType]=@StockType,"); strSql.Append("[ChkDate]=@ChkDate,"); strSql.Append("[Remark]=@Remark,"); strSql.Append("[State]=@State,"); strSql.Append("[CreateUserID]=@CreateUserID,"); strSql.Append("[CreateDate]=@CreateDate,"); strSql.Append("[ts]=@ts,"); strSql.Append("[dr]=@dr,"); strSql.Append("[modifyuser]=@modifyuser,"); strSql.Append("[OrderID]=@OrderID"); strSql.Append(" where [ID]=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int), new SqlParameter("@CompID", SqlDbType.Int), new SqlParameter("@OrderNO", SqlDbType.VarChar, 100), new SqlParameter("@Type", SqlDbType.Int), new SqlParameter("@StockType", SqlDbType.VarChar, 100), new SqlParameter("@ChkDate", SqlDbType.DateTime), new SqlParameter("@Remark", SqlDbType.VarChar, 1000), new SqlParameter("@State", SqlDbType.Int), new SqlParameter("@CreateUserID", SqlDbType.Int), new SqlParameter("@CreateDate", SqlDbType.DateTime), new SqlParameter("@ts", SqlDbType.DateTime), new SqlParameter("@dr", SqlDbType.SmallInt), new SqlParameter("@modifyuser", SqlDbType.Int), new SqlParameter("@OrderID", SqlDbType.Int) }; parameters[0].Value = model.ID; parameters[1].Value = model.CompID; if (model.OrderNO != null) { parameters[2].Value = model.OrderNO; } else { parameters[2].Value = DBNull.Value; } parameters[3].Value = model.Type; if (model.StockType != null) { parameters[4].Value = model.StockType; } else { parameters[4].Value = DBNull.Value; } parameters[5].Value = model.ChkDate; if (model.Remark != null) { parameters[6].Value = model.Remark; } else { parameters[6].Value = DBNull.Value; } parameters[7].Value = model.State; parameters[8].Value = model.CreateUserID; parameters[9].Value = model.CreateDate; parameters[10].Value = model.ts; parameters[11].Value = model.dr; parameters[12].Value = model.modifyuser; parameters[13].Value = model.OrderID; if (tran != null) { return(SqlHelper.ExecuteSql(strSql.ToString(), tran, parameters) > 0); } return(SqlHelper.ExecuteSql(SqlHelper.LocalSqlServer, strSql.ToString(), parameters) > 0); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Hi.Model.DIS_StockOrder model, SqlTransaction tran) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into [DIS_StockOrder]("); strSql.Append("[CompID],[OrderNO],[Type],[StockType],[ChkDate],[Remark],[State],[CreateUserID],[CreateDate],[ts],[modifyuser],[OrderID])"); strSql.Append(" values ("); strSql.Append("@CompID,@OrderNO,@Type,@StockType,@ChkDate,@Remark,@State,@CreateUserID,@CreateDate,@ts,@modifyuser,@OrderID)"); strSql.Append(";select @@Identity"); SqlParameter[] parameters = { new SqlParameter("@CompID", SqlDbType.Int), new SqlParameter("@OrderNO", SqlDbType.VarChar, 100), new SqlParameter("@Type", SqlDbType.Int), new SqlParameter("@StockType", SqlDbType.VarChar, 100), new SqlParameter("@ChkDate", SqlDbType.DateTime), new SqlParameter("@Remark", SqlDbType.VarChar, 1000), new SqlParameter("@State", SqlDbType.Int), new SqlParameter("@CreateUserID", SqlDbType.Int), new SqlParameter("@CreateDate", SqlDbType.DateTime), new SqlParameter("@ts", SqlDbType.DateTime), new SqlParameter("@modifyuser", SqlDbType.Int), new SqlParameter("@OrderID", SqlDbType.Int) }; parameters[0].Value = model.CompID; if (model.OrderNO != null) { parameters[1].Value = model.OrderNO; } else { parameters[1].Value = DBNull.Value; } parameters[2].Value = model.Type; if (model.StockType != null) { parameters[3].Value = model.StockType; } else { parameters[3].Value = DBNull.Value; } parameters[4].Value = model.ChkDate; if (model.Remark != null) { parameters[5].Value = model.Remark; } else { parameters[5].Value = DBNull.Value; } parameters[6].Value = model.State; parameters[7].Value = model.CreateUserID; parameters[8].Value = model.CreateDate; parameters[9].Value = model.ts; parameters[10].Value = model.modifyuser; parameters[11].Value = model.OrderID; if (tran != null) { return(SqlHelper.GetInt(SqlHelper.GetSingle(strSql.ToString(), tran, parameters))); } return(SqlHelper.GetInt(SqlHelper.GetSingle(SqlHelper.LocalSqlServer, strSql.ToString(), parameters))); }
/// <summary> /// 订单发货 /// </summary> /// <param name="omodel">订单主表</param> /// <param name="ll">订单明细</param> /// <param name="outmodel">订单发货表</param> /// <param name="llo">订单发货明细表</param> /// <param name="log">订单物流表</param> /// <param name="stockOModel">发货出库主表</param> /// <param name="llinOut">发货出库从表</param> /// <returns></returns> public int GetOutOrder(Hi.Model.DIS_Order omodel, List <Hi.Model.DIS_OrderDetail> ll, Hi.Model.DIS_OrderOut outmodel, List <Hi.Model.DIS_OrderOutDetail> llo, Hi.Model.DIS_Logistics log, Hi.Model.DIS_StockOrder stockOModel, List <Hi.Model.DIS_StockInOut> llinOut) { SqlTransaction sqlTrans = DBUtility.SqlHelper.CreateStoreTranSaction(); int outid = 0; try { //新增发货单 outid = Add(outmodel, sqlTrans); if (outid > 0) { //新增发货单明细 foreach (Hi.Model.DIS_OrderOutDetail item in llo) { if (item.OutNum <= 0) { continue; } item.OrderOutID = outid; if (new Hi.BLL.DIS_OrderOutDetail().Add(item, sqlTrans) < 0) { outid = 0; return(outid); } //发货减扣库存 if (!new Hi.BLL.DIS_GoodsStock().UpdateStock(item.GoodsinfoID.ToString(), item.Batchno, item.OutNum, sqlTrans)) { outid = 0; return(outid); } } //发货新增出库单 stockOModel.OrderID = outid; int stockOrderID = new Hi.BLL.DIS_StockOrder().Add(stockOModel, sqlTrans); if (stockOrderID > 0) { foreach (Hi.Model.DIS_StockInOut item in llinOut) { item.StockOrderID = stockOrderID; if (new Hi.BLL.DIS_StockInOut().Add(item, sqlTrans) < 0) { outid = 0; return(outid); } } } else { outid = 0; return(outid); } //修改订单主表状态 if (new Hi.BLL.DIS_Order().UpdateOrder(sqlTrans.Connection, omodel, sqlTrans) < 0) { outid = 0; return(outid); } //修改订单明细状态 foreach (Hi.Model.DIS_OrderDetail item in ll) { if (new Hi.BLL.DIS_OrderDetail().UpdateOrderDetail(sqlTrans.Connection, item, sqlTrans) < 0) { outid = 0; return(outid); } } //新增物流 log.OrderOutID = outid; if (new Hi.BLL.DIS_Logistics().Add(log, sqlTrans) < 0) { outid = 0; return(outid); } sqlTrans.Commit(); } } catch (Exception) { if (sqlTrans.Connection != null) { sqlTrans.Rollback(); } throw; } return(outid); }