-
1. Re: About task consignable(my implement)
redbeans Sep 1, 2006 4:56 AM (in response to redbeans)--add a table,record the information about task consign.
CREATE TABLE JBPM_EXT_CONSIGN
(
CONSIGN_ID NUMBER(20) NOT NULL,
CONSIGNER_ID NUMBER(20) NOT NULL,
CONSIGNEE_ID NUMBER(20) NOT NULL,
START_DATE DATE NOT NULL,
END_DATE DATE NOT NULL,
DEFINITION_ID NUMBER(20) NOT NULL,
STATUS NUMBER(1) DEFAULT 1 NOT NULL,
NOTE VARCHAR2(4000 BYTE)
)
package com.tf.canna.jbpm.bean;
import java.io.Serializable;
/**
* A class that represents a row in the JBPM_EXT_CONSIGN table. ??????????
*
* @hibernate.class
*/
public class Consign implements Serializable {
/**
* The value of the consignId association.
*
* @hibernate.property length="20"
* @return long
*
*/
private long consignId;
/**
* The value of the consignerId association.
*
* @hibernate.property length="20"
* @return long
*
*/
private long consignerId;
private String consignerName;
/**
* The value of the consigneeId association.
*
* @hibernate.property length="20"
* @return long
*
*/
private long consigneeId;
private String consigneeName;
/**
* The value of the startDate association.
*
* @hibernate.property length="0"
* @return java.util.Date
*
*/
private java.util.Date startDate;
/**
* The value of the endDate association.
*
* @hibernate.property length="0"
* @return java.util.Date
*
*/
private java.util.Date endDate;
/**
* The value of the definitionId association.
*
* @hibernate.property length="20"
* @return long
*
*/
private long definitionId;
private ProcessDefinitionBean processDefinition;
private int status;
/**
* default constructor
*/
public Consign() {
}
/**
* Return the value of the consign_id column.
*
* @return long
*/
public long getConsignId() {
return consignId;
}
/**
* Set the value of the consign_id column.
*
* @param consignId
*/
public void setConsignId(long newConsignId) {
this.consignId = newConsignId;
}
/**
* Return the value of the consigner_id column.
*
* @return long
*/
public long getConsignerId() {
return consignerId;
}
/**
* Set the value of the consigner_id column.
*
* @param consignerId
*/
public void setConsignerId(long newConsignerId) {
this.consignerId = newConsignerId;
}
/**
* Return the value of the consignee_id column.
*
* @return long
*/
public long getConsigneeId() {
return consigneeId;
}
/**
* Set the value of the consignee_id column.
*
* @param consigneeId
*/
public void setConsigneeId(long newConsigneeId) {
this.consigneeId = newConsigneeId;
}
/**
* Return the value of the start_date column.
*
* @return java.util.Date
*/
public java.util.Date getStartDate() {
return startDate;
}
/**
* Set the value of the start_date column.
*
* @param startDate
*/
public void setStartDate(java.util.Date newStartDate) {
this.startDate = newStartDate;
}
/**
* Return the value of the end_date column.
*
* @return java.util.Date
*/
public java.util.Date getEndDate() {
return endDate;
}
/**
* Set the value of the end_date column.
*
* @param endDate
*/
public void setEndDate(java.util.Date newEndDate) {
this.endDate = newEndDate;
}
/**
* Return the value of the definition_id column.
*
* @return long
*/
public long getDefinitionId() {
return definitionId;
}
/**
* Set the value of the definition_id column.
*
* @param definitionId
*/
public void setDefinitionId(long newDefinitionId) {
this.definitionId = newDefinitionId;
}
/**
* Implementation of the equals comparison on the basis of equality of the
* primary key values.
*
* @param other
* @return boolean
*/
public boolean equals(Object other) {
if (this == other) {
return true;
}
if (other != null && other instanceof Consign) {
Consign castOther = (Consign) other;
return castOther.getConsignId() == consignId;
}
return false;
}
/**
* Implementation of the hashCode method conforming to the Bloch pattern
* with the exception of array properties (these are very unlikely primary
* key types).
*
* @return int
*/
public int hashCode() {
int result = 17;
result = result * 37 + (new Long(this.consignId)).hashCode();
return result;
}
public String getConsigneeName() {
return consigneeName;
}
public void setConsigneeName(String consigneeName) {
this.consigneeName = consigneeName;
}
public String getConsignerName() {
return consignerName;
}
public void setConsignerName(String consignerName) {
this.consignerName = consignerName;
}
public ProcessDefinitionBean getProcessDefinition() {
return processDefinition;
}
public void setProcessDefinition(ProcessDefinitionBean processDefinition) {
this.processDefinition = processDefinition;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String toString() {
StringBuffer sb = new StringBuffer(getClass().getName());
sb.append(this.consignId);
return sb.toString();
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.tf.canna.jbpm.bean">
s_consign
<property name="consignerId" type="long" column="consigner_id" not-null="true" />
<property name="consigneeId" type="long" column="consignee_id" not-null="true" />
<property name="startDate" type="java.util.Date" column="start_date" not-null="true" />
<property name="endDate" type="java.util.Date" column="end_date" not-null="true" />
<property name="definitionId" type="long" column="definition_id" not-null="true" />
<![CDATA[FROM Consign as consign]]>
</hibernate-mapping> -
2. Re: About task consignable
kukeltje Sep 1, 2006 6:09 AM (in response to redbeans)consign == assign to someone else, jbpm has an assign method in the api, so this is possible. I do not see a need for another table etc....
task transfer == bulk reassign == loop over all tasks and reassign.
So jBPM supports all you need afaik -
3. Re: About task consignable
redbeans Sep 1, 2006 9:50 AM (in response to redbeans)Thanks for your reply.
May be what I say isn't enough clear,Sorry for my poor english!
task transfer == bulk reassign == loop over all tasks and reassign.
I quite agree with this point ?
for consign,I think consign!=assign to someone else,JBPM has an assign method in the api,but it change the original actor to new actor,I don't want to change the original task actor?For example, at a actor be on business trip, temporarily entrust his task to other person.