|
@ -1,10 +1,16 @@
|
1
|
1
|
package io.renren.modules.admin.controller;
|
2
|
2
|
|
|
3
|
import java.net.URLEncoder;
|
|
4
|
import java.text.SimpleDateFormat;
|
|
5
|
import java.util.ArrayList;
|
3
|
6
|
import java.util.Arrays;
|
4
|
7
|
import java.util.Collection;
|
|
8
|
import java.util.Date;
|
5
|
9
|
import java.util.List;
|
6
|
10
|
import java.util.Map;
|
7
|
11
|
|
|
12
|
import javax.servlet.http.HttpServletResponse;
|
|
13
|
|
8
|
14
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
9
|
15
|
|
10
|
16
|
import org.apache.commons.lang.StringUtils;
|
|
@ -18,7 +24,9 @@ import org.springframework.web.bind.annotation.RequestParam;
|
18
|
24
|
import org.springframework.web.bind.annotation.RestController;
|
19
|
25
|
|
20
|
26
|
import io.renren.modules.admin.entity.AttendersEntity;
|
|
27
|
import io.renren.modules.admin.entity.ExcelEntity;
|
21
|
28
|
import io.renren.modules.admin.service.AttendersService;
|
|
29
|
import io.renren.common.utils.ExcelUtils;
|
22
|
30
|
import io.renren.common.utils.PageUtils;
|
23
|
31
|
import io.renren.common.utils.R;
|
24
|
32
|
|
|
@ -106,4 +114,57 @@ public class AttendersController {
|
106
|
114
|
);
|
107
|
115
|
return R.ok().put("list", list);
|
108
|
116
|
}
|
|
117
|
|
|
118
|
@GetMapping("/downloadxls")
|
|
119
|
@RequiresPermissions("admin:attenders:list")
|
|
120
|
public void makeExcel(HttpServletResponse response, @RequestParam Map<String, Object> params) throws Exception {
|
|
121
|
if (!params.containsKey("meetingId")) {
|
|
122
|
throw new Exception("会议id不可为空");
|
|
123
|
}
|
|
124
|
String meetingName = params.containsKey("meetingName") ? params.get("meetingName").toString() : "";
|
|
125
|
|
|
126
|
ExcelEntity data = new ExcelEntity();
|
|
127
|
data.setName(meetingName + "签到数据");
|
|
128
|
//添加表头
|
|
129
|
List<String> titles = new ArrayList<String>();
|
|
130
|
titles.add("id");
|
|
131
|
titles.add("姓名");
|
|
132
|
titles.add("所属机构");
|
|
133
|
titles.add("职位");
|
|
134
|
titles.add("职称");
|
|
135
|
titles.add("电话");
|
|
136
|
titles.add("联系邮箱");
|
|
137
|
titles.add("用户类型");
|
|
138
|
data.setTitles(titles);
|
|
139
|
//添加列
|
|
140
|
List<List<Object>> rows = new ArrayList<List<Object>>();
|
|
141
|
List<Object> row = null;
|
|
142
|
Long meetingId = Long.valueOf(params.get("meetingId").toString());
|
|
143
|
List<Map<String, Object>> list = attendersService.getMapList(meetingId);
|
|
144
|
SimpleDateFormat lastdate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
145
|
for (Map<String, Object> aMap : list) {
|
|
146
|
row = new ArrayList<Object>();
|
|
147
|
row.add(aMap.get("id"));
|
|
148
|
row.add(aMap.get("truename"));
|
|
149
|
row.add(aMap.get("organization"));
|
|
150
|
row.add(aMap.get("position"));
|
|
151
|
row.add(aMap.get("jobTitle"));
|
|
152
|
row.add(aMap.get("phone"));
|
|
153
|
row.add(aMap.get("email"));
|
|
154
|
row.add(aMap.get("typeName"));
|
|
155
|
rows.add(row);
|
|
156
|
row = null;
|
|
157
|
}
|
|
158
|
data.setRows(rows);
|
|
159
|
SimpleDateFormat fdate=new SimpleDateFormat("yyyyMMddHHmmss");
|
|
160
|
String fileName=fdate.format(new Date())+".xlsx";
|
|
161
|
|
|
162
|
// 告诉浏览器用什么软件可以打开此文件
|
|
163
|
response.setHeader("content-Type", "application/vnd.ms-excel");
|
|
164
|
// 下载文件的默认名称
|
|
165
|
response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(fileName, "utf-8"));
|
|
166
|
// response.setHeader("Content-Disposition", "attachment;filename="+fileName);
|
|
167
|
|
|
168
|
ExcelUtils.exportExcel(data, response.getOutputStream());
|
|
169
|
}
|
109
|
170
|
}
|