diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentMsgController.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentMsgController.java index c24d1eea..41be47af 100644 --- a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentMsgController.java +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentMsgController.java @@ -35,6 +35,7 @@ import org.dromara.common.excel.service.BaseExportService; import org.dromara.common.excel.convert.ExcelDictPreloadConvert; import org.dromara.common.excel.service.SqlCacheConfigService; import org.dromara.common.core.utils.SpringUtils; +import org.dromara.common.core.utils.MapstructUtils; import org.dromara.xg.domain.vo.XgStudentMsgVo; import org.dromara.xg.domain.bo.XgStudentMsgBo; import org.dromara.xg.domain.bo.XgStudentMsgAdvancedSearchBo; @@ -123,6 +124,32 @@ public class XgStudentMsgController extends BaseController { return xgStudentMsgService.queryPageListByDeptId(bo, deptParams, pageQuery); } + /** + * 高级检索学生信息的导出 + * + * @param bo 高级检索条件 + * @return 学生信息分页列表 + */ + @SaCheckPermission("studentMsg:studentMsg:export") + @Log(title = "学生信息", businessType = BusinessType.EXPORT) + @PostMapping("/advancedSearchExport") + public void advancedSearchExport(@RequestBody XgStudentMsgAdvancedSearchBo bo, HttpServletResponse response) { + log.info("接收到高级检索请求,检索条件: {}", bo); + // 预加载导出所需的字典数据 + preloadExportDicts(); + TableDataInfo tableDataInfo = xgStudentMsgService.advancedSearch(bo); + List list = tableDataInfo.getRows(); + + // 将XgStudentMsgVo转换为XgStudentMsgExportVo + List exportList = MapstructUtils.convert(list, XgStudentMsgExportVo.class); + + ExcelUtil.exportExcel(exportList, "学生信息", XgStudentMsgExportVo.class, response); + + // 导出完成后记录缓存统计 + logCacheStats(); + // return xgStudentMsgService.advancedSearch(bo); + } + /** * 导出学生信息列表 */ diff --git a/web/src/views/xg/xsjcxx/stuRoster/components/AdvancedSearchDialog.vue b/web/src/views/xg/xsjcxx/stuRoster/components/AdvancedSearchDialog.vue index 2cfc34a2..06a4c629 100644 --- a/web/src/views/xg/xsjcxx/stuRoster/components/AdvancedSearchDialog.vue +++ b/web/src/views/xg/xsjcxx/stuRoster/components/AdvancedSearchDialog.vue @@ -1,5 +1,5 @@