public ReturnsInfo GetReturnsInfo(int returnsId) { ReturnsInfo returnsInfo = null; //Username,EmailAddress,RealName,ZipCode,CellPhone DbCommand sqlStringCommand = this.database.GetSqlStringCommand("SELECT A.ReturnsId,A.OrderId,A.ApplyForTime,A.RefundType,A.RefundMoney,A.Comments,A.HandleStatus,A.HandleTime,A.AdminRemark,A.Operator,A.ReceiveTime,A1.Username,A1.EmailAddress,A1.RealName,A1.ZipCode,A1.CellPhone,A.LogisticsCompany,A.LogisticsId,A.ExpressFee,A.CustomsClearanceFee,A.FeeAffiliation FROM Ecshop_OrderReturns as A left join Ecshop_Orders as A1 on A.orderId=A1.orderId where returnsId=@returnsId;SELECT o.Id,o.AId,o.SkuId,o.ProductId,o.ApplyType,o.Quantity,o.ItemAdjustedPrice,o.ItemDescription,o.ThumbnailsUrl,o.Weight,o.SKUContent,o.PromotionId,o.PromotionName,o.TaxRate,o.TemplateId,o.storeId,o.SupplierId,o.DeductFee,s.SupplierName FROM Ecshop_OrderAppFormItems as o left JOIN Ecshop_Supplier as s ON o.SupplierId=s.SupplierId where o.AId=@returnsId and o.ApplyType=1"); this.database.AddInParameter(sqlStringCommand, "returnsId", DbType.Int32, returnsId); using (IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { returnsInfo = ReaderConvert.ReaderToModel <ReturnsInfo>(dataReader); if (returnsInfo != null) { returnsInfo.ReturnsLineItem = new List <OrderAppFormItems>(); } dataReader.NextResult(); OrderAppFormItems appFormItem = null; while (1 == 1) { appFormItem = ReaderConvert.ReaderToModel <OrderAppFormItems>(dataReader); if (appFormItem != null && returnsInfo.ReturnsLineItem != null) { if (appFormItem.SupplierName == null) { appFormItem.SupplierName = ""; } returnsInfo.ReturnsLineItem.Add(appFormItem); } if (appFormItem == null) { break; } } } return(returnsInfo); }
protected override void AttachChildControls() { this.returnsId = System.Convert.ToInt32(this.Page.Request.QueryString["ReturnsId"]); //this.RefundDetails = (Common_OrderManage_OrderItems)this.FindControl("Common_OrderManage_OrderItems"); this.RefundDetails = (VshopTemplatedRepeater)this.FindControl("rptOrderProducts"); this.txtOrderId = (System.Web.UI.WebControls.Literal) this.FindControl("txtOrderId"); this.handleStatus = (System.Web.UI.WebControls.Literal) this.FindControl("handleStatus"); this.litAddDate = (FormatedTimeLabel)this.FindControl("litAddDate"); this.litRemark = (System.Web.UI.WebControls.Literal) this.FindControl("litRemark"); this.litAdminRemark = (System.Web.UI.WebControls.Literal) this.FindControl("litAdminRemark"); this.litWeight = (System.Web.UI.WebControls.Literal) this.FindControl("litWeight"); this.litType = (System.Web.UI.WebControls.Literal) this.FindControl("litType"); this.litTotalPrice = (FormatedMoneyLabel)this.FindControl("litTotalPrice"); this.litRefundTotal = (FormatedMoneyLabel)this.FindControl("litRefundTotal"); this.litOrderTotal = (FormatedMoneyLabel)this.FindControl("litOrderTotal"); this.litLogisticsCompany = (System.Web.UI.WebControls.Literal) this.FindControl("litLogisticsCompany"); this.litLogisticsId = (System.Web.UI.WebControls.Literal) this.FindControl("litLogisticsId"); this.litFeeAffiliation = (System.Web.UI.WebControls.Literal) this.FindControl("litFeeAffiliation"); this.litExpressFee = (System.Web.UI.WebControls.Literal) this.FindControl("litExpressFee"); this.litCustomsClearanceFee = (System.Web.UI.WebControls.Literal) this.FindControl("litCustomsClearanceFee"); if (!this.Page.IsPostBack) { this.BindReturnsTable(this.returnsId); OrderInfo orderInfo = TradeHelper.GetOrderInfo(this.orderId); returnsInfo = TradeHelper.GetReturnsInfo(this.returnsId); if (returnsInfo == null || returnsInfo.Username != HiContext.Current.User.Username) { this.Page.Response.Redirect(Globals.ApplicationPath + "/ResourceNotFound.aspx?errorMsg=" + Globals.UrlEncode("该订单不存在或者不属于当前用户的订单")); return; } this.BindOrderItems(orderInfo); this.BindRefunds(returnsInfo); } }
protected System.Web.UI.WebControls.Literal litCustomsClearanceFee; //收取清关费 protected void Page_Load(object sender, System.EventArgs e) { if (string.IsNullOrEmpty(this.Page.Request.QueryString["ReturnsId"])) { base.GotoResourceNotFound(); return; } string key = "orderdetails-frame"; string script = string.Format("<script>if(window.parent.frames.length == 0) window.location.href=\"{0}\";</script>", Globals.ApplicationPath + "/admin/default.html"); ClientScriptManager clientScript = this.Page.ClientScript; if (!clientScript.IsClientScriptBlockRegistered(key)) { clientScript.RegisterClientScriptBlock(base.GetType(), key, script); } int.TryParse(this.Page.Request.QueryString["returnsId"], out returnsId); this.returnsInfo = OrderHelper.GetReturnsInfo(this.returnsId); this.orderId = returnsInfo.OrderId; if (this.returnsInfo == null) { base.Response.Write("<h3 style=\"color:red;\">退货单不存在,或者已被删除。</h3>"); base.Response.End(); } else { } if (!this.Page.IsPostBack) { BindReturnsData(); } }
/// <summary> /// 领取操作,把处理人改为当前用户,状态改为处理中,领取时间为当前时间 /// </summary> /// <param name="refundInfo"></param> /// <returns></returns> public bool UpdateOrderReturnsInfo(ReturnsInfo returnsInfo) { DbCommand sqlStringCommand = this.database.GetSqlStringCommand("update Ecshop_OrderReturns set HandleStatus = @HandleStatus,Operator=@Operator,ReceiveTime=@ReceiveTime where ReturnsId=@ReturnsId and HandleStatus = 0"); this.database.AddInParameter(sqlStringCommand, "ReturnsId", DbType.Int32, returnsInfo.ReturnsId); this.database.AddInParameter(sqlStringCommand, "HandleStatus", DbType.Int32, returnsInfo.HandleStatus); this.database.AddInParameter(sqlStringCommand, "Operator", DbType.String, returnsInfo.Operator); this.database.AddInParameter(sqlStringCommand, "ReceiveTime", DbType.DateTime, returnsInfo.ReceiveTime); return(this.database.ExecuteNonQuery(sqlStringCommand) > 0); }
public bool CreateReturn(ReturnsInfo returnInfo)//创建退回单 { bool result; if (returnInfo == null) { result = false; } else { Database database = DatabaseFactory.CreateDatabase(); using (System.Data.Common.DbConnection dbConnection = database.CreateConnection()) { dbConnection.Open(); System.Data.Common.DbTransaction dbTransaction = dbConnection.BeginTransaction(); try { if (!UpdateOrderStatusBeApplyForReturns(returnInfo.OrderId, dbTransaction)) { dbTransaction.Rollback(); result = false; return(result); } returnInfo.ReturnsId = AddReturnInfo(returnInfo, dbTransaction); if (returnInfo.ReturnsId <= 0) { dbTransaction.Rollback(); result = false; return(result); } if (returnInfo.ReturnsLineItem.Count > 0) { if (!AddReturnsItem(returnInfo, dbTransaction)) { dbTransaction.Rollback(); result = false; return(result); } } dbTransaction.Commit(); result = true; } catch { dbTransaction.Rollback(); result = false; } finally { dbConnection.Close(); } } } return(result); }
public bool AddReturnsItem(ReturnsInfo returnsInfo, DbTransaction dbTran) { bool result; if (returnsInfo.ReturnsId == 0) { result = false; return(result); } if (returnsInfo.ReturnsLineItem == null || returnsInfo.ReturnsLineItem.Count == 0) { result = false; } else { DbCommand sqlStringCommand = this.database.GetSqlStringCommand(" "); StringBuilder stringBuilder = new StringBuilder(); int num = 0; foreach (OrderAppFormItems lineItem in returnsInfo.ReturnsLineItem) { stringBuilder.Append(" INSERT INTO Ecshop_OrderAppFormItems ([AId],[SkuId],[ProductId],[Quantity],[ItemAdjustedPrice],[ItemDescription],[ThumbnailsUrl],[Weight],[SKUContent],[PromotionId],[PromotionName],[TaxRate],[TemplateId],[storeId],[SupplierId],[ApplyType]) VALUES(").Append("@AId").Append(num).Append(",@SkuId").Append(num).Append(", @ProductId").Append(num).Append(", @Quantity").Append(num).Append(", @ItemAdjustedPrice").Append(num).Append(", @ItemDescription").Append(num).Append(",@ThumbnailsUrl").Append(num).Append(",@Weight").Append(num).Append(", @SKUContent").Append(num).Append(",@PromotionId").Append(num).Append(", @PromotionName").Append(num).Append(",@TaxRate").Append(num).Append(", @TemplateId").Append(num).Append(", @storeId").Append(num).Append(", @SupplierId").Append(num).Append(", @ApplyType").Append(num).Append(")"); this.database.AddInParameter(sqlStringCommand, "AId" + num, DbType.Int32, returnsInfo.ReturnsId); this.database.AddInParameter(sqlStringCommand, "SkuId" + num, DbType.String, lineItem.SkuId); this.database.AddInParameter(sqlStringCommand, "ProductId" + num, DbType.Int32, lineItem.ProductId); this.database.AddInParameter(sqlStringCommand, "Quantity" + num, DbType.Int32, lineItem.Quantity); this.database.AddInParameter(sqlStringCommand, "ItemAdjustedPrice" + num, DbType.String, lineItem.ItemAdjustedPrice); this.database.AddInParameter(sqlStringCommand, "ItemDescription" + num, DbType.String, lineItem.ItemDescription); this.database.AddInParameter(sqlStringCommand, "ThumbnailsUrl" + num, DbType.String, lineItem.ThumbnailsUrl); this.database.AddInParameter(sqlStringCommand, "Weight" + num, DbType.Decimal, lineItem.ItemWeight); this.database.AddInParameter(sqlStringCommand, "SKUContent" + num, DbType.String, lineItem.SKUContent); this.database.AddInParameter(sqlStringCommand, "PromotionId" + num, DbType.Int32, lineItem.PromotionId); this.database.AddInParameter(sqlStringCommand, "PromotionName" + num, DbType.String, lineItem.PromotionName); this.database.AddInParameter(sqlStringCommand, "TaxRate" + num, DbType.Decimal, lineItem.TaxRate); this.database.AddInParameter(sqlStringCommand, "TemplateId" + num, DbType.Int32, lineItem.TemplateId); this.database.AddInParameter(sqlStringCommand, "storeId" + num, DbType.Int32, lineItem.storeId); this.database.AddInParameter(sqlStringCommand, "SupplierId" + num, DbType.Int32, lineItem.SupplierId); this.database.AddInParameter(sqlStringCommand, "ApplyType" + num, DbType.Int32, lineItem.ApplyType); num++; } sqlStringCommand.CommandText = stringBuilder.ToString(); if (dbTran != null) { result = this.database.ExecuteNonQuery(sqlStringCommand, dbTran) > 0; } else { result = this.database.ExecuteNonQuery(sqlStringCommand) > 0; } } return(result); }
/// <summary> /// 退货单领取操作 /// </summary> /// <param name="context"></param> public void OrderReturnsReceive(System.Web.HttpContext context) { context.Response.ContentType = "application/json"; string ReturnsId = context.Request["ReturnsId"]; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("{"); if (string.IsNullOrEmpty(ReturnsId)) { stringBuilder.Append("\"Status\":\"-1\""); stringBuilder.Append("}"); context.Response.Write(stringBuilder.ToString()); return; } IUser user = HiContext.Current.User as SiteManager; ReturnsInfo returnsInfo = new ReturnsInfo(); returnsInfo.ReturnsId = int.Parse(ReturnsId); returnsInfo.ReceiveTime = DateTime.Now; returnsInfo.HandleStatus = 3;//处理中 if (user != null) { returnsInfo.Operator = user.Username; } bool flag = TradeHelper.UpdateOrderReturnsInfo(returnsInfo); if (flag) { stringBuilder.Append("\"Status\":\"OK\""); stringBuilder.Append("}"); } else { stringBuilder.Append("\"Status\":\"-1\""); stringBuilder.Append("}"); } context.Response.Write(stringBuilder.ToString()); }
public int AddReturnInfo(ReturnsInfo ReturnsInfo, DbTransaction dbTran) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append(" insert into Ecshop_OrderReturns(OrderId,ApplyForTime,Comments,HandleStatus,RefundType,RefundMoney,LogisticsCompany,LogisticsId) values(@OrderId,@ApplyForTime,@Comments,0,@RefundType,0,@LogisticsCompany,@LogisticsId);SELECT @@identity "); DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString()); this.database.AddInParameter(sqlStringCommand, "OrderId", DbType.String, ReturnsInfo.OrderId); this.database.AddInParameter(sqlStringCommand, "ApplyForTime", DbType.DateTime, DateTime.Now); this.database.AddInParameter(sqlStringCommand, "Comments", DbType.String, ReturnsInfo.Comments); this.database.AddInParameter(sqlStringCommand, "RefundType", DbType.Int32, ReturnsInfo.RefundType); this.database.AddInParameter(sqlStringCommand, "HandleStatus", DbType.Int32, 0); this.database.AddInParameter(sqlStringCommand, "RefundMoney", DbType.Decimal, ReturnsInfo.GetAmount()); this.database.AddInParameter(sqlStringCommand, "LogisticsCompany", DbType.String, ReturnsInfo.LogisticsCompany); this.database.AddInParameter(sqlStringCommand, "LogisticsId", DbType.String, ReturnsInfo.LogisticsId); int returnsId; object obj; if (dbTran != null) { obj = this.database.ExecuteScalar(sqlStringCommand, dbTran); } else { obj = this.database.ExecuteScalar(sqlStringCommand); } if (obj != DBNull.Value) { returnsId = Convert.ToInt32(obj); } else { returnsId = 0; } return(returnsId); }
private void BindRefunds(ReturnsInfo returnsInfo) { this.RefundDetails.DataSource = returnsInfo.ReturnsLineItem; this.RefundDetails.DataBind(); }
public bool CheckReturn(ReturnsInfo returns, bool accept, [Optional, DecimalConstant(0, 0, (uint)0, (uint)0, (uint)1)] decimal PointsRate, [Optional, DecimalConstant(0, 0, (uint)0, (uint)0, (uint)0)] decimal RefundAmount, OrderInfo order = null) { //if (order == null) //{ // order = new OrderDao().GetOrderInfo(returns.OrderId); // if (order == null) // { // return false; // } //} //if (RefundAmount <= 0M) //{ // RefundAmount = returns.RefundMoney; //} //decimal num = (int) (returns.RefundMoney / PointsRate); //decimal num2 = RefundAmount; //StringBuilder builder = new StringBuilder(); //if (!accept) //{ // if (string.IsNullOrEmpty(returns.SkuId)) // { // builder.Append("UPDATE Hishop_Orders SET OrderStatus = @OrderStatus WHERE OrderId = @OrderId;"); // } // else // { // builder.Append("UPDATE Hishop_OrderItems SET Status = @ItemStatus WHERE OrderId = @OrderId AND SkuId = @SkuId;"); // } // builder.Append("UPDATE Hishop_OrderReturns set Operator=@Operator, AdminRemark=@AdminRemark,HandleStatus=@HandleStatus,HandleTime=@HandleTime,RefundMoney=@RefundMoney WHERE OrderId = @OrderId"); // if (!(string.IsNullOrEmpty(returns.SkuId) && !(returns.SkuId != ""))) // { // builder.Append(" AND SkuId = @SkuId"); // } // else // { // builder.Append(" AND (SkuId='' OR SkuId IS NULL)"); // } // builder.Append(";"); //} //else //{ // builder.AppendFormat("UPDATE Hishop_Orders SET FinishDate = CASE WHEN FinishDate IS NULL THEN GETDATE() ELSE FinishDate END WHERE OrderId = @OrderId AND OrderStatus = {0};", 5); // if (string.IsNullOrEmpty(returns.SkuId)) // { // builder.Append("UPDATE Hishop_Orders SET OrderStatus = @OrderStatus,RefundAmount = @OrderRefundMoney WHERE OrderId = @OrderId;"); // } // else // { // bool flag = true; // foreach (LineItemInfo info in order.LineItems.Values) // { // if ((info.Status == LineItemStatus.Refunded) || (info.Status == LineItemStatus.Returned)) // { // if ((info.RefundInfo != null) && (info.Status == LineItemStatus.Refunded)) // { // num2 += info.RefundInfo.RefundAmount; // } // if ((info.ReturnInfo != null) && (info.Status == LineItemStatus.Returned)) // { // num2 += info.ReturnInfo.RefundMoney; // } // } // if ((info.SkuId != returns.SkuId) && (info.Status != LineItemStatus.Returned)) // { // flag = false; // } // } // if (flag) // { // builder.Append("UPDATE Hishop_Orders SET OrderStatus = @OrderStatus WHERE OrderId = @OrderId;"); // } // builder.Append("UPDATE Hishop_Orders SET RefundAmount = @OrderRefundMoney WHERE OrderId = @OrderId;"); // builder.Append("UPDATE Hishop_OrderItems SET RefundAmount = @RefundMoney, Status = @ItemStatus, RealTotalPrice = (ItemAdjustedPrice * Quantity - @RefundMoney) WHERE OrderId = @OrderId AND SkuId = @SkuId;"); // } // builder.Append(" UPDATE Hishop_OrderReturns SET Operator = @Operator, AdminRemark = @AdminRemark,HandleStatus = @HandleStatus,HandleTime = @HandleTime,RefundMoney = @RefundMoney where OrderId = @OrderId"); // if (!string.IsNullOrEmpty(returns.SkuId)) // { // builder.Append(" AND SkuId = @SkuId"); // } // else // { // builder.Append(" AND (SkuId='' OR SkuId IS NULL)"); // } // builder.Append(";"); // if ((returns.RefundType == RefundTypes.InBalance) && accept) // { // string orderId = returns.OrderId; // if (!string.IsNullOrEmpty(returns.SkuId)) // { // if (!order.LineItems.ContainsKey(returns.SkuId)) // { // return false; // } // orderId = returns.OrderId + " 商品 " + order.LineItems[returns.SkuId].ItemDescription + " "; // } // builder.Append(" INSERT INTO Hishop_BalanceDetails(UserId,UserName,TradeDate,TradeType,Income"); // builder.AppendFormat(",Balance,Remark) select UserId,Username,getdate() as TradeDate,{0} as TradeType,", 7); // builder.Append("@RefundMoney as Income,ISNULL((SELECT TOP 1 Balance from Hishop_BalanceDetails b"); // builder.AppendFormat(" WHERE b.UserId=a.UserId order by JournalNumber desc),0)+@RefundMoney as Balance,'订单{0}退货' as Remark ", orderId); // builder.Append("FROM Hishop_Orders a WHERE OrderId = @OrderId;"); // } //} //DbCommand sqlStringCommand = this.database.GetSqlStringCommand(builder.ToString()); //if (accept) //{ // this.database.AddInParameter(sqlStringCommand, "OrderStatus", DbType.Int32, 10); // this.database.AddInParameter(sqlStringCommand, "HandleStatus", DbType.Int32, 1); // this.database.AddInParameter(sqlStringCommand, "ItemStatus", DbType.Int32, 0x18); //} //else //{ // this.database.AddInParameter(sqlStringCommand, "OrderStatus", DbType.Int32, 3); // this.database.AddInParameter(sqlStringCommand, "HandleStatus", DbType.Int32, 2); // this.database.AddInParameter(sqlStringCommand, "ItemStatus", DbType.Int32, 0x19); //} //this.database.AddInParameter(sqlStringCommand, "OrderRefundMoney", DbType.Decimal, num2); //this.database.AddInParameter(sqlStringCommand, "RefundPoint", DbType.Int32, num); //this.database.AddInParameter(sqlStringCommand, "OrderId", DbType.String, returns.OrderId); //this.database.AddInParameter(sqlStringCommand, "Operator", DbType.String, returns.Operator); //this.database.AddInParameter(sqlStringCommand, "AdminRemark", DbType.String, returns.AdminRemark); //this.database.AddInParameter(sqlStringCommand, "HandleTime", DbType.DateTime, returns.HandleTime); //this.database.AddInParameter(sqlStringCommand, "RefundMoney", DbType.Decimal, RefundAmount); //this.database.AddInParameter(sqlStringCommand, "SkuId", DbType.String, returns.SkuId); //return (this.database.ExecuteNonQuery(sqlStringCommand) > 0); return(false); }