|
|
|
@ -342,4 +342,129 @@ public class TeacherOpenCourseHandsOnController{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(MODEL + "/add.do")
|
|
|
|
|
@Function("teacherOpenCourseHandsOn.add")
|
|
|
|
|
public JsonResult addTeacherOpenCourseHandsOn(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery, BindingResult result,@SCoreUser CoreUser coreUser){
|
|
|
|
|
if(result.hasErrors()){
|
|
|
|
|
return JsonResult.failMessage(result);
|
|
|
|
|
}else{
|
|
|
|
|
teacherOpenCourseHandsOnQuery.setUserId(coreUser.getId());
|
|
|
|
|
teacherOpenCourseHandsOnQuery.setOrgId(coreUser.getOrgId());
|
|
|
|
|
return teacherOpenCourseHandsOnService.add(teacherOpenCourseHandsOnQuery);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//导出信息
|
|
|
|
|
@GetMapping(MODEL + "/excel/export.do")
|
|
|
|
|
@Function("teacherOpenCourseHandsOn.exportDocument")
|
|
|
|
|
public void exportDO(HttpServletRequest request, HttpServletResponse response, TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery, @SCoreUser CoreUser coreUser) {
|
|
|
|
|
if(null == coreUser){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
HSSFWorkbook workbook = null;
|
|
|
|
|
try {
|
|
|
|
|
//表头数据
|
|
|
|
|
String[] header = {
|
|
|
|
|
"开课",
|
|
|
|
|
"归属课程",
|
|
|
|
|
"归属章节",
|
|
|
|
|
"实操名称",
|
|
|
|
|
"实操介绍",
|
|
|
|
|
"添加时间",
|
|
|
|
|
"数据集"
|
|
|
|
|
};
|
|
|
|
|
String[] headerCode = {
|
|
|
|
|
"teacherOpenCourseId",
|
|
|
|
|
"courseInfoId",
|
|
|
|
|
"courseChildNode",
|
|
|
|
|
"handsOnName",
|
|
|
|
|
"handsOnRecommend",
|
|
|
|
|
"addTime",
|
|
|
|
|
"trainingData"
|
|
|
|
|
};
|
|
|
|
|
//数据内容
|
|
|
|
|
List<Map<String, Object>> mapList = teacherOpenCourseHandsOnService.getExcelValues(teacherOpenCourseHandsOnQuery);
|
|
|
|
|
//内容宽度
|
|
|
|
|
Map<String, Object> widthMap = mapList.get(0);
|
|
|
|
|
mapList.remove(0);
|
|
|
|
|
//声明一个工作簿
|
|
|
|
|
workbook = new HSSFWorkbook();
|
|
|
|
|
//生成一个表格,设置表格名称为"Sheet1"
|
|
|
|
|
HSSFSheet sheet = workbook.createSheet("Sheet1");
|
|
|
|
|
//冻结表头
|
|
|
|
|
sheet.createFreezePane(0, 1, 0, 1);
|
|
|
|
|
//设置默认列宽度为5个字节
|
|
|
|
|
sheet.setDefaultColumnWidth(5);
|
|
|
|
|
//创建第一行表头
|
|
|
|
|
HSSFRow headRow = sheet.createRow(0);
|
|
|
|
|
//头部样式
|
|
|
|
|
HSSFCellStyle headerStyle = workbook.createCellStyle();
|
|
|
|
|
//垂直居中
|
|
|
|
|
headerStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
|
|
|
|
//水平居中
|
|
|
|
|
headerStyle.setAlignment(HorizontalAlignment.CENTER);
|
|
|
|
|
//单元格样式
|
|
|
|
|
HSSFCellStyle cellStyle = workbook.createCellStyle();
|
|
|
|
|
//垂直居中
|
|
|
|
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
|
|
|
|
//水平居左
|
|
|
|
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
|
|
|
|
//自动换行
|
|
|
|
|
cellStyle.setWrapText(true);
|
|
|
|
|
//遍历添加表头
|
|
|
|
|
for (int i = 0; i < header.length; i++) {
|
|
|
|
|
//设置表格特定的列宽度
|
|
|
|
|
if (null != widthMap.get(headerCode[i])) {
|
|
|
|
|
String width = widthMap.get(headerCode[i]).toString().split("\\.")[0];
|
|
|
|
|
int w = Math.max(Integer.parseInt(width), header[i].length() * 3);
|
|
|
|
|
sheet.setColumnWidth(i, w * 190);
|
|
|
|
|
}
|
|
|
|
|
//创建一个单元格
|
|
|
|
|
HSSFCell cell = headRow.createCell(i);
|
|
|
|
|
//创建一个内容对象
|
|
|
|
|
HSSFRichTextString text = new HSSFRichTextString(header[i]);
|
|
|
|
|
//将内容对象的文字内容写入到单元格中
|
|
|
|
|
cell.setCellValue(text);
|
|
|
|
|
//设置样式
|
|
|
|
|
cell.setCellStyle(headerStyle);
|
|
|
|
|
}
|
|
|
|
|
//遍历结果集,把内容加入表格
|
|
|
|
|
for (int i = 0; i < mapList.size(); i++) {
|
|
|
|
|
HSSFRow row = sheet.createRow(i + 1);
|
|
|
|
|
row.setHeight((short) (50*10));
|
|
|
|
|
Map<String, Object> map = mapList.get(i);
|
|
|
|
|
for (int j = 0; j < headerCode.length; j++) {
|
|
|
|
|
HSSFCell cell = row.createCell(j);
|
|
|
|
|
cell.setCellStyle(cellStyle);
|
|
|
|
|
HSSFRichTextString text = new HSSFRichTextString(null != map.get(headerCode[j]) ? map.get(headerCode[j]).toString() : " ");
|
|
|
|
|
cell.setCellValue(text);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//准备将Excel的输出流通过response输出到页面下载
|
|
|
|
|
//八进制输出流
|
|
|
|
|
response.setContentType("application/octet-stream");
|
|
|
|
|
//这后面可以设置导出Excel的名称,此例中名为student.xls
|
|
|
|
|
String fileName = ToolUtils.web2fileName(request,"teacherOpenCourseHandsOn(" + TimeTool.getNowTime("YMD") + ").xls");
|
|
|
|
|
response.setHeader("Content-disposition", "attachment;filename="+fileName);
|
|
|
|
|
//刷新缓冲
|
|
|
|
|
response.flushBuffer();
|
|
|
|
|
//workbook将Excel写入到response的输出流中,供页面下载
|
|
|
|
|
workbook.write(response.getOutputStream());
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
} finally {
|
|
|
|
|
try {
|
|
|
|
|
if (null != workbook) {
|
|
|
|
|
workbook.close();
|
|
|
|
|
}
|
|
|
|
|
if (null != response && null != response.getOutputStream()) {
|
|
|
|
|
response.getOutputStream().close();
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) { }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|