package com.oa.service; import java.io.Serializable; import java.util.List; import com.oa.model.Document; import com.oa.model.DocumentProperty; public interface DocumentService { /* * 添加公文信息 * @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 findDocument(Serializable id); /** * 查询(当前登录用户的)已审公文列表 * @param userId 用户ID,取当前登录用户的ID * @return */ public abstract List<Document> searchAllApprovedDocuments(int userId); public List<Document> searchPageApprovedDocuments(int userId,int index); /** * 查询待审(即等待当前登录用户审批的)公文列表 * @param userId 当前登录用户的ID * @return */ public abstract List<Document> searchPageApprovingDocuments(String username,int index); public List<Document> SearchAllApprovingDocuments(String username); /** * * * 搜索我的公文列表(即搜索由当前登录用户创建的公文列表) * @param clazz * @param hql * @return */ public List<Document> searchMyDocumentsPage(int index,int userId); public List<Document> searchAllMyDocument( int userId); /** * * 归档文档 * @param index * @param userId * @return */ public List<Document> serachAllFinishDocuments( int userId); public List<Document> serachPageFinishDocuments(int index, int userId); /** * 删除公文信息 * @param document */ public abstract void deleteDocument(Document document); public void deleteDocuments(String []ids); /** * *搜索我的公文列表(即搜索由当前登录用户创建的公文列表) * @param clazz * @param hql * @return */ // 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); /** * 查询下一个可选步骤列表(公文ID,用户标识) * @param documentId * @param userId * @return */ public List searchNextStep(int documentId,String userId); /** * 提交到流程 * @param userId 当前登录用户的ID * @param documentId 被提交的公文ID * @param transistionName 要提交到哪里去 */ public abstract void submitToWorkFlow(int userId, int documentId, String transistionName); }