package com.jestdoc.flowengine;
import java.sql.*;
import java.util.*;
import com.jestdoc.dbconn.DbConn;
import com.jestdoc.inc.*;
import com.jestdoc.org.*;
import com.jestdoc.flowmodel.*;
import com.jestdoc.flowdata.WfConstants;
import com.jestdoc.flowengine.*;
/**
* <p>Title: 工作流引擎之任務處理類</p>
* <p>Description: </p>
本類是工作流引擎類的核心,也是整個工作流管理系統的核心.本類負責完成工作流的實例化,任務處理
導航,任務分配以及向工作流任務管理器,工作流應用模塊提供API接口.
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: Wingroup(China)</p>
* @author 王應南,葛志春
* @version 1.0
*/
public class TaskProc
{
private DbConn conn = null;
private WinDept Dept=null;
private WinGroup Group=null;
private WinRole Role=null;
private WinUser User=null;
private ExtendCalendar exCal=null;
private ExtendString exStr=null;
private ExtendMath exMath=null;
private String errMsg="";
private int[] seqSubJoinFileID; //順會並案子實例.
private int seqJoinFile=0 ; //並案順序
/**
* 構造函數.
* 自身建立數據庫連接.
*/
public TaskProc()
{
conn =new DbConn("DbCp1");
Dept = new WinDept();
Group= new WinGroup();
Role = new WinRole();
User = new WinUser();
exCal = new ExtendCalendar();
exStr=new ExtendString();
exMath=new ExtendMath();
}
/**
* 構造函數.
* 數據庫連接由外部傳入.
*/
public TaskProc(DbConn dbconn)
{
this.conn =dbconn;
Dept = new WinDept();
Group= new WinGroup();
Role = new WinRole();
User = new WinUser();
exCal = new ExtendCalendar();
exStr=new ExtendString();
exMath=new ExtendMath();
}
/**
public void finalize()
{
System.out.print("TaskProc Over!");
}
*/
/**
*方法功能:
* 獲取本類方法執行錯誤信息.
* @return 返回 本類錯誤信息;
*/
public String getErrMsg()
{
return this.errMsg;
}
/*
*方法功能:
*數據庫連接關閉
*/
public void close()
{
Dept.close();
Group.close();
Role.close();
User.close();
this.conn.close();
//System.out.print("dbconn is closed!");
System.gc();
}
/************************************
* 以下為任務管理器提供流程實例化的接口 *
************************************/
/**
* <P>方法功能:</p>
* <p>流程啟動,本方法為主計處轉案提供</p>
* <p>方法描述:<p>
* 該方法用於流程的開始狀態,調用該方法啟動指定的流程,並創建流程實例,完成開始狀態下指定事件的處理
* @param flowID 流程編號
* @param eventID 當前執行的事件編號
* @param upFileID 父實例編號
* @param upStateID 父狀態編號
* @param fileInfoid 文號
* @param title 主旨
* @param limTime 限辦時間
* @param curGroupID 群組編號
* @param curRoleID 角色編號
* @param applyID 申請人用戶編號
* @param nextDeptID 下一個處理人部門編號,當下一個任務處理物件為動態指定時該參數有效
* @param nextGroupID 下一個處理人群組編號 當下一個任務處理物件為動態指定時該參數有效
* 黨procType=WfConstants.GROUP_MASTER時該值表示給那一個群組.
* @param nextRoleID 下一個處理人角色編號,當下一個任務處理物件為動態指定時該參數有效
* @param nextUserID 下一個處理人用戶編號 當下一個任務處理物件為動態指定時該參數有效
* @param 另對於NextDeptID與NextGroupID,兩者選其中一個,不可以兩者都null,也不可以兩者都非null.
* @return 處理成功 返回 true;處理失敗 返回 false;
*/
public boolean startFile(int flowID,int eventID,int upFileID,int upStateID,
String fileInfoid,String title,float limTime ,
int curGroupID,int curRoleID, int applyID,
int nextDeptID,int nextGroupID,int nextRoleID,int nextUserID)
{
boolean flag ;//方法執行成功,失敗標誌.
int taskID= -1;
int teamType=0;
int[] teamDeptID=new int[1], teamGroupID=new int[1], teamRoleID=new int[1], teamUserID=new int[1];
try
{
conn.setAutoCommit(false);
//實例化流程
taskID=this.newFile(flowID,upFileID,upStateID,fileInfoid,title,limTime,applyID);
if(taskID<1)
{
this.conn.rollback();
this.conn.setAutoCommit(true);
return false;
}
conn.commit();
conn.setAutoCommit(true);
//處理該流程實例的開始狀態下的指定事件。
flag=this.procTask(taskID , eventID, curGroupID, curRoleID, applyID, nextDeptID, nextGroupID,nextRoleID,nextUserID,
teamType, teamDeptID,teamGroupID, teamRoleID,teamUserID);
if(!flag)
{
this.errMsg="開始任務處理失敗!";
return false;
}
return true;
}
catch(Exception ex)
{
this.errMsg="系統執行異常!";
conn.rollback();
conn.setAutoCommit(true);
return false;
}
}
/**
* <P>方法功能:</p>
* <p>流程啟動</p>
* <p>方法描述:<p>
* 該方法用於流程的開始狀態,調用該方法啟動指定的流程,並創建流程實例,完成開始狀態下指定事件的處理
* @param flowID 流程編號
* @param eventID 當前執行的事件編號
* @param upFileID 父實例編號
* @param upStateID 父狀態編號
* @param fileInfoid 文號
* @param title 主旨
* @param limTime 限辦時間
* @param applyID 申請人用戶編號
* @param nextDeptID 下一個處理人部門編號,當下一個任務處理物件為動態指定時該參數有效
* @param nextGroupID 下一個處理人群組編號 當下一個任務處理物件為動態指定時該參數有效
* 黨procType=WfConstants.GROUP_MASTER時該值表示給那一個群組.
* @param nextRoleID 下一個處理人角色編號,當下一個任務處理物件為動態指定時該參數有效
* @param nextUserID 下一個處理人用戶編號 當下一個任務處理物件為動態指定時該參數有效
* @param 另對於NextDeptID與NextGroupID,兩者選其中一個,不可以兩者都null,也不可以兩者都非null.
* @return 處理成功 返回 true;處理失敗 返回 false;
*/
public boolean startFile(int flowID,int eventID,int upFileID,int upStateID,
String fileInfoid,String title,float limTime ,int applyID,
int nextDeptID,int nextGroupID,int nextRoleID,int nextUserID)
{
boolean flag ;//方法執行成功,失敗標誌.
int taskID= -1;
int teamType=0;
int[] teamDeptID=new int[1], teamGroupID=new int[1], teamRoleID=new int[1], teamUserID=new int[1];
try
{
conn.setAutoCommit(false);
//實例化流程
taskID=this.newFile(flowID,upFileID,upStateID,fileInfoid,title,limTime,applyID);
if(taskID<1)
{
this.conn.rollback();
this.conn.setAutoCommit(true);
return false;
}
conn.commit();
conn.setAutoCommit(true);
//處理該流程實例的開始狀態下的指定事件。
flag=this.procTask(taskID,eventID,applyID, nextDeptID, nextGroupID,nextRoleID,nextUserID,
teamType, teamDeptID,teamGroupID, teamRoleID,teamUserID);
if(!flag)
{
this.errMsg="開始任務處理失敗!";
return false;
}
return true;
}
catch(Exception ex)
{
this.errMsg="系統執行異常!";
conn.rollback();
conn.setAutoCommit(true);
return false;
}
}
/**
* <P>方法功能:</p>
* <p>流程啟動</p>
* <p>方法描述:<p>
* 該方法用於流程的開始狀態,調用該方法啟動指定的流程,並創建流程實例,完成開始狀態下指定事件的處理
* @param flowID 流程編號
* @param eventID 當前執行的事件編號
* @param upFileID 父實例編號
* @param upStateID 父狀態編號
* @param fileInfoid 文號
* @param title 主旨
* @param limTime 限辦時間
* @param app
公文管理系统—毕业设计用



公文管理系统是一款基于Java开发的软件,主要用于毕业设计项目,采用了MVC(Model-View-Controller)架构模式。MVC是一种广泛应用于Web应用开发的设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种分离使得代码更易于维护和扩展。 1. **模型(Model)**: 模型是应用程序的核心,负责处理业务逻辑和数据操作。在公文管理系统中,模型可能包括对公文的创建、修改、查询、删除等操作,以及与数据库的交互,如使用JDBC进行数据存取。模型层应尽量保持独立,不直接与用户界面交互,而是通过控制器传递数据。 2. **视图(View)**: 视图负责显示数据,即用户看到和交互的界面部分。在公文管理系统中,视图可能包含公文列表、公文详情、公文编辑等页面。视图通常根据模型中的数据动态生成,当模型数据发生变化时,视图会自动更新。 3. **控制器(Controller)**: 控制器作为模型和视图之间的桥梁,处理用户的输入,调用模型进行业务处理,并将处理结果传递给视图进行显示。在公文管理系统中,用户提交的公文操作请求会被控制器捕获,然后调用相应的模型方法执行任务,最后更新或展示相应的视图。 开发工具JBuilder是早期流行的Java集成开发环境,它提供了代码编辑、编译、调试等功能,帮助开发者高效地构建Java应用。不过,需要注意的是,JBuilder目前已经不再更新,现代的Java开发更多地使用Eclipse、IntelliJ IDEA等工具。 在公文管理系统的源码中,“dgbas公文管理核心java源码”很可能包含了实现系统功能的主要类和接口,可能包括但不限于以下部分: - 数据访问对象(DAO,Data Access Object):用于封装数据库操作。 - 业务服务接口和服务实现类:定义了具体的业务操作,如添加、删除公文等。 - 实体类(Entity):表示公文的数据模型,通常包含公文的各种属性。 - 控制器类:处理HTTP请求,调用业务服务并更新视图。 - 视图模版:可能包含JSP或HTML文件,用于展示公文信息。 在学习和分析这套源码时,你可以关注以下几个方面: 1. **数据库设计**:查看数据库表结构,了解公文信息的存储方式。 2. **MVC实现**:分析各个类的角色,理解它们如何协同工作实现MVC模式。 3. **业务流程**:跟踪代码理解公文的生命周期,如创建、审批、归档等步骤。 4. **异常处理**:查看错误处理机制,了解系统如何应对可能出现的问题。 5. **安全性**:评估系统是否有防止SQL注入、权限控制等安全措施。 通过深入研究这个公文管理系统,不仅可以提升对Java和MVC架构的理解,还能为将来进行类似项目的开发积累宝贵经验。





















































































































- 1
- 2
- 3
- 4
- 5
- 6
- 8

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- cuitao199212052013-06-11表示很伤心,完全和我之前下的一个一样,却要5个积分,建议大家搜“dgbas公文管理核心java源码”

- 粉丝: 3
- 资源: 15
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 人工智能tensorflow实验报告PDF
- 基于Matlab的5V反激式开关电源仿真设计:电流电压双闭环PID控制及结构细节详解,基于Matlab simulink的5V反激式开关电源设计,双闭环PID控制下的仿真研究及详细计算分析,5V2A反
- H3C-iNode-PC-7.3-E0632(Windows版本)
- 华翔GUT安全功能项目 GUT080-PLC8 博图V17项目 及HMI屏幕 ABB机器人SiCar
- 光学实验领域的分光计与光栅技术:组成结构、调节方法及应用
- springboot整合mybatisplus (详细)代码
- 永磁同步电机与异步电机模型预测控制的仿真研究:多矢量定步长算法实现与延时补偿功能探索,永磁同步电机与异步电机模型预测控制的仿真研究:多矢量定步长算法及延时补偿功能应用体验优越,永磁同步电机异步电机模型
- 《mysql图文安装教程》PDF
- Comsol模拟石墨烯二维材料:结合太赫兹德鲁得与近红外Kubo模型的七个案例分析,Comsol软件下的石墨烯二维材料研究:结合太赫兹德鲁得与近红外Kubo模型的七个案例分析及参考文献概览,Comso
- 直接横摆力矩分层控制器:上LQR下数学规划在四轮驱动汽车转矩分配中的DYC与AFS集成控制,基于CarSim与Simulink联合模型 ,直接横摆力矩分层控制器:上层LQR与下层数学规划在四轮独立驱动
- 基于PLC的汽车自动控制装置设计:梯形图程序解析与接线图原理攻略,包括组态画面及io分配详解,基于PLC的汽车自动控制装置设计:梯形图程序解析与洗车控制系统全貌展示,No.409 基于PLC的汽车自动
- 西门子S7-300与S7-200 Smart PLC以太网通讯实践:IP配置与PUT GET指令实现,西门子S7-300 PLC与S7-200 SMART PLC以太网通讯实践:IP地址配置与PUT
- H3C-iNode-PC-7.3-Windows使用说明
- 基于S7-200 PLC的汽车自动清洗机控制系统设计与实现:梯形图程序、接线图、IO分配及组态画面详解,基于S7-200 PLC的汽车自动清洗机控制系统:梯形图程序、接线图与组态画面详解,S7-200
- 基于PLC技术的水站冷却塔控制系统的实现与设计报告:从梯形图编程到组态画面的综合应用,S7-200 PLC与组态王联合打造水站冷却塔智能控制系统:梯形图程序、接线图及组态画面全解析,S7-200 PL
- Woll2Woll 1stClass 4k-v20.0.1-for 10.3-Sydney-FullSource


