소스 검색

新建耳标在线状态统计

zhuoning 3 년 전
부모
커밋
1b15ee70eb

+ 12 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartarFarmAllStatusEntity.java

@@ -37,6 +37,9 @@ public class EartarFarmAllStatusEntity implements Serializable {
     @Column(name = "eartag_online")
     private Integer eartagOnline;
 
+    @Column(name = "eartag_rate")
+    private Float eartagRate;
+
     @Column(name = "farm_id")
     private String farmId;
 
@@ -110,6 +113,14 @@ public class EartarFarmAllStatusEntity implements Serializable {
         return eartagOnline;
     }
 
+    public void setEartagRate(Float eartagRate) {
+        this.eartagRate = eartagRate;
+    }
+
+    public Float getEartagRate() {
+        return eartagRate;
+    }
+
     public void setFarmId(String farmId) {
         this.farmId = farmId;
     }
@@ -145,6 +156,7 @@ public class EartarFarmAllStatusEntity implements Serializable {
                 "deviceCancel=" + deviceCancel + '\'' +
                 "eartagTotal=" + eartagTotal + '\'' +
                 "eartagOnline=" + eartagOnline + '\'' +
+                "eartagRate=" + eartagRate + '\'' +
                 "farmId=" + farmId + '\'' +
                 "updateTime=" + updateTime + '\'' +
                 "createDate=" + createDate + '\'' +

+ 21 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/DeviceController.java

@@ -330,4 +330,25 @@ public class DeviceController {
         return deviceService.listHeartbeatByDeviceCodeAndDateInPager(deviceCode,addDate,pageNo,pageSize);
     }
 
+    /**
+     * @Method      : listEartagOnlineAllStatus
+     * @Description : 前N天耳标在线状态
+     * @Params      : [farmId, days]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/10       
+     * @Time        : 20:43
+     */
+    @RequestMapping(value = "/listEartagOnlineAllStatus",method = RequestMethod.GET)
+    public Result listEartagOnlineAllStatus(@RequestParam(value = "farmId",required = true) String farmId,@RequestParam(value = "days",required = true) Integer days) throws ParseException {
+        log.info("<listEartagOnlineAllStatus>输入参数 farmId>>"+farmId);
+        log.info("<listEartagOnlineAllStatus>输入参数 days>>"+days);
+        if(days == null){
+            //默认7天数据
+            days = 7;
+        }
+        //
+        return deviceService.listEartagOnlineAllStatus(farmId,days);
+    }
 }

+ 3 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/IDeviceService.java

@@ -43,4 +43,7 @@ public interface IDeviceService {
 
     //分页查询列表
     Result listDeviceRegisterInPager(String farmId, String deviceCode, String alias, String startDate, String endDate, Integer activeStatus, Integer liveStatus, Integer pageNo, Integer pageSize);
+
+    //前N天的耳标在线状态
+    Result listEartagOnlineAllStatus(String farmId, Integer days) throws ParseException;
 }

+ 28 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/impl/DeviceServiceImpl.java

@@ -57,6 +57,34 @@ public class DeviceServiceImpl implements IDeviceService {
     @Autowired
     private EartagHeartbeatRepo heartbeatRepo;
 
+
+    /**
+     * @Method      : listEartagOnlineAllStatus
+     * @Description : 
+     * @Params      : [farmId, days]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/10       
+     * @Time        : 20:52
+     */
+    @Override
+    public Result listEartagOnlineAllStatus(String farmId, Integer days) throws ParseException {
+        DateUtil dateUtil = new DateUtil();
+        String pastDate = dateUtil.getPastDate(days);
+        String todayDate = dateUtil.getTodayDateText();
+        List<EartarFarmAllStatusEntity> FarmAllStatusEntityList = farmAllStatusRepo.getOneByFarmIdAndCreateDateAndPastDate(farmId, pastDate, todayDate);
+        JSONArray dataJa = new JSONArray();
+        for (EartarFarmAllStatusEntity farmAllStatusEntity : FarmAllStatusEntityList) {
+            JSONObject newJo = new JSONObject();
+            dataJa.add(newJo);
+            newJo.put("time", dateUtil.formatDateText(farmAllStatusEntity.getCreateDate()));
+            newJo.put("value", farmAllStatusEntity.getEartagOnline());
+            newJo.put("total", farmAllStatusEntity.getEartagTotal());
+        }
+        return new Result(ResultCode.SUCCESS, dataJa.toJSONString());
+    }
+
     /**
      * @Method      : listDeviceEnvtempByDeviceCode
      * @Description :