Browse Source

增加查询是否有火灾水灾接口

logistics
ma 4 years ago
parent
commit
1ba88998f5
  1. 8
      logistics/src/main/java/com/ccsens/logistics/api/MbpsController.java
  2. 10
      logistics/src/main/java/com/ccsens/logistics/bean/dto/MbpsDto.java
  3. 12
      logistics/src/main/java/com/ccsens/logistics/bean/vo/MbpsVo.java
  4. 14
      logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java
  5. 7
      logistics/src/main/java/com/ccsens/logistics/service/IMbpsService.java
  6. 51
      logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java
  7. 4
      logistics/src/main/resources/application.yml
  8. 30
      logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml

8
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<MbpsVo.FireOrFlood> selFireOrFlood(@ApiParam @Validated @RequestBody QueryDto<MbpsDto.SelFireOrFlood> params) {
log.info("查询火灾水灾警报:{}",params);
MbpsVo.FireOrFlood fireOrFlood = iMbpsService.selFireOrFlood(params.getParam());
log.info("查询火灾水灾警报:{}",fireOrFlood);
return JsonResponse.newInstance().ok(fireOrFlood);
}
}

10
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;
}
}

12
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;
}
}

14
logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java

@ -30,4 +30,18 @@ public interface LogisticsEnvironmentRecordDao extends LogisticsEnvironmentRecor
* @return 湿度列表
*/
List<MbpsVo.Humiditys> 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);
}

7
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);
}

51
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<LogisticsWarehouse> 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;
}
}

4
logistics/src/main/resources/application.yml

@ -1,6 +1,6 @@
spring:
profiles:
active: dev
include: common,util-dev
active: test
include: common,util-test

30
logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml

@ -46,4 +46,34 @@
))
</select>
<select id="selFire" resultType="java.lang.Byte">
SELECT
er.is_alarm AS isFire
FROM
t_logistics_environment_record AS er
LEFT JOIN t_logistics_warehouse AS w ON er.warehouse_id = w.id
AND w.rec_status = 0
WHERE
er.num_type = 1
AND w.id = #{id}
ORDER BY
er.record_time DESC
LIMIT 1
</select>
<select id="selFlood" resultType="java.lang.Byte">
SELECT
er.is_alarm AS isFlood
FROM
t_logistics_environment_record AS er
LEFT JOIN t_logistics_warehouse AS w ON er.warehouse_id = w.id
AND w.rec_status = 0
WHERE
er.num_type = 0
AND w.id = #{id}
ORDER BY
er.record_time DESC
LIMIT 1
</select>
</mapper>
Loading…
Cancel
Save