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 { 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 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 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); } } } }