⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workflow_addstepactive.java

📁 用java实现的工作流
💻 JAVA
字号:
package treedoc;

/**在WF_FLOWTree中调用的对流程进行活动属性进行编辑的窗体
 */

/**
 * 名称       : WORKFLOW_ADDSTEPACTIVE
 * 描述       : WWW.FANGFA.NET 工作流管理系统--对已经提交进数据库的节点属性修改类
 * 版权信息   : Copyright (c) 2004 COMSCI
 * @作者      : COMSCI Sichuan Fangfa Digital
 * @版本      : 0.9 builder 2004091910
 * @日期      : 2004/09/19
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;

public class workflow_AddStepActive
    extends JFrame {

//组件和其它参数定义

  String stepid = "";
  private java.util.ArrayList juat = new java.util.ArrayList();

  private static String active_content[] = { //活动点公文处理类型列表
      "", "签署类", "修改类", "传阅类"};
  private static String active_type[] = {
      "", "并行方式", "串行方式", "同步方式", "默认"};
  private workflow_StepMain wsm;
  private workflow_userlist wul;
  public String fid = "";
  JPanel jPanel1 = new JPanel();
  JScrollPane jScrollPane1 = new JScrollPane();
  JLabel jLabel1 = new JLabel();
  XYLayout xYLayout2 = new XYLayout();
  JPanel jPanel2 = new JPanel();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JLabel jLabel2 = new JLabel();
  XYLayout xYLayout3 = new XYLayout();
  JLabel jLabel3 = new JLabel();
  JTextField jTextField1 = new JTextField();
  JButton jButton3 = new JButton();
  JList jList1;

  FlowLayout flowLayout1 = new FlowLayout();
  JLabel jLabel4 = new JLabel();
  JComboBox jComboBox1 = new JComboBox(active_content);
  JLabel jLabel5 = new JLabel();
  JComboBox jComboBox2 = new JComboBox(active_type);
  JPanel jPanel3 = new JPanel();
  XYLayout xYLayout1 = new XYLayout();
  JCheckBox jCheckBox1 = new JCheckBox();
  JCheckBox jCheckBox2 = new JCheckBox();
  TitledBorder titledBorder1;
  TitledBorder titledBorder2;
  JComboBox jComboBox3;

//构造方法..通过workflow_flowtree传入workflow_userlist类,
//和FFID,前者用于用户树型列表使用后的关闭,后者用于返回流程图ID

  public workflow_AddStepActive(workflow_userlist wuul, String ffid) {

    fid = ffid; //获得传入的流程图ID
    wul = wuul;

    wsm = new workflow_StepMain(""); //要使用到库操作类的方法

    java.util.Vector jua = wsm.get_allsteps(fid);
    jList1 = new JList(jua);
    jComboBox3 = new JComboBox(jua);

    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }

  }

//JB的界面INIT初始方法.......

  private void jbInit() throws Exception {

    titledBorder1 = new TitledBorder("");
    titledBorder2 = new TitledBorder("");
    this.getContentPane().setLayout(flowLayout1);
    jPanel1.setBorder(BorderFactory.createEtchedBorder());
    jPanel1.setLayout(xYLayout2);
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.
                                              HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.
                                            VERTICAL_SCROLLBAR_ALWAYS);
    jLabel1.setBorder(BorderFactory.createEtchedBorder());
    jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel1.setText(fid + "的流程所有活动节点");
    jPanel2.setBorder(BorderFactory.createEtchedBorder());
    jPanel2.setLayout(xYLayout3);
    jButton1.setText("确定");
    jButton1.addActionListener(new
                               workflow_AddStepActive_jButton1_actionAdapter(this));
    jButton2.setText("关闭");
    jButton2.addActionListener(new
                               workflow_AddStepActive_jButton2_actionAdapter(this));
    jLabel2.setAlignmentY( (float) 0.5);
    jLabel2.setBorder(null);
    jLabel2.setOpaque(false);
    jLabel2.setToolTipText("活动属性");
    jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel2.setIconTextGap(4);
    jLabel2.setText("节点的活动属性");
    jLabel3.setForeground(Color.black);
    jLabel3.setBorder(BorderFactory.createEtchedBorder());
    jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel3.setText("活动处理人");
    jButton3.setBorder(BorderFactory.createEtchedBorder());
    jButton3.setSelected(false);
    jButton3.setText("Sl");
    jButton3.addActionListener(new
                               workflow_AddStepActive_jButton3_actionAdapter(this));
    jTextField1.setText("");

    jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    jList1.addMouseListener(new workflow_AddStepActive_jList1_mouseAdapter(this));
    jLabel4.setBorder(BorderFactory.createEtchedBorder());
    jLabel4.setRequestFocusEnabled(true);
    jLabel4.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel4.setText("活动内容");
    jLabel5.setBorder(BorderFactory.createEtchedBorder());
    jLabel5.setVerifyInputWhenFocusTarget(true);
    jLabel5.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel5.setText("工作方式");
    jPanel3.setBorder(BorderFactory.createEtchedBorder());
    jPanel3.setLayout(xYLayout1);
    jCheckBox1.setToolTipText("");
    jCheckBox1.setHorizontalAlignment(SwingConstants.CENTER);
    jCheckBox1.setText("许 可 回 退");
    jCheckBox2.setActionCommand("");
    jCheckBox2.setHorizontalAlignment(SwingConstants.CENTER);
    jCheckBox2.setText("特跳节点");
    jCheckBox2.addActionListener(new
                                 workflow_AddStepActive_jCheckBox2_actionAdapter(this));
    jComboBox3.setEnabled(false);
    jComboBox3.setBorder(null);
    jComboBox3.setEditable(true);
    jComboBox1.setEditable(true);
    jComboBox2.setEditable(true);
    jPanel1.add(jScrollPane1, new XYConstraints(3, 36, 161, 224));
    jScrollPane1.getViewport().add(jList1, null);
    jPanel1.add(jLabel1, new XYConstraints(3, 14, 161, -1));
    jPanel1.add(jPanel2, new XYConstraints(169, 14, 207, 247));
    jPanel2.add(jTextField1, new XYConstraints(80, 39, 78, 27));
    jPanel2.add(jButton3, new XYConstraints(163, 39, 30, 27));
    jPanel2.add(jComboBox1, new XYConstraints(83, 73, 112, 26));
    jPanel2.add(jLabel2, new XYConstraints(48, 2, 109, 28));
    jPanel2.add(jComboBox2, new XYConstraints(83, 109, 112, 26));
    jPanel2.add(jLabel5, new XYConstraints(5, 109, 69, 26));
    jPanel2.add(jLabel3, new XYConstraints(5, 39, 69, 27));
    jPanel2.add(jLabel4, new XYConstraints(5, 73, 69, 26));
    jPanel2.add(jPanel3, new XYConstraints(5, 141, 190, 90));
    jPanel3.add(jComboBox3, new XYConstraints(87, 27, 97, 24));
    jPanel3.add(jCheckBox1, new XYConstraints(2, 2, 90, 22));
    jPanel3.add(jCheckBox2, new XYConstraints(4, 29, 76, 22));
    jPanel1.add(jButton2, new XYConstraints(298, 261, 60, -1));
    jPanel1.add(jButton1, new XYConstraints(209, 261, -1, -1));
    this.getContentPane().add(jPanel1, null);

  }

//弹出选择用户树型列表窗口的BUTTON事件定义

  void jButton3_actionPerformed(ActionEvent e) {
    JFrame jff = new JFrame();
    jff.setTitle("用户选择窗口");
    jff.setLocationRelativeTo(null);
    jff.getContentPane().add(new workflow_userlist(this));
    jff.setSize(200, 280);
    //  jff.setDefaultCloseOperation(jff.EXIT_ON_CLOSE);
    jff.show();
  }

// 关闭BUTTON事件定义
  void jButton2_actionPerformed(ActionEvent e) {

    this.dispose();
  }

//保存节点活动的数据,确定事件定义

  void jButton1_actionPerformed(ActionEvent e) {
    if (!jList1.getSelectedValue().toString().equals("")) {
      stepid = wsm.get_stepid(jList1.getSelectedValue().toString(), fid);
    }
    if (!jTextField1.getText().equals("") &&
        !jComboBox1.getSelectedItem().equals("") &&
        !jComboBox2.getSelectedItem().equals("")) {
      if (jCheckBox1.isSelected()) {
        if (wsm.allow_toback(jList1.getSelectedValue().toString(), fid)) {
          //   System.out.println(jList1.getSelectedValue().toString() + "被容许回退");
        }
      }
      if (jComboBox3.isEnabled() &&
          !jComboBox3.getSelectedItem().toString().equals("")) {
        if (wsm.is_route(jList1.getSelectedValue().toString(), fid
                         )) {
          //    System.out.println(jList1.getSelectedValue().toString() + "有特殊跳转");
        }

      }
      if (jComboBox3.isEnabled()) {
        if (!jTextField1.getText().equals("") &&
            !jComboBox1.getSelectedItem().toString().equals("") &&
            !jComboBox2.getSelectedItem().toString().equals("") &&
            !jComboBox3.getSelectedItem().equals(null)) {
          if (wsm.insert_stepactive(stepid, fid,
                                    wsm.get_userid(jTextField1.getText()),
                                    jComboBox1.getSelectedItem().toString(),
                                    jComboBox2.getSelectedItem().toString(),
                                    jComboBox3.getSelectedItem().toString()
                                    )) {

            JOptionPane.showMessageDialog(null, "活动处理属性已经添加");

          }
        }
      }
      else {
        if (wsm.insert_stepactive(stepid, fid,
                                  wsm.get_userid(jTextField1.getText()),
                                  jComboBox1.getSelectedItem().toString(),
                                  jComboBox2.getSelectedItem().toString(), ""

                                  )) {

          JOptionPane.showMessageDialog(null, "活动处理属性已经添加");

        }

      }
    }

  }

  void jList1_mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 1) {
      String ssid = wsm.get_stepid(jList1.getSelectedValue().toString(), fid);
      this.jLabel2.setText(jList1.getSelectedValue().toString() + " 的活动属性");

      //刷新旁边的窗口
      //提取已经进入数据库的节点活动数据,并显示出来
      //  java.util.ArrayList jua = new java.util.ArrayList();
      //   jua = wsm.return_active_user(ssid, fid);

      //   ssid = jua.get(5).toString();
      //   String uid = wsm.return_active_user(ssid, fid);

      if (!wsm.return_active_user(ssid, fid).isEmpty()) {

        this.jTextField1.setText(wsm.return_active_user(ssid, fid).get(5).
                                 toString());
        this.jComboBox1.setSelectedItem(wsm.return_active_user(ssid, fid).get(0).
                                        toString());
        this.jComboBox2.setSelectedItem(wsm.return_active_user(ssid, fid).get(2).
                                        toString());

        //提取所有的数据,并显示.......
      }
      else {

        this.jTextField1.setText("");
        this.jComboBox1.setSelectedItem(null);
        this.jComboBox2.setSelectedItem(null);
        this.jComboBox3.setSelectedItem(null);

      }

    }
  }

  void jCheckBox2_actionPerformed(ActionEvent e) {
    if (jCheckBox2.isSelected()) {
      this.jComboBox3.setEnabled(true);

    }
    else {
      this.jComboBox3.setEnabled(false);
    }
  }

}

//下面均是按钮ACTION定义.......

class workflow_AddStepActive_jButton3_actionAdapter
    implements java.awt.event.ActionListener {
  workflow_AddStepActive adaptee;

  workflow_AddStepActive_jButton3_actionAdapter(workflow_AddStepActive adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton3_actionPerformed(e);
  }
}

class workflow_AddStepActive_jButton1_actionAdapter
    implements java.awt.event.ActionListener {
  workflow_AddStepActive adaptee;

  workflow_AddStepActive_jButton1_actionAdapter(workflow_AddStepActive adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class workflow_AddStepActive_jButton2_actionAdapter
    implements java.awt.event.ActionListener {
  workflow_AddStepActive adaptee;

  workflow_AddStepActive_jButton2_actionAdapter(workflow_AddStepActive adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }

}

class workflow_AddStepActive_jList1_mouseAdapter
    extends java.awt.event.MouseAdapter {
  workflow_AddStepActive adaptee;

  workflow_AddStepActive_jList1_mouseAdapter(workflow_AddStepActive adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e) {
    adaptee.jList1_mouseClicked(e);
  }
}

class workflow_AddStepActive_jCheckBox2_actionAdapter
    implements java.awt.event.ActionListener {
  workflow_AddStepActive adaptee;

  workflow_AddStepActive_jCheckBox2_actionAdapter(workflow_AddStepActive
                                                  adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jCheckBox2_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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