QueryInstanceByData.aspx.cs
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:9k
源码类别:
OA系统
开发平台:
C#
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Web;
- using System.Web.SessionState;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.HtmlControls;
- namespace OThinker.H3.Portal
- {
- /// <summary>
- /// Summary description for QueryCaseByData.
- /// </summary>
- public partial class QueryInstanceByData : PortalPage
- {
- private string UserID
- {
- get
- {
- string id = this.Request.QueryString[Param_UserID];
- if (id == null || id == "")
- {
- return null;
- }
- else
- {
- return id;
- }
- }
- }
- protected void Page_Load(object sender, System.EventArgs e)
- {
- if (!this.IsPostBack)
- {
- // 验证是否具有管理员权限
- if ((!this.UserValidator.ValidateViewReport()) && this.UserID != this.UserValidator.UserID)
- {
- this.NotifyMessage(LackOfAuth);
- }
- // 工作流模板的包
- string[] packages = OThinker.H3.Server.Engine.WorkflowManager.GetWorkflowPackages();
- if (packages != null)
- {
- foreach (string package in packages)
- {
- this.lstWorkflowPackage.Items.Add(package);
- }
- }
- this.lstWorkflowPackage_SelectedIndexChanged(this, new EventArgs());
- string[] comparisonTypes = new string[] { ">", ">=", "=", "<=", "<", "!=", "为空", "非空", "包含"};
- foreach (string type in comparisonTypes)
- {
- this.lstOperator.Items.Add(type);
- }
- }
- }
- #region Web Form Designer generated code
- override protected void OnInit(EventArgs e)
- {
- //
- // CODEGEN: This call is required by the ASP.NET Web Form Designer.
- //
- InitializeComponent();
- base.OnInit(e);
- }
- /// <summary>
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- /// </summary>
- private void InitializeComponent()
- {
- this.btnQuery.Click += new System.Web.UI.ImageClickEventHandler(this.btnQuery_Click);
- }
- #endregion
- protected void lstWorkflowPackage_SelectedIndexChanged(object sender, EventArgs e)
- {
- this.lstWorkflowName.Items.Clear();
- if (this.lstWorkflowPackage.SelectedItem != null)
- {
- string selectedPackage = this.lstWorkflowPackage.SelectedItem.Value;
- if (selectedPackage != null && selectedPackage != "")
- {
- string[] names = OThinker.H3.Server.Engine.WorkflowManager.GetWorkflowNames(selectedPackage, OThinker.H3.WorkflowTemplate.WorkflowState.Active);
- if (names != null && names.Length != 0)
- {
- foreach (string name in names)
- {
- this.lstWorkflowName.Items.Add(name);
- }
- this.lstWorkflowName_SelectedIndexChanged(this, new EventArgs());
- }
- }
- }
- }
- protected void lstWorkflowName_SelectedIndexChanged(object sender, EventArgs e)
- {
- this.lstWorkflowVersion.Items.Clear();
- if (this.lstWorkflowName.SelectedItem != null)
- {
- string selectedPackage = this.lstWorkflowPackage.SelectedItem.Value;
- string selectedName = this.lstWorkflowName.SelectedItem.Value;
- if (selectedName != null && selectedName != "")
- {
- int[] versions = OThinker.H3.Server.Engine.WorkflowManager.GetWorkflowVersions(selectedPackage, selectedName);
- if (versions != null && versions.Length != 0)
- {
- foreach (int version in versions)
- {
- this.lstWorkflowVersion.Items.Add(version.ToString());
- }
- this.lstWorkflowVersion.SelectedIndex = this.lstWorkflowVersion.Items.Count - 1;
- this.lstWorkflowVersion_SelectedIndexChanged(this, new EventArgs());
- }
- }
- }
- }
- protected void lstWorkflowVersion_SelectedIndexChanged(object sender, EventArgs e)
- {
- this.lstDataItem.Items.Clear();
- if (this.lstWorkflowVersion.SelectedItem != null && this.lstWorkflowVersion.SelectedItem.Value != null && this.lstWorkflowVersion.SelectedItem.Value != "")
- {
- string package = this.lstWorkflowPackage.SelectedItem.Value;
- string name = this.lstWorkflowName.SelectedItem.Value;
- int version = int.Parse(this.lstWorkflowVersion.SelectedItem.Value);
- OThinker.H3.WorkflowTemplate.WorkflowTemplate template = OThinker.H3.Server.Engine.WorkflowManager.GetWorkflow(package, name, version);
- if (template == null || template.DataItems == null || template.DataItems.Length == 0)
- {
- return;
- }
- foreach (OThinker.H3.Data.WorkflowDataItem item in template.DataItems)
- {
- if (item != null && item.ItemName != null && item.ItemName != "")
- {
- this.lstDataItem.Items.Add(item.ItemName);
- }
- }
- this.lstDataItem_SelectedIndexChanged(this, new EventArgs());
- }
- }
- protected void lstDataItem_SelectedIndexChanged(object sender, EventArgs e)
- {
- string package = this.lstWorkflowPackage.SelectedItem.Value;
- string name = this.lstWorkflowName.SelectedItem.Value;
- int version = int.Parse(this.lstWorkflowVersion.SelectedItem.Value);
- string itemName = this.lstDataItem.SelectedItem.Value;
- if (itemName == null || itemName == "")
- {
- this.lblText.Text = "类型";
- }
- else
- {
- OThinker.H3.WorkflowTemplate.WorkflowTemplate template = OThinker.H3.Server.Engine.WorkflowManager.GetWorkflow(package, name, version);
- Data.WorkflowDataItem item = template.GetDataItem(itemName);
- this.lblText.Text = item.LogicTypeName;
- }
- }
- private void btnQuery_Click(object sender, System.Web.UI.ImageClickEventArgs e)
- {
- this.Query();
- }
- protected void lnkQuery_Click(object sender, System.EventArgs e)
- {
- this.Query();
- }
- private void Query()
- {
- if (this.lstDataItem.SelectedItem == null || this.lstDataItem.SelectedItem.Value == null || this.lstDataItem.SelectedItem.Value == "")
- {
- this.NotifyMessage("没有选定数据项");
- }
- if ((this.lstOperator.SelectedItem.Value != "为空" &&
- this.lstOperator.SelectedItem.Value != "非空") &&
- (this.txtValue.Text == null || this.txtValue.Text == ""))
- {
- this.NotifyMessage("请输入数据的值");
- }
- string package = this.lstWorkflowPackage.SelectedItem.Value;
- string name = this.lstWorkflowName.SelectedItem.Value;
- int version = int.Parse(this.lstWorkflowVersion.SelectedItem.Value);
- string itemName = this.lstDataItem.SelectedItem.Value;
- string comparison = this.lstOperator.SelectedItem.Value;
- string dataComparison = null;
- if (this.lstOperator.SelectedItem.Value == "为空")
- {
- dataComparison = "is null";
- }
- else if (this.lstOperator.SelectedItem.Value == "非空")
- {
- dataComparison = "is not null";
- }
- else if (this.lstOperator.SelectedItem.Value == "包含")
- {
- dataComparison = "LIKE '%" + this.txtValue.Text.Replace("'", "''") + "%'";
- }
- else
- {
- dataComparison = comparison + "'" + this.txtValue.Text.Replace("'", "''") + "'";
- }
- try
- {
- System.Data.DataTable table = Portal.Query.QueryInstanceByData(
- package,
- name,
- version,
- itemName,
- dataComparison,
- this.UserID);
- this.InstanceGridView.BindDataGrid(table);
- }
- catch
- {
- this.NotifyMessage("非法的查询方式");
- }
- }
- }
- }