2025-03-27 15:05:14 +08:00

841 lines
41 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Configuration;
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 HCC = HZQR.Common.Common;
using HZQR.Common;
namespace SuperMap.RealEstate.Contract.Running
{
/// <summary>
/// T_CONTRACTEXIT_经营合同退场表 的WebUserControl
/// <summary>
public partial class CONTRACTEXIT : UserControl<Business.CONTRACTEXIT>
{
Business.CONTRACTPROINST _CONTRACTPROINST = null;
protected string HiddenProdef = ConfigurationManager.AppSettings["HiddenProdef"];
#region ->
protected override void OnInit(EventArgs e)
{
Common.PageHelper.CreateHeaderStyle(Page);
_CONTRACTPROINST = Running.Business.CONTRACTPROINST.CreateInstance(Page);
ButtonVisible = false;
base.OnInit(e);
}
#endregion
#region ->
protected void Page_Load(object sender, EventArgs e)
{
LoadDataMessage();
if (IsPostBack) return;
if (!string.IsNullOrWhiteSpace(Request["REGISTERCOMPACT_ID"]))
{
REGISTERCOMPACT_ID.Text = Request["REGISTERCOMPACT_ID"].ToDecrypt();
}
if (!string.IsNullOrWhiteSpace(Request["COMPACT_NAME"]))
{
COMPACT_NAME.Text = Request["COMPACT_NAME"].ToDecrypt();
}
if (!string.IsNullOrWhiteSpace(Request["SECONDPART_ID"]))
{
SECONDPART_ID.Text = Request["SECONDPART_ID"].ToDecrypt();
}
if (!string.IsNullOrWhiteSpace(Request["SECONDPART_NAME"]))
{
SECONDPART_NAME.Text = Request["SECONDPART_NAME"].ToDecrypt();
}
if (!string.IsNullOrWhiteSpace(Request["SECONDPART_LINKMAN"]))
{
SECONDPART_LINKMAN.Text = Request["SECONDPART_LINKMAN"].ToDecrypt();
}
if (!string.IsNullOrWhiteSpace(Request["SECONDPART_MOBILE"]))
{
SECONDPART_MOBILE.Text = Request["SECONDPART_MOBILE"].ToDecrypt();
}
if (!string.IsNullOrWhiteSpace(Request["SECURITYDEPOSIT"]))
{
SECURITYDEPOSIT.Text = Request["SECURITYDEPOSIT"].ToDecrypt();
}
//绑定数据
BindData();
Page.SetControlClientAction(ButtonSave);
}
#endregion
#region ->
private void LoadDataMessage()
{
try
{
if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly)
{
DGRent.Columns[2].Visible = false;
DGProperty.Columns[2].Visible = false;
}
if (_CONTRACTPROINST.PRODEF_ID == HiddenProdef.TryParseToInt())
{
tbProperty.Visible = false;
}
}
catch (Exception ex)
{
ErrorLogHelper.Write(ex);
}
}
#endregion
//在此加入界面的数据初始化(Page_Load之前)如DropDownList的数据源绑定等
public override void InitializeWebControl()
{
}
//载入数据
public override bool LoadData()
{
//当前是申请环节,则绑定申请人信息
if (_CONTRACTPROINST.__ProInst.NowActInst.ActInst_Type == Enums.ActInstType.Accept)
{
APPLY_STAFF.Text = Page.PassportInfo.Name;
OPERATE_DATE.Text = System.DateTime.Now.ToString();
}
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
Running.Business.CONTRACTEXIT _CONTRACTEXIT = new Business.CONTRACTEXIT(_CONTRACTPROINST);
_CONTRACTEXIT.AddSearchParameter("CONTRACTPROINST_ID", _CONTRACTPROINST.CONTRACTPROINST_ID);
if (_CONTRACTEXIT.Search())
{
CurrObject.CONTRACTEXIT_ID_Encrypt = _CONTRACTEXIT.CONTRACTEXIT_ID_Encrypt;
bool flag = this.Select();
BindObjectToControl(CurrObject);
return flag;
}
else
{
CONTRACTPROINST_ID.Text = _CONTRACTPROINST.KeyID;
}
//默认返回值工作流组件返回True,功能模块返回False。
return (WorkFlowPage != null);
}
#region ->
public void BindData()
{
CompactServerpart.Items.Clear();
if (REGISTERCOMPACT_ID.Text != "")
{
//查询经营服务区信息,SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE这些字段是排序用的
string SQLString = @"SELECT SERVERPART_ID,SERVERPART_NAME,
SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE
FROM HIGHWAY_STORAGE.T_SERVERPART A
WHERE EXISTS (SELECT 1 FROM CONTRACT_STORAGE.T_RTREGISTERCOMPACT B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND B.REGISTERCOMPACT_ID = " + REGISTERCOMPACT_ID.Text + ")";
DataTable dtServerpart = CurrObject.ExecuteDataTable(SQLString);
foreach (DataRow drServerpart in dtServerpart.Select("",
"SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE"))
{
CompactServerpart.Items.Add(new ListItemEx
{
Value = drServerpart[0].ToString(),
Text = drServerpart[1].ToString()
});
}
}
DataTable dtExpense = null;
Business.CONTRACTEXIT _CONTRACTEXIT = new Business.CONTRACTEXIT(_CONTRACTPROINST);
_CONTRACTEXIT.AddSearchParameter("CONTRACTPROINST_ID", _CONTRACTPROINST.CONTRACTPROINST_ID);
if (_CONTRACTEXIT.Search())
{
dtExpense = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST).FillDataTable(
"WHERE CONTRACTEXIT_ID = " + _CONTRACTEXIT.KeyID);
dtExpense.DefaultView.Sort = "CONTRACTEXITEXPENSE_ID";
dtExpense = dtExpense.DefaultView.ToTable();
//经办人
APPLY_STAFF.Text = _CONTRACTEXIT.APPLY_STAFF;
}
else
{
dtExpense = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST).FillDataTable("WHERE CONTRACTEXIT_ID = 0");
}
//获取租金列表
dtExpense.DefaultView.RowFilter = "EXPENSE_TYPE = 1000";
DataTable dtRent = dtExpense.DefaultView.ToTable();
DGRent.DataSource = dtRent;
DGRent.DataBind();
if (tbProperty.Visible)
{
//获取物业费列表
dtExpense.DefaultView.RowFilter = "EXPENSE_TYPE = 2000";
DataTable dtProperty = dtExpense.DefaultView.ToTable();
DGProperty.DataSource = dtProperty;
DGProperty.DataBind();
}
}
#endregion
#region ->
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
//e.CancelDataAction 来处理是否取消该动作;
//失败的原因可以用Page.Alert()传递到页面
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.CONTRACTEXIT> e)
{
bool Flag = true;
foreach (DataGridItem _DataGridItem in DGRent.Items)
{
if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem ||
_DataGridItem.ItemType == ListItemType.EditItem)
{
//经营服务区
DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
//经营起止日期
TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//费用标准
TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
if (!string.IsNullOrEmpty(EXPENSE_STARTDATE_TextBoxEx.Text) && !string.IsNullOrEmpty(EXPENSE_ENDDATE_TextBoxEx.Text) &&
!string.IsNullOrEmpty(EXPENSE_STANDARD_TextBoxEx.Text) && !string.IsNullOrEmpty(RECEIVABLE_AMOUNT_TextBoxEx.Text) &&
!string.IsNullOrEmpty(ACTUALPAID_AMOUNT_TextBoxEx.Text) && !string.IsNullOrEmpty(SERVERPART_ID_DDL.SelectedValue))
{
Flag = false;
}
}
}
if (Flag)
{
throw new Exception("保存业务失败:您未填写租金收缴明细!");
//e.CancelDataAction = true;
//return;
}
if (tbProperty.Visible)
{
Flag = true;
foreach (DataGridItem _DataGridItem in DGProperty.Items)
{
if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem ||
_DataGridItem.ItemType == ListItemType.EditItem)
{
//经营服务区
DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
//经营起止日期
TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//费用标准
TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
if (!string.IsNullOrEmpty(EXPENSE_STARTDATE_TextBoxEx.Text) && !string.IsNullOrEmpty(EXPENSE_ENDDATE_TextBoxEx.Text) &&
!string.IsNullOrEmpty(EXPENSE_STANDARD_TextBoxEx.Text) && !string.IsNullOrEmpty(RECEIVABLE_AMOUNT_TextBoxEx.Text) &&
!string.IsNullOrEmpty(ACTUALPAID_AMOUNT_TextBoxEx.Text) && !string.IsNullOrEmpty(SERVERPART_ID_DDL.SelectedValue))
{
Flag = false;
}
}
}
if (Flag)
{
throw new Exception("保存业务失败:您未填写物业费收缴明细!");
//e.CancelDataAction = true;
//return;
}
}
if (_CONTRACTPROINST.__ProInst.NowActInst.ActInst_Type == Enums.ActInstType.Accept)
{
CurrObject.OPERATE_DATE = System.DateTime.Now;
}
#region
if (_CONTRACTPROINST.CONTRACTPROINST_ID != null)
{
if (e.CurrObject.CONTRACTEXIT_ID == null)
{
Business.CONTRACTEXIT _CONTRACTEXIT = new Business.CONTRACTEXIT(Transaction);
_CONTRACTEXIT.AddSearchParameter("CONTRACTPROINST_ID", _CONTRACTPROINST.CONTRACTPROINST_ID);
if (_CONTRACTEXIT.Search())
{
e.CurrObject.CONTRACTEXIT_ID = _CONTRACTEXIT.CONTRACTEXIT_ID;
}
}
}
#endregion
//设置对应的内容 小写
e.CurrObject.PAYMENT_LOWER = (double)(e.CurrObject.SECURITYDEPOSIT.TryParseToDecimal() +
e.CurrObject.REFUND_AMOUNT.TryParseToDecimal());
//大写
try
{
e.CurrObject.PAYMENT_CAP = e.CurrObject.PAYMENT_LOWER == 0 ?
"零万元整" : e.CurrObject.PAYMENT_LOWER.ToString().ToCurrency();
}
catch { }
base.OnDataAction_BeforeSave(e);
}
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.CONTRACTEXIT> e)
{
CONTRACTEXIT_ID.Text = e.CurrObject.KeyID;
#region
foreach (DataGridItem _DataGridItem in DGRent.Items)
{
if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem ||
_DataGridItem.ItemType == ListItemType.EditItem)
{
SaveData(_DataGridItem, 1000, true);
}
}
foreach (DataGridItem _DataGridItem in DGProperty.Items)
{
if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem ||
_DataGridItem.ItemType == ListItemType.EditItem)
{
SaveData(_DataGridItem, 2000, true);
}
}
#endregion
#region
WorkFlow.Instance.Business.ProInst _ProInst = _CONTRACTPROINST.ProInst;
_ProInst.ProInst_Name = e.CurrObject.COMPACT_NAME + "合同结算";
_ProInst.Update();
_CONTRACTPROINST.ACCEPT_NAME = _ProInst.ProInst_Name;
_CONTRACTPROINST.Update();
#endregion
base.OnDataAction_AfterSave(e);
}
#endregion
protected void BtnOpenCompact_CallBackClick(object sender, ClientSetEventArgs e)
{
BindControlToObject(CurrObject);
if (CurrObject.CONTRACTEXIT_ID == null)
{
CurrObject.Insert();
}
else
{
CurrObject.Update();
}
e.ClientScript = Page.GetOpenPopDialogClientScript(
"/Contract/Compents/ContractExit/CompactList.aspx?NowActInst_ID=" + Request["NowActInst_ID"] + "&ProInst_ID=" +
Request["ProInst_ID"] + "&Module_ID=" + Request["Module_ID"] + "&Division_Code=" + Request["Division_Code"] +
"&SERVERPART_ID=" + _CONTRACTPROINST.DEPT_ID.ToEncrypt(), "Default", 1600, 800, true, false, true);
}
int itemNum = 0;
protected void DGRent_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
itemNum = 0;
}
else if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.EditItem ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseover"] = "javascript:oldcolor=this.style.backgroundColor;this.style.backgroundColor='f1f1f1';";
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=oldcolor;";
Button _ButtonSave = e.Item.FindControl("BtnSaveRent") as Button;
Button _ButtonDelete = e.Item.FindControl("BtnDeleteRent") as Button;
//设置控件点击遮罩面
Page.SetControlClientAction(_ButtonSave, false);
Page.SetControlClientAction(_ButtonDelete, false);
//经营服务区
DropDownListEx SERVERPART_ID_DDL = e.Item.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
SERVERPART_ID_DDL.Items.Clear();
foreach (ListItemEx listItemEx in CompactServerpart.Items)
{
SERVERPART_ID_DDL.Items.Add(new ListItemEx
{
Text = listItemEx.Text,
Value = listItemEx.Value,
});
}
//经营起止时间
TextBoxEx _EXPENSE_STARTDATE_TextBoxEx = e.Item.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx _EXPENSE_ENDDATE_TextBoxEx = e.Item.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//只读页面,不显示日期图标
if (ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible || ModifyType == ModifyTypeEnum.EditHidden)
{
_EXPENSE_STARTDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime;
_EXPENSE_ENDDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime;
}
if (e.Item.Cells[0].Text == "" && ((DataTable)DGRent.DataSource).Rows.Count > 0)
{
e.Item.Cells[0].Text = ((DataTable)DGRent.DataSource).Rows[itemNum]["CONTRACTEXITEXPENSE_ID"].ToString();
}
if (e.Item.Cells[0].Text.TryParseToInt() != 0)
{
Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST);
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = e.Item.Cells[0].Text.ToEncrypt();
if (_CONTRACTEXITEXPENSE.Select())
{
//年租金标准
TextBoxEx _EXPENSE_STANDARD_TextBoxEx = e.Item.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收租金
TextBoxEx _RECEIVABLE_AMOUNT_TextBoxEx = e.Item.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收租金
TextBoxEx _ACTUALPAID_AMOUNT_TextBoxEx = e.Item.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx _CONTRACTEXITEXPENSE_DESC_TextBoxEx = e.Item.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
SERVERPART_ID_DDL.SelectedValue = _CONTRACTEXITEXPENSE.SERVERPART_ID.TryParseToString();
_EXPENSE_STARTDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime(
_CONTRACTEXITEXPENSE.EXPENSE_STARTDATE.TryParseToString()).Split(' ')[0];
_EXPENSE_ENDDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime(
_CONTRACTEXITEXPENSE.EXPENSE_ENDDATE.TryParseToString()).Split(' ')[0];
_EXPENSE_STANDARD_TextBoxEx.Text = _CONTRACTEXITEXPENSE.EXPENSE_STANDARD.TryParseToString();
_RECEIVABLE_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT.TryParseToString();
_ACTUALPAID_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT.TryParseToString();
_CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text = _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC;
}
}
itemNum++;
}
}
protected void DGProperty_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
itemNum = 0;
}
else if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.EditItem ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseover"] = "javascript:oldcolor=this.style.backgroundColor;this.style.backgroundColor='f1f1f1';";
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=oldcolor;";
Button _ButtonSave = e.Item.FindControl("BtnSaveProperty") as Button;
Button _ButtonDelete = e.Item.FindControl("BtnDeleteProperty") as Button;
//设置控件点击遮罩面
Page.SetControlClientAction(_ButtonSave, false);
Page.SetControlClientAction(_ButtonDelete, false);
//经营服务区
DropDownListEx SERVERPART_ID_DDL = e.Item.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
SERVERPART_ID_DDL.Items.Clear();
foreach (ListItemEx listItemEx in CompactServerpart.Items)
{
SERVERPART_ID_DDL.Items.Add(new ListItemEx
{
Text = listItemEx.Text,
Value = listItemEx.Value,
});
}
//经营起止时间
TextBoxEx _EXPENSE_STARTDATE_TextBoxEx = e.Item.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx _EXPENSE_ENDDATE_TextBoxEx = e.Item.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//只读页面,不显示日期图标
if (ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible || ModifyType == ModifyTypeEnum.EditHidden)
{
_EXPENSE_STARTDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime;
_EXPENSE_ENDDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime;
}
if (e.Item.Cells[0].Text == "" && ((DataTable)DGProperty.DataSource).Rows.Count > 0)
{
e.Item.Cells[0].Text = ((DataTable)DGProperty.DataSource).Rows[itemNum]["CONTRACTEXITEXPENSE_ID"].ToString();
}
if (e.Item.Cells[0].Text.TryParseToInt() != 0)
{
Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST);
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = e.Item.Cells[0].Text.ToEncrypt();
if (_CONTRACTEXITEXPENSE.Select())
{
//物业费标准
TextBoxEx _EXPENSE_STANDARD_TextBoxEx = e.Item.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx _RECEIVABLE_AMOUNT_TextBoxEx = e.Item.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx _ACTUALPAID_AMOUNT_TextBoxEx = e.Item.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx _CONTRACTEXITEXPENSE_DESC_TextBoxEx = e.Item.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
SERVERPART_ID_DDL.SelectedValue = _CONTRACTEXITEXPENSE.SERVERPART_ID.TryParseToString();
_EXPENSE_STARTDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime(
_CONTRACTEXITEXPENSE.EXPENSE_STARTDATE.TryParseToString()).Split(' ')[0];
_EXPENSE_ENDDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime(
_CONTRACTEXITEXPENSE.EXPENSE_ENDDATE.TryParseToString()).Split(' ')[0];
_EXPENSE_STANDARD_TextBoxEx.Text = _CONTRACTEXITEXPENSE.EXPENSE_STANDARD.TryParseToString();
_RECEIVABLE_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT.TryParseToString();
_ACTUALPAID_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT.TryParseToString();
_CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text = _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC;
}
}
itemNum++;
}
}
protected void BtnInsertRent_Click(object sender, EventArgs e)
{
DataTable dtRent = GetDataFromDG(DGRent, 1000);
DataRow drRent = dtRent.NewRow();
drRent["CONTRACTEXITEXPENSE_ID"] = "0";
dtRent.Rows.InsertAt(drRent, 0);
dtRent.AcceptChanges();
DGRent.EditItemIndex = 0;
DGRent.DataSource = dtRent;
DGRent.DataBind();
}
protected void BtnSaveRent_Click(object sender, EventArgs e)
{
if (CONTRACTEXIT_ID.Text == "0" || string.IsNullOrEmpty(CONTRACTEXIT_ID.Text))
{
base.Save();
CONTRACTEXIT_ID.Text = CurrObject.KeyID;
}
else
{
Button _ButtonSave = (Button)sender;
DataGridItem _DataGridItem = (DataGridItem)_ButtonSave.NamingContainer;
if (!SaveData(_DataGridItem, 1000))
{
return;
}
}
BindData();
Page.Alert("保存成功!", 3);
}
protected void BtnDeleteRent_Click(object sender, EventArgs e)
{
Button _LinkButtonDelete = (Button)sender;
DataGridItem _DataGridItem = (DataGridItem)_LinkButtonDelete.NamingContainer;
DataTable dtRent = GetDataFromDG(DGRent, 1000);
using (Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST))
{
//经营服务区
DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
//经营起止日期
TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//费用标准
TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
if (CONTRACTEXIT_ID.Text != "" && _DataGridItem.Cells[0].Text.TryParseToInt() != 0)
{
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = _DataGridItem.Cells[0].Text.ToEncrypt();
if (_CONTRACTEXITEXPENSE.Select())
{
_CONTRACTEXITEXPENSE.Delete();
}
}
dtRent.Rows.RemoveAt(_DataGridItem.ItemIndex);
DGRent.DataSource = dtRent;
DGRent.DataBind();
}
Page.Alert("删除成功!", 3);
}
protected void BtnInsertProperty_Click(object sender, EventArgs e)
{
DataTable dtProperty = GetDataFromDG(DGProperty, 2000);
DataRow drInvoice = dtProperty.NewRow();
drInvoice["CONTRACTEXITEXPENSE_ID"] = "0";
dtProperty.Rows.InsertAt(drInvoice, 0);
dtProperty.AcceptChanges();
DGProperty.EditItemIndex = 0;
DGProperty.DataSource = dtProperty;
DGProperty.DataBind();
}
protected void BtnSaveProperty_Click(object sender, EventArgs e)
{
if (CONTRACTEXIT_ID.Text == "0" || string.IsNullOrEmpty(CONTRACTEXIT_ID.Text))
{
base.Save();
CONTRACTEXIT_ID.Text = CurrObject.KeyID;
}
else
{
Button _ButtonSave = (Button)sender;
DataGridItem _DataGridItem = (DataGridItem)_ButtonSave.NamingContainer;
if (!SaveData(_DataGridItem, 1000))
{
return;
}
}
BindData();
Page.Alert("保存成功!", 3);
}
protected void BtnDeleteProperty_Click(object sender, EventArgs e)
{
Button _LinkButtonDelete = (Button)sender;
DataGridItem _DataGridItem = (DataGridItem)_LinkButtonDelete.NamingContainer;
DataTable dtProperty = GetDataFromDG(DGProperty, 1000);
using (Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST))
{
//经营服务区
DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
//经营起止日期
TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//费用标准
TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
if (CONTRACTEXIT_ID.Text != "" && _DataGridItem.Cells[0].Text.TryParseToInt() != 0)
{
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = _DataGridItem.Cells[0].Text.ToEncrypt();
if (_CONTRACTEXITEXPENSE.Select())
{
_CONTRACTEXITEXPENSE.Delete();
}
}
dtProperty.Rows.RemoveAt(_DataGridItem.ItemIndex);
DGProperty.DataSource = dtProperty;
DGProperty.DataBind();
}
Page.Alert("删除成功!", 3);
}
#region -> DataGrid列表内容
public DataTable GetDataFromDG(DataGrid dataGrid, int ExpenseType)
{
DataTable dtExpense = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST).FillDataTable("WHERE 1 = 2");
foreach (DataGridItem _DataGridItem in dataGrid.Items)
{
if (_DataGridItem.ItemType == ListItemType.Item ||
_DataGridItem.ItemType == ListItemType.AlternatingItem ||
_DataGridItem.ItemType == ListItemType.EditItem)
{
//经营服务区
DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
//经营起止日期
TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//费用标准
TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
DataRow drExpense = dtExpense.NewRow();
if (_DataGridItem.Cells[0].Text.Replace("&nbsp;", "") == "")
{
drExpense["CONTRACTEXITEXPENSE_ID"] = 0;
}
else
{
drExpense["CONTRACTEXITEXPENSE_ID"] = _DataGridItem.Cells[0].Text;
}
drExpense["CONTRACTEXIT_ID"] = CONTRACTEXIT_ID.Text;
drExpense["CONTRACTPROINST_ID"] = CONTRACTPROINST_ID.Text;
drExpense["EXPENSE_TYPE"] = ExpenseType;
if (SERVERPART_ID_DDL.SelectedValue != "")
{
drExpense["SERVERPART_ID"] = SERVERPART_ID_DDL.SelectedValue;
drExpense["SERVERPART_NAME"] = SERVERPART_ID_DDL.SelectedItem.Text;
}
if (EXPENSE_STARTDATE_TextBoxEx.Text != "")
{
drExpense["EXPENSE_STARTDATE"] = DateTime.Parse(EXPENSE_STARTDATE_TextBoxEx.Text).ToString("yyyyMMdd");
}
if (EXPENSE_ENDDATE_TextBoxEx.Text != "")
{
drExpense["EXPENSE_ENDDATE"] = DateTime.Parse(EXPENSE_ENDDATE_TextBoxEx.Text).ToString("yyyyMMdd");
}
if (EXPENSE_STANDARD_TextBoxEx.Text != "")
{
drExpense["EXPENSE_STANDARD"] = EXPENSE_STANDARD_TextBoxEx.Text;
}
if (RECEIVABLE_AMOUNT_TextBoxEx.Text != "")
{
drExpense["RECEIVABLE_AMOUNT"] = RECEIVABLE_AMOUNT_TextBoxEx.Text;
}
if (ACTUALPAID_AMOUNT_TextBoxEx.Text != "")
{
drExpense["ACTUALPAID_AMOUNT"] = ACTUALPAID_AMOUNT_TextBoxEx.Text;
}
drExpense["CONTRACTEXITEXPENSE_DESC"] = CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text;
dtExpense.Rows.Add(drExpense);
}
}
return dtExpense;
}
#endregion
#region ->
/// <summary>
/// 保存费用明细数据
/// </summary>
/// <param name="_DataGridItem">列表数据源</param>
/// <param name="ExpenseType">费用类型</param>
/// <param name="ContinueState">是否结束保存</param>
/// <returns></returns>
public bool SaveData(DataGridItem _DataGridItem, int ExpenseType, bool ContinueState = false)
{
//经营服务区
DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx;
//经营起止日期
TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx;
TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx;
//费用标准
TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx;
//应收金额
TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx;
//实收金额
TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx;
//备注
TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx;
if (string.IsNullOrEmpty(EXPENSE_STARTDATE_TextBoxEx.Text) || string.IsNullOrEmpty(EXPENSE_ENDDATE_TextBoxEx.Text) ||
string.IsNullOrEmpty(EXPENSE_STANDARD_TextBoxEx.Text) || string.IsNullOrEmpty(RECEIVABLE_AMOUNT_TextBoxEx.Text) ||
string.IsNullOrEmpty(ACTUALPAID_AMOUNT_TextBoxEx.Text) || string.IsNullOrEmpty(SERVERPART_ID_DDL.SelectedValue))
{
if (ContinueState)
{
return ContinueState;
}
else
{
Page.Alert("请先填写详情!");
return ContinueState;
}
}
using (Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST))
{
if (string.IsNullOrEmpty(_DataGridItem.Cells[0].Text) || _DataGridItem.Cells[0].Text == "0")
{
_CONTRACTEXITEXPENSE.CONTRACTEXIT_ID = CONTRACTEXIT_ID.Text.TryParseToInt();
_CONTRACTEXITEXPENSE.CONTRACTPROINST_ID = CONTRACTPROINST_ID.Text.TryParseToInt();
_CONTRACTEXITEXPENSE.EXPENSE_TYPE = ExpenseType;
//经营起止日期
_CONTRACTEXITEXPENSE.EXPENSE_STARTDATE = DateTime.Parse(EXPENSE_STARTDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt();
_CONTRACTEXITEXPENSE.EXPENSE_ENDDATE = DateTime.Parse(EXPENSE_ENDDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt();
//经营服务区
_CONTRACTEXITEXPENSE.SERVERPART_ID = SERVERPART_ID_DDL.SelectedValue.TryParseToInt();
_CONTRACTEXITEXPENSE.SERVERPART_NAME = SERVERPART_ID_DDL.SelectedItem.Text;
//费用标准
_CONTRACTEXITEXPENSE.EXPENSE_STANDARD = EXPENSE_STANDARD_TextBoxEx.Text.TryParseToDouble().Round(6);
//应收金额
_CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT = RECEIVABLE_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6);
//实收金额
_CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT = ACTUALPAID_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6);
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC = CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text;
_CONTRACTEXITEXPENSE.OPERATE_DATE = DateTime.Now;
_CONTRACTEXITEXPENSE.Insert();
_DataGridItem.Cells[0].Text = _CONTRACTEXITEXPENSE.KeyID;
}
else
{
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = _DataGridItem.Cells[0].Text.ToEncrypt();
if (_CONTRACTEXITEXPENSE.Select())
{
_CONTRACTEXITEXPENSE.EXPENSE_TYPE = ExpenseType;
//经营起止日期
_CONTRACTEXITEXPENSE.EXPENSE_STARTDATE = DateTime.Parse(EXPENSE_STARTDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt();
_CONTRACTEXITEXPENSE.EXPENSE_ENDDATE = DateTime.Parse(EXPENSE_ENDDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt();
//经营服务区
_CONTRACTEXITEXPENSE.SERVERPART_ID = SERVERPART_ID_DDL.SelectedValue.TryParseToInt();
_CONTRACTEXITEXPENSE.SERVERPART_NAME = SERVERPART_ID_DDL.SelectedItem.Text;
//费用标准
_CONTRACTEXITEXPENSE.EXPENSE_STANDARD = EXPENSE_STANDARD_TextBoxEx.Text.TryParseToDouble().Round(6);
//应收金额
_CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT = RECEIVABLE_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6);
//实收金额
_CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT = ACTUALPAID_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6);
_CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC = CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text;
_CONTRACTEXITEXPENSE.OPERATE_DATE = DateTime.Now;
_CONTRACTEXITEXPENSE.Update();
}
}
}
return false;
}
#endregion
protected void ButtonSave_Click(object sender, EventArgs e)
{
try
{
base.Save();
BindData();
Page.Alert("保存成功!", 3);
}
catch (Exception ex)
{
//回滚事务
Transaction.Rollback();
Page.Alert(ex.Message);
}
}
}
}