diff --git a/logistics/src/main/java/com/ccsens/logistics/api/MbpsController.java b/logistics/src/main/java/com/ccsens/logistics/api/MbpsController.java index 6823cf36..2b62761b 100644 --- a/logistics/src/main/java/com/ccsens/logistics/api/MbpsController.java +++ b/logistics/src/main/java/com/ccsens/logistics/api/MbpsController.java @@ -66,4 +66,12 @@ public class MbpsController { return JsonResponse.newInstance().ok(heatImaging); } + @ApiOperation(value = "查询火灾水灾警报", notes = "mz:查询火灾水灾警报") + @RequestMapping(value = "/selFireOrFlood", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse selFireOrFlood(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询火灾水灾警报:{}",params); + MbpsVo.FireOrFlood fireOrFlood = iMbpsService.selFireOrFlood(params.getParam()); + log.info("查询火灾水灾警报:{}",fireOrFlood); + return JsonResponse.newInstance().ok(fireOrFlood); + } } diff --git a/logistics/src/main/java/com/ccsens/logistics/bean/dto/MbpsDto.java b/logistics/src/main/java/com/ccsens/logistics/bean/dto/MbpsDto.java index 9902f25e..c1cd0804 100644 --- a/logistics/src/main/java/com/ccsens/logistics/bean/dto/MbpsDto.java +++ b/logistics/src/main/java/com/ccsens/logistics/bean/dto/MbpsDto.java @@ -50,4 +50,14 @@ public class MbpsDto { private Long id; } + @Data + @ApiModel(value = "查询是否有火灾水灾") + public static class SelFireOrFlood{ + @NotNull(message = "请选择园区") + @ApiModelProperty("园区id") + private Long parkId; + @ApiModelProperty("仓库id") + private Long warehouseId; + } + } diff --git a/logistics/src/main/java/com/ccsens/logistics/bean/vo/MbpsVo.java b/logistics/src/main/java/com/ccsens/logistics/bean/vo/MbpsVo.java index 50bf5a57..ec094f4e 100644 --- a/logistics/src/main/java/com/ccsens/logistics/bean/vo/MbpsVo.java +++ b/logistics/src/main/java/com/ccsens/logistics/bean/vo/MbpsVo.java @@ -118,4 +118,16 @@ public class MbpsVo { private String imageData; } + @Data + @ApiModel("是否有火灾或水灾") + public static class FireOrFlood{ + @ApiModelProperty("是否有火灾") + private Boolean isFire = false; + @ApiModelProperty("是否有水灾") + private Boolean isFlood = false; + @ApiModelProperty("仓库名称") + private String warehouseName; + + } + } diff --git a/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java b/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java index 70e55a82..50c70a63 100644 --- a/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java +++ b/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java @@ -30,4 +30,18 @@ public interface LogisticsEnvironmentRecordDao extends LogisticsEnvironmentRecor * @return 湿度列表 */ List selHumidityByTime(@Param("warehouseId") Long warehouseId,@Param("startTime") Long startTime,@Param("endTime") Long endTime); + + /** + * 是否有火灾 + * @param id 仓库id + * @return (0-否,1-是) + */ + Byte selFire(Long id); + + /** + * 是否有水灾 + * @param id 仓库id + * @return (0-否,1-是) + */ + Byte selFlood(Long id); } diff --git a/logistics/src/main/java/com/ccsens/logistics/service/IMbpsService.java b/logistics/src/main/java/com/ccsens/logistics/service/IMbpsService.java index b56e32f3..cf02910c 100644 --- a/logistics/src/main/java/com/ccsens/logistics/service/IMbpsService.java +++ b/logistics/src/main/java/com/ccsens/logistics/service/IMbpsService.java @@ -36,4 +36,11 @@ public interface IMbpsService { * @return 热成像信息 */ MbpsVo.SelHeatImaging selHeatImaging(MbpsDto.SelHeatImaging param); + + /** + * 查询是否有火灾水灾 + * @param param 仓库id + * @return 是否有火灾水灾 + */ + MbpsVo.FireOrFlood selFireOrFlood(MbpsDto.SelFireOrFlood param); } diff --git a/logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java b/logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java index ebedd924..43017771 100644 --- a/logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java +++ b/logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java @@ -1,10 +1,15 @@ package com.ccsens.logistics.service; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.ccsens.logistics.bean.dto.MbpsDto; +import com.ccsens.logistics.bean.po.LogisticsWarehouse; +import com.ccsens.logistics.bean.po.LogisticsWarehouseExample; import com.ccsens.logistics.bean.vo.MbpsVo; import com.ccsens.logistics.persist.dao.LogisticsCarRecordDao; import com.ccsens.logistics.persist.dao.LogisticsEnvironmentRecordDao; import com.ccsens.logistics.persist.dao.LogisticsHeatImagingRecordDao; +import com.ccsens.logistics.persist.dao.LogisticsWarehouseDao; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -27,6 +32,8 @@ public class MbpsService implements IMbpsService { private LogisticsEnvironmentRecordDao environmentRecordDao; @Resource private LogisticsHeatImagingRecordDao heatImagingRecordDao; + @Resource + private LogisticsWarehouseDao warehouseDao; @Override public MbpsVo.AllMbps selAllMbps(MbpsDto.SelAllMbpsSerch param) { @@ -83,4 +90,48 @@ public class MbpsService implements IMbpsService { return heatImagingRecordDao.selHeatImaging(param.getId()); } + @Override + public MbpsVo.FireOrFlood selFireOrFlood(MbpsDto.SelFireOrFlood param) { + MbpsVo.FireOrFlood fireOrFlood = new MbpsVo.FireOrFlood(); + + if (ObjectUtil.isNull(param.getWarehouseId())){ + LogisticsWarehouseExample warehouseExample = new LogisticsWarehouseExample(); + warehouseExample.createCriteria().andParkIdEqualTo(param.getParkId()); + List warehouses = warehouseDao.selectByExample(warehouseExample); + if (CollectionUtil.isNotEmpty(warehouses)){ + for (LogisticsWarehouse warehouse : warehouses) { + Byte fireAlarm = environmentRecordDao.selFire(warehouse.getId()); + Byte floodAlarm = environmentRecordDao.selFlood(warehouse.getId()); + if (ObjectUtil.isNotNull(fireAlarm)){ + if (1 == fireAlarm){ + fireOrFlood.setIsFire(true); + fireOrFlood.setIsFlood(floodAlarm == 1); + fireOrFlood.setWarehouseName(warehouse.getName()); + return fireOrFlood; + } + } + if (ObjectUtil.isNotNull(floodAlarm)){ + if (1 == floodAlarm){ + fireOrFlood.setIsFlood(true); + fireOrFlood.setIsFire(fireAlarm == 1); + fireOrFlood.setWarehouseName(warehouse.getName()); + return fireOrFlood; + } + } + } + } + }else{ + Byte fireAlarm = environmentRecordDao.selFire(param.getWarehouseId()); + Byte floodAlarm = environmentRecordDao.selFlood(param.getWarehouseId()); + if (ObjectUtil.isNotNull(fireAlarm)){ + fireOrFlood.setIsFire(fireAlarm == 1); + } + if (ObjectUtil.isNotNull(floodAlarm)){ + fireOrFlood.setIsFlood(floodAlarm == 1); + } + return fireOrFlood; + } + return fireOrFlood; + } + } diff --git a/logistics/src/main/resources/application.yml b/logistics/src/main/resources/application.yml index 7e037ef8..0e768cd1 100644 --- a/logistics/src/main/resources/application.yml +++ b/logistics/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: dev - include: common,util-dev + active: test + include: common,util-test diff --git a/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml b/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml index ebfcb8f1..a62c9e96 100644 --- a/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml +++ b/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml @@ -46,4 +46,34 @@ )) + + + + \ No newline at end of file