/// <summary> /// 计算已付款 /// </summary> /// <param name="orderId"></param> /// <returns></returns> protected string GetPayed(string orderId) { string totle = string.Empty; decimal remPrice = 0; decimal payPrice = 0; decimal prePrice = 0; //银行支付 ShowShop.BLL.Order.RemittanceInfo remBll = new ShowShop.BLL.Order.RemittanceInfo(); List<ShowShop.Model.Order.RemittanceInfo> remdate = remBll.GetAll("orderid='" + orderId + "'"); if (remdate.Count > 0) { foreach (ShowShop.Model.Order.RemittanceInfo da in remdate) { remPrice += Convert.ToDecimal(da.RemittanceMoney.ToString()); } } //现金支付 ShowShop.BLL.Order.PaymentMoney payBll = new ShowShop.BLL.Order.PaymentMoney(); List<ShowShop.Model.Order.PaymentMoney> paydata = payBll.GetAll("orderid='" + orderId + "'"); if (paydata.Count > 0) { foreach (ShowShop.Model.Order.PaymentMoney da in paydata) { payPrice += Convert.ToDecimal(da.GatheringMoney.ToString()); } } //预付款 ShowShop.BLL.Order.PrepayMoney preBll = new ShowShop.BLL.Order.PrepayMoney(); List<ShowShop.Model.Order.PrepayMoney> predata = preBll.GetAll("orderid='" + orderId + "'"); if (predata.Count > 0) { foreach (ShowShop.Model.Order.PrepayMoney da in predata) { prePrice += Convert.ToDecimal(da.PayoutMoney); } } totle = (remPrice + payPrice + prePrice).ToString(); return totle; }
/// <summary> /// 列表 /// </summary> /// <returns></returns> protected string GetMoneyList(string orderId) { ChangeHope.WebPage.Table table = new ChangeHope.WebPage.Table(); //银行资金 ShowShop.BLL.Order.RemittanceInfo remBll = new ShowShop.BLL.Order.RemittanceInfo(); ChangeHope.DataBase.DataByPage remData = remBll.GetList(" 1=1 and orderid='" + orderId + "'"); //预付款 ShowShop.BLL.Order.PrepayMoney preBll = new ShowShop.BLL.Order.PrepayMoney(); ChangeHope.DataBase.DataByPage preData = preBll.GetList(" 1=1 and orderid='" + orderId + "'"); //现金付款 ShowShop.BLL.Order.PaymentMoney payBll = new ShowShop.BLL.Order.PaymentMoney(); ChangeHope.DataBase.DataByPage payData = payBll.GetList(" 1=1 and orderid='" + orderId + "'"); //第一步先添加表头 table.AddHeadCol("", "客户名称"); table.AddHeadCol("", "交易时间"); table.AddHeadCol("", "交易方式"); table.AddHeadCol("", "交易金额"); table.AddHeadCol("", "备注/说明"); table.AddHeadCol("", "赠送点卷"); table.AddRow(); //添加银行付款的内容 if (remData.DataReader != null) { while (remData.DataReader.Read()) { table.AddCol(remData.DataReader["username"].ToString()); table.AddCol(remData.DataReader["remittancedate"].ToString()); table.AddCol("银行支付"); if (remData.DataReader["remittancemoney"].ToString() == "0") { table.AddCol(""); } else { table.AddCol(remData.DataReader["remittancemoney"].ToString()); } table.AddCol(remData.DataReader["remark"].ToString()); table.AddCol(remData.DataReader["presentticket"].ToString()); table.AddRow(); } } //添加预付款的内容 if (preData.DataReader != null) { while (preData.DataReader.Read()) { table.AddCol(preData.DataReader["username"].ToString()); table.AddCol(preData.DataReader["notedate"].ToString()); table.AddCol("预付款支付"); table.AddCol(preData.DataReader["payoutmoney"].ToString()); table.AddCol(preData.DataReader["remark"].ToString()); table.AddCol("0"); table.AddRow(); } } //添加现金付款的内容 if (payData.DataReader != null) { while (payData.DataReader.Read()) { table.AddCol(payData.DataReader["username"].ToString()); table.AddCol(payData.DataReader["gatheringdate"].ToString()); table.AddCol("现金付款"); table.AddCol(payData.DataReader["gatheringmoney"].ToString()); table.AddCol(payData.DataReader["remark"].ToString()); table.AddCol(payData.DataReader["presentticket"].ToString()); table.AddRow(); } } string view = table.GetTable(); remData.Dispose(); remData = null; preData.Dispose(); preData = null; payData.Dispose(); payData = null; return view; }
protected void lbtnSave_Click(object sender, EventArgs e) { ShowShop.Model.Admin.AdminInfo adminInfo = (ShowShop.Model.Admin.AdminInfo)ShowShop.Common.AdministrorManager.Get(); if (Convert.ToDecimal(this.txtRefundmentMoney.Text.Trim()) + Convert.ToDecimal(this.txtPoundAge.Text.Trim()) > Convert.ToDecimal(GetPayed(this.lblOrderId.Text))) { this.ltlMsg.Text = "退款的金额不能大于已付的金额!"; this.pnlMsg.Visible = true; this.pnlMsg.CssClass = "actionErr"; return; } //银行支付 ShowShop.BLL.Order.RemittanceInfo remBll = new ShowShop.BLL.Order.RemittanceInfo(); ShowShop.Model.Order.RemittanceInfo remModel = remBll.GetModelByOrderId(this.lblOrderId.Text); //现金支付 ShowShop.BLL.Order.PaymentMoney payBll = new ShowShop.BLL.Order.PaymentMoney(); ShowShop.Model.Order.PaymentMoney payModel = payBll.GetModelByOrderId(this.lblOrderId.Text); //预付款 ShowShop.BLL.Order.PrepayMoney preBll = new ShowShop.BLL.Order.PrepayMoney(); ShowShop.Model.Order.PrepayMoney preModel = preBll.GetModelByOrderId(this.lblOrderId.Text); //订单信息 ShowShop.BLL.Order.Orders orderBll = new ShowShop.BLL.Order.Orders(); ShowShop.Model.Order.Orders orderModel = orderBll.GetModel(this.lblOrderId.Text); #region 退款信息 ShowShop.BLL.Order.RefundMent refBll = new ShowShop.BLL.Order.RefundMent(); ShowShop.Model.Order.RefundMent refModel = new ShowShop.Model.Order.RefundMent(); refModel.OrderId = this.lblOrderId.Text; refModel.UserName = this.lblUserId.Text; refModel.PaymentDate = Convert.ToDateTime(this.txtPaymentDate.Text); refModel.PoundAge = Convert.ToDecimal(this.txtPoundAge.Text.Trim()); refModel.RefundMentMoney = Convert.ToDecimal(this.txtRefundmentMoney.Text.Trim()); refModel.RefundMentMode = this.rabRefundmentMode.SelectedItem.Text; refModel.Remark = this.txtRemark.Text; refModel.InformMode = GetInforMode(cbxInformMode)["txt"]; //通知方式 refModel.NoteDate = DateTime.Now; refModel.NoteName = adminInfo.AdminName; #endregion #region 用户交易明细 ShowShop.Model.Member.UserinAndExp userModel = new ShowShop.Model.Member.UserinAndExp(); ShowShop.BLL.Member.UserinAndExp userBll = new ShowShop.BLL.Member.UserinAndExp(); //银行资金的明细 userModel.UID = this.GetUidByUserId(this.lblUserId.Text); userModel.AdsumMoneyDate = Convert.ToDateTime(this.txtPaymentDate.Text); userModel.AdsumMoney = Convert.ToDecimal(this.txtRefundmentMoney.Text); userModel.PresentCoupons = 0; userModel.RemitMode = 1; userModel.RemitBank = string.Empty; userModel.Remark = this.txtRemark.Text; userModel.FormMode = GetInforMode(cbxInformMode)["txt"]; //通知方式 userModel.BosomNote = this.txtBosomNote.Text; userModel.NoteDate = DateTime.Now; userModel.NoteName = adminInfo.AdminName; userModel.InComeandExpState = 0; userModel.State = 0; userModel.UserId = this.lblUserId.Text; #endregion try { if (refModel.RefundMentMoney == orderModel.FactPrice)//如果退款和订单价 匹配 { remBll.Delete(remModel.ID.ToString()); payBll.Delete(payModel.ID.ToString()); preBll.Delete(preModel.ID.ToString()); } else { if (remModel.RemittanceMoney > 0) //银行汇款 { if (remModel.RemittanceMoney <= refModel.RefundMentMoney) { remBll.Delete(remModel.ID.ToString()); } else { remModel.RemittanceMoney = remModel.RemittanceMoney - refModel.RefundMentMoney; remBll.Amend(remModel); } } if (preModel.PayoutMoney > 0) //预付款 { if (preModel.PayoutMoney <= refModel.RefundMentMoney) { preBll.Delete(preModel.ID.ToString()); } else { preModel.PayoutMoney = (preModel.PayoutMoney + remModel.RemittanceMoney) - refModel.RefundMentMoney; preBll.Amend(preModel); } } if (payModel.GatheringMoney > 0) //现金支付 { if (payModel.GatheringMoney == (refModel.RefundMentMoney - remModel.RemittanceMoney - preModel.PayoutMoney)) { payBll.Delete(payModel.ID.ToString()); } else { payModel.GatheringMoney = (remModel.RemittanceMoney + preModel.PayoutMoney + payModel.GatheringMoney) - refModel.RefundMentMoney; payBll.Amend(payModel); } } } refBll.Add(refModel); //退款信息 userBll.Add(userModel); //明细记录 //已付款 decimal payTotail = Convert.ToDecimal(this.GetPayed(this.lblOrderId.Text)); if ((payTotail - (Convert.ToDecimal(this.txtRefundmentMoney.Text.Trim()))) < 0) { orderModel.PaymentStatus = ShowShop.Common.OrdersStatusEnum.PaymentStatu.等待汇款.GetHashCode(); } else { orderModel.PaymentStatus = ShowShop.Common.OrdersStatusEnum.PaymentStatu.已收定金.GetHashCode(); } orderModel.OrderStatus = ShowShop.Common.OrdersStatusEnum.OrderStatu.已经确认.GetHashCode(); orderBll.Update(orderModel); ChangeHope.WebPage.BasePage.PageRight("已保存该信息.", "order_bank_pay.aspx?OrderId=" + orderModel.Id, "<li><a href='order_order_info.aspx?OrderId=" + orderModel.Id.ToString() + "'>返回信息页</a></li>"); } catch { this.ltlMsg.Text = "操作失败!"; this.pnlMsg.Visible = true; this.pnlMsg.CssClass = "actionErr"; } finally { adminInfo = null; remModel = null; remBll = null; userModel = null; userBll = null; payBll = null; payModel = null; preBll = null; preModel = null; orderBll = null; orderModel = null; GC.Collect(); } }