flowstepfinished.cs

来自「工作流引擎」· CS 代码 · 共 561 行 · 第 1/2 页

CS
561
字号
						{
						
						}
					}
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return;
			}
		}

		private void groupBox3_Enter(object sender, System.EventArgs e)
		{
		
		}

		private void FlowStepFinished_Load(object sender, System.EventArgs e)
		{
			try
			{
				if(conn==null)
					conn = MainForm.getOracleConnection();

				
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return;
			}
		}

		private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			try
			{
							
				string select = " select title from t_project,t_projectitem "+
									"where t_project.AUTOID=t_projectitem.PROJECTID "+
									"and t_project.STATUS="+this.comboBox1.SelectedIndex+
									"and t_projectitem.OPERATORID="+MainForm.getUserAutoID();
				Console.WriteLine(select);
				this.comboBox2.Items.Clear();
				this.listBox1.Items.Clear();
				this.comboBox2.Items.Add("请选择");
				this.comboBox2.SelectedIndex=0;
				using(OracleCommand cmd = conn.CreateCommand())
				{
					cmd.CommandText = select;
					using(OracleDataReader reader = cmd.ExecuteReader())
					{
						while(reader.Read())
						{
						   object item=reader.GetString(0);
							this.comboBox2.Items.Add(item);
						}
						
					}
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return;
			}
		}

		private void comboBox2_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			try
			{
							
				string select = " select distinct t_flowrelation.name,t_flowrelation.seq,t_project.autoid from t_flowrelation,t_project where t_project.flowid=t_flowrelation.flowid "+
					            " and t_project.title='"+this.comboBox2.SelectedItem.ToString()+"' order by t_flowrelation.seq";
				Console.WriteLine(select);
				this.listBox1.Items.Clear();
				using(OracleCommand cmd = conn.CreateCommand())
				{
					cmd.CommandText = select;
					using(OracleDataReader reader = cmd.ExecuteReader())
					{
						while(reader.Read())
						{
							object item=reader.GetString(0);
							this.projectid=reader.GetInt32(2);
							this.listBox1.Items.Add(item);
						}
						
					}
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return;
			}
		}

		private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			try
			{
							
				string select =  "select t_flowrelation.NEEDRELATE,t_project.BEGINDATE,t_project.ENDDATE,t_projectitem.OPERATORID,t_projectitem.MODIFYDATE,t_projectitem.SEQ,t_projectitem.content,t_projectitem.status "+
								" from t_flowrelation,t_project,t_projectitem "+
								" where t_project.AUTOID=t_projectitem.PROJECTID "+
								" and t_project.FLOWID=t_flowrelation.FLOWID "+
					            " and t_flowrelation.seq=t_projectitem.seq "+
								" and t_project.AUTOID= "+this.projectid+
								" and t_flowrelation.NAME='"+this.listBox1.SelectedItem.ToString()+"'";
				Console.WriteLine(select);

                this.label3.Text="";
				this.label4.Text="";
				this.textBox1.Text="";
				this.comboBox3.Items.Clear();
				this.comboBox3.Items.Add("请选择");

				using(OracleCommand cmd = conn.CreateCommand())
				{
					cmd.CommandText = select;
					using(OracleDataReader reader = cmd.ExecuteReader())
					{
						if(reader.Read())
						{
							int isneedrelation=reader.GetInt32(0);
							string begindate=reader.GetDateTime(1).ToString();
							string enddate=reader.GetDateTime(2).ToString();
							int operid=reader.GetInt32(3);
							string modifydate=reader.GetDateTime(4).ToString();
                            int seq=reader.GetInt32(5);
							string content=reader.GetString(6);
							int status=reader.GetInt32(7);

							this.nextseq=seq+1;//下一步操作

							this.label3.Text="本项目从【"+begindate+"】到【"+enddate+"】为止";
							string label4text="本步骤是该项目第【"+seq+"】步";
							if(status==0)
							{
								label4text+=",本步骤应该由【"+this.getRealName(operid)+"】完成,目前尚未完成。";
							}
							else
							{
								label4text+=",本步骤由【"+this.getRealName(operid)+"】在【"+modifydate+"】完成。";
							}
                            this.label4.Text=label4text;
							this.textBox1.Text=content;

							if(status==1||operid!=MainForm.getUserAutoID())
								this.button1.Enabled=false;
							Hashtable hs=this.getNextOper(isneedrelation);

							if(hs!=null)
							{
								foreach(string key in hs.Keys)
								{
									object item=(object)key;
									this.comboBox3.Items.Add(item);
								}
							}

                     


							
						}
						
					}
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return;
			}
		}
		public string getRealName(int autoid)
		{
			try
			{
							
				string select =  "select name from t_user where autoid="+autoid;
				Console.WriteLine(select);
				using(OracleCommand cmd = conn.CreateCommand())
				{
					cmd.CommandText = select;
					using(OracleDataReader reader = cmd.ExecuteReader())
					{
						if(reader.Read())
						{
							return reader.GetString(0);							
						}
						
					}
				}
				return null;
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return null;
			}
		}
		public Hashtable getNextOper(int isneedrelate)
		{
			try
			{
				Hashtable hs=new Hashtable();
				if(isneedrelate==1)
				{
                   return null;
				}
				else
				{
					string select =  "select OPERATORID from t_projectitem where projectid="+this.projectid +" and seq="+this.nextseq;
						Console.WriteLine(select);
					using(OracleCommand cmd = conn.CreateCommand())
					{
						cmd.CommandText = select;
						using(OracleDataReader reader = cmd.ExecuteReader())
						{
							if(reader.Read())
							{
								if(reader.GetInt32(0)!=0)
								{
									hs.Add(this.getRealName(reader.GetInt32(0)),"s");	
									return hs;
								}
							}
							
						
						}
					}
                    select="select userid from t_flowrelation,t_project,t_projectitem where t_projectitem.projectid=t_project.autoid "+
						    " and t_project.flowid=t_flowrelation.flowid "+
						    " and t_project.autoid="+this.projectid+
						    " and t_flowrelation.seq="+this.nextseq;
					Console.WriteLine(select);
					using(OracleCommand cmd = conn.CreateCommand())
					{
						cmd.CommandText = select;
						using(OracleDataReader reader = cmd.ExecuteReader())
						{
							if(reader.Read())
							{
								    string opuser=reader.GetString(0);
								if(opuser!=null)
								{
									string []users=opuser.Split(',');
									foreach(string user in users)
									{
										if(user!=null&&!user.Equals(""))
                                       hs.Add(this.getRealName(int.Parse(user)),"s");
									}
								}
														
							}
							return hs;
						
						}
					}

				}

			
				
				
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
				return null;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?