Commit 5556ee022b4a49cd1b8e46690cd8fe69c48a0239

Authored by baishou_zjx
1 parent eda18c42
Exists in master

机器人接口完成80%

springboot/morning-check/src/main/java/com/sincere/morningcheck/MorningCheckApplication.java
... ... @@ -4,6 +4,9 @@ import org.springframework.boot.SpringApplication;
4 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
5 5 import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration;
6 6 import org.springframework.context.annotation.Bean;
  7 +import org.springframework.web.cors.CorsConfiguration;
  8 +import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
  9 +import org.springframework.web.filter.CorsFilter;
7 10 import org.springframework.web.multipart.MultipartResolver;
8 11 import org.springframework.web.multipart.commons.CommonsMultipartResolver;
9 12  
... ... @@ -30,4 +33,22 @@ public class MorningCheckApplication {
30 33 resolver.setMaxUploadSize(50 * 1024 * 1024);//上传文件大小 50 10*1024*1024
31 34 return resolver;
32 35 }
  36 +
  37 + @Bean
  38 + public CorsFilter corsFilter() {
  39 + final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
  40 + final CorsConfiguration config = new CorsConfiguration();
  41 + config.setAllowCredentials(true);
  42 + config.addAllowedOrigin("*");
  43 + config.addAllowedHeader("*");
  44 + config.addAllowedMethod("OPTIONS");
  45 + config.addAllowedMethod("HEAD");
  46 + config.addAllowedMethod("GET");
  47 + config.addAllowedMethod("PUT");
  48 + config.addAllowedMethod("POST");
  49 + config.addAllowedMethod("DELETE");
  50 + config.addAllowedMethod("PATCH");
  51 + source.registerCorsConfiguration("/**", config);
  52 + return new CorsFilter(source);
  53 + }
33 54 }
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/CheckReportController.java
... ... @@ -5,6 +5,7 @@ import com.sincere.morningcheck.model.ApiStudentCheckReport;
5 5 import com.sincere.morningcheck.service.StudentCheckReportService;
6 6 import io.swagger.annotations.Api;
7 7 import io.swagger.annotations.ApiImplicitParam;
  8 +import io.swagger.annotations.ApiImplicitParams;
8 9 import io.swagger.annotations.ApiOperation;
9 10  
10 11 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -30,5 +31,26 @@ public class CheckReportController {
30 31 return studentCheckReportService.getCheckReport(stuUserId);
31 32 }
32 33  
  34 + @ApiOperation(value = "根据学校获取学生晨检报告")
  35 + @ApiImplicitParams({
  36 + @ApiImplicitParam(name = "schoolId",value = "学校ID",required = true),
  37 + @ApiImplicitParam(name = "checkTime",value = "检查报告的时间,格式为yyyy-MM-dd",required = true)
  38 + })
  39 + @GetMapping("getCheckReportBySchoolId")
  40 + public ServerResponse getCheckReportBySchoolId(@RequestParam Integer schoolId,@RequestParam String checkTime){
  41 +
  42 + return studentCheckReportService.getCheckReportBySchool(schoolId,checkTime);
  43 + }
  44 +
  45 + @ApiOperation(value = "根据年级获取学生异常晨检报告的比例")
  46 + @ApiImplicitParams({
  47 + @ApiImplicitParam(name = "schoolId",value = "学校ID",required = true),
  48 + @ApiImplicitParam(name = "gradeId",value = "年级标识",required = true)
  49 + })
  50 + @GetMapping("getCheckExReportByGrade")
  51 + public ServerResponse getCheckExReportByGrade(@RequestParam Integer schoolId,@RequestParam Integer gradeId){
  52 +
  53 + return studentCheckReportService.getCheckExReportByGrade(schoolId,gradeId);
  54 + }
33 55  
34 56 }
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/controller/MorningCheckController.java
... ... @@ -366,7 +366,8 @@ public class MorningCheckController {
366 366 studentCheckReport.setCardNo(card);
367 367 studentCheckReport.setCheckResult(result);
368 368 studentCheckReport.setRobotResult(robotResult);
369   - java.sql.Date checkDate = new java.sql.Date(new Date().getTime());
  369 + //java.sql.Date checkDate = new java.sql.Date(new Date().getTime());
  370 + Date checkDate = new Date();
370 371 studentCheckReport.setCheckTime(checkDate);
371 372 studentCheckReport.setInTime(checkDate);
372 373 studentCheckReport.setTemperature(temperature);
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentCheckReportDao.java
1 1 package com.sincere.morningcheck.dao;
2 2  
  3 +import com.sincere.morningcheck.model.ClassExReport;
3 4 import com.sincere.morningcheck.model.StudentCheckReport;
4 5 import org.apache.ibatis.annotations.Mapper;
5 6 import org.apache.ibatis.annotations.Param;
6 7 import org.springframework.stereotype.Repository;
7 8  
  9 +import java.util.List;
  10 +
8 11 @Mapper
9 12 @Repository
10 13 public interface StudentCheckReportDao {
11 14  
12 15 int insert(StudentCheckReport studentCheckReport);
13 16  
14   - StudentCheckReport getCheckReport(@Param("studentId") Integer studentId);
  17 + List<StudentCheckReport> getCheckReport(@Param("studentId") Integer studentId);
  18 +
  19 + int getCheckStuCountBySchoolId(@Param("schoolId")Integer schoolId,@Param("checkTime") String checkTime);
  20 +
  21 + List<StudentCheckReport> getCheckReportBySchoolId(@Param("schoolId")Integer schoolId,@Param("checkTime") String checkTime);
  22 +
  23 + List<ClassExReport> getCheckExReportByGrade(@Param("schoolId")Integer schoolId,@Param("gradeId") Integer gradeId);
15 24 }
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/dao/StudentDao.java
1 1 package com.sincere.morningcheck.dao;
2 2  
3 3  
  4 +import com.sincere.morningcheck.model.Grade;
4 5 import com.sincere.morningcheck.model.Student;
5 6 import org.apache.ibatis.annotations.Mapper;
6 7 import org.apache.ibatis.annotations.Param;
... ... @@ -19,6 +20,9 @@ public interface StudentDao {
19 20  
20 21 Student getStudentByStuUserId(@Param("sUserId") String sUserId);
21 22  
  23 + int getStuCountBySchoolId(@Param("schoolId") Integer schoolId);
  24 +
  25 + List<Grade> getGradeBySchoolId(@Param("schoolId") Integer schoolId);
22 26 /**
23 27 * 传入的参数和返回的结果都在map集合参数params中
24 28 * @param params
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ApiStudentCheckReport.java
... ... @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
5 5 import lombok.Data;
6 6  
7   -import java.sql.Date;
  7 +
8 8  
9 9 /**
10 10 * 接口使用类 检查报告
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ClassExReport.java 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +package com.sincere.morningcheck.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +@Data
  6 +public class ClassExReport {
  7 +
  8 + private Integer class_id;
  9 +
  10 + private String className;
  11 +
  12 + private Integer count;
  13 +
  14 + private float exRate;
  15 +}
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/Grade.java 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +package com.sincere.morningcheck.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +@Data
  6 +public class Grade {
  7 +
  8 + private Integer id;
  9 +
  10 + private String grade;
  11 +
  12 + private String ShortName;
  13 +}
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java
... ... @@ -2,7 +2,7 @@ package com.sincere.morningcheck.model;
2 2  
3 3 import lombok.Data;
4 4  
5   -import java.sql.Date;
  5 +import java.util.Date;
6 6  
7 7 @Data
8 8 public class StudentCheckReport {
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/service/StudentCheckReportService.java
... ... @@ -10,4 +10,8 @@ public interface StudentCheckReportService {
10 10 int insert(StudentCheckReport studentCheckReport);
11 11  
12 12 ServerResponse<ApiStudentCheckReport> getCheckReport(String stuUserId);
  13 +
  14 + ServerResponse getCheckReportBySchool(Integer schoolId,String checkTime);
  15 +
  16 + ServerResponse getCheckExReportByGrade(Integer schoolId,Integer gradeId);
13 17 }
... ...
springboot/morning-check/src/main/java/com/sincere/morningcheck/service/impl/StudentCheckReportServiceImpl.java
... ... @@ -3,15 +3,14 @@ package com.sincere.morningcheck.service.impl;
3 3 import com.sincere.morningcheck.common.ServerResponse;
4 4 import com.sincere.morningcheck.dao.StudentCheckReportDao;
5 5 import com.sincere.morningcheck.dao.StudentDao;
6   -import com.sincere.morningcheck.model.ApiStudentCheckReport;
7   -import com.sincere.morningcheck.model.CheckResult;
8   -import com.sincere.morningcheck.model.Student;
9   -import com.sincere.morningcheck.model.StudentCheckReport;
  6 +import com.sincere.morningcheck.model.*;
10 7 import com.sincere.morningcheck.service.StudentCheckReportService;
11 8 import org.springframework.beans.factory.annotation.Autowired;
12 9 import org.springframework.stereotype.Service;
13 10  
14 11 import java.text.SimpleDateFormat;
  12 +import java.util.*;
  13 +import java.util.stream.Collectors;
15 14  
16 15 @Service
17 16 public class StudentCheckReportServiceImpl implements StudentCheckReportService {
... ... @@ -30,52 +29,202 @@ public class StudentCheckReportServiceImpl implements StudentCheckReportService
30 29 @Override
31 30 public ServerResponse<ApiStudentCheckReport> getCheckReport(String stuUserId) {
32 31  
33   - StudentCheckReport studentCheckReport;
  32 + List<StudentCheckReport> studentCheckReports = new ArrayList<>();
  33 + StudentCheckReport studentCheckReport= new StudentCheckReport();
34 34  
35 35 Student student = studentDao.getStudentByStuUserId(stuUserId);
36   - studentCheckReport = studentCheckReportDao.getCheckReport(student.getStuId());
  36 + studentCheckReports = studentCheckReportDao.getCheckReport(student.getStuId());
37 37 Boolean isMorningCheck;
38   - if(studentCheckReport == null){
39   - isMorningCheck = false;
  38 + if(studentCheckReports!=null&&studentCheckReports.size()>0){
  39 +
  40 + studentCheckReport = studentCheckReports.get(0);
  41 + isMorningCheck = true;
  42 +
40 43 }else{
41   - isMorningCheck = true;
  44 + isMorningCheck = false;
42 45 }
43 46  
44 47 ApiStudentCheckReport apiStudentCheckReport = getApiStudentReport(studentCheckReport,isMorningCheck);
45 48 return ServerResponse.createBySuccess(apiStudentCheckReport);
46 49 }
47 50  
  51 + @Override
  52 + public ServerResponse getCheckReportBySchool(Integer schoolId, String checkTime) {
  53 +
  54 + Map<String,Object> map = new HashMap<>();
  55 +
  56 + int studentAllCount = getStuCountBySchoolId(schoolId);
  57 + int stuCheckStuCount = studentCheckReportDao.getCheckStuCountBySchoolId(schoolId,checkTime);
  58 + map.put("studentAllCount",studentAllCount);
  59 + map.put("stuCheckStuCount",stuCheckStuCount);
  60 +
  61 + List<StudentCheckReport> studentCheckReports = studentCheckReportDao.getCheckReportBySchoolId(schoolId,checkTime);
  62 +
  63 + List<StudentCheckReport> studentExCheckReports = studentCheckReports.stream().filter(n->n.getCheckResult().contains("N")).collect(Collectors.toList());
  64 + //检查报告总人数
  65 + int checkAllCount = studentCheckReports.size();
  66 + //异常人数
  67 + long exCheckCount = studentExCheckReports.size();
  68 + //检查报告中正常的人数
  69 + long checkCount = checkAllCount - exCheckCount;
  70 +
  71 + map.put("checkCount",checkCount);
  72 + map.put("exCheckCount",exCheckCount);
  73 +
  74 + List<Grade> grades= studentDao.getGradeBySchoolId(schoolId);
  75 +
  76 + map.put("grades",grades);
  77 +
  78 + List<String> checkTypeList = new ArrayList<>();
  79 + List<Long> checkTypeCount = new ArrayList<>();
  80 +// String[] checkTypeArrays ={"handNoEx","mouthNoEx","noRedEye","noFever","noCrotchBig","noPoorSpirit","noPharyngitis","noTrauma","noCough","noNail","noToothDecay","other"};
  81 +
  82 + List<CheckResult> checkResults = new ArrayList<>();
  83 + for(StudentCheckReport checkReport:studentExCheckReports){
  84 + CheckResult checkResult = new CheckResult();
  85 + char[] chs = checkReport.getCheckResult().toCharArray();
  86 + checkResult = getCheckResult(chs);
  87 + checkResults.add(checkResult);
  88 + }
  89 +
  90 + long count1 = checkResults.stream().filter(n->!n.getHandNoEx()).count();
  91 + if(count1>0){
  92 + checkTypeList.add("handNoEx");
  93 + checkTypeCount.add(count1);
  94 + }
  95 + long count2= checkResults.stream().filter(n->!n.getMouthNoEx()).count();
  96 + if(count2>0){
  97 + checkTypeList.add("mouthNoEx");
  98 + checkTypeCount.add(count2);
  99 + }
  100 + long count3= checkResults.stream().filter(n->!n.getNoRedEye()).count();
  101 + if(count3>0){
  102 + checkTypeList.add("noRedEye");
  103 + checkTypeCount.add(count3);
  104 + }
  105 + long count4= checkResults.stream().filter(n->!n.getNoFever()).count();
  106 + if(count4>0){
  107 + checkTypeList.add("noFever");
  108 + checkTypeCount.add(count4);
  109 + }
  110 +
  111 + long count5= checkResults.stream().filter(n->!n.getNoCrotchBig()).count();
  112 + if(count5>0){
  113 + checkTypeList.add("noCrotchBig");
  114 + checkTypeCount.add(count5);
  115 + }
  116 +
  117 + long count6= checkResults.stream().filter(n->!n.getNoPoorSpirit()).count();
  118 + if(count6>0){
  119 + checkTypeList.add("noPoorSpirit");
  120 + checkTypeCount.add(count6);
  121 + }
  122 + long count7= checkResults.stream().filter(n->!n.getNoPharyngitis()).count();
  123 + if(count7>0){
  124 + checkTypeList.add("noPharyngitis");
  125 + checkTypeCount.add(count7);
  126 + }
  127 +
  128 + long count8= checkResults.stream().filter(n->!n.getNoTrauma()).count();
  129 + if(count8>0){
  130 + checkTypeList.add("noTrauma");
  131 + checkTypeCount.add(count8);
  132 + }
  133 +
  134 + long count9= checkResults.stream().filter(n->!n.getNoCough()).count();
  135 + if(count9>0){
  136 + checkTypeList.add("noCough");
  137 + checkTypeCount.add(count9);
  138 + }
  139 +
  140 + long count10= checkResults.stream().filter(n->!n.getNoNail()).count();
  141 + if(count10>0){
  142 + checkTypeList.add("noNail");
  143 + checkTypeCount.add(count10);
  144 + }
  145 +
  146 + long count11= checkResults.stream().filter(n->!n.getNoToothDecay()).count();
  147 + if(count11>0){
  148 + checkTypeList.add("noToothDecay");
  149 + checkTypeCount.add(count11);
  150 + }
  151 +
  152 + long count12= checkResults.stream().filter(n->!n.getOther()).count();
  153 + if(count12>0){
  154 + checkTypeList.add("other");
  155 + checkTypeCount.add(count12);
  156 + }
  157 + map.put("checkTypeList",checkTypeList);
  158 + map.put("checkTypeCount",checkTypeCount);
  159 + return ServerResponse.createBySuccess(map);
  160 + }
  161 +
  162 + @Override
  163 + public ServerResponse getCheckExReportByGrade(Integer schoolId, Integer gradeId) {
  164 +
  165 + List<ClassExReport> classExReports = studentCheckReportDao.getCheckExReportByGrade(schoolId,gradeId);
  166 + float count = 0;
  167 + for(ClassExReport classExReport : classExReports){
  168 + count = count + classExReport.getCount();
  169 + }
  170 +
  171 + if(count>0){
  172 + for(ClassExReport classExReport : classExReports){
  173 + classExReport.setExRate((classExReport.getCount()/count)*100);
  174 + }
  175 + }else {
  176 + return ServerResponse.createByErrorCodeMessage(10,"暂无数据");
  177 + }
  178 + return ServerResponse.createBySuccess(classExReports);
  179 + }
  180 +
48 181 private ApiStudentCheckReport getApiStudentReport(StudentCheckReport studentCheckReport,Boolean isMorningCheck){
49 182  
50 183 ApiStudentCheckReport apiStudentCheckReport = new ApiStudentCheckReport();
51 184 if(isMorningCheck) {
52 185 apiStudentCheckReport.setCardNo(studentCheckReport.getCardNo());
53   - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  186 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
  187 + System.out.println(studentCheckReport.getCheckTime());
54 188 apiStudentCheckReport.setCheckTime(simpleDateFormat.format(studentCheckReport.getCheckTime()));
55 189 apiStudentCheckReport.setStudent_id(studentCheckReport.getStudent_id());
56 190 apiStudentCheckReport.setTemperature(studentCheckReport.getTemperature());
57 191 char[] chs = studentCheckReport.getCheckResult().toCharArray();
58   - CheckResult checkResult = new CheckResult();
59   -
60   - //前12位
61   - checkResult.setHandNoEx(isJudge(Character.toString(chs[0])));
62   - checkResult.setMouthNoEx(isJudge(Character.toString(chs[1])));
63   - checkResult.setNoRedEye(isJudge(Character.toString(chs[2])));
64   - checkResult.setNoFever(isJudge(Character.toString(chs[3])));
65   - checkResult.setNoCrotchBig(isJudge(Character.toString(chs[4])));
66   - checkResult.setNoPoorSpirit(isJudge(Character.toString(chs[5])));
67   - checkResult.setNoPharyngitis(isJudge(Character.toString(chs[6])));
68   - checkResult.setNoTrauma(isJudge(Character.toString(chs[7])));
69   - checkResult.setNoCough(isJudge(Character.toString(chs[8])));
70   - checkResult.setNoNail(isJudge(Character.toString(chs[9])));
71   - checkResult.setNoToothDecay(isJudge(Character.toString(chs[10])));
72   - checkResult.setOther(isJudge(Character.toString(chs[11])));
  192 + CheckResult checkResult = getCheckResult(chs);
73 193 apiStudentCheckReport.setCheckResultObj(checkResult);
74 194 }
75 195 apiStudentCheckReport.setIsMorningCheck(isMorningCheck);
76 196 return apiStudentCheckReport;
77 197 }
78 198  
  199 + private int getStuCountBySchoolId(Integer schoolId){
  200 +
  201 + return studentDao.getStuCountBySchoolId(schoolId);
  202 + }
  203 +
  204 + /**
  205 + * 解析字符串
  206 + * @param chs
  207 + * @return
  208 + */
  209 + private CheckResult getCheckResult(char[] chs){
  210 + CheckResult checkResult = new CheckResult();
  211 +
  212 + //前12位
  213 + checkResult.setHandNoEx(isJudge(Character.toString(chs[0])));
  214 + checkResult.setMouthNoEx(isJudge(Character.toString(chs[1])));
  215 + checkResult.setNoRedEye(isJudge(Character.toString(chs[2])));
  216 + checkResult.setNoFever(isJudge(Character.toString(chs[3])));
  217 + checkResult.setNoCrotchBig(isJudge(Character.toString(chs[4])));
  218 + checkResult.setNoPoorSpirit(isJudge(Character.toString(chs[5])));
  219 + checkResult.setNoPharyngitis(isJudge(Character.toString(chs[6])));
  220 + checkResult.setNoTrauma(isJudge(Character.toString(chs[7])));
  221 + checkResult.setNoCough(isJudge(Character.toString(chs[8])));
  222 + checkResult.setNoNail(isJudge(Character.toString(chs[9])));
  223 + checkResult.setNoToothDecay(isJudge(Character.toString(chs[10])));
  224 + checkResult.setOther(isJudge(Character.toString(chs[11])));
  225 +
  226 + return checkResult;
  227 + }
79 228 private Boolean isJudge(String yesOrNo){
80 229  
81 230 if(yesOrNo.equals("Y")){
... ... @@ -83,4 +232,5 @@ public class StudentCheckReportServiceImpl implements StudentCheckReportService
83 232 }
84 233 return false;
85 234 }
  235 +
86 236 }
... ...
springboot/morning-check/src/main/resources/file-message.properties
1 1 #文件压缩大小(大于5兆压缩)
2 2 message.fileSize=5242880
3 3 #图片保存路径
4   -message.upPath=E:/MorningRobot/UploadData/images/
  4 +message.upPath=C:/MorningRobot/UploadData/images/
5 5 #压缩比例
6 6 message.scaleRatio=0.90f
7 7 #图片类型
... ...
springboot/morning-check/src/main/resources/logback.xml
... ... @@ -4,7 +4,7 @@
4 4 <property name="PROJECT_NAME" value="authjwt" />
5 5  
6 6 <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径,不要写E:\logs,否则识别不出来,\是转义字符,需要\\才能正确识别-->
7   - <property name="LOG_HOME" value="E:\logs" />
  7 + <property name="LOG_HOME" value="C:\logs" />
8 8  
9 9 <!-- 控制台输出 -->
10 10 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
... ...
springboot/morning-check/src/main/resources/mapper/StudentCheckReport.xml
... ... @@ -12,8 +12,8 @@
12 12 <result column="checkResult" property="checkResult" jdbcType="VARCHAR" javaType="java.lang.String"/>
13 13 <result column="robotResult" property="robotResult" jdbcType="VARCHAR" javaType="java.lang.String"/>
14 14 <result column="String" property="String" jdbcType="VARCHAR" javaType="java.lang.String"/>
15   - <result column="intime" property="inTime" jdbcType="DATE" javaType="java.sql.Date"/>
16   - <result column="checkTime" property="checkTime" jdbcType="DATE" javaType="java.sql.Date"/>
  15 + <result column="intime" property="inTime" jdbcType="DATE" javaType="java.util.Date"/>
  16 + <result column="checkTime" property="checkTime" jdbcType="TIMESTAMP" javaType="java.util.Date"/>
17 17 <result column="temperature" property="temperature" jdbcType="VARCHAR" javaType="java.lang.String"/>
18 18 <result column="handImgId" property="handImgId" jdbcType="VARCHAR" javaType="java.lang.String"/>
19 19 <result column="mouthImgId" property="mouthImgId" jdbcType="VARCHAR" javaType="java.lang.String"/>
... ... @@ -26,7 +26,7 @@
26 26  
27 27 <insert id="insert" parameterType="com.sincere.morningcheck.model.StudentCheckReport" >
28 28 insert xiaoan.dbo.SZ_StudentCheckReport(student_id,cardNo,checkResult,robotResult,intime,checkTime,access,temperature,handImgId,mouthImgId,eyeImgId)
29   -values(#{student_id,jdbcType=VARCHAR}, #{cardNo,jdbcType=VARCHAR}, #{checkResult,jdbcType=VARCHAR}, #{robotResult,jdbcType=VARCHAR},#{inTime,jdbcType=DATE},#{checkTime,jdbcType=DATE},#{access,jdbcType=VARCHAR},#{temperature,jdbcType=VARCHAR},#{handImgId,jdbcType=VARCHAR},#{mouthImgId,jdbcType=VARCHAR},#{eyeImgId,jdbcType=VARCHAR})
  29 +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})
30 30 </insert>
31 31  
32 32 <select id="getCheckReport" resultMap="BaseResultMap">
... ... @@ -34,4 +34,20 @@ values(#{student_id,jdbcType=VARCHAR}, #{cardNo,jdbcType=VARCHAR}, #{checkResult
34 34 where student_id = #{studentId} and CONVERT(varchar(10),checkTime,23) = CONVERT(varchar(10),getdate(),23)
35 35 </select>
36 36  
  37 + <select id="getCheckReportBySchoolId" resultMap="BaseResultMap">
  38 + select sc.student_id,cardNo,checkTime,checkResult,robotResult,intime,access,temperature,handImgId,mouthImgId,eyeImgId from SZ_V_School_Student vs join xiaoan.[dbo].[SZ_StudentCheckReport] sc
  39 + on vs.student_id=sc.student_id where school_id=#{schoolId}
  40 + and CONVERT(varchar,checkTime,23)=#{checkTime}
  41 + </select>
  42 +
  43 + <select id="getCheckStuCountBySchoolId" resultType="java.lang.Integer">
  44 + select count(0) from SZ_V_School_Student vs join xiaoan.[dbo].[SZ_StudentCheckReport] sc on vs.student_id=sc.student_id where school_id=#{schoolId} and CONVERT(varchar,checkTime,23)=#{checkTime}
  45 + </select>
  46 +
  47 + <select id="getCheckExReportByGrade" resultType="com.sincere.morningcheck.model.ClassExReport">
  48 + select a.class_id,className=a.class_name,count = count(a.class_id) from SZ_V_School_Student a join SZ_Class b on a.class_id=b.class_id
  49 +left join xiaoan.[dbo].[SZ_StudentCheckReport] c on a.student_id = c.student_id
  50 +where a.school_id=#{schoolId} and state=1 and grade=#{gradeId} and CHARINDEX('N',checkResult)>0
  51 +group by a.class_id,a.class_name
  52 + </select>
37 53 </mapper>
38 54 \ No newline at end of file
... ...
springboot/morning-check/src/main/resources/mapper/studentmapper.xml
... ... @@ -38,6 +38,13 @@
38 38 where user_id=#{sUserId}
39 39 </select>
40 40  
  41 + <select id="getStuCountBySchoolId" resultType="java.lang.Integer">
  42 + select count(0) from SZ_V_School_Student where school_id=#{schoolId}
  43 + </select>
  44 +
  45 + <select id="getGradeBySchoolId" resultType="com.sincere.morningcheck.model.Grade">
  46 + select id,grade,ShortName from SZ_Grade where Status=1 and SchoolId = #{schoolId}
  47 + </select>
41 48 <select id="swipeCard" statementType="CALLABLE" resultType="java.util.Map">
42 49 {call xiaoan.dbo.AttendanceService(
43 50 #{att_id, mode=IN},
... ...
springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
... ... @@ -475,6 +475,13 @@ public class TuYaYunController {
475 475 String json = JSON.toJSONString(tuYaAirCondition);
476 476 String result = ApiHelper.doPost(TuYaCloudService.TuYaOpenUrl + apiUrl,map,json);
477 477 TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class);
  478 +
  479 + if(tuYaResResult.getResult()!=null&&tuYaResResult.getResult().toString().equals("false")){
  480 +
  481 + tuYaResResult.setResult("控制失败");
  482 + }else{
  483 + tuYaResResult.setResult("控制成功");
  484 + }
478 485 return ResultUtils.getInstance().returnResultTuYa(tuYaResResult);
479 486 }
480 487  
... ...