Esempio n. 1
0
        public void DoOrderReceipt(OrderReceiptRecordInfo model)
        {
            DateTime currTime = DateTime.Now;

            OrderReceipt orbBll   = new OrderReceipt();
            var          orbModel = orbBll.GetModel(model.OrderId);

            OrderReceiptProduct orpBll = new OrderReceiptProduct();
            var orpModel = orpBll.GetModel(model.OrderId, model.ProductId);

            orpModel.ReceiptQty += model.Qty;
            orpBll.UpdateQty(model.OrderId, model.ProductId, orpModel.ReceiptQty);

            StockProduct     spBll   = new StockProduct();
            StockProductInfo spModel = null;

            spModel = spBll.GetModel(Guid.Empty, model.ProductId);
            if (spModel == null)
            {
                var stepCode = (int)EnumData.EnumStep.收货;
                var stepName = EnumData.EnumStep.收货.ToString();
                spModel = new StockProductInfo(Guid.Empty, model.ProductId, model.Qty, orpModel.ReceiptQty, 0, stepCode.ToString(), stepName, EnumData.EnumIsDisable.启用.ToString(), "", "", currTime);

                spBll.Insert(spModel);
            }
            else
            {
                spModel.UnQty          += model.Qty;
                spModel.LastUpdatedDate = currTime;
                spBll.Update(spModel);
            }
        }
Esempio n. 2
0
        public IList <OrderReceiptRecordInfo> GetList()
        {
            StringBuilder sb = new StringBuilder(300);

            sb.Append(@"select Id,OrderId,UserId,ProductId,PackageId,StockLocationId,Unit,Qty,LPN,LastUpdatedDate 
			            from OrderReceiptRecord
					    order by LastUpdatedDate desc "                    );

            IList <OrderReceiptRecordInfo> list = new List <OrderReceiptRecordInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString()))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        OrderReceiptRecordInfo model = new OrderReceiptRecordInfo();
                        model.Id              = reader.GetGuid(0);
                        model.OrderId         = reader.GetGuid(1);
                        model.UserId          = reader.GetGuid(2);
                        model.ProductId       = reader.GetGuid(3);
                        model.PackageId       = reader.GetGuid(4);
                        model.StockLocationId = reader.GetGuid(5);
                        model.Unit            = reader.GetString(6);
                        model.Qty             = reader.GetDouble(7);
                        model.LPN             = reader.GetString(8);
                        model.LastUpdatedDate = reader.GetDateTime(9);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Esempio n. 3
0
        public int Update(OrderReceiptRecordInfo model)
        {
            StringBuilder sb = new StringBuilder(500);

            sb.Append(@"update OrderReceiptRecord set OrderId = @OrderId,UserId = @UserId,ProductId = @ProductId,PackageId = @PackageId,StockLocationId = @StockLocationId,Unit = @Unit,Qty = @Qty,LPN = @LPN,LastUpdatedDate = @LastUpdatedDate 
			            where Id = @Id
					    "                    );

            SqlParameter[] parms =
            {
                new SqlParameter("@Id",              SqlDbType.UniqueIdentifier),
                new SqlParameter("@OrderId",         SqlDbType.UniqueIdentifier),
                new SqlParameter("@UserId",          SqlDbType.UniqueIdentifier),
                new SqlParameter("@ProductId",       SqlDbType.UniqueIdentifier),
                new SqlParameter("@PackageId",       SqlDbType.UniqueIdentifier),
                new SqlParameter("@StockLocationId", SqlDbType.UniqueIdentifier),
                new SqlParameter("@Unit",            SqlDbType.NVarChar,          10),
                new SqlParameter("@Qty",             SqlDbType.Float),
                new SqlParameter("@LPN",             SqlDbType.VarChar,           36),
                new SqlParameter("@LastUpdatedDate", SqlDbType.DateTime)
            };
            parms[0].Value = model.Id;
            parms[1].Value = model.OrderId;
            parms[2].Value = model.UserId;
            parms[3].Value = model.ProductId;
            parms[4].Value = model.PackageId;
            parms[5].Value = model.StockLocationId;
            parms[6].Value = model.Unit;
            parms[7].Value = model.Qty;
            parms[8].Value = model.LPN;
            parms[9].Value = model.LastUpdatedDate;

            return(SqlHelper.ExecuteNonQuery(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), parms));
        }
Esempio n. 4
0
        public IList <OrderReceiptRecordInfo> GetList(int pageIndex, int pageSize, out int totalRecords, string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(500);

            sb.Append(@"select count(*) from OrderReceiptRecord ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            totalRecords = (int)SqlHelper.ExecuteScalar(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), cmdParms);

            if (totalRecords == 0)
            {
                return(new List <OrderReceiptRecordInfo>());
            }

            sb.Clear();
            int startIndex = (pageIndex - 1) * pageSize + 1;
            int endIndex   = pageIndex * pageSize;

            sb.Append(@"select * from(select row_number() over(order by LastUpdatedDate desc) as RowNumber,
			          Id,OrderId,UserId,ProductId,PackageId,StockLocationId,Unit,Qty,LPN,LastUpdatedDate
					  from OrderReceiptRecord "                    );
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            sb.AppendFormat(@")as objTable where RowNumber between {0} and {1} ", startIndex, endIndex);

            IList <OrderReceiptRecordInfo> list = new List <OrderReceiptRecordInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        OrderReceiptRecordInfo model = new OrderReceiptRecordInfo();
                        model.Id              = reader.GetGuid(1);
                        model.OrderId         = reader.GetGuid(2);
                        model.UserId          = reader.GetGuid(3);
                        model.ProductId       = reader.GetGuid(4);
                        model.PackageId       = reader.GetGuid(5);
                        model.StockLocationId = reader.GetGuid(6);
                        model.Unit            = reader.GetString(7);
                        model.Qty             = reader.GetDouble(8);
                        model.LPN             = reader.GetString(9);
                        model.LastUpdatedDate = reader.GetDateTime(10);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Esempio n. 5
0
        public IList <OrderReceiptRecordInfo> GetList(string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(500);

            sb.Append(@"select Id,OrderId,UserId,ProductId,PackageId,StockLocationId,Unit,Qty,LPN,LastUpdatedDate
                        from OrderReceiptRecord ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            sb.Append("order by LastUpdatedDate desc ");

            IList <OrderReceiptRecordInfo> list = new List <OrderReceiptRecordInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        OrderReceiptRecordInfo model = new OrderReceiptRecordInfo();
                        model.Id              = reader.GetGuid(0);
                        model.OrderId         = reader.GetGuid(1);
                        model.UserId          = reader.GetGuid(2);
                        model.ProductId       = reader.GetGuid(3);
                        model.PackageId       = reader.GetGuid(4);
                        model.StockLocationId = reader.GetGuid(5);
                        model.Unit            = reader.GetString(6);
                        model.Qty             = reader.GetDouble(7);
                        model.LPN             = reader.GetString(8);
                        model.LastUpdatedDate = reader.GetDateTime(9);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Esempio n. 6
0
        public OrderReceiptRecordInfo GetModel(Guid id)
        {
            OrderReceiptRecordInfo model = null;

            StringBuilder sb = new StringBuilder(300);

            sb.Append(@"select top 1 Id,OrderId,UserId,ProductId,PackageId,StockLocationId,Unit,Qty,LPN,LastUpdatedDate 
			            from OrderReceiptRecord
						where Id = @Id "                        );
            SqlParameter[] parms =
            {
                new SqlParameter("@Id", SqlDbType.UniqueIdentifier)
            };
            parms[0].Value = id;

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), parms))
            {
                if (reader != null)
                {
                    if (reader.Read())
                    {
                        model                 = new OrderReceiptRecordInfo();
                        model.Id              = reader.GetGuid(0);
                        model.OrderId         = reader.GetGuid(1);
                        model.UserId          = reader.GetGuid(2);
                        model.ProductId       = reader.GetGuid(3);
                        model.PackageId       = reader.GetGuid(4);
                        model.StockLocationId = reader.GetGuid(5);
                        model.Unit            = reader.GetString(6);
                        model.Qty             = reader.GetDouble(7);
                        model.LPN             = reader.GetString(8);
                        model.LastUpdatedDate = reader.GetDateTime(9);
                    }
                }
            }

            return(model);
        }
Esempio n. 7
0
 public int Update(OrderReceiptRecordInfo model)
 {
     return(dal.Update(model));
 }
Esempio n. 8
0
 public int InsertByOutput(OrderReceiptRecordInfo model)
 {
     return(dal.InsertByOutput(model));
 }
Esempio n. 9
0
        public IList <OrderReceiptRecordInfo> GetListByJoin(int pageIndex, int pageSize, out int totalRecords, string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(1500);

            sb.Append(@"select count(*) from Order_Receipt_Record orr 
                        left join Order_Receipt_Base orb on orb.Id = orr.OrderId
                        left join Customer c on c.Id = orb.CustomerId 
                        left join Product p on p.Id = orr.ProductId 
                        left join Package pk on pk.Id = orr.PackageId 
                        left join StockLocation sl on sl.Id = orr.StockLocationId 
                       ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            totalRecords = (int)SqlHelper.ExecuteScalar(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), cmdParms);

            if (totalRecords == 0)
            {
                return(new List <OrderReceiptRecordInfo>());
            }

            sb.Clear();
            int startIndex = (pageIndex - 1) * pageSize + 1;
            int endIndex   = pageIndex * pageSize;

            sb.Append(@"select * from(select row_number() over(order by orr.LastUpdatedDate desc) as RowNumber,
			          orr.Id,orr.OrderId,orr.UserId,orr.ProductId,orr.PackageId,orr.StockLocationId,orr.Unit,orr.Qty,orr.LPN,orr.LastUpdatedDate
                      ,orb.OrderNum,(case orb.Status when 0 then '其它' when 1 then '新建' else '其它' end) OrderStatus,c.Coded CustomerCode,c.Named CustomerName,p.ProductCode,p.ProductName,pk.PackageCode
                      ,sl.Code StockLocationCode,sl.Named StockLocationName
					  from Order_Receipt_Record orr
                      left join Order_Receipt_Base orb on orb.Id = orr.OrderId
                      left join Customer c on c.Id = orb.CustomerId 
                      left join Product p on p.Id = orr.ProductId 
                      left join Package pk on pk.Id = orr.PackageId 
                      left join StockLocation sl on sl.Id = orr.StockLocationId 
                      ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            sb.AppendFormat(@")as objTable where RowNumber between {0} and {1} ", startIndex, endIndex);

            IList <OrderReceiptRecordInfo> list = new List <OrderReceiptRecordInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.WmsDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        OrderReceiptRecordInfo model = new OrderReceiptRecordInfo();
                        model.Id              = reader.GetGuid(1);
                        model.OrderId         = reader.GetGuid(2);
                        model.UserId          = reader.GetGuid(3);
                        model.ProductId       = reader.GetGuid(4);
                        model.PackageId       = reader.GetGuid(5);
                        model.StockLocationId = reader.GetGuid(6);
                        model.Unit            = reader.GetString(7);
                        model.Qty             = reader.GetDouble(8);
                        model.LPN             = reader.GetString(9);
                        model.LastUpdatedDate = reader.GetDateTime(10);

                        model.OrderNum          = reader.IsDBNull(11) ? "" : reader.GetString(11);
                        model.OrderStatus       = reader.IsDBNull(12) ? "" : reader.GetString(12);
                        model.CustomerCode      = reader.IsDBNull(13) ? "" : reader.GetString(13);
                        model.CustomerName      = reader.IsDBNull(14) ? "" : reader.GetString(14);
                        model.ProductCode       = reader.IsDBNull(15) ? "" : reader.GetString(15);
                        model.ProductName       = reader.IsDBNull(16) ? "" : reader.GetString(16);
                        model.PackageCode       = reader.IsDBNull(17) ? "" : reader.GetString(17);
                        model.StockLocationCode = reader.IsDBNull(18) ? "" : reader.GetString(18);
                        model.StockLocationName = reader.IsDBNull(19) ? "" : reader.GetString(19);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Esempio n. 10
0
        public ResResultModel SaveOrderReceiptRecord(PdaOrderReceiptRecordModel model)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(model.OrderNum))
                {
                    return(ResResult.Response(false, "收货单号不能为空字符串", null));
                }

                Guid Id = Guid.Empty;
                if (model.Id != null)
                {
                    Guid.TryParse(model.Id.ToString(), out Id);
                }
                Guid orderId         = Guid.Empty;
                Guid productId       = Guid.Empty;
                Guid packageId       = Guid.Empty;
                Guid stockLocationId = Guid.Empty;
                if (model.OrderId != null && !string.IsNullOrWhiteSpace(model.OrderId.ToString()))
                {
                    Guid.TryParse(model.OrderId.ToString(), out orderId);
                }
                if (model.ProductId != null && !string.IsNullOrWhiteSpace(model.ProductId.ToString()))
                {
                    Guid.TryParse(model.ProductId.ToString(), out productId);
                }
                if (model.PackageId != null && !string.IsNullOrWhiteSpace(model.PackageId.ToString()))
                {
                    Guid.TryParse(model.PackageId.ToString(), out packageId);
                }
                if (model.StockLocationId != null && !string.IsNullOrWhiteSpace(model.StockLocationId.ToString()))
                {
                    Guid.TryParse(model.StockLocationId.ToString(), out stockLocationId);
                }

                if (orderId.Equals(Guid.Empty))
                {
                    return(ResResult.Response(false, "参数值不正确,请正确操作", null));
                }
                if (productId.Equals(Guid.Empty))
                {
                    return(ResResult.Response(false, "参数值不正确,请正确操作", null));
                }
                if (packageId.Equals(Guid.Empty))
                {
                    return(ResResult.Response(false, "参数值不正确,请正确操作", null));
                }
                if (stockLocationId.Equals(Guid.Empty))
                {
                    return(ResResult.Response(false, "参数值不正确,请正确操作", null));
                }

                var currentTime = DateTime.Now;

                var modelInfo = new OrderReceiptRecordInfo();
                modelInfo.Id              = Id;
                modelInfo.UserId          = Guid.Empty;
                modelInfo.OrderId         = orderId;
                modelInfo.ProductId       = productId;
                modelInfo.PackageId       = packageId;
                modelInfo.StockLocationId = stockLocationId;
                modelInfo.Unit            = model.Unit;
                modelInfo.Qty             = model.Qty;
                modelInfo.LPN             = model.LPN;
                modelInfo.LastUpdatedDate = currentTime;

                var bll    = new OrderReceiptRecord();
                int effect = -1;

                using (TransactionScope scope = new TransactionScope())
                {
                    if (Id.Equals(Guid.Empty))
                    {
                        bll.Insert(modelInfo);
                        bll.DoOrderReceipt(modelInfo);
                    }
                    else
                    {
                        bll.Update(modelInfo);
                        bll.DoOrderReceipt(modelInfo);
                    }

                    scope.Complete();
                    effect = 1;
                }

                if (effect < 1)
                {
                    return(ResResult.Response(false, "调用失败,数据库操作异常", null));
                }

                return(ResResult.Response(true, "调用成功", ""));
            }
            catch (Exception ex)
            {
                return(ResResult.Response(false, ex.Message, null));
            }
        }