Commit 5556ee022b4a49cd1b8e46690cd8fe69c48a0239
1 parent
eda18c42
Exists in
master
机器人接口完成80%
Showing
16 changed files
with
303 additions
and
34 deletions
Show diff stats
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
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/ClassExReport.java
0 → 100644
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/Grade.java
0 → 100644
springboot/morning-check/src/main/java/com/sincere/morningcheck/model/StudentCheckReport.java
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
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 | ... | ... |