# openedu-esr **Repository Path**: tntlinking-opensource/openedu-esr ## Basic Information - **Project Name**: openedu-esr - **Description**: 教育事业统计填报系统 - **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-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 教育事业统计报表系统(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等技术栈,提供教育事业统计数据的管理、报表生成、文件上传、数据导入导出等功能。系统支持多语言、缓存优化、安全防护等特性,适用于教育统计报表的管理场景。