diff --git a/src/main/java/com/xkrs/controller/FireController.java b/src/main/java/com/xkrs/controller/FireController.java index 531d589..cdbf86e 100644 --- a/src/main/java/com/xkrs/controller/FireController.java +++ b/src/main/java/com/xkrs/controller/FireController.java @@ -1,6 +1,7 @@ package com.xkrs.controller; import com.xkrs.common.encapsulation.PromptMessageEnum; +import com.xkrs.dao.EquipmentDao; import com.xkrs.model.entity.Fire; import com.xkrs.service.FireService; import com.xkrs.util.Query; @@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; import java.util.Locale; +import java.util.Map; import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject; @@ -26,6 +28,11 @@ public class FireController { @Resource private FireService fireService; + @Resource + private EquipmentDao equipmentDao; + + Locale locale = LocaleContextHolder.getLocale(); + /** * 根据设备编号获取火情信息 * @param code @@ -56,4 +63,19 @@ public class FireController { public String findThreeHundredData(){ return fireService.findThreeHundredData(); } + + /** + * 查询一个月中每一天各个街道的火情数量 + * @param beginTime + * @param endTime + * @return + */ + @GetMapping("/selectEveryDayCount") + public String selectEveryDayCount(@RequestParam("beginTime") String beginTime,@RequestParam("endTime") String endTime){ + List> maps = equipmentDao.selectEveryDayCount(beginTime, endTime); + if(maps == null || maps.size() == 0){ + return outputEncapsulationObject(PromptMessageEnum.DATA_NONE,"该月暂时唯有火情信息!",locale); + } + return outputEncapsulationObject(PromptMessageEnum.SUCCESS,maps,locale); + } } diff --git a/src/main/java/com/xkrs/dao/EquipmentDao.java b/src/main/java/com/xkrs/dao/EquipmentDao.java index f091dc6..420a96b 100644 --- a/src/main/java/com/xkrs/dao/EquipmentDao.java +++ b/src/main/java/com/xkrs/dao/EquipmentDao.java @@ -43,6 +43,28 @@ public interface EquipmentDao extends JpaRepository { */ @Query(value = "select equipment_code equipmentcode,equipment_name equipmentname,equipment_type equipmenttype," + "equipment_status equipmentstatus,equipment_longitude equipmentlongitude," + - "equipment_latitude equipmentlatitude,installation_time installationtime from equipment",nativeQuery = true) + "equipment_latitude equipmentlatitude,installation_time installationtime,street from equipment",nativeQuery = true) List> findEquipment(); + + /** + * 根据时间段查询各个街道火情数量 + * @param beginTime + * @param endTime + * @return + */ + @Query(value = "select e.street street,count(f.id) AS firenumber from equipment e,fire f where f.alarm_date " + + "BETWEEN ?1 AND ?2 AND e.equipment_code = f.device_code " + + "GROUP BY e.street",nativeQuery = true) + List> selectCountFire(String beginTime, String endTime); + + /** + * 查询一个月中每一天各个街道的火情数量 + * @param beginTime + * @param endTime + * @return + */ + @Query(value = "select LEFT(f.alarm_date,10) AS data,e.street as street,count(f.id) AS firenumber " + + "from equipment e,fire f where f.alarm_date BETWEEN ?1 AND ?2 " + + "AND e.equipment_code = f.device_code GROUP BY LEFT(f.alarm_date,10),e.street",nativeQuery = true) + List> selectEveryDayCount(String beginTime, String endTime); } diff --git a/src/main/java/com/xkrs/model/entity/Equipment.java b/src/main/java/com/xkrs/model/entity/Equipment.java index ee8a781..f929fda 100644 --- a/src/main/java/com/xkrs/model/entity/Equipment.java +++ b/src/main/java/com/xkrs/model/entity/Equipment.java @@ -64,10 +64,15 @@ public class Equipment { */ private String liveVideo; + /** + * 街道信息 + */ + private String street; + public Equipment() { } - public Equipment(Integer id, String equipmentCode, String equipmentName, String equipmentType, String equipmentStatus, String equipmentLongitude, String equipmentLatitude, String installationTime, String liveVideo) { + public Equipment(Integer id, String equipmentCode, String equipmentName, String equipmentType, String equipmentStatus, String equipmentLongitude, String equipmentLatitude, String installationTime, String liveVideo, String street) { this.id = id; this.equipmentCode = equipmentCode; this.equipmentName = equipmentName; @@ -77,6 +82,7 @@ public class Equipment { this.equipmentLatitude = equipmentLatitude; this.installationTime = installationTime; this.liveVideo = liveVideo; + this.street = street; } public Integer getId() { @@ -151,6 +157,14 @@ public class Equipment { this.liveVideo = liveVideo; } + public String getStreet() { + return street; + } + + public void setStreet(String street) { + this.street = street; + } + @Override public String toString() { return "Equipment{" + @@ -163,6 +177,7 @@ public class Equipment { ", equipmentLatitude='" + equipmentLatitude + '\'' + ", installationTime='" + installationTime + '\'' + ", liveVideo='" + liveVideo + '\'' + + ", street='" + street + '\'' + '}'; } }