📄 document.java
字号:
// Source file:
// C:\\Java\\workspace\\SmartWeb3\\src\\com\\cyberway\\dynaform\\document\\ejb\\Document.java
package cn.myapps.core.dynaform.document.ejb;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.apache.commons.beanutils.PropertyUtils;
import cn.myapps.base.action.ParamsTable;
import cn.myapps.base.dao.ValueObject;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.core.user.ejb.UserProcess;
import cn.myapps.core.user.ejb.UserVO;
import cn.myapps.core.workflow.element.Node;
import cn.myapps.core.workflow.engine.StateMachine;
import cn.myapps.core.workflow.engine.StateMachineHelper;
import cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRT;
import cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcess;
import cn.myapps.core.workflow.storage.runtime.ejb.NodeRT;
import cn.myapps.core.workflow.utility.FieldPermissionList;
import cn.myapps.util.DateUtil;
import cn.myapps.util.Debug;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.sequence.Sequence;
/**
* @hibernate.class table="T_DOCUMENT" lazy="true"
*
* @author nicholas
*
*/
public class Document extends ValueObject implements Cloneable {
/**
* 默认表单id
*/
private String formname;// 表单模板
private String formid; // 表单模板 id值
private String id;
private Map _items_id; // item id的值
private Map _items_name; // item name
private FieldPermissionList fieldPermList;// 流程节点对应formfield权限
private FlowStateRT state;// 流程状态(从t_docflow表中获取)
private boolean _issubdoc;
private UserVO author;
private Date created;
private Date lastmodified;
private ParamsTable _params;
private boolean _new;// 是否新文档(在新建时就已创建文档id, 故保存时只能通过增加此属性判断是否为新文档)
private Date auditdate;// 最后审核时间
private String audituser;// 最后审核人姓名
private String auditusers;// 所有已审核人ID(以分号隔开)
private Collection childs; // 子表单
private Document parent; // 父表单
private boolean istmp = true;
private int version;
private String flowid; // 流程ID
/**
* @hibernate.property column="FLOWID"
* @return
*/
public String getFlowid() {
return flowid;
}
public void setFlowid(String flowid) {
this.flowid = flowid;
}
/**
* @hibernate.property column="VERSIONS"
* @return
*/
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
/**
* @hibernate.collection-one-to-many class="cn.myapps.core.dynaform.document.ejb.Document"
* @hibernate.collection-key column="PARENT"
* @hibernate.set name="childs" table="T_DOCUMENT" cascade="delete-orphan"
* inverse="true"
*/
public Collection getChilds() {
return childs;
}
public Collection getChilds(String formName) {
Collection rtn = new ArrayList();
if (childs != null) {
for (Iterator iter = childs.iterator(); iter.hasNext();) {
Document subdoc = (Document) iter.next();
if (subdoc.getFormname().equals(formName)
&& subdoc.istmp != true) {
rtn.add(subdoc);
}
}
}
return rtn;
}
public void setChilds(Collection childs) {
this.childs = childs;
}
/**
* @return cn.myapps.core.dynaform.document.ejb.Document
* @hibernate.many-to-one class="cn.myapps.core.dynaform.document.ejb.Document"
* column="PARENT"
*/
public Document getParent() {
return parent;
}
public void setParent(Document parent) {
this.parent = parent;
}
/**
* @hibernate.id column="ID" generator-class="assigned"
*/
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
/**
* @return Returns the _new.
*/
public boolean is_new() {
return _new;
}
public void set_new(boolean _new) {
this._new = _new;
}
/**
* @hibernate.property column="LASTMODIFIED"
* @return
*/
public Date getLastmodified() {
return lastmodified;
}
/**
* @param lastModified
* The lastModified to set.
*/
public void setLastmodified(Date lastModified) {
this.lastmodified = lastModified;
}
/**
* @roseuid 41ECB6550387
*/
public Document() {
_new = false;
_items_id = new HashMap(20);
_items_name = new HashMap(20);
}
/**
* 添加Item项目
*
* @param item
* @roseuid 41EBD760022F
*/
public void addItem(Item item) {
if (item != null) {
_items_id.put(item.getId() + "", item);
_items_name.put(item.getName(), item);
}
}
public void addItems(Collection items) {
if (items != null && items.size() > 0) {
Iterator iters = items.iterator();
while (iters.hasNext()) {
Item item = (Item) iters.next();
if (item != null) {
_items_id.put(item.getId() + "", item);
_items_name.put(item.getName(), item);
}
}
}
}
/**
* 移除item
*
* @param itemid
* @roseuid 41EBD7AF01CE
*/
public void removeItem(long itemid) {
Item item = (Item) _items_id.get(itemid + "");
if (item != null) {
_items_id.remove(item.getId() + "");
_items_name.remove(item.getName());
}
}
public void removeItem(String itemname) {
if (itemname != null) {
Item item = (Item) _items_name.get(itemname);
if (item != null) {
_items_name.remove(item.getName());
_items_id.remove(item.getId() + "");
}
}
}
/**
* 移除item
*
* @param item
* @roseuid 41EBD7E70388
*/
public void removeItem(Item item) {
if (item != null) {
_items_name.remove(item.getName());
_items_id.remove(item.getId() + "");
}
}
/**
* 获取Item
*
* @param id
* @return cn.myapps.core.dynaform.document.ejb.Item
* @roseuid 41EBDA0402E5
*/
public Item findItem(long id) {
return (Item) _items_id.get(id + "");
}
/**
* 获取Item
*
* @param fieldname
* @return cn.myapps.core.dynaform.document.ejb.Item
* @roseuid 41EBDA490335
*/
public Item findItem(String fieldname) {
if (fieldname != null)
return (Item) _items_name.get(fieldname);
else
return null;
}
/**
* @hibernate.property column="FORMNAME"
* @return
*/
public String getFormname() {
return formname;
}
public void setFormname(String formname) {
this.formname = formname;
}
/**
* 修改的日期
*
* @hibernate.property column="AUDITDATE"
* @return
*/
public Date getAuditdate() {
return auditdate;
}
public void setAuditdate(Date auditdate) {
this.auditdate = auditdate;
}
/**
* 进行修改的用户
*
* @return Returns the audituser.
*/
public String getAudituser() {
return audituser;
}
/**
* 所有进行修改的用户
*
* @return Returns the auditusers.
*/
public String getAuditusers() {
return auditusers;
}
/**
* @param auditusers
* The auditusers to set.
*/
public void setAuditusers(String auditusers) {
this.auditusers = auditusers;
}
/**
* @param audituser
* The audituser to set.
*/
public void setAudituser(String audituser) {
this.audituser = audituser;
}
// /**
// * @return Returns the writers.
// */
// public String getWriters() {
// return writers;
// }
//
// /**
// * @param writers
// * The writers to set.
// */
// public void setWriters(String writers) {
// this.writers = writers;
// }
// 获取所有item
/**
* @hibernate.collection-one-to-many class="cn.myapps.core.dynaform.document.ejb.Item"
* @hibernate.collection-key column="DOC_ID"
*
* @hibernate.set name="items" table="T_ITEM" inverse="false"
* order-by="NAME" cascade="all"
* @return
*/
public Set getItems() {
Set s = new HashSet();
Iterator it = _items_id.values().iterator();
while (it.hasNext()) {
s.add(it.next());
}
return s;
}
public void setItems(Set items) {
this._items_id.clear();// = new HashMap();
this._items_name.clear();// = new HashMap();
if (items != null) {
Iterator iter = items.iterator();
while (iter.hasNext()) {
Item item = (Item) iter.next();
_items_id.put(item.getId(), item);
_items_name.put(item.getName(), item);
}
}
}
/**
* 创建日期
*
* @hibernate.property column="CREATED"
* @return
*/
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
/**
* 创建许可频道列表
*
* @return Returns the fieldPermList.
*/
public FieldPermissionList getFieldPermList() {
if (fieldPermList == null) {
fieldPermList = new FieldPermissionList();
}
return fieldPermList;
}
/**
* @param fieldPermList
* The fieldPermList to set.
*/
public void setFieldPermList(FieldPermissionList fieldPermList) {
this.fieldPermList = fieldPermList;
}
/**
* 将Doc内容转换为String
*/
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("Document:");
sb.append("<formname>");
sb.append(formname);
sb.append("\n");
// 获取所有item循环添加到Doc的StringBuffer中
Iterator iter = this.getItems().iterator();
while (iter.hasNext()) {
Item item = (Item) iter.next();
sb.append(item.toString());
sb.append("\n");
}
// sb.append()
return sb.toString();
}
/**
* 获取所有参数
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -