215 lines
9.6 KiB
C#
215 lines
9.6 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Web;
|
||
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 Business = SuperMap.RealEstate.Finance.Running.Business;
|
||
using WFSB = SuperMap.RealEstate.WorkFlow.Support.Business;
|
||
|
||
namespace SuperMap.RealEstate.Finance.Compents.ProinstCompact
|
||
{
|
||
public partial class CompactSign : UserControl<Business.JOINTLYSIGN>
|
||
{
|
||
Running.Business.FINANCEPROINST _FINANCEPROINST = null;
|
||
|
||
protected override void OnInit(EventArgs e)
|
||
{
|
||
base.OnInit(e);
|
||
_FINANCEPROINST = Running.Business.FINANCEPROINST.CreateInstance(Page);
|
||
}
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
|
||
USER_IDS.Clear();
|
||
if (!string.IsNullOrEmpty(ACTDEF_ID.SelectedValue))
|
||
{
|
||
foreach (DataRow _DataRow in _FINANCEPROINST.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_USER A
|
||
WHERE EXISTS(SELECT 1 FROM WORKFLOW_SUPPORT.T_ROLE B,WORKFLOW_SUPPORT.T_USERROLE C
|
||
WHERE A.USER_ID = C.USER_ID AND B.ROLE_ID = C.ROLE_ID AND B.ACTDEF_ID = " +
|
||
ACTDEF_ID.SelectedValue + ")").Rows)
|
||
{
|
||
ListItemEx _ListItem = new ListItemEx();
|
||
_ListItem.Text = _DataRow["USER_NAME"].ToString();
|
||
_ListItem.Value = _DataRow["USER_ID"].ToString();
|
||
USER_IDS.Items.Add(_ListItem);
|
||
}
|
||
|
||
if (CurrObject.PropertyObject != null && CurrObject.USER_IDS != null)
|
||
{
|
||
USER_IDS.SelectedValue = CurrObject.USER_IDS;
|
||
}
|
||
}
|
||
}
|
||
|
||
//在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
|
||
}
|
||
|
||
public override bool LoadData()
|
||
{
|
||
bool Flag = true;
|
||
SearchParameter _SearchParameter = new SearchParameter();
|
||
this.CurrObject.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID);
|
||
Running.Business.PROINSTCOMPACT _PROINSTCOMPACT = new Business.PROINSTCOMPACT(CurrObject);
|
||
_PROINSTCOMPACT.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID);
|
||
if (_PROINSTCOMPACT.Search())
|
||
{
|
||
CurrObject.AddSearchParameter("TENDER_ID", _PROINSTCOMPACT.PROINSTCOMPACT_ID);
|
||
}
|
||
ACTDEF_ID.Items.Clear();
|
||
if (ModifyType == ModifyTypeEnum.ReadOnly || ModifyType == ModifyTypeEnum.ReadOnlyVisible)
|
||
{
|
||
foreach (WorkFlow.Support.Business.ActDef _ActDef in new WorkFlow.Support.Business.ActDef(CurrObject).FillCollection(
|
||
"WHERE ACTDEF_ID = " + _FINANCEPROINST.ProInst.NowActInst.ActDef_ID))
|
||
{
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _ActDef.ActDef_Name;
|
||
_ListItemEx.Value = _ActDef.ActDef_ID.ToString();
|
||
ACTDEF_ID.Items.Add(_ListItemEx);
|
||
|
||
CurrObject.SearchParameters.Remove(_SearchParameter);
|
||
_SearchParameter.Name = "ACTDEF_ID";
|
||
_SearchParameter.Value = _ActDef.ActDef_ID;
|
||
CurrObject.SearchParameters.Add(_SearchParameter);
|
||
//CurrObject.AddSearchParameter("ACTDEF_ID", _ActDef.ActDef_ID);
|
||
if (this.CurrObject.Search() && Flag)
|
||
{
|
||
this.BindObjectToControl();
|
||
Flag = false;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
foreach (WorkFlow.Support.Business.ActDef _ActDef in new WorkFlow.Support.Business.ActDef(CurrObject).FillCollection(
|
||
"WHERE ACTDEF_ID IN (SELECT NEXTACTDEF_ID FROM WORKFLOW_SUPPORT.T_ROUTE WHERE ACTDEF_ID = " +
|
||
_FINANCEPROINST.ProInst.NowActInst.ActDef_ID + ")"))
|
||
{
|
||
if (_ActDef.ActDef_Type.ToInt32() == 3020)
|
||
{
|
||
foreach (WFSB.ActDef _NextActDef in new WFSB.ActDef(CurrObject).FillCollection(
|
||
"WHERE ACTDEF_ID IN (SELECT NEXTACTDEF_ID FROM WORKFLOW_SUPPORT.T_ROUTE WHERE ACTDEF_ID = " +
|
||
_ActDef.ActDef_ID + ")"))
|
||
{
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _NextActDef.ActDef_Name;
|
||
_ListItemEx.Value = _NextActDef.ActDef_ID.ToString();
|
||
ACTDEF_ID.Items.Add(_ListItemEx);
|
||
|
||
CurrObject.SearchParameters.Remove(_SearchParameter);
|
||
_SearchParameter.Name = "ACTDEF_ID";
|
||
_SearchParameter.Value = _NextActDef.ActDef_ID;
|
||
CurrObject.SearchParameters.Add(_SearchParameter);
|
||
//CurrObject.AddSearchParameter("ACTDEF_ID", _NextActDef.ActDef_ID);
|
||
if (this.CurrObject.Search() && Flag)
|
||
{
|
||
this.BindObjectToControl();
|
||
Flag = false;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _ActDef.ActDef_Name;
|
||
_ListItemEx.Value = _ActDef.ActDef_ID.ToString();
|
||
ACTDEF_ID.Items.Add(_ListItemEx);
|
||
|
||
CurrObject.SearchParameters.Remove(_SearchParameter);
|
||
_SearchParameter.Name = "ACTDEF_ID";
|
||
_SearchParameter.Value = _ActDef.ActDef_ID;
|
||
CurrObject.SearchParameters.Add(_SearchParameter);
|
||
//CurrObject.AddSearchParameter("ACTDEF_ID", _ActDef.ActDef_ID);
|
||
if (this.CurrObject.Search() && Flag)
|
||
{
|
||
this.BindObjectToControl();
|
||
Flag = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
public override bool LoadDataEx(Web.UI.WebControls.ClientSetEventArgs ClientSet)
|
||
{
|
||
|
||
return base.LoadDataEx(ClientSet);
|
||
}
|
||
|
||
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
|
||
//e.CancelDataAction 来处理是否取消该动作;
|
||
//失败的原因可以用Page.Alert()传递到页面
|
||
public override void OnDataAction_BeforeSave(DataActionEventArgs<Running.Business.JOINTLYSIGN> e)
|
||
{
|
||
CurrObject.ACTINST_ID = int.Parse(_FINANCEPROINST.ProInst.NowActInst.ActInst_ID.ToString());
|
||
e.CurrObject.FINANCEPROINST_ID = _FINANCEPROINST.FINANCEPROINST_ID;
|
||
Running.Business.PROINSTCOMPACT _PROINSTCOMPACT = new Business.PROINSTCOMPACT(CurrObject);
|
||
_PROINSTCOMPACT.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID);
|
||
if (_PROINSTCOMPACT.Search())
|
||
{
|
||
CurrObject.TENDER_ID = _PROINSTCOMPACT.PROINSTCOMPACT_ID;
|
||
TENDER_ID.Text = _PROINSTCOMPACT.PROINSTCOMPACT_ID.ToString();
|
||
}
|
||
else
|
||
{
|
||
throw new Exception("请保存合同信息后再填写会审人员!");
|
||
|
||
}
|
||
if (string.IsNullOrEmpty(CurrObject.USER_IDS))
|
||
{
|
||
throw new Exception("请选择会审人员后,再点击保存!");
|
||
}
|
||
else
|
||
{
|
||
string _USER_NAMES = "";
|
||
foreach (FrameWork.Business.User _User in new FrameWork.Business.User(CurrObject).FillCollection(
|
||
"WHERE USER_ID IN (" + CurrObject.USER_IDS + ")"))
|
||
{
|
||
_USER_NAMES += (string.IsNullOrEmpty(_USER_NAMES) ? "" : ",") + _User.User_Name;
|
||
}
|
||
USER_NAMES.Text = _USER_NAMES;
|
||
CurrObject.USER_NAMES = _USER_NAMES;
|
||
}
|
||
base.OnDataAction_BeforeSave(e);
|
||
}
|
||
|
||
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.JOINTLYSIGN> e)
|
||
{
|
||
base.OnDataAction_AfterSave(e);
|
||
}
|
||
|
||
protected void ACTDEF_ID_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
USER_IDS.Clear();
|
||
if (!string.IsNullOrEmpty(e.Argument))
|
||
{
|
||
foreach (DataRow _DataRow in _FINANCEPROINST.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_USER A
|
||
WHERE EXISTS(SELECT 1 FROM WORKFLOW_SUPPORT.T_ROLE B,WORKFLOW_SUPPORT.T_USERROLE C
|
||
WHERE A.USER_ID = C.USER_ID AND B.ROLE_ID = C.ROLE_ID AND B.ACTDEF_ID = " +
|
||
ACTDEF_ID.SelectedValue + ")").Rows)
|
||
{
|
||
ListItemEx _ListItem = new ListItemEx();
|
||
_ListItem.Text = _DataRow["USER_NAME"].ToString();
|
||
_ListItem.Value = _DataRow["USER_ID"].ToString();
|
||
USER_IDS.Items.Add(_ListItem);
|
||
}
|
||
e.SetDropDownListEx(USER_IDS);
|
||
}
|
||
}
|
||
}
|
||
} |