You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Settlements/CommonPayApplicationSettlem...

206 lines
10 KiB
C#

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using DSWeb.Models;
using DSWeb.EntityDA;
using System.Collections.Generic;
namespace DSWeb.Settlements
{
public partial class CommonPayApplicationSettlement : System.Web.UI.Page
{
private string strAppID;//付费申请表GID
private string strBillNO;//申请单号
private string strUserID;//用户GID
private int iSettleStatus = 0;//结算状态 值为1表示进行本次付费结算
private string strModuleName;//模块名称
private string strCompanyID;//公司GID
private string strShowName;//用户显示名
private string strDeptName;//部门名称
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString();
}
if (Session["SHOWNAME"] != null)
{
strShowName = Session["SHOWNAME"].ToString();
}
if (Session["COMPANYID"] != null)
{
strCompanyID = Session["COMPANYID"].ToString();
}
if (Session["DEPTNAME"] != null)
{
strDeptName = Session["DEPTNAME"].ToString();
}
if (Request.QueryString["id"] != null)
{
strAppID = Request.QueryString["id"].ToString();
this.h_id.Value = strAppID;
FeePaySettleApplicationDA feePaySettleApplicationDA = new FeePaySettleApplicationDA();
FeePayApplicationEntity feePayApplicationEntity = new FeePayApplicationEntity();
feePayApplicationEntity = feePaySettleApplicationDA.GetFeePayApplicationByGID(strAppID);
if (feePayApplicationEntity.GID != null)
{
int iBillStatus = feePayApplicationEntity.BillStatus;
string strBillStatus = "";
switch (iBillStatus)
{
case 1:
strBillStatus = "未提交";
break;
case 2:
strBillStatus = "已提交";
break;
case 3:
strBillStatus = "审批中";
break;
case 4:
strBillStatus = "已结算";
break;
case 5:
strBillStatus = "部分结算";
break;
case 6:
strBillStatus = "审核驳回";
break;
default:
strBillStatus = "已审批";
break;
}
this.txt_billStatus.Value = strBillStatus;
this.txt_applyTime.Value = feePayApplicationEntity.ApplyTime.ToString();//申请时间
UserDA UserDA = new UserDA();
UserEntity userEntity = UserDA.GetUserSignByID(feePayApplicationEntity.Applicant);
this.txt_applicant.Value = userEntity.ShowName;//申请人
this.txt_customerName.Value = feePayApplicationEntity.CustomerName;//结算单位
this.txt_chequePayable.Value = feePayApplicationEntity.ChequePayable;//支票抬头
this.sel_settlemode.Value = feePayApplicationEntity.SettleType.ToString();//结算方式
this.txt_payableDate.Value = feePayApplicationEntity.PayableTime == DateTime.MinValue ? "" : feePayApplicationEntity.PayableTime.ToString("yyyy-MM-dd");//要求结算时间
}
}
if (Request.QueryString["billno"] != null)
{
strBillNO = Request.QueryString["billno"].ToString();
this.txt_billNO.Value = strBillNO;
this.h_billno.Value = strBillNO;
}
if (Request.QueryString["mod"] != null)
{
strModuleName = Request.QueryString["mod"].ToString();
h_mod.Value = strModuleName;
}
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString();
this.h_user.Value = strUserID;
}
if (!this.h_settle.Value.Trim().Equals(""))
{
int iResult = 0;
iSettleStatus = int.Parse(this.h_settle.Value.Trim());
if (iSettleStatus == 1)
{
string strSettleBillNO = this.h_billno.Value.Trim();
//先获取所有申请费用信息,通过ch_fee_do表获取BILLNO下所有费用信息到实体类
FeeDoDA feeDoDA = new FeeDoDA();
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
feeDoEntities = feeDoDA.GetFeeDoByBillNO(strSettleBillNO);
if (feeDoEntities.Count > 0)
{
FeePayApplicationEntity feePayApplicationEntity = new FeePayApplicationEntity();
FeePaySettleApplicationDA feePaySettleApplicationDA = new FeePaySettleApplicationDA();
feePayApplicationEntity = feePaySettleApplicationDA.GetFeePayApplicationByBillNO(strSettleBillNO, strCompanyID);
FeeSettlementEntity feeSettlementEntity = new FeeSettlementEntity();
if (feePayApplicationEntity.GID != null)
{
//ch_fee_payapplication
feePayApplicationEntity.SettleRMB = feePayApplicationEntity.AmountRMB;
feePayApplicationEntity.SettleUSD = feePayApplicationEntity.AmountUSD;
feePayApplicationEntity.SettleRate = feePayApplicationEntity.Rate;
feePayApplicationEntity.SettleUser = strUserID;
if (this.txt_applyTime.Value.Trim() != "" && this.txt_applyTime.Value.Trim().IndexOf("0001") < 0)
{
feePayApplicationEntity.SettleTime = DateTime.Parse(this.txt_applyTime.Value.Trim());
}
feePayApplicationEntity.BillStatus = 4;
//ch_fee_settlement
feeSettlementEntity.GID = Guid.NewGuid().ToString();
feeSettlementEntity.BillNO = strSettleBillNO;
feeSettlementEntity.SettleMode = 2;
feeSettlementEntity.CustomerName = this.txt_customerName.Value.Trim();
feeSettlementEntity.AmountRMB = feePayApplicationEntity.AmountRMB;
feeSettlementEntity.Rate = feePayApplicationEntity.Rate;
feeSettlementEntity.AmountUSD = feePayApplicationEntity.AmountUSD;
feeSettlementEntity.BillType = 2;
feeSettlementEntity.SettleUser = strUserID;
feeSettlementEntity.BillStatus = 1;
feeSettlementEntity.CompanyID = strCompanyID;
feeSettlementEntity.AuditUser = strUserID;
//预收预付自由结算时,赋值
feeSettlementEntity.ACCOUNTS_CURRENCY = (feeSettlementEntity.AmountUSD == 0) ? "RMB" : "USD";//记账资料_币别
feeSettlementEntity.ACCOUNTS_RATE = feeSettlementEntity.Rate;//记账资料_汇率
feeSettlementEntity.ACCOUNTS_MONEY = (feeSettlementEntity.AmountUSD == 0) ? feeSettlementEntity.AmountRMB : feeSettlementEntity.AmountUSD;//记账资料_金额
feeSettlementEntity.PREPAY_CURRENCY = (feeSettlementEntity.AmountUSD == 0) ? "RMB" : "USD";//预付支资料_币别
feeSettlementEntity.PREPAY_RATE = feeSettlementEntity.Rate;//预付支资料_汇率
feeSettlementEntity.PREPAY_MONEY = 0;//预付支资料_金额
feeSettlementEntity.AHSR_CURRENCY = (feeSettlementEntity.AmountUSD == 0) ? "RMB" : "USD";//实付支资料_币别
feeSettlementEntity.AHSR_RATE = feeSettlementEntity.Rate;//实付支资料_汇率
feeSettlementEntity.AHSR_MONEY = (feeSettlementEntity.AmountUSD == 0) ? feeSettlementEntity.AmountRMB : feeSettlementEntity.AmountUSD;//实付支资料_金额
feeSettlementEntity.FINANCIAL_CURRENCY = (feeSettlementEntity.AmountUSD == 0) ? "RMB" : "USD";//财务费用_币别
feeSettlementEntity.FINANCIAL_RATE = feeSettlementEntity.Rate;//财务费用_汇率
feeSettlementEntity.FINANCIAL_MONEY = 0;//财务费用_金额
feeSettlementEntity.ADVANCE_CURRENCY = (feeSettlementEntity.AmountUSD == 0) ? "RMB" : "USD";//预付支取用资料_币别
feeSettlementEntity.ADVANCE_RATE = feeSettlementEntity.Rate;//预付支取用资料_汇率
feeSettlementEntity.ADVANCE_MONEY = 0;//预付支取用资料_金额
}
FeeDA feeDA = new FeeDA();
IList<FeeEntity> feeEntities = new List<FeeEntity>();
foreach (FeeDoEntity tempFeeDoEntity in feeDoEntities)
{
FeeEntity feeEntity = new FeeEntity();
feeEntity = feeDA.GetFeeByID(tempFeeDoEntity.FeeID);
feeEntities.Add(feeEntity);
}
iResult = feePaySettleApplicationDA.SettleFeePayApplication(feeSettlementEntity, feePayApplicationEntity, feeDoEntities, strCompanyID, strUserID,null,null);
}
if (iResult > 0)
{
this.btn_settle.Disabled = true;
this.h_settle.Value = "0";
}
}
}
}
}
}