diff --git a/springboot/morning-check/pom.xml b/springboot/morning-check/pom.xml
index a11ea48..d291250 100644
--- a/springboot/morning-check/pom.xml
+++ b/springboot/morning-check/pom.xml
@@ -115,6 +115,11 @@
2.0.0
+
+ org.apache.poi
+ poi
+ 4.0.0
+
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
index 99170d0..bc0bd67 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
@@ -1,19 +1,26 @@
package com.sincere.morningcheck.controller;
import com.sincere.morningcheck.common.ServerResponse;
+import com.sincere.morningcheck.model.ApiStudent;
import com.sincere.morningcheck.model.ApiStudentCheckReport;
import com.sincere.morningcheck.service.StudentCheckReportService;
+import com.sincere.morningcheck.utils.ExcelUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
@RestController
@RequestMapping("check_report")
@@ -48,9 +55,129 @@ public class CheckReportController {
@ApiImplicitParam(name = "gradeId",value = "年级标识",required = true)
})
@GetMapping("getCheckExReportByGrade")
- public ServerResponse getCheckExReportByGrade(@RequestParam Integer schoolId,@RequestParam Integer gradeId){
+ public ServerResponse getCheckExReportByGrade(@RequestParam Integer schoolId,@RequestParam Integer gradeId,@RequestParam String checkTime){
+
+ return studentCheckReportService.getCheckExReportByGrade(schoolId,gradeId,checkTime);
+ }
+
+ @ApiOperation(value = "学生晨检报告报表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "schoolId",value = "学校ID",required = true),
+ @ApiImplicitParam(name = "checkTime",value = "检查报告的时间,格式为yyyy-MM-dd",required = true),
+ @ApiImplicitParam(name = "gradeId",value = "年级ID",defaultValue = "0")
+ })
+ @GetMapping("getCheckReportData")
+ public ServerResponse getCheckReportData(@RequestParam Integer schoolId,@RequestParam String checkTime,@RequestParam(name = "gradeId",required = false) Integer gradeId){
- return studentCheckReportService.getCheckExReportByGrade(schoolId,gradeId);
+ return studentCheckReportService.getCheckReportData(schoolId,checkTime,gradeId);
}
+
+ @ApiOperation("导出报表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "schoolId",value = "学校ID",required = true),
+ @ApiImplicitParam(name = "checkTime",value = "检查报告的时间,格式为yyyy-MM-dd",required = true),
+ @ApiImplicitParam(name = "gradeId",value = "年级ID",defaultValue = "0")
+ })
+ @GetMapping("excelCheckReportData")
+ public void excelCheckReportData(HttpServletResponse response, @RequestParam Integer schoolId, @RequestParam String checkTime,@RequestParam(name = "gradeId",required = false) Integer gradeId){
+
+ //查询出需要导出的数据
+ List apiStudentList=studentCheckReportService.getCheckReportData(schoolId,checkTime,gradeId).getData();
+ //创建报表数据头
+ List head = new ArrayList<>();
+ head.add("姓名");
+ head.add("班级");
+ head.add("入园时间");
+ head.add("手检");
+ head.add("眼检");
+ head.add("口腔");
+ head.add("喉咙");
+ head.add("体温");
+ head.add("腮部");
+ head.add("外表");
+ head.add("外伤情况");
+ head.add("指甲");
+ head.add("牙齿");
+ head.add("其他");
+ head.add("处理情况");
+ //创建报表体
+ List> body = new ArrayList<>();//模拟二维集合
+ if(apiStudentList!=null) {
+ for (ApiStudent stu : apiStudentList) {
+ List bodyValue = new ArrayList<>();
+ bodyValue.add(String.valueOf(stu.getStuName()));
+ bodyValue.add(stu.getClassName());
+ bodyValue.add(String.valueOf(stu.getCheckTime()));
+ if (stu.getCheckResultObj().getHandNoEx()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("异常cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoRedEye()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("红眼cellStyle");
+ }
+ if (stu.getCheckResultObj().getMouthNoEx()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("异常cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoPharyngitis()&&stu.getCheckResultObj().getNoCough()) {
+ bodyValue.add("正常");
+ } else {
+ String desc = "";
+ if(!stu.getCheckResultObj().getNoPharyngitis()){
+ desc = desc + "咽炎、" ;
+ }
+ if(!stu.getCheckResultObj().getNoCough()){
+ desc = desc + "咳嗽" ;
+ }
+ bodyValue.add(desc+"cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoFever()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("发烧cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoCrotchBig()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("腮部肿大cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoPoorSpirit()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("精神不佳cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoTrauma()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("外伤cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoNail()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("过长cellStyle");
+ }
+ if (stu.getCheckResultObj().getNoToothDecay()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("蛀牙cellStyle");
+ }
+ if (stu.getCheckResultObj().getOther()) {
+ bodyValue.add("正常");
+ } else {
+ bodyValue.add("异常cellStyle");
+ }
+ bodyValue.add("");
+ //将数据添加到报表体中
+ body.add(bodyValue);
+ }
+ }
+ String fileName = checkTime+"_学生晨检报告.xls";
+ HSSFWorkbook excel = ExcelUtils.expExcel(head,body);
+ ExcelUtils.outFileStream(excel,fileName,response);
+ }
}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
index 824fb4d..1029d46 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
@@ -3,10 +3,7 @@ package com.sincere.morningcheck.controller;
import com.sincere.morningcheck.common.EhcacheUtil;
import com.sincere.morningcheck.common.MD5;
import com.sincere.morningcheck.common.ServerResponse;
-import com.sincere.morningcheck.model.School;
-import com.sincere.morningcheck.model.Student;
-import com.sincere.morningcheck.model.StudentCheckReport;
-import com.sincere.morningcheck.model.User;
+import com.sincere.morningcheck.model.*;
import com.sincere.morningcheck.service.FileUpAndDownService;
import com.sincere.morningcheck.service.StudentCheckReportService;
import com.sincere.morningcheck.service.StudentService;
@@ -366,7 +363,6 @@ public class MorningCheckController {
studentCheckReport.setCardNo(card);
studentCheckReport.setCheckResult(result);
studentCheckReport.setRobotResult(robotResult);
- //java.sql.Date checkDate = new java.sql.Date(new Date().getTime());
Date checkDate = new Date();
studentCheckReport.setCheckTime(checkDate);
studentCheckReport.setInTime(checkDate);
@@ -379,8 +375,29 @@ public class MorningCheckController {
Student student = studentService.getStudentByCardNo(card);
String msg = String.format("学生%s你好,你的晨检报告已经自动生成",student.getStuName());
studentCheckReport.setStudent_id(student.getStuId());
- studentCheckReportService.insert(studentCheckReport);
+ StudentCheckReport studentCheckReportEntity= studentCheckReportService.getCheckReport(student.getStuId());
+ if(studentCheckReportEntity==null){
+ studentCheckReportService.insert(studentCheckReport);
+ }else{
+ studentCheckReport.setId(studentCheckReportEntity.getId());
+ int updateCount = studentCheckReportService.updateByStudent(studentCheckReport);
+ }
+
+ StudentCheckReportHis studentCheckReportHis = new StudentCheckReportHis();
+ studentCheckReportHis.setAccess(studentCheckReport.getAccess());
+ studentCheckReportHis.setCardNo(studentCheckReport.getCardNo());
+ studentCheckReportHis.setCheck_id(studentCheckReport.getId());
+ studentCheckReportHis.setCheckResult(studentCheckReport.getCheckResult());
+ studentCheckReportHis.setRobotResult(studentCheckReport.getRobotResult());
+ studentCheckReportHis.setInTime(studentCheckReport.getInTime());
+ studentCheckReportHis.setCheckTime(studentCheckReport.getCheckTime());
+ studentCheckReportHis.setTemperature(studentCheckReport.getTemperature());
+ studentCheckReportHis.setEyeImgId(studentCheckReport.getEyeImgId());
+ studentCheckReportHis.setHandImgId(studentCheckReport.getHandImgId());
+ studentCheckReportHis.setMouthImgId(studentCheckReport.getMouthImgId());
+ studentCheckReportHis.setStudent_id(studentCheckReport.getStudent_id());
+ studentCheckReportService.insertCheckHis(studentCheckReportHis);
serverResponse = ServerResponse.createBySuccessMessage(msg);
}else{
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
index 1507162..95f83a7 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
@@ -2,6 +2,7 @@ package com.sincere.morningcheck.dao;
import com.sincere.morningcheck.model.ClassExReport;
import com.sincere.morningcheck.model.StudentCheckReport;
+import com.sincere.morningcheck.model.StudentCheckReportHis;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -14,11 +15,20 @@ public interface StudentCheckReportDao {
int insert(StudentCheckReport studentCheckReport);
+ int insertCheckHis(StudentCheckReportHis studentCheckReportHis);
+
+ /**
+ * 根据卡号和学生标识修改学生检查报告信息
+ * @param studentCheckReport
+ * @return
+ */
+ int updateByStudent(StudentCheckReport studentCheckReport);
+
List getCheckReport(@Param("studentId") Integer studentId);
int getCheckStuCountBySchoolId(@Param("schoolId")Integer schoolId,@Param("checkTime") String checkTime);
List getCheckReportBySchoolId(@Param("schoolId")Integer schoolId,@Param("checkTime") String checkTime);
- List getCheckExReportByGrade(@Param("schoolId")Integer schoolId,@Param("gradeId") Integer gradeId);
+ List getCheckExReportByGrade(@Param("schoolId")Integer schoolId,@Param("gradeId") Integer gradeId,@Param("checkTime") String checkTime);
}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudent.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudent.java
new file mode 100644
index 0000000..0f1f87a
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudent.java
@@ -0,0 +1,14 @@
+package com.sincere.morningcheck.model;
+
+import lombok.Data;
+
+@Data
+/**
+ * 用于报表导出
+ */
+public class ApiStudent extends ApiStudentCheckReport {
+ private Integer classId;
+ private String stuName;
+ private String className;
+
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java
index ff2ce11..9d25b46 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/CheckResult.java
@@ -38,7 +38,7 @@ public class CheckResult {
@ApiModelProperty(name = "noCough",value = "08,true正常,false咳嗽")
private Boolean noCough;
- @ApiModelProperty(name = "noNail",value = "09,true正常,false过长")
+ @ApiModelProperty(name = "noNail",value = "09,true正常,false指甲过长")
private Boolean noNail;
@ApiModelProperty(name = "noToothDecay",value = "10,true正常,false蛀牙")
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ClassExReport.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ClassExReport.java
index 64754b9..f2fbf87 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ClassExReport.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ClassExReport.java
@@ -7,9 +7,9 @@ public class ClassExReport {
private Integer class_id;
- private String className;
+ private String name;
private Integer count;
- private float exRate;
+ private float value;
}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReportHis.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReportHis.java
new file mode 100644
index 0000000..2a7f015
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReportHis.java
@@ -0,0 +1,46 @@
+package com.sincere.morningcheck.model;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+/**
+ * 检查报告历史记录表
+ */
+public class StudentCheckReportHis {
+ private Integer id;
+
+ /**
+ * 检查报告表ID
+ */
+ private Integer check_id;
+
+ private Integer student_id;
+
+ private String cardNo;
+
+ /**
+ * 人为判别结果
+ */
+ private String checkResult; //json字符串
+
+ /**
+ * 机器判别结果
+ */
+ private String robotResult; //json字符串
+
+ private Date checkTime;
+
+ private Date inTime;
+
+ private String access;
+
+ private String temperature;
+
+ private String handImgId;
+
+ private String mouthImgId;
+
+ private String eyeImgId;
+}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
index 6c79901..fa43bca 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
@@ -2,16 +2,33 @@ package com.sincere.morningcheck.service;
import com.sincere.morningcheck.common.ServerResponse;
+import com.sincere.morningcheck.model.ApiStudent;
import com.sincere.morningcheck.model.ApiStudentCheckReport;
import com.sincere.morningcheck.model.StudentCheckReport;
+import com.sincere.morningcheck.model.StudentCheckReportHis;
+
+import java.util.List;
public interface StudentCheckReportService {
int insert(StudentCheckReport studentCheckReport);
+ int insertCheckHis(StudentCheckReportHis studentCheckReportHis);
+
+ /**
+ * 根据卡号和学生标识修改学生检查报告信息
+ * @param studentCheckReport
+ * @return
+ */
+ int updateByStudent(StudentCheckReport studentCheckReport);
+
+ StudentCheckReport getCheckReport(Integer studentId);
+
ServerResponse getCheckReport(String stuUserId);
ServerResponse getCheckReportBySchool(Integer schoolId,String checkTime);
- ServerResponse getCheckExReportByGrade(Integer schoolId,Integer gradeId);
+ ServerResponse getCheckExReportByGrade(Integer schoolId,Integer gradeId,String checkTime);
+
+ ServerResponse> getCheckReportData(Integer schoolId, String checkTime,int gradeId);
}
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
index 60ed549..a5e90ba 100644
--- a/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
@@ -5,6 +5,7 @@ import com.sincere.morningcheck.dao.StudentCheckReportDao;
import com.sincere.morningcheck.dao.StudentDao;
import com.sincere.morningcheck.model.*;
import com.sincere.morningcheck.service.StudentCheckReportService;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -27,6 +28,25 @@ public class StudentCheckReportServiceImpl implements StudentCheckReportService
}
@Override
+ public int insertCheckHis(StudentCheckReportHis studentCheckReportHis) {
+ return studentCheckReportDao.insertCheckHis(studentCheckReportHis);
+ }
+
+ @Override
+ public int updateByStudent(StudentCheckReport studentCheckReport) {
+ return studentCheckReportDao.updateByStudent(studentCheckReport);
+ }
+
+ @Override
+ public StudentCheckReport getCheckReport(Integer studentId) {
+ List studentCheckReports = studentCheckReportDao.getCheckReport(studentId);
+ if(studentCheckReports!=null&&studentCheckReports.size()>0){
+ return studentCheckReports.get(0);
+ }
+ return null;
+ }
+
+ @Override
public ServerResponse getCheckReport(String stuUserId) {
List studentCheckReports = new ArrayList<>();
@@ -160,9 +180,9 @@ public class StudentCheckReportServiceImpl implements StudentCheckReportService
}
@Override
- public ServerResponse getCheckExReportByGrade(Integer schoolId, Integer gradeId) {
+ public ServerResponse getCheckExReportByGrade(Integer schoolId, Integer gradeId,String checkTime) {
- List classExReports = studentCheckReportDao.getCheckExReportByGrade(schoolId,gradeId);
+ List classExReports = studentCheckReportDao.getCheckExReportByGrade(schoolId,gradeId,checkTime);
float count = 0;
for(ClassExReport classExReport : classExReports){
count = count + classExReport.getCount();
@@ -170,7 +190,7 @@ public class StudentCheckReportServiceImpl implements StudentCheckReportService
if(count>0){
for(ClassExReport classExReport : classExReports){
- classExReport.setExRate((classExReport.getCount()/count)*100);
+ classExReport.setValue((classExReport.getCount()/count)*100);
}
}else {
return ServerResponse.createByErrorCodeMessage(10,"暂无数据");
@@ -178,6 +198,39 @@ public class StudentCheckReportServiceImpl implements StudentCheckReportService
return ServerResponse.createBySuccess(classExReports);
}
+ @Override
+ public ServerResponse> getCheckReportData(Integer schoolId, String checkTime,int gradeId) {
+ List studentCheckReports = studentCheckReportDao.getCheckReportBySchoolId(schoolId,checkTime);
+
+ List apiStudents = new ArrayList<>();
+ for(StudentCheckReport item : studentCheckReports){
+ ApiStudent apiStudent = new ApiStudent();
+ apiStudent.setCardNo(item.getCardNo());
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm");
+ apiStudent.setCheckTime(simpleDateFormat.format(item.getCheckTime()));
+ apiStudent.setTemperature(item.getTemperature());
+ if(StringUtils.isNotBlank(item.getCheckResult())){
+ char[] chs = item.getCheckResult().toCharArray();
+ apiStudent.setCheckResultObj(getCheckResult(chs));
+ }
+ if(StringUtils.isNotBlank(item.getCardNo())){
+ Student student = studentDao.getStudentByCardNo(item.getCardNo());
+ apiStudent.setClassName(student.getClassName());
+ apiStudent.setStudent_id(student.getStuId());
+ apiStudent.setStuName(student.getStuName());
+ apiStudent.setClassId(student.getClassId());
+ }
+ apiStudents.add(apiStudent);
+ }
+ if(gradeId>0) {
+ apiStudents = apiStudents.stream().filter(n -> n.getClassId() == gradeId).collect(Collectors.toList());
+ }
+ if(apiStudents.size()<=0){
+ return ServerResponse.createByErrorCodeMessage(10,"暂无数据");
+ }
+ return ServerResponse.createBySuccess(apiStudents);
+ }
+
private ApiStudentCheckReport getApiStudentReport(StudentCheckReport studentCheckReport,Boolean isMorningCheck){
ApiStudentCheckReport apiStudentCheckReport = new ApiStudentCheckReport();
diff --git a/springboot/morning-check/src/main/java/com/sincere/morningcheck/utils/ExcelUtils.java b/springboot/morning-check/src/main/java/com/sincere/morningcheck/utils/ExcelUtils.java
new file mode 100644
index 0000000..7fde70b
--- /dev/null
+++ b/springboot/morning-check/src/main/java/com/sincere/morningcheck/utils/ExcelUtils.java
@@ -0,0 +1,149 @@
+package com.sincere.morningcheck.utils;
+
+import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.ss.usermodel.BorderStyle;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.ss.usermodel.IndexedColors;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+public class ExcelUtils {
+
+ static final BorderStyle borderpx = BorderStyle.THIN;
+
+ /**
+ * 导出excel表格
+ * @param head
+ * @param body
+ * @return
+ */
+ public static HSSFWorkbook expExcel(List head, List> body) {
+ HSSFWorkbook workbook = new HSSFWorkbook();
+ HSSFSheet sheet = workbook.createSheet("Sheet1");
+ HSSFRow row = sheet.createRow(0);
+ HSSFCell cell= null;
+ HSSFCellStyle cellStyle = workbook.createCellStyle();
+ setBorderStyle(cellStyle, borderpx);
+ cellStyle.setFont(setFontStyle(workbook, "黑体", (short) 14));
+ sheet.createFreezePane(0,1,0,1);
+
+ for (int i = 0; i paramList = body.get(i);
+ for (int p = 0; p < paramList.size(); p++) {
+ cell = row.createCell(p);
+ String value = paramList.get(p);
+ if(value.contains("cellStyle")){
+ cellStyleEx.setFillForegroundColor(IndexedColors.RED.index);//是设置前景色不是背景色
+ cellStyleEx.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+ value = value.replace("cellStyle","");
+ cell.setCellValue(value);
+ cell.setCellStyle(cellStyleEx);
+ }else{
+ cell.setCellValue(value);
+ cell.setCellStyle(cellStyle2);
+ }
+
+ }
+ }
+ for (int i = 0, isize = head.size(); i < isize; i++) {
+ sheet.autoSizeColumn(i); //设置自动列宽
+ }
+
+ return workbook;
+ }
+
+ /**
+ * 以网络流的形势输出文件
+ * @author LiuYang
+ * @param workbook 填充好的workbook
+ */
+ public static void outFileStream(HSSFWorkbook workbook,String filename,HttpServletResponse response) {
+ try {
+ response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));
+ response.setContentType("application/vnd.ms-excel;charset=utf-8");//设置文本编码格式
+ workbook.write(response.getOutputStream());//直接把内容写在响应流中
+ } catch (FileNotFoundException e1) {
+ e1.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ /**
+ * 文件输出
+ * @author LiuYang
+ * @param workbook 填充好的workbook
+ * @param path 存放的位置
+ */
+ public static void outFile(HSSFWorkbook workbook,String path,HttpServletResponse response) {
+ SimpleDateFormat fDate=new SimpleDateFormat("yyyyMMdd-HH点mm分");
+ path = path.substring(0, path.lastIndexOf(".")) + fDate.format(new Date()) + path.substring(path.lastIndexOf("."));
+ OutputStream os=null;
+ File file = null;
+ try {
+ file = new File(path); //首先保存到自己的文件路径下面
+ String filename = file.getName();
+ os = new FileOutputStream(file);
+ response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));
+ os= new BufferedOutputStream(response.getOutputStream());
+ response.setContentType("application/vnd.ms-excel;charset=utf-8");
+ workbook.write(os);
+ } catch (FileNotFoundException e1) {
+ e1.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ try {
+ os.flush();
+ os.close();
+ System.gc();
+ System.out.println(file.delete());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ /**
+ * 设置字体样式
+ * @author LiuYang
+ * @param workbook 工作簿
+ * @param name 字体类型
+ * @param height 字体大小
+ * @return HSSFFont
+ */
+ private static HSSFFont setFontStyle(HSSFWorkbook workbook, String name, short height) {
+ HSSFFont font = workbook.createFont();
+ font.setFontHeightInPoints(height);
+ font.setFontName(name);
+ return font;
+ }
+
+ /**
+ * 设置单元格样式
+ * @author LiuYang
+ * @param cellStyle 工作簿
+ * @param border border样式
+ */
+ private static void setBorderStyle(HSSFCellStyle cellStyle, BorderStyle border) {
+
+ cellStyle.setBorderBottom(border); // 下边框
+ cellStyle.setBorderLeft(border);// 左边框
+ cellStyle.setBorderTop(border);// 上边框
+ cellStyle.setBorderRight(border);// 右边框
+ }
+}
diff --git a/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml b/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
index 5b8002a..298b3e7 100644
--- a/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
+++ b/springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
@@ -7,7 +7,8 @@
-
+
+
@@ -21,14 +22,27 @@
- student_id,cardNo,checkTime,checkResult,robotResult,intime,access,temperature,handImgId,mouthImgId,eyeImgId
+ id,student_id,cardNo,checkTime,checkResult,robotResult,intime,access,temperature,handImgId,mouthImgId,eyeImgId
-
+
insert xiaoan.dbo.SZ_StudentCheckReport(student_id,cardNo,checkResult,robotResult,intime,checkTime,access,temperature,handImgId,mouthImgId,eyeImgId)
-values(#{student_id,jdbcType=VARCHAR}, #{cardNo,jdbcType=VARCHAR}, #{checkResult,jdbcType=VARCHAR}, #{robotResult,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP},#{checkTime,jdbcType=TIMESTAMP},#{access,jdbcType=VARCHAR},#{temperature,jdbcType=VARCHAR},#{handImgId,jdbcType=VARCHAR},#{mouthImgId,jdbcType=VARCHAR},#{eyeImgId,jdbcType=VARCHAR})
+values(#{student_id,jdbcType=INTEGER}, #{cardNo,jdbcType=VARCHAR}, #{checkResult,jdbcType=VARCHAR}, #{robotResult,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP},#{checkTime,jdbcType=TIMESTAMP},#{access,jdbcType=VARCHAR},#{temperature,jdbcType=VARCHAR},#{handImgId,jdbcType=VARCHAR},#{mouthImgId,jdbcType=VARCHAR},#{eyeImgId,jdbcType=VARCHAR})
+
+ insert xiaoan.dbo.SZ_StudentCheckReportHistory(check_id,student_id,cardNo,checkResult,robotResult,intime,checkTime,access,temperature,handImgId,mouthImgId,eyeImgId)
+values(#{check_id,jdbcType=INTEGER},#{student_id,jdbcType=INTEGER}, #{cardNo,jdbcType=VARCHAR}, #{checkResult,jdbcType=VARCHAR}, #{robotResult,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP},#{checkTime,jdbcType=TIMESTAMP},#{access,jdbcType=VARCHAR},#{temperature,jdbcType=VARCHAR},#{handImgId,jdbcType=VARCHAR},#{mouthImgId,jdbcType=VARCHAR},#{eyeImgId,jdbcType=VARCHAR})
+
+
+
+ update xiaoan.dbo.SZ_StudentCheckReport
+ checkResult=#{checkResult,jdbcType=VARCHAR},robotResult=#{robotResult,jdbcType=VARCHAR},intime=#{inTime,jdbcType=TIMESTAMP},checkTime=#{checkTime,jdbcType=TIMESTAMP},access=#{access,jdbcType=VARCHAR},temperature=#{temperature,jdbcType=VARCHAR},handImgId=#{handImgId,jdbcType=VARCHAR},mouthImgId=#{mouthImgId,jdbcType=VARCHAR},eyeImgId=#{eyeImgId,jdbcType=VARCHAR}
+
+ where id=#{id,jdbcType=INTEGER}
+
+
+
\ No newline at end of file
--
libgit2 0.21.0