关于项目中导出、打印等问题

2019-05-23  本文已影响0人  墨色尘埃
360截图16300505108125131.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);
    }
上一篇下一篇

猜你喜欢

热点阅读