瀏覽代碼

最近14天曲线图接口

yanliming 5 年之前
父節點
當前提交
6bd29d31e4

+ 76 - 0
web/src/main/java/com/jpsoft/smart/modules/mobile/controller/IndividualLogApiController.java

@@ -162,4 +162,80 @@ public class IndividualLogApiController {
 
         return messageResult;
     }
+
+
+    @PostMapping("temperaturePersonCurve")
+    @ApiOperation(value="人员温度曲线接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="personId",value = "人员ID",required = true,paramType = "form"),
+            @ApiImplicitParam(name="token",value = "令牌",required = true,paramType = "form"),
+            @ApiImplicitParam(name="subject",value = "目标(不传)",paramType = "form")
+    })
+    public MessageResult<List<Map<String,Object>>> temperaturePersonCurve(
+            String personId, String token,
+            @RequestAttribute String subject){
+
+        MessageResult<List<Map<String,Object>>> messageResult = new MessageResult<>();
+
+        try {
+            List<Map<String,Object>> totalList = new ArrayList<>();
+
+            Date now = new Date();
+            PersonInfo person = personInfoService.get(Long.valueOf(personId));
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            SimpleDateFormat f = new SimpleDateFormat("HH");
+
+            for (int i = 0;i < 14;i++) {
+                Map<String, Object> map = new HashMap<>();
+
+                Calendar rightNow = Calendar.getInstance();
+                rightNow.setTime(now);
+                rightNow.add(Calendar.DATE, -(i + 1));
+                Date dt1 = rightNow.getTime();
+                String startDate = sdf.format(dt1);
+
+                Calendar rightNow2 = Calendar.getInstance();
+                rightNow2.setTime(now);
+                rightNow2.add(Calendar.DATE, -i);
+                Date dt2 = rightNow2.getTime();
+                String endDate = sdf.format(dt2);
+
+                List<PersonDeviceFilterLog> personDeviceLogList = personDeviceFilterLogService.findByPersonAndDate(person.getId(),startDate,endDate);
+
+                map.put("date",startDate);
+
+                List<Map<String,Object>> list = new ArrayList<>();
+                boolean isDanger = false;
+                for (PersonDeviceFilterLog personDeviceFilterLog:personDeviceLogList) {
+                    Map<String, Object> mapChi = new HashMap<>();
+                    Date recordTime = personDeviceFilterLog.getRecordTime();
+                    String hour = f.format(recordTime);
+
+                    mapChi.put("name",hour+"时");
+                    mapChi.put("value",personDeviceFilterLog.getTemperature());
+                    double temperatureDou = Double.parseDouble(personDeviceFilterLog.getTemperature().toString());
+                    if(temperatureDou>=37){
+                        isDanger = true;
+                    }
+                    list.add(mapChi);
+                }
+
+                map.put("list",list);
+                map.put("danger",isDanger);
+
+                totalList.add(map);
+            }
+
+            messageResult.setData(totalList);
+            messageResult.setResult(true);
+        }
+        catch (Exception ex){
+            messageResult.setMessage(ex.getMessage());
+            messageResult.setResult(false);
+        }
+
+        return messageResult;
+
+    }
 }