一、项目介绍
基于SSM框架实现的公文管理系统系统,主要功能如下
1) 网站平面设计:
设计精美但是简洁,清爽的网站页面。
公文管理系统主要是方便机关单位工作人员方便的发送公文,该系统包括:组织机构管理,人员管理,权限管理,公文管理
2) 系统模块:
系统首先默认一个超级管理员,超级管理人员通过excel导入人员机构信息
机构管理:有权限的用户对机构信息进行增加,编辑,如果机构下面没有人员, 则可以删除,机构合并,可以为该机构分配人员
人员管理:有权限的用户对人员进行基本信息的修改,增加,停用不在岗人员账号
3) 公文管理功能模块:
1 有权限的工作人员进行公文拟稿,附件上传,当用户保存信息,则可以修改,可以删除,但是一旦提交,则不可再修改变动。
2 当公文被提交时,审核流程启动,那么审核功能开启,有权限的人就可以对提交的公文信息进行审核,审核通过则可以发布,打印,审核未通过打回去,又回到1的过程可以编辑再提交,或者直接删除。
二、项目技术
编程语言:Java
数据库:MySQL
前端技术:JSP、JavaScript、bootstrap、JQuery
后端技术:Spring、SpringMVC、MyBatis、JackRabbit、Activiti
项目管理:Maven
三、运行环境
操作系统:Windows或者macOS
JDK版本:最好是JDK1.8,其他版本理论上也可以
开发工具:IDEA、Ecplise、Myecplise都可以
数据库: MySQL5.5/5.7/8.0版本都可以
Tomcat:7.0及以上版本都可以
Maven:无版本要求
四、运行截图













五、主要功能代码实现
1. 公文创建
用户可以创建新公文,填写标题和内容。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class DocumentManager {
    private Map<Integer, Document> documents = new HashMap<>();
    private int documentIdCounter = 1;
    public void createDocument(String title, String content) {
        Document document = new Document(documentIdCounter++, title, content);
        documents.put(document.getId(), document);
        System.out.println("Document created with ID: " + document.getId());
    }
    public void viewDocument(int id) {
        Document document = documents.get(id);
        if (document != null) {
            System.out.println("ID: " + document.getId() + ", Title: " + document.getTitle());
            System.out.println("Content: " + document.getContent());
        } else {
            System.out.println("No document found with the given ID.");
        }
    }
    private class Document {
        private int id;
        private String title;
        private String content;
        public Document(int id, String title, String content) {
            this.id = id;
            this.title = title;
            this.content = content;
        }
        public int getId() {
            return id;
        }
        public String getTitle() {
            return title;
        }
        public String getContent() {
            return content;
        }
    }
    public static void main(String[] args) {
        DocumentManager manager = new DocumentManager();
        Scanner scanner = new Scanner(System.in);
        System.out.println("Create New Document:");
        System.out.print("Title: ");
        String title = scanner.nextLine();
        System.out.print("Content: ");
        String content = scanner.nextLine();
        manager.createDocument(title, content);
        System.out.println("View Document:");
        System.out.print("Document ID: ");
        int id = scanner.nextInt();
        manager.viewDocument(id);
    }
}2. 公文编辑
用户可以编辑现有公文的标题和内容。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class DocumentEditor {
    private Map<Integer, Document> documents = new HashMap<>();
    private int documentIdCounter = 1;
    public void createDocument(String title, String content) {
        Document document = new Document(documentIdCounter++, title, content);
        documents.put(document.getId(), document);
    }
    public void editDocument(int id, String newTitle, String newContent) {
        Document document = documents.get(id);
        if (document != null) {
            document.setTitle(newTitle);
            document.setContent(newContent);
            System.out.println("Document updated.");
        } else {
            System.out.println("No document found with the given ID.");
        }
    }
    public void viewDocument(int id) {
        Document document = documents.get(id);
        if (document != null) {
            System.out.println("ID: " + document.getId() + ", Title: " + document.getTitle());
            System.out.println("Content: " + document.getContent());
        } else {
            System.out.println("No document found with the given ID.");
        }
    }
    private class Document {
        private int id;
        private String title;
        private String content;
        public Document(int id, String title, String content) {
            this.id = id;
            this.title = title;
            this.content = content;
        }
        public int getId() {
            return id;
        }
        public String getTitle() {
            return title;
        }
        public void setTitle(String title) {
            this.title = title;
        }
        public String getContent() {
            return content;
        }
        public void setContent(String content) {
            this.content = content;
        }
    }
    public static void main(String[] args) {
        DocumentEditor manager = new DocumentEditor();
        Scanner scanner = new Scanner(System.in);
        manager.createDocument("Sample Title", "Sample Content");
        System.out.println("Edit Document:");
        System.out.print("Document ID: ");
        int id = scanner.nextInt();
        scanner.nextLine();  // consume newline
        System.out.print("New Title: ");
        String newTitle = scanner.nextLine();
        System.out.print("New Content: ");
        String newContent = scanner.nextLine();
        manager.editDocument(id, newTitle, newContent);
        System.out.println("View Document:");
        manager.viewDocument(id);
    }
}3. 公文删除
用户可以删除现有公文。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class DocumentDeleter {
    private Map<Integer, Document> documents = new HashMap<>();
    private int documentIdCounter = 1;
    public void createDocument(String title, String content) {
        Document document = new Document(documentIdCounter++, title, content);
        documents.put(document.getId(), document);
    }
    public void deleteDocument(int id) {
        if (documents.remove(id) != null) {
            System.out.println("Document deleted.");
        } else {
            System.out.println("No document found with the given ID.");
        }
    }
    public void viewDocument(int id) {
        Document document = documents.get(id);
        if (document != null) {
            System.out.println("ID: " + document.getId() + ", Title: " + document.getTitle());
            System.out.println("Content: " + document.getContent());
        } else {
            System.out.println("No document found with the given ID.");
        }
    }
    private class Document {
        private int id;
        private String title;
        private String content;
        public Document(int id, String title, String content) {
            this.id = id;
            this.title = title;
            this.content = content;
        }
        public int getId() {
            return id;
        }
        public String getTitle() {
            return title;
        }
        public String getContent() {
            return content;
        }
    }
    public static void main(String[] args) {
        DocumentDeleter manager = new DocumentDeleter();
        Scanner scanner = new Scanner(System.in);
        manager.createDocument("Sample Title", "Sample Content");
        System.out.println("Delete Document:");
        System.out.print("Document ID: ");
        int id = scanner.nextInt();
        manager.deleteDocument(id);
        System.out.println("View Document:");
        manager.viewDocument(id);
    }
}4. 公文搜索
用户可以通过标题搜索公文。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class DocumentSearcher {
    private Map<Integer, Document> documents = new HashMap<>();
    private int documentIdCounter = 1;
    public void createDocument(String title, String content) {
        Document document = new Document(documentIdCounter++, title, content);
        documents.put(document.getId(), document);
    }
    public void searchByTitle(String title) {
        boolean found = false;
        for (Document document : documents.values()) {
            if (document.getTitle().equalsIgnoreCase(title)) {
                System.out.println("ID: " + document.getId() + ", Title: " + document.getTitle());
                System.out.println("Content: " + document.getContent());
                found = true;
                break;
            }
        }
        if (!found) {
            System.out.println("No document found with the given title.");
        }
    }
    private class Document {
        private int id;
        private String title;
        private String content;
        public Document(int id, String title, String content) {
            this.id = id;
            this.title = title;
            this.content = content;
        }
        public int getId() {
            return id;
        }
        public String getTitle() {
            return title;
        }
        public String getContent() {
            return content;
        }
    }
    public static void main(String[] args) {
        DocumentSearcher manager = new DocumentSearcher();
        Scanner scanner = new Scanner(System.in);
        manager.createDocument("Meeting Notes", "Discuss project milestones.");
        manager.createDocument("Annual Report", "Yearly performance review.");
        System.out.println("Search Document by Title:");
        System.out.print("Title: ");
        String title = scanner.nextLine();
        manager.searchByTitle(title);
    }
}









