# openedu-esr **Repository Path**: tntlinking-opensource/openedu-esr ## Basic Information - **Project Name**: openedu-esr - **Description**: OpenEDU教育事业统计报表系统是一款适用于基础教育所有学段学校的教育事业统计报表工具,包括幼儿园、小学、初中、高中、中职、各类专门学校等。系统支持批量导出教育统计报表,可无缝导入教育部平台,从而帮助学校高效、轻松完成每年教育事业统计填报工作。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-24 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 平台介绍 ## 🏠【关于我们】 ![天天开源](https://open.tntlinking.com/assets/logo-b-BzFUYaRU.png) 天天开源致⼒于打造中国应⽤管理软件开源⽣态,⾯向医疗、企业、教育三⼤⾏业信息化需求,提供优质的开源软件产品与解决⽅案。平台现已发布OpenHIS、OpenCOM、OpenEDU系列开源产品,并持续招募⽣态合作伙伴,期待共同构建开源创新的⾏业协作模式,加速⾏业的数字化进程。 天天开源的前⾝是新致开源,最早于2022年6⽉发布开源医疗软件平台OpenHIS.org.cn,于2023年6⽉发布开源企业软件平台OpenCOM.com.cn。2025年7⽉,新致开源品牌更新为天天开源,我们始终秉持开源、专业、协作的理念,致⼒于为医疗、教育、中⼩企业等⾏业提供优质的开源解决⽅案。 了解我们:https://open.tntlinking.com/about?site=gitee ## 💾【部署包下载】 请访问官网产品中心下载部署包:https://open.tntlinking.com/resource/productCenter?site=gitee ## 📚【支持文档】 技术支持资源:https://open.tntlinking.com/resource/openProductDoc?site=gitee (含演示环境、操作手册、部署手册、开发手册、常见问题等) 产品介绍:https://open.tntlinking.com/resource/productPresentation?site=gitee 操作教程:https://open.tntlinking.com/resource/operationTutorial?site=gitee 沙龙回顾:https://open.tntlinking.com/resource/openSourceSalon#23?site=gitee ## 🤝【合作方式】 产品服务价格:https://open.tntlinking.com/cost?site=gitee 加入生态伙伴:https://open.tntlinking.com/ecology/becomePartner?site=gitee ## 🤗【技术社区】 请访问官网扫码加入技术社区交流:https://open.tntlinking.com/ecology/joinCommunity?site=gitee 请关注公众号【天天开源软件】以便获得最新产品更新信息。 # 项目介绍 教育事业统计报表系统(openedu-esr)是一个用于教育事业统计报表的管理系统。以下是项目的结构和主要组件的概览: ## 项目结构概览 ### Java源代码 - **com.ckfinder.connector.handlers.command** - `Aes.java`: 提供AES加密和解密功能。 - `CheckoutFileType.java`: 检查文件类型,验证文件合法性。 - `FfmpegTest.java`, `FfmpegTest2.java`: 与FFmpeg相关的测试类,用于视频格式转换。 - `MyCaptchaStore.java`: 实现CAPTCHA存储功能。 - `MyStrutsFilter.java`: 自定义Struts过滤器。 - `QuickUploadCommand.java`: 快速上传命令处理。 - `TeradataConnection.java`: 自定义Teradata数据库连接类。 - `Test.java`: 测试类。 - `XssFilter.java`: 防止XSS攻击的过滤器。 - **org.apache.struts2.util** - `BigDecimalConverter.java`: BigDecimal类型的转换器。 - `Encryption.java`: DES加密和解密工具类。 - `JdbcDecryptPropertiesFile.java`: 解密属性文件的类。 - `MySQLServerDialect.java`, `MySqlDialect.java`: Hibernate方言类,用于数据库适配。 - `RedisUtils.java`: Redis工具类,用于缓存管理。 - `SerializeUtil.java`: 序列化和反序列化工具类。 - `StringJsonUserType.java`: JSON字符串与Java对象之间的转换。 - `TokenHelper.java`: 生成和验证令牌。 - `ZxingUtil.java`: 二维码生成和读取工具类。 - **org.pfw.framework.modules.orm.hibernate** - `HibernateWebUtils.java`: Hibernate工具类,用于Web层操作。 - **org.pfw.framework.web** - `HomeAction.java`: 主页相关操作。 - `LoginbkAction.java`: 登录操作。 - **org.pfw.framework.ywmk.dao** - 包含多个DAO类,如`BbqzpzDao.java`, `BjxxDao.java`, `DictThreeDao.java`, `DictTwoDao.java`, `DwpxqkDao.java`, `JsskflqkDao.java`, `JzgxxDao.java`, `ReportCheckRuleDao.java`, `ReportInfoDao.java`, `SjrwDao.java`, `XiaoshexxDao.java`, `XsxxDao.java`, `XxbbxxDao.java`, `XxsslxDao.java`, `XxxqDao.java`, `XxxxDao.java`, `ZrjspxqkDao.java`, `ZyxxDao.java`等,用于数据库操作。 - **org.pfw.framework.ywmk.domain** - 包含多个实体类,如`Bbqzpz.java`, `Bjxx.java`, `DictThree.java`, `DictTwo.java`, `Dwpxqk.java`, `Jsskflqk.java`, `Jzgxx.java`, `ReportCheckRule.java`, `ReportInfo.java`, `ReportInfoRowFilter.java`, `Sjrw.java`, `Xiaoshexx.java`, `Xsxx.java`, `Xxbbxx.java`, `Xxsslx.java`, `Xxxq.java`, `Xxxx.java`, `Zrjspxqk.java`, `Zyxx.java`等,用于映射数据库表。 - **org.pfw.framework.ywmk.service** - 包含多个服务接口,如`BbqzpzService.java`, `BjxxService.java`, `DictThreeService.java`, `DictTwoService.java`, `DwpxqkService.java`, `JsskflqkService.java`, `JzgxxService.java`, `ReportCheckRuleService.java`, `ReportInfoService.java`, `SjrwService.java`, `XiaoshexxService.java`, `XsxxService.java`, `XxbbxxService.java`, `XxsslxService.java`, `XxxqService.java`, `XxxxService.java`, `ZrjspxqkService.java`, `ZyxxService.java`等,定义业务逻辑。 - **org.pfw.framework.ywmk.service.impl** - 包含多个服务实现类,如`BbqzpzServiceImpl.java`, `BjxxServiceImpl.java`, `DictThreeServiceImpl.java`, `DictTwoServiceImpl.java`, `DwpxqkServiceImpl.java`, `JsskflqkServiceImpl.java`, `JzgxxServiceImpl.java`, `ReportCheckRuleServiceImpl.java`, `ReportInfoServiceImpl.java`, `SjrwServiceImpl.java`, `XiaoshexxServiceImpl.java`, `XsxxServiceImpl.java`, `XxbbxxServiceImpl.java`, `XxsslxServiceImpl.java`, `XxxqServiceImpl.java`, `XxxxServiceImpl.java`, `ZrjspxqkServiceImpl.java`, `ZyxxServiceImpl.java`等,实现具体的业务逻辑。 - **org.pfw.framework.ywmk.web** - 包含多个Action类,如`BbqzpzAction.java`, `BjxxAction.java`, `DictThreeAction.java`, `DictTwoAction.java`, `DwpxqkAction.java`, `JsskflqkAction.java`, `JzgxxAction.java`, `ReportCheckRuleAction.java`, `ReportInfoAction.java`, `ReportInfoRowFilterAction.java`, `SjrwAction.java`, `XiaoshexxAction.java`, `XsxxAction.java`, `XxbbxxAction.java`, `XxsslxAction.java`, `XxxqAction.java`, `XxxxAction.java`, `ZrjspxqkAction.java`, `ZyxxAction.java`等,处理Web请求。 ### 资源文件 - **ehcache**: 缓存配置文件。 - **fckeditor.properties**, **freemarker.properties**: 配置文件。 - **hibernate.cfg.xml**: Hibernate主配置文件。 - **hibernate/*.hbm.xml**: Hibernate映射文件。 - **log4j.properties**: 日志配置文件。 - **macro/*.ftl**: Freemarker模板文件。 - **messageResource*.properties**: 多语言资源文件。 - **modules.properties**, **pushlet.properties**, **sources.properties**, **struts.properties**, **struts.xml**, **system.properties**, **xwork-conversion.properties**: 系统配置文件。 - **spring/*.xml**: Spring配置文件。 - **ywmk/*.ftl**: Freemarker模板文件。 ### Web应用资源 - **WEB-INF/web.xml**: Web应用部署描述符。 - **WEB-INF/lib**: 包含项目依赖的JAR文件。 - **WEB-INF/content**: 页面内容。 - **common/*.jsp**, **common/*.ftl**: 公共页面模板。 - **export**: 导出的Excel模板文件。 - **extend/css**: 样式表文件。 - **extend/image**: 图片资源。 - **index.jsp**, **login.jsp**, **main.jsp**: 主要页面。 ## 主要功能模块 1. **数据管理** - 提供对教育事业统计数据的管理功能,包括班级信息、学生信息、教师信息、学校信息等。 - 支持数据的增删改查操作。 2. **报表管理** - `ReportInfoAction.java`: 处理报表信息的管理。 - `ReportCheckRuleAction.java`: 管理报表的校验规则。 - 支持报表的导入、导出、预览等功能。 3. **文件上传与处理** - `QuickUploadCommand.java`: 处理文件快速上传。 - `CheckoutFileType.java`: 验证上传文件的类型。 - 使用`FfmpegTest.java`进行视频格式转换。 4. **安全与权限** - `XssFilter.java`: 防止XSS攻击。 - `MyStrutsFilter.java`: 自定义Struts过滤器。 - `TokenHelper.java`: 生成和验证令牌,防止CSRF攻击。 5. **缓存与性能优化** - `RedisUtils.java`: 使用Redis进行缓存管理。 - `HibernateWebUtils.java`: 提供Hibernate工具方法。 6. **数据导入与导出** - 支持从Excel导入数据,如`bjxxsenygz.xls`, `jzgxx.xls`, `xsxx.xls`等。 - 提供数据导出功能,支持多种格式。 7. **前端界面** - 使用Freemarker模板引擎渲染页面。 - 提供多种CSS样式和JavaScript功能,支持响应式设计和交互式操作。 ## 技术栈 - **Java**: 项目主要使用Java编写。 - **Struts2**: 用于处理Web请求。 - **Spring**: 提供依赖注入和事务管理。 - **Hibernate**: ORM框架,用于数据库操作。 - **Freemarker**: 模板引擎,用于页面渲染。 - **Redis**: 缓存管理。 - **MySQL/SQL Server**: 数据库支持。 - **Bootstrap**: 前端框架,提供响应式设计和UI组件。 ## 依赖库 - **Apache Commons**: 提供常用工具类。 - **Hibernate**: ORM框架。 - **Spring Framework**: 提供IoC和AOP支持。 - **Freemarker**: 模板引擎。 - **Redis**: 缓存支持。 - **POI**: Excel操作支持。 - **ZXing**: 二维码生成和读取。 ## 总结 教育事业统计报表系统(openedu-esr)是一个基于Java的Web应用,使用Struts2、Spring、Hibernate等技术栈,提供教育事业统计数据的管理、报表生成、文件上传、数据导入导出等功能。系统支持多语言、缓存优化、安全防护等特性,适用于教育统计报表的管理场景。