瀏覽代碼

将温度上下限重构在同一类中。

tomatozq 5 年之前
父節點
當前提交
02589a81c0

+ 12 - 0
common/src/main/java/com/jpsoft/smart/config/TemperatureConfig.java

@@ -0,0 +1,12 @@
+package com.jpsoft.smart.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@Data
+public class TemperatureConfig {
+    private float max = 37.2F;
+    private float min = 36.1F;
+}

+ 6 - 2
common/src/main/java/com/jpsoft/smart/modules/base/service/impl/PersonDeviceFilterLogServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.json.JSONObject;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.jpsoft.smart.config.OSSConfig;
+import com.jpsoft.smart.config.TemperatureConfig;
 import com.jpsoft.smart.modules.base.dao.PersonDeviceFilterLogDAO;
 import com.jpsoft.smart.modules.base.dao.PersonDeviceLogDAO;
 import com.jpsoft.smart.modules.base.entity.*;
@@ -50,6 +51,9 @@ public class PersonDeviceFilterLogServiceImpl implements PersonDeviceFilterLogSe
     @Resource(name = "personDeviceFilterLogDAO")
     private PersonDeviceFilterLogDAO personDeviceFilterLogDAO;
 
+    @Autowired
+    private TemperatureConfig temperatureConfig;
+
     @Override
     public PersonDeviceFilterLog get(Long id) {
         // TODO Auto-generated method stub
@@ -108,8 +112,8 @@ public class PersonDeviceFilterLogServiceImpl implements PersonDeviceFilterLogSe
                         personDeviceFilterLog.setMatchFaceId(0);
                     }
 
-                    if (!LApiUtil.compareToInterval(oldTemper, 36, 37)) {
-                        if (LApiUtil.compareToInterval(temperature, 36, 37)) {
+                    if (!LApiUtil.compareToInterval(oldTemper, temperatureConfig.getMin(), temperatureConfig.getMax())) {
+                        if (LApiUtil.compareToInterval(temperature, temperatureConfig.getMin(), temperatureConfig.getMax())) {
 
                             personDeviceFilterLogDAO.update(personDeviceFilterLog);
                         } else {

+ 1 - 1
common/src/main/java/com/jpsoft/smart/modules/common/utils/LApiUtil.java

@@ -172,7 +172,7 @@ public class LApiUtil {
 
     }
 
-    public static boolean compareToInterval(BigDecimal bigDecimal, Integer min,Integer max){
+    public static boolean compareToInterval(BigDecimal bigDecimal, float min,float max){
         if (bigDecimal.compareTo(new BigDecimal(min))==-1 || bigDecimal.compareTo(new BigDecimal(max)) ==1){
             return false;
         }

+ 8 - 5
web/src/main/java/com/jpsoft/smart/modules/mobile/controller/IndividualLogApiController.java

@@ -1,6 +1,7 @@
 package com.jpsoft.smart.modules.mobile.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.smart.config.TemperatureConfig;
 import com.jpsoft.smart.modules.base.entity.PersonDeviceFilterLog;
 import com.jpsoft.smart.modules.base.entity.PersonInfo;
 import com.jpsoft.smart.modules.base.service.PersonDeviceFilterLogService;
@@ -28,6 +29,8 @@ public class IndividualLogApiController {
     private PersonInfoService personInfoService;
     @Autowired
     private PersonDeviceFilterLogService personDeviceFilterLogService;
+    @Autowired
+    private TemperatureConfig temperatureConfig;
 
     @PostMapping("healthyPersonList")
     @ApiOperation(value="健康公示列表")
@@ -62,7 +65,7 @@ public class IndividualLogApiController {
                 if(personDeviceFilterLog!=null){
                     personInfo.setLastTemperatureLog(personDeviceFilterLog.getTemperature());
                     double temperature = personDeviceFilterLog.getTemperature().doubleValue();
-                    if(temperature>=37){
+                    if(temperature>temperatureConfig.getMax()){
                         personInfo.setIsNormal(false);
                     }
                     else{
@@ -115,7 +118,7 @@ public class IndividualLogApiController {
             }
             map.put("lastTemperature",lastTemperatureStr);
 
-            if(lastTemperatureDou>=37){
+            if(lastTemperatureDou>temperatureConfig.getMax()){
                 map.put("isNormal",false);
             }
             else{
@@ -131,7 +134,7 @@ public class IndividualLogApiController {
             DateTime today = DateTime.now().withTimeAtStartOfDay();
 
             //最多查一年
-            while (curTemperature < 37 && i<=365) {
+            while (i<=365) {
                 DateTime startTime = today.minusDays(i+1);
                 DateTime endTime = today.minusDays(i);
 
@@ -146,7 +149,7 @@ public class IndividualLogApiController {
                 if(item!=null){
                     curTemperature = item.getTemperature().doubleValue();
 
-                    if(curTemperature<37){
+                    if(curTemperature<=temperatureConfig.getMax()){
                         totalDays++;
                         i++;
                     }
@@ -224,7 +227,7 @@ public class IndividualLogApiController {
                         map1.put("name", hour);
                         map1.put("value", personDeviceFilterLog.getTemperature());
                         double temperatureDou = Double.parseDouble(personDeviceFilterLog.getTemperature().toString());
-                        if (temperatureDou >= 37) {
+                        if (temperatureDou > temperatureConfig.getMax()) {
                             isDanger = true;
                         }
 

+ 6 - 2
web/src/main/java/com/jpsoft/smart/modules/mobile/controller/PersonDeviceFilterLogController.java

@@ -1,6 +1,7 @@
 package com.jpsoft.smart.modules.mobile.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.smart.config.TemperatureConfig;
 import com.jpsoft.smart.modules.base.dto.PersonDeviceFilterLogDTO;
 import com.jpsoft.smart.modules.base.entity.*;
 import com.jpsoft.smart.modules.base.service.*;
@@ -51,6 +52,9 @@ public class PersonDeviceFilterLogController {
     @Autowired
     private AlarmConfigService alarmConfigService;
 
+    @Autowired
+    private TemperatureConfig temperatureConfig;
+
     @ApiOperation(value="体温记录(正常、异常)")
     @RequestMapping(value = "detail",method = RequestMethod.POST)
     @ApiImplicitParams({
@@ -76,7 +80,7 @@ public class PersonDeviceFilterLogController {
                 if(personInfo != null) {
                     personDeviceFilterLogDTO.setPersonName(personInfo.getName());
                 }
-                if(personDeviceFilterLog.getTemperature().compareTo(new BigDecimal("37")) == 1 || personDeviceFilterLog.getTemperature().compareTo(new BigDecimal("37")) == 0){
+                if(personDeviceFilterLog.getTemperature().compareTo(new BigDecimal(temperatureConfig.getMax()))>0){
                     personDeviceFilterLogDTO.setFever(true);
                 }else {
                     personDeviceFilterLogDTO.setFever(false);
@@ -149,7 +153,7 @@ public class PersonDeviceFilterLogController {
                 if(personInfo != null) {
                     personDeviceFilterLogDTO.setPersonName(personInfo.getName());
                 }
-                if(personDeviceFilterLogDTO.getTemperature().compareTo(new BigDecimal("37")) == 1){//|| personDeviceFilterLog.getTemperature().compareTo(new BigDecimal("37")) == 0
+                if(personDeviceFilterLogDTO.getTemperature().compareTo(new BigDecimal(temperatureConfig.getMax()))>0){
                     personDeviceFilterLogDTO.setFever(true);
                 }else {
                     personDeviceFilterLogDTO.setFever(false);

+ 7 - 3
web/src/main/java/com/jpsoft/smart/modules/mobile/controller/PersonDeviceLogApiController.java

@@ -3,6 +3,7 @@ package com.jpsoft.smart.modules.mobile.controller;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.util.StringUtil;
 import com.google.common.collect.Lists;
+import com.jpsoft.smart.config.TemperatureConfig;
 import com.jpsoft.smart.modules.base.dto.PersonDeviceFilterLogDTO;
 import com.jpsoft.smart.modules.base.dto.PersonDeviceLogDTO;
 import com.jpsoft.smart.modules.base.entity.*;
@@ -48,6 +49,9 @@ public class PersonDeviceLogApiController {
     @Autowired
     private AlarmConfigService alarmConfigService;
 
+    @Autowired
+    private TemperatureConfig temperatureConfig;
+
     @PostMapping("queryTemperatureRawRecordList")
     @ApiOperation(value="根据实时数据查看企业人员温度数据")
     @ApiImplicitParams({
@@ -120,8 +124,8 @@ public class PersonDeviceLogApiController {
                 }
 
                 //每个小时取一条温度数据小于37的即可,如果没有则取最低的
-                BigDecimal stdLower = new BigDecimal(36);
-                BigDecimal stdUpper = new BigDecimal(37);
+                BigDecimal stdLower = new BigDecimal(temperatureConfig.getMin());
+                BigDecimal stdUpper = new BigDecimal(temperatureConfig.getMax());
 
                 Map<Integer, PersonDeviceLog> hourFilterMap = new TreeMap<>();
 
@@ -539,7 +543,7 @@ public class PersonDeviceLogApiController {
             String endDate = "";
 
             //37度以上为异常体温
-            BigDecimal standard = new BigDecimal(37);
+            BigDecimal standard = new BigDecimal(temperatureConfig.getMax());
 
             if (startTime==null){
                 startTime = DateTime.now().plusDays(-14).toDate();