395 lines
20 KiB
C#
395 lines
20 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.ServiceModel;
|
||
using SuperMap.RealEstate.Utility;
|
||
using SuperMap.RealEstate.Web.UI;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.Web.Utility;
|
||
using Storage = SuperMap.RealEstate.HighWay.Storage;
|
||
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
|
||
using SuperMap.RealEstate.HighWay.Common;
|
||
|
||
namespace SuperMap.RealEstate.HighWay.Compents.ExpenseBill
|
||
{
|
||
public partial class Default : UserControl<Running.Business.EXPENSEBILL>
|
||
{
|
||
Running.Business.HIGHWAYPROINST _HighWayProInst = null;
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
try
|
||
{
|
||
if (CurrObject != null && CurrObject.PropertyObject != null)
|
||
{
|
||
//初始化并加载列表
|
||
GridViewEx1.SelectingWithInit<Running.Business.EXPENSEDETAIL>(ObjectDataSource1, GridPageEx1);
|
||
}
|
||
}
|
||
catch { }
|
||
//工具条按钮事件
|
||
if (CurrObject.EXPENSEBILL_TYPE != null)
|
||
GridViewEx1.SetOpenControl(ButtonNew, "/HighWay/Compents/ExpenseBill/EXPENSEDETAILPage.aspx?EXPENSEBILL_ID=" +
|
||
CurrObject.EXPENSEBILL_ID_Encrypt + "&EXPENSEBILL_TYPE=" + CurrObject.EXPENSEBILL_TYPE.ToEncrypt());
|
||
else
|
||
{
|
||
ButtonNew.OnClientClick = Page.GetAlertStr("请先保存报销单!");
|
||
}
|
||
//设置回车焦点按钮
|
||
Page.SetControlClientAction(ButtonSearch);
|
||
//if (this.ModifyType == ModifyTypeEnum.ReadOnly)
|
||
SetControlState();
|
||
}
|
||
|
||
protected override void OnInit(EventArgs e)
|
||
{
|
||
Common.PageHelper.CreateHeaderStyle(Page);
|
||
_HighWayProInst = Running.Business.HIGHWAYPROINST.CreateInstance(Page);
|
||
base.ButtonVisible = false;
|
||
base.OnInit(e);
|
||
}
|
||
|
||
//在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
//绑定下拉框
|
||
EXPENSEBILL_TYPE.Items.Clear();
|
||
DictionaryHelper.BindingDropDownList("EXPENSEBILL_TYPE", EXPENSEBILL_TYPE.Items, this.Transaction);
|
||
}
|
||
|
||
#region EXPENSEBILL_TYPE_CallBackSetControl
|
||
protected void EXPENSEBILL_TYPE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
int ColumnsCount = GridViewEx1.Columns.Count;
|
||
switch (EXPENSEBILL_TYPE.SelectedValue)
|
||
{
|
||
case "1000":
|
||
e.SetVisible(Li_PAYEE_UNIT.ClientID, false);
|
||
e.SetVisible(Li_BANK_NAME.ClientID, false);
|
||
e.SetVisible(Li_BANK_ACCOUNT.ClientID, false);
|
||
e.SetVisible(Li_PAY_TYPE.ClientID, false);
|
||
e.SetVisible(Li_PAYMENT_DETAIL.ClientID, false);
|
||
e.SetVisible(Li_BUSINESS_PERSON.ClientID, true);
|
||
e.SetVisible(Li_BUSINESS_REASON.ClientID, true);
|
||
e.SetVisible(Li_PREPAY_EXPENSE.ClientID, true);
|
||
e.SetVisible(Li_PREPAY_DATE.ClientID, true);
|
||
e.SetVisible(Li_PAYMENT_RETURN.ClientID, true);
|
||
e.SetVisible(Li_PAYMENT_COMPLEMENT.ClientID, true);
|
||
//e.SetVisible(PAYEE_UNIT.ClientID, false, true);
|
||
//e.SetVisible(BANK_NAME.ClientID, false, true);
|
||
//e.SetVisible(BANK_ACCOUNT.ClientID, false, true);
|
||
//e.SetVisible(PAY_TYPE.ClientID, false, true);
|
||
//e.SetVisible(PAYMENT_DETAIL.ClientID, false, true);
|
||
//e.SetVisible(BUSINESS_PERSON.ClientID, true, true);
|
||
//e.SetVisible(BUSINESS_REASON.ClientID, true, true);
|
||
//e.SetVisible(PREPAY_EXPENSE.ClientID, true, true);
|
||
//e.SetVisible(PREPAY_DATE.ClientID, true, true);
|
||
//e.SetVisible(PAYMENT_RETURN.ClientID, true, true);
|
||
//e.SetVisible(PAYMENT_COMPLEMENT.ClientID, true, true);
|
||
e.SetCaptionText(PAYMENT_LOWER.ClientID, "报销总额(小写):");
|
||
e.SetCaptionText(PAYMENT_CAP.ClientID, "报销总额(大写):");
|
||
e.SetCaptionText(PREPAY_EXPENSE.ClientID, "预支旅费:");
|
||
e.SetCaptionText(PAYMENT_RETURN.ClientID, "退还金额:");
|
||
e.SetCaptionText(PAYMENT_COMPLEMENT.ClientID, "补足金额:");
|
||
foreach (DataControlField _DataGridColumn in GridViewEx1.Columns)
|
||
{
|
||
if (ColumnsCount > 5)
|
||
_DataGridColumn.Visible = true;
|
||
else
|
||
_DataGridColumn.Visible = false;
|
||
ColumnsCount--;
|
||
}
|
||
break;
|
||
case "2000":
|
||
e.SetVisible(Li_BUSINESS_PERSON.ClientID, false);
|
||
e.SetVisible(Li_BUSINESS_REASON.ClientID, false);
|
||
e.SetVisible(Li_PAYEE_UNIT.ClientID, true);
|
||
e.SetVisible(Li_BANK_NAME.ClientID, true);
|
||
e.SetVisible(Li_BANK_ACCOUNT.ClientID, true);
|
||
e.SetVisible(Li_PAY_TYPE.ClientID, true);
|
||
e.SetVisible(Li_PAYMENT_DETAIL.ClientID, true);
|
||
e.SetVisible(Li_PREPAY_EXPENSE.ClientID, false);
|
||
e.SetVisible(Li_PREPAY_DATE.ClientID, false);
|
||
e.SetVisible(Li_PAYMENT_RETURN.ClientID, false);
|
||
e.SetVisible(Li_PAYMENT_COMPLEMENT.ClientID, false);
|
||
//e.SetVisible(BUSINESS_PERSON.ClientID, false, true);
|
||
//e.SetVisible(BUSINESS_REASON.ClientID, false, true);
|
||
//e.SetVisible(PAYEE_UNIT.ClientID, true, true);
|
||
//e.SetVisible(BANK_NAME.ClientID, true, true);
|
||
//e.SetVisible(BANK_ACCOUNT.ClientID, true, true);
|
||
//e.SetVisible(PAY_TYPE.ClientID, true, true);
|
||
//e.SetVisible(PAYMENT_DETAIL.ClientID, true, true);
|
||
//e.SetVisible(PREPAY_EXPENSE.ClientID, false, true);
|
||
//e.SetVisible(PREPAY_DATE.ClientID, false, true);
|
||
//e.SetVisible(PAYMENT_RETURN.ClientID, false, true);
|
||
//e.SetVisible(PAYMENT_COMPLEMENT.ClientID, false, true);
|
||
e.SetCaptionText(PAYMENT_LOWER.ClientID, "付款金额(小写):");
|
||
e.SetCaptionText(PAYMENT_CAP.ClientID, "付款金额(大写):");
|
||
break;
|
||
case "3000":
|
||
e.SetVisible(Li_BUSINESS_PERSON.ClientID, false);
|
||
e.SetVisible(Li_BUSINESS_REASON.ClientID, false);
|
||
e.SetVisible(Li_PAYEE_UNIT.ClientID, false);
|
||
e.SetVisible(Li_BANK_NAME.ClientID, false);
|
||
e.SetVisible(Li_BANK_ACCOUNT.ClientID, false);
|
||
e.SetVisible(Li_PAY_TYPE.ClientID, false);
|
||
e.SetVisible(Li_PAYMENT_DETAIL.ClientID, false);
|
||
e.SetVisible(Li_PREPAY_EXPENSE.ClientID, true);
|
||
e.SetVisible(Li_PREPAY_DATE.ClientID, false);
|
||
e.SetVisible(Li_PAYMENT_RETURN.ClientID, true);
|
||
e.SetVisible(Li_PAYMENT_COMPLEMENT.ClientID, true);
|
||
//e.SetVisible(BUSINESS_PERSON.ClientID, false, true);
|
||
//e.SetVisible(BUSINESS_REASON.ClientID, false, true);
|
||
//e.SetVisible(PAYEE_UNIT.ClientID, false, true);
|
||
//e.SetVisible(BANK_NAME.ClientID, false, true);
|
||
//e.SetVisible(BANK_ACCOUNT.ClientID, false, true);
|
||
//e.SetVisible(PAY_TYPE.ClientID, false, true);
|
||
//e.SetVisible(PAYMENT_DETAIL.ClientID, false, true);
|
||
//e.SetVisible(PREPAY_EXPENSE.ClientID, true, true);
|
||
//e.SetVisible(PREPAY_DATE.ClientID, false, true);
|
||
//e.SetVisible(PAYMENT_RETURN.ClientID, true, true);
|
||
//e.SetVisible(PAYMENT_COMPLEMENT.ClientID, true, true);
|
||
e.SetCaptionText(PAYMENT_LOWER.ClientID, "费用合计(小写):");
|
||
e.SetCaptionText(PAYMENT_CAP.ClientID, "费用合计(大写):");
|
||
e.SetCaptionText(PREPAY_EXPENSE.ClientID, "偿还预支借款:");
|
||
e.SetCaptionText(PAYMENT_RETURN.ClientID, "归还多余:");
|
||
e.SetCaptionText(PAYMENT_COMPLEMENT.ClientID, "补领不足:");
|
||
foreach (DataControlField _DataGridColumn in GridViewEx1.Columns)
|
||
{
|
||
if (ColumnsCount > 5 && ColumnsCount != GridViewEx1.Columns.Count)
|
||
_DataGridColumn.Visible = false;
|
||
else
|
||
_DataGridColumn.Visible = true;
|
||
ColumnsCount--;
|
||
}
|
||
break;
|
||
}
|
||
//e.SetGridViewEx(GridViewEx1);
|
||
}
|
||
#endregion
|
||
|
||
//载入数据
|
||
public override bool LoadData()
|
||
{
|
||
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
|
||
if (_HighWayProInst.__ProInst != null && _HighWayProInst.__ProInst.Division_Code_BaseValue != null)
|
||
{
|
||
foreach (FieldEnum _FieldEnum in (new FieldEnum(this.Transaction)).FillCollection(
|
||
"where FieldEnum_Value in('" + _HighWayProInst.__ProInst.Division_Code_BaseValue.ToString() + "')"))
|
||
{
|
||
Storage.Business.SERVERPART _SERVERPART = new Storage.Business.SERVERPART(this.Transaction);
|
||
_SERVERPART.AddSearchParameter("FIELDENUM_ID", _FieldEnum.FieldEnum_ID);
|
||
if (_SERVERPART.Search())
|
||
{
|
||
SERVERPART_ID.Text = _SERVERPART.SERVERPART_ID.ToString();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (Storage.Business.SERVERPART _SERVERPART in
|
||
(new Storage.Business.SERVERPART(Transaction)).GetPassportServerPart(Page.PassportInfo.CityAuthority))
|
||
{
|
||
SERVERPART_ID.Text = _SERVERPART.SERVERPART_ID.ToString();
|
||
break;
|
||
}
|
||
}
|
||
Running.Business.EXPENSEBILL _EXPENSEBILL = new Running.Business.EXPENSEBILL(_HighWayProInst);
|
||
_EXPENSEBILL.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID);
|
||
if (_EXPENSEBILL.Search())
|
||
{
|
||
BtnSearchImg.Visible = true;
|
||
BtnSearchImg.OnClientClick = Page.GetOpenPopDialogClientScript("/HighWay/Compents/ExpenseBill/IMAGEPage.aspx?EXPENSEBILL_ID=" +
|
||
_EXPENSEBILL.EXPENSEBILL_ID_Encrypt, "IMAGEPage", 850, 600, true, false, true);
|
||
CurrObject.EXPENSEBILL_ID_Encrypt = _EXPENSEBILL.EXPENSEBILL_ID_Encrypt;//Request["ID"];
|
||
return this.Select();
|
||
}
|
||
else
|
||
{
|
||
HIGHWAYPROINST_ID.Text = _HighWayProInst.HIGHWAYPROINST_ID.ToString();
|
||
}
|
||
//默认返回值,工作流组件返回True,功能模块返回False。
|
||
return (WorkFlowPage != null);
|
||
}
|
||
|
||
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
|
||
//e.CancelDataAction 来处理是否取消该动作;
|
||
//失败的原因可以用Page.Alert()传递到页面
|
||
public override void OnDataAction_BeforeSave(DataActionEventArgs<Running.Business.EXPENSEBILL> e)
|
||
{
|
||
base.OnDataAction_BeforeSave(e);
|
||
}
|
||
|
||
//查询
|
||
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Selecting<Running.Business.EXPENSEDETAIL>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetValue(GridViewEx1);
|
||
e.SetValue(GridPageEx1);
|
||
}
|
||
|
||
//翻页事件
|
||
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Pagging<Running.Business.EXPENSEDETAIL>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetValue(GridViewEx1);
|
||
}
|
||
|
||
//查询SQL设置
|
||
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
|
||
{
|
||
//搜索选项的搜索条件过滤
|
||
if (!string.IsNullOrEmpty(TextBox_Search.Text))
|
||
e.AddOrParams(GridViewSearch1, TextBox_Search.Text);
|
||
//且搜索条件
|
||
if (EXPENSEBILL_ID.Text != "")
|
||
{
|
||
e.AddAndParams("EXPENSEBILL_ID", EXPENSEBILL_ID.Text);
|
||
}
|
||
else
|
||
{
|
||
e.AddAndParams("EXPENSEBILL_ID", 0);
|
||
}
|
||
//或搜索条件
|
||
//e.AddOrParams(字段名, 值);
|
||
//排序
|
||
e.AddOrderByParams(GridViewOrderBy1);
|
||
}
|
||
|
||
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
string _EXPENSEDETAIL_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["EXPENSEDETAIL_ID"].ToString().ToEncrypt();
|
||
Running.Business.EXPENSEBILL _EXPENSEBILL = new Running.Business.EXPENSEBILL(_HighWayProInst);
|
||
_EXPENSEBILL.EXPENSEBILL_ID_Encrypt = EXPENSEBILL_ID.Text.ToEncrypt();
|
||
if (_EXPENSEBILL.Select())
|
||
{
|
||
e.Row.Attributes["onclick"] = GridViewEx1.GetOpenPopDialogClientScript(
|
||
"/HighWay/Compents/ExpenseBill/EXPENSEDETAILPage.aspx?ID=" + _EXPENSEDETAIL_ID +
|
||
"&EXPENSEBILL_TYPE=" + _EXPENSEBILL.EXPENSEBILL_TYPE.ToEncrypt(), 800, 400);
|
||
}
|
||
else
|
||
e.Row.Attributes["onclick"] = null;
|
||
}
|
||
}
|
||
|
||
protected void ButtonSave_Click(object sender, EventArgs e)
|
||
{
|
||
base.Save();
|
||
Page.Alert("保存成功!");
|
||
if (CurrObject.EXPENSEBILL_TYPE == 2000)
|
||
ExpenseDetail.Attributes["style"] = "display: none";
|
||
else
|
||
ExpenseDetail.Attributes["style"] = "display: inherit;";
|
||
SetControlState();
|
||
BtnSearchImg.Visible = true;
|
||
BtnSearchImg.OnClientClick = Page.GetOpenPopDialogClientScript("/HighWay/Compents/ExpenseBill/IMAGEPage.aspx?EXPENSEBILL_ID=" +
|
||
CurrObject.EXPENSEBILL_ID_Encrypt, "IMAGEPage", 850, 600, true, false, true);
|
||
//初始化并加载列表
|
||
GridViewEx1.SelectingWithInit<Running.Business.EXPENSEDETAIL>(ObjectDataSource1, GridPageEx1);
|
||
GridViewEx1.SetOpenControl(ButtonNew, "/HighWay/Compents/ExpenseBill/EXPENSEDETAILPage.aspx?EXPENSEBILL_ID=" +
|
||
CurrObject.EXPENSEBILL_ID_Encrypt + "&EXPENSEBILL_TYPE=" + CurrObject.EXPENSEBILL_TYPE.ToEncrypt());
|
||
Page.RefreshOpener();
|
||
}
|
||
|
||
#region SetControlState -> 初始化页面控件
|
||
protected void SetControlState()
|
||
{
|
||
int ColumnsCount = GridViewEx1.Columns.Count;
|
||
switch (CurrObject.EXPENSEBILL_TYPE == null ? short.Parse(EXPENSEBILL_TYPE.SelectedValue) : CurrObject.EXPENSEBILL_TYPE)
|
||
{
|
||
case 1000:
|
||
Li_PAYEE_UNIT.Attributes["style"] = "display: none";
|
||
Li_BANK_NAME.Attributes["style"] = "display: none";
|
||
Li_BANK_ACCOUNT.Attributes["style"] = "display: none";
|
||
Li_PAY_TYPE.Attributes["style"] = "display: none";
|
||
Li_PAYMENT_DETAIL.Attributes["style"] = "display: none";
|
||
Li_BUSINESS_PERSON.Attributes["style"] = "display: inherit";
|
||
Li_BUSINESS_REASON.Attributes["style"] = "display: inherit";
|
||
Li_PREPAY_EXPENSE.Attributes["style"] = "display: inherit";
|
||
Li_PREPAY_DATE.Attributes["style"] = "display: inherit";
|
||
Li_PAYMENT_RETURN.Attributes["style"] = "display: inherit";
|
||
Li_PAYMENT_COMPLEMENT.Attributes["style"] = "display: inherit";
|
||
PAYMENT_LOWER.CaptionText = "报销总额(小写):";
|
||
PAYMENT_CAP.CaptionText = "报销总额(大写):";
|
||
PREPAY_EXPENSE.CaptionText = "预支旅费:";
|
||
PAYMENT_RETURN.CaptionText = "退还金额:";
|
||
PAYMENT_COMPLEMENT.CaptionText = "补足金额:";
|
||
ExpenseDetail.Attributes["style"] = "display: inherit;";
|
||
foreach (DataControlField _DataGridColumn in GridViewEx1.Columns)
|
||
{
|
||
if (ColumnsCount > 5)
|
||
_DataGridColumn.Visible = true;
|
||
else
|
||
_DataGridColumn.Visible = false;
|
||
ColumnsCount--;
|
||
}
|
||
break;
|
||
case 2000:
|
||
Li_BUSINESS_PERSON.Attributes["style"] = "display: none";
|
||
Li_BUSINESS_REASON.Attributes["style"] = "display: none";
|
||
Li_PAYEE_UNIT.Attributes["style"] = "display: inherit";
|
||
Li_BANK_NAME.Attributes["style"] = "display: inherit";
|
||
Li_BANK_ACCOUNT.Attributes["style"] = "display: inherit";
|
||
Li_PAY_TYPE.Attributes["style"] = "display: inherit";
|
||
Li_PAYMENT_DETAIL.Attributes["style"] = "display: inherit";
|
||
Li_PREPAY_EXPENSE.Attributes["style"] = "display: none";
|
||
Li_PREPAY_DATE.Attributes["style"] = "display: none";
|
||
Li_PAYMENT_RETURN.Attributes["style"] = "display: none";
|
||
Li_PAYMENT_COMPLEMENT.Attributes["style"] = "display: none";
|
||
PAYMENT_LOWER.CaptionText = "付款金额(小写):";
|
||
PAYMENT_CAP.CaptionText = "付款金额(大写):";
|
||
ExpenseDetail.Attributes["style"] = "display: none";
|
||
break;
|
||
case 3000:
|
||
Li_BUSINESS_PERSON.Attributes["style"] = "display: none";
|
||
Li_BUSINESS_REASON.Attributes["style"] = "display: none";
|
||
Li_PAYEE_UNIT.Attributes["style"] = "display: none";
|
||
Li_BANK_NAME.Attributes["style"] = "display: none";
|
||
Li_BANK_ACCOUNT.Attributes["style"] = "display: none";
|
||
Li_PAY_TYPE.Attributes["style"] = "display: none";
|
||
Li_PAYMENT_DETAIL.Attributes["style"] = "display: none";
|
||
Li_PREPAY_EXPENSE.Attributes["style"] = "display: inherit";
|
||
Li_PREPAY_DATE.Attributes["style"] = "display: none";
|
||
Li_PAYMENT_RETURN.Attributes["style"] = "display: inherit";
|
||
Li_PAYMENT_COMPLEMENT.Attributes["style"] = "display: inherit";
|
||
PAYMENT_LOWER.CaptionText = "费用合计(小写):";
|
||
PAYMENT_CAP.CaptionText = "费用合计(大写):";
|
||
PREPAY_EXPENSE.CaptionText = "偿还预支借款:";
|
||
PAYMENT_RETURN.CaptionText = "归还多余:";
|
||
PAYMENT_COMPLEMENT.CaptionText = "补领不足:";
|
||
ExpenseDetail.Attributes["style"] = "display: inherit;";
|
||
foreach (DataControlField _DataGridColumn in GridViewEx1.Columns)
|
||
{
|
||
if (ColumnsCount > 5 && ColumnsCount != GridViewEx1.Columns.Count)
|
||
_DataGridColumn.Visible = false;
|
||
else
|
||
_DataGridColumn.Visible = true;
|
||
ColumnsCount--;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void PAYMENT_LOWER_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
try
|
||
{
|
||
PAYMENT_CAP.Text = PAYMENT_LOWER.Text.Trim().Replace(" ", "") == "" ? "零元" : PAYMENT_LOWER.Text.ToCurrency();
|
||
e.SetValue(PAYMENT_CAP);
|
||
}
|
||
catch
|
||
{
|
||
throw new Exception("请填入数字!");
|
||
}
|
||
}
|
||
}
|
||
} |