关于项目中导出、打印等问题
2019-05-23 本文已影响0人
墨色尘埃
360截图16300505108125131.png
image.png
image.png
点击导出:
①如果没勾选的话默认下载所有,可以有搜索条件
②如果勾选了,则默认导出勾选的几个人
项目中混乱的地方
接口①是列表page接口:调用列表视图 v_subject_enroll_list
接口②是导出export接口:调用详情视图 v_subject_enroll_detail
首先接口①通过过滤条件筛选数据,当选中图中所示的三条数据时,可以知道选中的id是什么,所以可以将选中的ids集合以及过滤条件通过export接口去详情视图里查找
map中包含了过滤条件,可以将过滤条件通过反射机制转成对象,然后使用mybatis-plus的API搜索。map中同时还有ids集合
/**
* 导出:可以单个导出,可以多个或者全部导出
*
* @param map
* @return
* @throws Exception
*/
@RequestMapping(value = "/export", method = RequestMethod.POST)
public ResponseObj<Page<SubjectEnrollDetail>> export(@RequestBody Map map) throws Exception {
Page page = new Page();
List<Long> list = (List<Long>) map.get("ids");
List<SubjectEnrollDetail> detailList;
SubjectEnrollDetail model = (SubjectEnrollDetail) MapBeanUtil.mapToBean(map, SubjectEnrollDetail.class);
if (list != null && list.size() > 0) {
detailList = serviceDetail.selectList(new EntityWrapper<>(model).in("id", list));
page.setRecords(detailList);
} else {
detailList = serviceDetail.selectList(new EntityWrapper<>(model));
page.setRecords(detailList);
}
return new ResponseObj<>(page, RetCode.SUCCESS);
}