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

182 lines
7.6 KiB
C#

using SuperMap.RealEstate.CoreFrameWork;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Web.UI.WebControls;
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 SRFB = SuperMap.RealEstate.FrameWork.Business;
using WFSB = SuperMap.RealEstate.WorkFlow.Support.Business;
using Hwsb = SuperMap.RealEstate.HighWay.Storage.Business;
namespace SuperMap.RealEstate.HighWay.Running
{
public partial class INITIATIONDOCUMENT : UserControl<Business.INITIATION_DOCUMENT>
{
Running.Business.HIGHWAYPROINST _HighWayProInst = null;
protected override void OnInit(EventArgs e)
{
Common.PageHelper.CreateHeaderStyle(Page);
_HighWayProInst = Running.Business.HIGHWAYPROINST.CreateInstance(Page);
this.ButtonVisible = false;
//隐藏打印受理单按钮
((IWorkFlowPage)Page).SetAcceptBillButton(false);//.SetAcceptBill("打印受理单", _Url);
base.OnInit(e);
}
//载入数据
public override bool LoadData()
{
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
CurrObject.AddSearchParameter("PROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID);
if (CurrObject.Search())
{
BindObjectToControl();
if (CurrObject != null)
{
DOCUMENT_MAIN_DELIVERY.SelectedValue = CurrObject.I_DOCUMENT_MAIN_DELIVERY;
DOCUMENT_SEND_DELIVERY.SelectedValue = CurrObject.I_DOCUMENT_SEND_DELIVERY;
}
}
return true;
}
public override void InitializeWebControl()
{
//加载抄送人员
DOCUMENT_MAIN_DELIVERY.Items.Clear();
DOCUMENT_SEND_DELIVERY.Items.Clear();
Hwsb.CommonHelper.BindingUserType(Transaction,Page.PassportInfo.ID_Encrypt, DOCUMENT_MAIN_DELIVERY.Items,"-1");
Hwsb.CommonHelper.BindingUserType(Transaction, Page.PassportInfo.ID_Encrypt, DOCUMENT_SEND_DELIVERY.Items, "-1");
}
#region ->
public static bool IsSignCom(ServiceModel.Transaction transaction, int nowActdefId)
{
bool NeedSign = false;
WFSB.ActEntDef _ActEntDef = new WFSB.ActEntDef(transaction);
_ActEntDef.AddSearchParameter("ACTDEF_ID", nowActdefId);
if (_ActEntDef.Search())
{
string sqlWhere = string.Format(@"WHERE COMPONENT_ID IN (SELECT COMPONENT_ID
FROM WORKFLOW_SUPPORT.T_ACTCOMDEF WHERE ACTENTDEF_ID = {0} AND COMPONENT_TYPE = 2 ) AND
COMPONENT_GUID IN ('521a8427-53df-4113-888f-7879e5c7c32b','aa655095-8ea6-495e-bef4-0edcb39b09ad')", _ActEntDef.ActEntDef_ID);
if (new WFSB.Component(transaction).GetCount(sqlWhere) > 0)
{
NeedSign = true;
}
}
return NeedSign;
}
#endregion
#region ->
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) { return; }
if (!string.IsNullOrEmpty(_HighWayProInst.ProInst.Division_Code.ToString()))
{
string _Division_Code = _HighWayProInst.ProInst.Division_Code.ToValue();
STAFF_UNIT_NAME.Text = DictionaryHelper.GetFieldEnumName("DIVISION_CODE", _Division_Code, Transaction);
}
if (ModifyType == ModifyTypeEnum.ReadOnly || ModifyType == ModifyTypeEnum.ReadOnlyVisible)
{
ButtonSave.Visible = false;
}
if (!_HighWayProInst.ProInst.NowActInst.ActInst_Name.StartsWith("公文下发"))
{
if (CurrObject.PropertyObject != null)
{
if (CurrObject.I_DOCUMENT_MAIN_DELIVERY != null)
{
DOCUMENT_MAIN_DELIVERY.SelectedValue = CurrObject.I_DOCUMENT_MAIN_DELIVERY;
}
if (CurrObject.I_DOCUMENT_MAIN_DELIVERY != null)
{
DOCUMENT_SEND_DELIVERY.SelectedValue = CurrObject.I_DOCUMENT_SEND_DELIVERY;
}
I_DOCUMENT_SUBJECT.ReadOnly = true;
I_DOCUMENT_TITLE.ReadOnly = true;
DOCUMENT_MAIN_DELIVERY.Enabled = false;
DOCUMENT_SEND_DELIVERY.Enabled = false;
I_DOCUMENT_CONTENT.ReadOnly = true;
DOCUMENT_SEND_DELIVERY.Visible = false;
DOCUMENT_MAIN_DELIVERY.Visible = false;
DOCUMENT_MAIN_DELIVERY_text.Visible = true;
DOCUMENT_SEND_DELIVERY_text.Visible = true;
foreach (ListItemEx _ListItemEx in DOCUMENT_MAIN_DELIVERY.Items)
{
if (("," + CurrObject.I_DOCUMENT_MAIN_DELIVERY + ",").Contains(("," + _ListItemEx.Value + ",")))
{
DOCUMENT_MAIN_DELIVERY_text.Text += (DOCUMENT_MAIN_DELIVERY_text.Text == "" ? "" : ",") + _ListItemEx.Text;
}
if (("," + CurrObject.I_DOCUMENT_SEND_DELIVERY + ",").Contains(("," + _ListItemEx.Value + ",")))
{
DOCUMENT_SEND_DELIVERY_text.Text += (DOCUMENT_SEND_DELIVERY_text.Text == "" ? "" : ",") + _ListItemEx.Text;
}
}
}
}
}
#endregion
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.INITIATION_DOCUMENT> e)
{
CurrObject.OPERATE_DATE = DateTime.Now;
if (_HighWayProInst.ProInst.NowActInst.ActInst_Name.StartsWith("公文下发"))
{
e.CurrObject.STAFF_ID = this.Page.PassportInfo.ID;
e.CurrObject.STAFF_NAME = this.Page.PassportInfo.Name;
}
e.CurrObject.PROINST_ID = _HighWayProInst.HIGHWAYPROINST_ID;
if (!string.IsNullOrEmpty(DOCUMENT_MAIN_DELIVERY.SelectedValue))
{
e.CurrObject.I_DOCUMENT_MAIN_DELIVERY = DOCUMENT_MAIN_DELIVERY.SelectedValue;
}
if (!string.IsNullOrEmpty(DOCUMENT_SEND_DELIVERY.SelectedValue))
{
e.CurrObject.I_DOCUMENT_SEND_DELIVERY = DOCUMENT_SEND_DELIVERY.SelectedValue;
}
base.OnDataAction_BeforeSave(e);
}
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.INITIATION_DOCUMENT> e)
{
bool signCom = IsSignCom(this.Transaction, _HighWayProInst.ProInst.NowActInst.ActDef_ID.Value);
try
{
#region
WorkFlow.Instance.Business.ProInst _ProInst = _HighWayProInst.ProInst;
_ProInst.ProInst_Name = I_DOCUMENT_TITLE.Text;
_ProInst.Update();
#endregion
}
catch (Exception ex)
{
}
base.OnDataAction_AfterSave(e);
}
protected void ButtonSave_Click(object sender, EventArgs e)
{
try
{
base.Save();
Page.RefreshOpener();
Page.Alert("保存成功!", 3);
}
catch (Exception ex)
{
Transaction.Rollback();
Page.Alert(ex.Message);
}
}
}
}