using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using System.Web.UI;
|
using System.Web.UI.WebControls;
|
using CY.Model;
|
using CY.BLL.OA;
|
using CY.Infrastructure.Common;
|
using CY.BLL.Sys;
|
using CY.BLL;
|
namespace CY.WebForm.Pages.financial
|
{
|
//吴辉
|
//汇款确认
|
public partial class PayConfirm : BasePage
|
{
|
OA_RemittanceAdviceBLL _OA_RemittanceAdviceBLL = null;
|
OA_FirmAccountBLL _OA_FirmAccountBLL = null;
|
OA_SubjectSetBLL _OA_SubjectSetBLL = null;
|
Sys_DictionaryBLL _Sys_DictionaryBLL = null;
|
OA_CorporateClientsBLL bll_OA_CorporateClientsBLL = null;
|
OA_AdvanceMoneyRecordBLL bll_OA_AdvanceMoneyRecordBLL = null;
|
|
public string IsAdmin;
|
|
public PayConfirm()
|
{
|
_OA_SubjectSetBLL = new OA_SubjectSetBLL();
|
_OA_FirmAccountBLL = new OA_FirmAccountBLL();
|
_OA_RemittanceAdviceBLL = new OA_RemittanceAdviceBLL();
|
_Sys_DictionaryBLL = new Sys_DictionaryBLL();
|
bll_OA_CorporateClientsBLL = new OA_CorporateClientsBLL();
|
bll_OA_AdvanceMoneyRecordBLL = new OA_AdvanceMoneyRecordBLL();
|
}
|
|
protected void Page_Load(object sender, EventArgs e)
|
{
|
IsAdmin = (CurrentUser.MemberType == "管理员" ? "1" : "0");
|
try
|
{
|
switch (Request["DataType"])
|
{
|
case "change":
|
Response.Write(reLoadAccountName(Request["TypeName"].ToString2()));
|
break;
|
default://一般情况不处理
|
if (IsPostBack || IsCallback)
|
return;
|
else
|
{
|
InitialData();
|
BindList();
|
}
|
return;
|
}
|
}
|
catch (Exception ex)
|
{
|
PAGEHandleException(ex);
|
Response.Clear();
|
Response.Write("-1");
|
}
|
Response.End();
|
}
|
|
protected string reLoadAccountName(string selAcoountType)
|
{
|
return JsonHelper.GetJsonStringByObject(_OA_FirmAccountBLL.getAllSubject(CurrentUser.MemberId, selAcoountType));
|
}
|
|
protected void BindList()
|
{
|
OA_RemittanceAdvice remittanceAdvice = _OA_RemittanceAdviceBLL.SelectSingleModel(Request["Keyid"].ToString2());
|
|
if (Request["type"] == "ReceiveFirmName")
|
{
|
this.tdFirm.InnerText = "收款厂商:";
|
this.spanFirm.InnerText = remittanceAdvice.ReceiveFirmName;
|
}
|
else
|
{
|
this.tdFirm.InnerText = "汇款厂商:";
|
this.spanFirm.InnerText = remittanceAdvice.RemittanceFirmName;
|
}
|
|
this.spanRemittanceBankId.InnerText = remittanceAdvice.RemittanceBankName;
|
this.spanRemittanceMoney.InnerText = remittanceAdvice.RemittanceMoney.ToString2();
|
this.spanSureMoney.Value = remittanceAdvice.RemittanceMoney.ToString2();
|
this.txtRemark.InnerHtml = remittanceAdvice.Remark;
|
this.txtInAccountMoney.Value = remittanceAdvice.RemittanceMoney.ToString2();
|
}
|
|
protected void InitialData()
|
{
|
//科目名称
|
this.selSubject.DataSource = _OA_SubjectSetBLL.getAllSubject(CurrentUser.MemberId, "借");
|
this.selSubject.DataBind();
|
this.selSubject.Items.Insert(0, new ListItem("请选择", ""));
|
|
//账户类型
|
this.selAcoountType.DataSource = _Sys_DictionaryBLL.GetDataByType("账户类型");
|
this.selAcoountType.DataBind();
|
}
|
|
protected void btn_Submit_Click(object sender, EventArgs e)
|
{
|
try
|
{
|
OA_RemittanceAdvice remittanceAdvice = _OA_RemittanceAdviceBLL.SelectSingleModel(Request["Keyid"].ToString2());
|
decimal PayMoney = this.spanSureMoney.Value.ToDecimal2() ?? 0;
|
decimal IncomeMoney = this.txtInAccountMoney.Value.ToDecimal2() ?? 0;
|
|
if (PayMoney < 0)
|
{
|
JavaScript.MessageBox("请填写大于 0 的确认金额",this,false,false);
|
return;
|
}
|
if (PayMoney > remittanceAdvice.RemittanceMoney)
|
{
|
JavaScript.MessageBox("确认金额 不能大于 汇款金额", this, false, false);
|
return;
|
}
|
if (IncomeMoney > PayMoney)
|
{
|
JavaScript.MessageBox("预付款存入金额 不能大于 确认金额", this, false, false);
|
return;
|
}
|
|
remittanceAdvice.SuerMoney = PayMoney;
|
remittanceAdvice.SuerPerson = CurrentUser.ShortName;
|
remittanceAdvice.SuerTime = DateTime.Now;
|
remittanceAdvice.TrandingStatus = 1;
|
_OA_RemittanceAdviceBLL.UpdateModel(remittanceAdvice);
|
|
OA_FirmAccount firmAccount = new OA_FirmAccount();
|
firmAccount = _OA_FirmAccountBLL.getSingleSubject(Request["selAccountName"].ToInt32());
|
firmAccount.AllIncome = firmAccount.AllIncome + PayMoney;
|
firmAccount.Balance = firmAccount.Balance + PayMoney;
|
|
OA_FirmAccountRecord firmAccountRecord = new OA_FirmAccountRecord();
|
firmAccountRecord.AccountId = Request["selAccountName"].ToInt32();
|
firmAccountRecord.LastUpdateTime = DateTime.Now;
|
firmAccountRecord.Money = PayMoney;
|
firmAccountRecord.OperationalMatters = " ";
|
firmAccountRecord.Operator = CurrentUser.ShortName;
|
firmAccountRecord.PaymentUnit = this.spanFirm.InnerText;
|
firmAccountRecord.RecordTypeId = 1;//收入
|
firmAccountRecord.Remark = " ";
|
firmAccountRecord.SubjectId = selSubject.Value.ToInt32();
|
firmAccountRecord.ResidualAmount = firmAccount.Balance;
|
firmAccountRecord.Department = "";
|
|
if (IncomeMoney >0)
|
{
|
if (CurrentUser.MemberType == "管理员")
|
{
|
Guid nowGuid = remittanceAdvice.RemittanceFirmId;
|
EC_MemberBasicBLL bll_EC_MemberBasicBLL = new EC_MemberBasicBLL();
|
Pay_PaymentAccountBLL bll_Pay_PaymentAccountBLL = new Pay_PaymentAccountBLL();
|
Pay_PaymentAccount m_Pay_PaymentAccount = bll_EC_MemberBasicBLL.GetPaymentAccountByMemberId(nowGuid);
|
CY.Model.Pay.Pay_Request m_Pay_Request = null;
|
|
m_Pay_Request = new Model.Pay.Pay_Request();
|
m_Pay_Request.Payeeid = m_Pay_PaymentAccount.Keyid ?? 0;
|
m_Pay_Request.Payerid = AdminAccount.Keyid ?? 0;
|
m_Pay_Request.Paymoney = IncomeMoney;
|
m_Pay_Request.Subject = "线下转账充值";
|
m_Pay_Request.BalanceAccount = 0;
|
m_Pay_Request.UsedCredit = -1;
|
|
bool IsSuccess = bll_Pay_PaymentAccountBLL.RechargeSuccesUnLine(m_Pay_PaymentAccount,m_Pay_Request);
|
//if (IsSuccess)
|
//{
|
// m_Pay_PaymentAccount = bll_EC_MemberBasicBLL.GetPaymentAccountByMemberId(nowGuid);
|
// bll_Pay_PaymentAccountBLL.SendPoOrMoToMember(nowGuid, 86, IncomeMoney);
|
//}
|
}
|
else
|
{
|
OA_CorporateClients m_OA_CorporateClients = bll_OA_CorporateClientsBLL.SelectModelByFirmIdandMemberId(CurrentUser.MemberId, remittanceAdvice.RemittanceFirmId);
|
m_OA_CorporateClients.Prepayments = m_OA_CorporateClients.Prepayments + IncomeMoney;
|
bll_OA_CorporateClientsBLL.UpdateModel(m_OA_CorporateClients);
|
|
OA_AdvanceMoneyRecord m_OA_AdvanceMoneyRecord = new OA_AdvanceMoneyRecord();
|
m_OA_AdvanceMoneyRecord.CustomerId = m_OA_CorporateClients.Keyid;
|
m_OA_AdvanceMoneyRecord.OperatTypeId = _Sys_DictionaryBLL.GetNameByMeanValue(1, "客户预付款明细类型");
|
m_OA_AdvanceMoneyRecord.OperatMoney = PayMoney;
|
m_OA_AdvanceMoneyRecord.SubjectName = PayMoney > 0 ? "预付款收入" : "预付款收入(负)";
|
m_OA_AdvanceMoneyRecord.AccountType = firmAccount.AccountType;
|
m_OA_AdvanceMoneyRecord.AccountName = firmAccount.AccountName + "-" + firmAccount.UserName;
|
m_OA_AdvanceMoneyRecord.LastUpdateTime = DateTime.Now;
|
m_OA_AdvanceMoneyRecord.Operator = CurrentUser.ShortName.ToString2();
|
m_OA_AdvanceMoneyRecord.Remark = "来自 客户汇款";
|
bll_OA_AdvanceMoneyRecordBLL.InsertModel(m_OA_AdvanceMoneyRecord);
|
}
|
}
|
|
OA_FirmAccountRecordBLL _OA_FirmAccountRecordBLL = new OA_FirmAccountRecordBLL();
|
if (_OA_FirmAccountRecordBLL.AddModel(firmAccountRecord, firmAccount))
|
JavaScript.RefreshDIVOpener(this);
|
else
|
JavaScript.MessageBox("操作失败", this);
|
}
|
catch (Exception ex)
|
{
|
PAGEHandleException(ex);
|
JavaScript.MessageBox("操作失败", this);
|
}
|
}
|
}
|
}
|