From d4a40d0b3808cfb6e09a4ba753c2827a96ac7552 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Fri, 14 May 2021 15:25:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/logistics/Netty/NettyClient.java | 2 +- .../logistics/api/WarehouseController.java | 9 ++++--- .../ccsens/logistics/bean/dto/MbpsDto.java | 3 +++ .../ccsens/logistics/bean/vo/EquipmentVo.java | 17 ++++++++++++- .../com/ccsens/logistics/bean/vo/ParkVo.java | 25 +++++++++++++++++++ .../dao/LogisticsEnvironmentRecordDao.java | 4 +-- .../dao/LogisticsHeatImagingRecordDao.java | 3 ++- .../dao/LogisticsParkEquipmentDao.java | 10 ++++++++ .../logistics/service/IWarehouseService.java | 5 ++-- .../ccsens/logistics/service/MbpsService.java | 10 ++++---- .../logistics/service/WarehouseService.java | 16 ++++++++++-- .../LogisticsEnvironmentRecordDao.xml | 20 ++++++++------- .../LogisticsHeatImagingRecordDao.xml | 3 +++ .../mapper_dao/LogisticsParkEquipmentDao.xml | 13 ++++++++++ 14 files changed, 113 insertions(+), 27 deletions(-) create mode 100644 logistics/src/main/java/com/ccsens/logistics/bean/vo/ParkVo.java diff --git a/logistics/src/main/java/com/ccsens/logistics/Netty/NettyClient.java b/logistics/src/main/java/com/ccsens/logistics/Netty/NettyClient.java index a264c6e7..0d3db04f 100644 --- a/logistics/src/main/java/com/ccsens/logistics/Netty/NettyClient.java +++ b/logistics/src/main/java/com/ccsens/logistics/Netty/NettyClient.java @@ -70,7 +70,7 @@ public class NettyClient { ScheduledExecutorService service = Executors .newSingleThreadScheduledExecutor(); // 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间 - service.scheduleAtFixedRate(runnable, 2, 30, TimeUnit.SECONDS); + service.scheduleAtFixedRate(runnable, 2, 5, TimeUnit.SECONDS); // 创建并执行在给定延迟后启用的 ScheduledFuture。 // 参数: // callable - 要执行的功能 diff --git a/logistics/src/main/java/com/ccsens/logistics/api/WarehouseController.java b/logistics/src/main/java/com/ccsens/logistics/api/WarehouseController.java index e79b7712..48f51cc4 100644 --- a/logistics/src/main/java/com/ccsens/logistics/api/WarehouseController.java +++ b/logistics/src/main/java/com/ccsens/logistics/api/WarehouseController.java @@ -3,6 +3,7 @@ package com.ccsens.logistics.api; import com.ccsens.logistics.bean.dto.MbpsDto; import com.ccsens.logistics.bean.dto.WarehouseDto; import com.ccsens.logistics.bean.vo.MbpsVo; +import com.ccsens.logistics.bean.vo.ParkVo; import com.ccsens.logistics.bean.vo.WarehouseVo; import com.ccsens.logistics.service.IWarehouseService; import com.ccsens.util.JsonResponse; @@ -34,11 +35,11 @@ public class WarehouseController { @ApiOperation(value = "查询仓库列表及仓库下的摄像头", notes = "mz:查询仓库列表及仓库下的摄像头") @RequestMapping(value = "/selAllWarehouse", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse selAllWarehouse(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse selAllWarehouse(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询仓库列表及仓库下的摄像头:{}",params); - List warehouse = iWarehouseService.selAllWarehouse(params.getParam()); - log.info("查询仓库列表及仓库下的摄像头:{}",warehouse); - return JsonResponse.newInstance().ok(warehouse); + ParkVo.ParkInfo parkInfo = iWarehouseService.selAllWarehouse(params.getParam()); + log.info("查询仓库列表及仓库下的摄像头:{}",parkInfo); + return JsonResponse.newInstance().ok(parkInfo); } } 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 9f0e33ee..a57a25c0 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,6 +50,9 @@ public class MbpsDto { @Data @ApiModel(value = "查询热成像信息") public static class SelHeatImaging{ + @NotNull(message = "请选择要查看的仓库") + @ApiModelProperty("仓库id") + private Long warehouseId; @ApiModelProperty("热成像设备id") private Long id; } diff --git a/logistics/src/main/java/com/ccsens/logistics/bean/vo/EquipmentVo.java b/logistics/src/main/java/com/ccsens/logistics/bean/vo/EquipmentVo.java index 241b3a21..14fea90a 100644 --- a/logistics/src/main/java/com/ccsens/logistics/bean/vo/EquipmentVo.java +++ b/logistics/src/main/java/com/ccsens/logistics/bean/vo/EquipmentVo.java @@ -11,7 +11,7 @@ import lombok.Data; public class EquipmentVo { @Data - @ApiModel("摄像头列表") + @ApiModel("仓库摄像头列表") public static class AllCamera{ @ApiModelProperty("设备id") private Long equipmentId; @@ -24,4 +24,19 @@ public class EquipmentVo { @ApiModelProperty("设备地址") private String equipmentLocation; } + + @Data + @ApiModel("园区设备列表") + public static class ParkEquipment{ + @ApiModelProperty("设备id") + private Long equipmentId; + @ApiModelProperty("设备名称") + private String equipmentName; + @ApiModelProperty("设备编号") + private String equipmentNumber; + @ApiModelProperty("设备类型(0-车辆识别摄像头进,1-车辆识别摄像头出)") + private Byte equipmentType; + @ApiModelProperty("设备地址") + private String equipmentLocation; + } } diff --git a/logistics/src/main/java/com/ccsens/logistics/bean/vo/ParkVo.java b/logistics/src/main/java/com/ccsens/logistics/bean/vo/ParkVo.java new file mode 100644 index 00000000..b37d31e6 --- /dev/null +++ b/logistics/src/main/java/com/ccsens/logistics/bean/vo/ParkVo.java @@ -0,0 +1,25 @@ +package com.ccsens.logistics.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author 马 + */ +@Data +public class ParkVo { + + @Data + @ApiModel("仓库及摄像头") + public static class ParkInfo{ + @ApiModelProperty("园区设备") + private List parkEquipment = new ArrayList<>(); + @ApiModelProperty("仓库信息") + private List warehouseInfo = new ArrayList<>(); + } + +} 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 7ade33c1..f2c1525c 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 @@ -36,12 +36,12 @@ public interface LogisticsEnvironmentRecordDao extends LogisticsEnvironmentRecor * @param id 仓库id * @return (0-否,1-是) */ - Byte selFire(Long id); + Integer selFire(@Param("id") Long id); /** * 是否有水灾 * @param id 仓库id * @return (0-否,1-是) */ - Byte selFlood(Long id); + Integer selFlood(@Param("id") Long id); } diff --git a/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsHeatImagingRecordDao.java b/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsHeatImagingRecordDao.java index 8a109bb5..7f774c79 100644 --- a/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsHeatImagingRecordDao.java +++ b/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsHeatImagingRecordDao.java @@ -13,7 +13,8 @@ public interface LogisticsHeatImagingRecordDao { /** * 查询热成像最新信息 * @param id 热成像设备id + * @param warehouseId 仓库id * @return 热成像信息 */ - MbpsVo.SelHeatImaging selHeatImaging(@Param("id") Long id); + MbpsVo.SelHeatImaging selHeatImaging(@Param("id") Long id,@Param("warehouseId") Long warehouseId); } diff --git a/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsParkEquipmentDao.java b/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsParkEquipmentDao.java index 07f4b8a8..12d6fce5 100644 --- a/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsParkEquipmentDao.java +++ b/logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsParkEquipmentDao.java @@ -1,11 +1,21 @@ package com.ccsens.logistics.persist.dao; +import com.ccsens.logistics.bean.vo.EquipmentVo; import com.ccsens.logistics.persist.mapper.LogisticsParkEquipmentMapper; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @author 马 */ @Repository public interface LogisticsParkEquipmentDao extends LogisticsParkEquipmentMapper { + /** + * 查询园区下的设备 + * @param parkId 园区id + * @return 园区设备列表 + */ + List selParkEquipment(Long parkId); + } diff --git a/logistics/src/main/java/com/ccsens/logistics/service/IWarehouseService.java b/logistics/src/main/java/com/ccsens/logistics/service/IWarehouseService.java index 66fa5a1a..ccfaaab8 100644 --- a/logistics/src/main/java/com/ccsens/logistics/service/IWarehouseService.java +++ b/logistics/src/main/java/com/ccsens/logistics/service/IWarehouseService.java @@ -2,6 +2,7 @@ package com.ccsens.logistics.service; import com.ccsens.logistics.bean.dto.WarehouseDto; import com.ccsens.logistics.bean.vo.MbpsVo; +import com.ccsens.logistics.bean.vo.ParkVo; import com.ccsens.logistics.bean.vo.WarehouseVo; import java.util.List; @@ -14,7 +15,7 @@ public interface IWarehouseService { /** * 查询仓库及摄像头 * @param param 园区id 仓库id - * @return 仓库及摄像头 + * @return 园区设备、仓库及摄像头 */ - List selAllWarehouse(WarehouseDto.SelWarehouse param); + ParkVo.ParkInfo selAllWarehouse(WarehouseDto.SelWarehouse 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 53475b66..0d139a67 100644 --- a/logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java +++ b/logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java @@ -127,7 +127,7 @@ public class MbpsService implements IMbpsService { @Override public MbpsVo.SelHeatImaging selHeatImaging(MbpsDto.SelHeatImaging param) { - return heatImagingRecordDao.selHeatImaging(param.getId()); + return heatImagingRecordDao.selHeatImaging(param.getId(),param.getWarehouseId()); } @Override @@ -141,10 +141,10 @@ public class MbpsService implements IMbpsService { if (CollectionUtil.isNotEmpty(warehouses)){ for (LogisticsWarehouse warehouse : warehouses) { //火灾 - Byte fireAlarm = environmentRecordDao.selFire(warehouse.getId()); + Integer fireAlarm = environmentRecordDao.selFire(warehouse.getId()); fireAlarm = fireAlarm == null ? 0 : fireAlarm; //水灾 - Byte floodAlarm = environmentRecordDao.selFlood(warehouse.getId()); + Integer floodAlarm = environmentRecordDao.selFlood(warehouse.getId()); floodAlarm = floodAlarm == null ? 0 : floodAlarm; if (ObjectUtil.isNotNull(fireAlarm)){ @@ -166,8 +166,8 @@ public class MbpsService implements IMbpsService { } } }else{ - Byte fireAlarm = environmentRecordDao.selFire(param.getWarehouseId()); - Byte floodAlarm = environmentRecordDao.selFlood(param.getWarehouseId()); + Integer fireAlarm = environmentRecordDao.selFire(param.getWarehouseId()); + Integer floodAlarm = environmentRecordDao.selFlood(param.getWarehouseId()); if (ObjectUtil.isNotNull(fireAlarm)){ fireOrFlood.setIsFire(fireAlarm == 1); } diff --git a/logistics/src/main/java/com/ccsens/logistics/service/WarehouseService.java b/logistics/src/main/java/com/ccsens/logistics/service/WarehouseService.java index f18cfdb1..98251b5a 100644 --- a/logistics/src/main/java/com/ccsens/logistics/service/WarehouseService.java +++ b/logistics/src/main/java/com/ccsens/logistics/service/WarehouseService.java @@ -1,7 +1,10 @@ package com.ccsens.logistics.service; import com.ccsens.logistics.bean.dto.WarehouseDto; +import com.ccsens.logistics.bean.vo.EquipmentVo; +import com.ccsens.logistics.bean.vo.ParkVo; import com.ccsens.logistics.bean.vo.WarehouseVo; +import com.ccsens.logistics.persist.dao.LogisticsParkEquipmentDao; import com.ccsens.logistics.persist.dao.LogisticsWarehouseDao; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -21,10 +24,19 @@ public class WarehouseService implements IWarehouseService { @Resource private LogisticsWarehouseDao warehouseDao; + @Resource + private LogisticsParkEquipmentDao parkEquipmentDao; @Override - public List selAllWarehouse(WarehouseDto.SelWarehouse param) { - return warehouseDao.selWarehouseAndCamera(param.getParkId(),param.getWarehouseId()); + public ParkVo.ParkInfo selAllWarehouse(WarehouseDto.SelWarehouse param) { + ParkVo.ParkInfo parkInfo = new ParkVo.ParkInfo(); + //查询仓库及仓库下的设备 + List warehouses = warehouseDao.selWarehouseAndCamera(param.getParkId(), param.getWarehouseId()); + parkInfo.getWarehouseInfo().addAll(warehouses); + //查询园区下的摄像头设备 + List parkEquipments = parkEquipmentDao.selParkEquipment(param.getParkId()); + parkInfo.getParkEquipment().addAll(parkEquipments); + return parkInfo; } } diff --git a/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml b/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml index 71b76897..188a9181 100644 --- a/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml +++ b/logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml @@ -56,34 +56,36 @@ group by s.date ORDER BY s.date - + 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 + LEFT JOIN t_logistics_equipment AS e ON e.id = er.equipment_id + LEFT JOIN t_logistics_warehouse AS w ON e.warehouse_id = w.id + AND w.rec_status = 0 WHERE er.num_type = 3 AND w.id = #{id} ORDER BY er.record_time DESC - LIMIT 1 + LIMIT 1 - 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 + LEFT JOIN t_logistics_equipment AS e ON er.equipment_num = e.equipment_number + LEFT JOIN t_logistics_warehouse AS w ON e.warehouse_id = w.id + AND w.rec_status = 0 WHERE er.num_type = 2 AND w.id = #{id} ORDER BY er.record_time DESC - LIMIT 1 + LIMIT 1 \ No newline at end of file diff --git a/logistics/src/main/resources/mapper_dao/LogisticsHeatImagingRecordDao.xml b/logistics/src/main/resources/mapper_dao/LogisticsHeatImagingRecordDao.xml index 8d08e7a6..558569d0 100644 --- a/logistics/src/main/resources/mapper_dao/LogisticsHeatImagingRecordDao.xml +++ b/logistics/src/main/resources/mapper_dao/LogisticsHeatImagingRecordDao.xml @@ -18,6 +18,9 @@ AND le.id = #{id} + + AND le.warehouse_id = #{warehouseId} + ORDER BY ir.record_time DESC LIMIT 1 diff --git a/logistics/src/main/resources/mapper_dao/LogisticsParkEquipmentDao.xml b/logistics/src/main/resources/mapper_dao/LogisticsParkEquipmentDao.xml index e095ce20..1d512e55 100644 --- a/logistics/src/main/resources/mapper_dao/LogisticsParkEquipmentDao.xml +++ b/logistics/src/main/resources/mapper_dao/LogisticsParkEquipmentDao.xml @@ -2,4 +2,17 @@ + + \ No newline at end of file