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 feeDoEntities = new List(); 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 feeEntities = new List(); 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"; } } } } } }