package com.oa.dao; import java.io.Serializable; import java.util.List; import com.oa.model.Document; import com.oa.model.DocumentProperty; public interface DocumentDao { /* * 添加公文信息 * @param document 公文对象 * @param workflowId 公文对应的流程ID * @param userId 公文的创建者ID */ public abstract Serializable addDocument(Document document, int workflowId, int userId,List<DocumentProperty> props); /** * 更新公文信息 * @param document */ public abstract void updateDocument(Document document, int workFLowId, int userId); /** * 查找某个公文 * @param id * @return */ public abstract Document getDocument(Serializable id); /** * 查询待审(即等待当前登录用户审批的)公文列表 * @param userId 当前登录用户的ID * @return */ public abstract List<Document> searchPageApprovingDocuments(String username,int index); public List<Document> searchAllApprovingDocuments(String username); /** * 删除公文信息 * @param document */ public abstract void deleteDocument(Document document); public void deleteDocuments(Class clazz,String[] ids,String hql); /** * * 搜索我的公文列表(即搜索由当前登录用户创建的公文列表) * @param clazz * @param hql * @return */ public List<Document> searchAllMyDocument(Class clazz,int userId,boolean finished); public List<Document> searchPageDocument(Class clazz, int userId,int index,boolean finished); // 查找用户创建的所有公文 public abstract List<Document> getAllDocuments(Class clazz, String hql); /** * * * 分页搜索我的公文列表(即搜索由当前登录用户创建的公文列表) * @param clazz * @param hql * @return */ public abstract List<Document> getPageDocuments(int index, Class clazz, String hql); /** * 查询(当前登录用户的)已审公文列表 * @param userId 用户ID,取当前登录用户的ID * @return */ public abstract List<Document> searchAllApprovedDocuments(String CompleteHql); /** * 分页查询(当前登录用户的)已审公文列表 * @param index * @param CompleteHql * @return */ public List<Document> searchPageApprovedDocument(int index,String CompleteHql); public List searchNextStep(int documentId,String userId); /** * 提交到流程 * @param userId 当前登录用户的ID * @param documentId 被提交的公文ID * @param transistionName 要提交到哪里去 */ public void submitToWorkFlow(int userId, int documentId, String transitionName) ; }