Exemple #1
0
 /// <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);
 }
Exemple #2
0
        /// <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);
        }
Exemple #3
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)));
        }
Exemple #4
0
        /// <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);
        }