ssh2+jbpm4.4项目 审批流转:审批流程管理的思路

1.创建一个ProcessDefinitionAction.java

package cn.itcast.oa.view.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
import java.util.zip.ZipInputStream;

import org.jbpm.api.ProcessDefinition;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import cn.itcast.oa.service.ProcessDefinitionService;

import com.opensymphony.xwork2.ActionContext;

@Controller
@Scope("prototype")
public class ProcessDefinitionAction extends BaseAction{

	private String key;
    private File upload; //上传
    private String id;
	private InputStream inputStream;  //下载用的

	/**列表*/
	public String list() throws Exception {
		List<ProcessDefinition> processDefinitionList=processDefinitionService.findAllLatestVersions();
		ActionContext.getContext().put("processDefinitionList", processDefinitionList);
		return "list";
	}

	/**部署流程定义页面*/
	public String addUI() throws Exception {
		return "addUI";
	}

	/**部署流程定义*/
	public String add() throws Exception {
		ZipInputStream zipInputStream=new ZipInputStream(new FileInputStream(upload));
		processDefinitionService.deploy(zipInputStream);
		return "toList";
	}

	/**删除流程定义*/
	public String delete() throws Exception {
		processDefinitionService.deleteByKey(key);
		return "toList";
	}

	/**列表*/
	public String downloadProcessInmage() throws Exception {
		inputStream=processDefinitionService.getProcessImageResourceAsStream(id);
		return "downloadProcessInmage";
	}

	//----------------------
	public InputStream getInputStream() {
		return inputStream;
	}

	public void setInputStream(InputStream inputStream) {
		this.inputStream = inputStream;
	}

	public String getKey() {
		return key;

	}

	public File getUpload() {
		return upload;
	}

	public void setUpload(File upload) {
		this.upload = upload;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

}
2.实现相应的service层的方法

3.配置Strutsxml文件

<!-- 审批流转:审批流程管理 -->
		<action name="processDefinitionAction_*" class="processDefinitionAction" method="{1}">
			<result name="list">/WEB-INF/jsp/processDefinitionAction/list.jsp</result>
			<result name="addUI">/WEB-INF/jsp/processDefinitionAction/addUI.jsp</result>
			<result name="toList" type="redirectAction">processDefinitionAction_list</result>
			<!-- 下载专用的结果配置 -->
			<result name="downloadProcessImage" type="stream">
			 <param name="contentType">image/png</param>
			 <param name="inputName">inputStream</param>
			</result>
		</action>

4.添加相应的页面即可

时间: 2024-08-07 08:16:19

ssh2+jbpm4.4项目 审批流转:审批流程管理的思路的相关文章

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战 推荐给大家一套企业实战项目开发的教程. 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎. 课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较为重要的技术点. 咨询QQ:1609173918 课程大纲: 第1讲:课程概要_Extjs入门: 第2讲:Grid与Store的应用

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战(HR项目开发、SSH2作为框架)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎.课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战(HR项目开发.SSH2作为框架) 对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作

BPM采购管理:业务在线发起审批,规范计划管理

BPM采购管理:业务在线发起审批,规范计划管理 采购申请,是采购人员依据各生产单位或业务部门实际物资需求,事先提出采购的条件和要求,经各部门业务流转.层级审批,最终满足采购行为的顺利开展.物料等采购行为的申请发起,是企业整个采购业务流动的起点,安码以BPM平台为基础,搭建的Ultimus流程化采购招投标系统,其中特色的“采购管理”模块,可以为终端用户提供包括在线发起.流程审批.多客户端(PC端及手机移动端)应用等在内的技术响应,有力的确保了采购计划的准确性.时效性和可监督性. 采购管理:传统采购

salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见

项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随便的取一个审批人了,有以下方式针对不同的场景可以获取到当前记录的最终审批人以及审批意见. 邮件内容使用以下几种方式实现: 1.代码里面实现邮件发送 2.email template(text/html/custom) 3.visualforce emailTemplate 对发送邮件方式不清楚的,可

关于项目中用到的流程的sql和表

select * from FLOW_MAIN SEQCODE FULL_NAME SHORT_NAME FLOW_DESC CREATE_TIME UPDATE_TIME 1 CoursePackFlow CP 课程包在线维护 2013-01-06 15:23:50 (null)2 RequirementGrabCourse RGC 选修课抢课 2013-01-06 15:23:50 (null)21 CourseLibFlow1 CLF 课程库管理 2013-01-06 15:23:50 (

[团队项目] Scrum 项目 3.0 SCRUM 流程的步骤2: Spring 计划

[团队项目] Scrum 项目 3.0 SCRUM 流程的步骤2: Spring 计划 SCRUM 流程的步骤2: Spring 计划 1. 确保product backlog井然有序.(参考示例图1) 2. Sprint周期,一个冲刺周期,长度定为两周,本学期还有三个冲刺周期. 3. 确定Sprint目标. 3.1 产品负责人概括产品backlog,对sprint目标进行总体介绍,讲清他认为最重要的故事. 3.2 团队从最重要的故事开始逐一讨论每个故事,估算时间,理清每个条目的含义,在必要的情

项目流程管理&amp;&amp;架构总结

1 项目背景 所在业务在早期没有营销费用,买家购买商品的折扣优惠是由卖家提供的,所有订单的最终价格是由卖家和业务方确定的,整个购买流程很简单. 现在此业务收受到公司重视,业务团队能申请到营销费用,业务团队能主动补贴折扣优惠.一件东西进行促销时,用户购买此物品后,由业务方出钱补贴折扣的费用,而卖家不需要考虑优惠折扣.实现这种营销需求需要和第三方的团队合作,例如商家营销团队.账务团队. 2 项目管理 团队协作 项目开始的时候,我方向这2个团体介绍业务背景,提产品需求,开头很顺利:业务边界范围的界定.

mirantis fuel puppet执行顺序 和 对整个项目代码的执行流程理解

stage执行顺序 stage {'zero': } -> stage {'first': } -> stage {'openstack-custom-repo': } -> stage {'netconfig': } -> stage {'corosync_setup': } -> stage {'openstack-firewall': } -> Stage['main'] 1.class {'begin_deployment': stage => 'zero