Browse Source

修改完善

logistics
ma 4 years ago
parent
commit
d4a40d0b38
  1. 2
      logistics/src/main/java/com/ccsens/logistics/Netty/NettyClient.java
  2. 9
      logistics/src/main/java/com/ccsens/logistics/api/WarehouseController.java
  3. 3
      logistics/src/main/java/com/ccsens/logistics/bean/dto/MbpsDto.java
  4. 17
      logistics/src/main/java/com/ccsens/logistics/bean/vo/EquipmentVo.java
  5. 25
      logistics/src/main/java/com/ccsens/logistics/bean/vo/ParkVo.java
  6. 4
      logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsEnvironmentRecordDao.java
  7. 3
      logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsHeatImagingRecordDao.java
  8. 10
      logistics/src/main/java/com/ccsens/logistics/persist/dao/LogisticsParkEquipmentDao.java
  9. 5
      logistics/src/main/java/com/ccsens/logistics/service/IWarehouseService.java
  10. 10
      logistics/src/main/java/com/ccsens/logistics/service/MbpsService.java
  11. 16
      logistics/src/main/java/com/ccsens/logistics/service/WarehouseService.java
  12. 10
      logistics/src/main/resources/mapper_dao/LogisticsEnvironmentRecordDao.xml
  13. 3
      logistics/src/main/resources/mapper_dao/LogisticsHeatImagingRecordDao.xml
  14. 13
      logistics/src/main/resources/mapper_dao/LogisticsParkEquipmentDao.xml

2
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 - 要执行的功能

9
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<WarehouseVo.AllWarehouse> selAllWarehouse(@ApiParam @Validated @RequestBody QueryDto<WarehouseDto.SelWarehouse> params) {
public JsonResponse<ParkVo.ParkInfo> selAllWarehouse(@ApiParam @Validated @RequestBody QueryDto<WarehouseDto.SelWarehouse> params) {
log.info("查询仓库列表及仓库下的摄像头:{}",params);
List<WarehouseVo.AllWarehouse> 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);
}
}

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

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

25
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<EquipmentVo.ParkEquipment> parkEquipment = new ArrayList<>();
@ApiModelProperty("仓库信息")
private List<WarehouseVo.AllWarehouse> warehouseInfo = new ArrayList<>();
}
}

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

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

10
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<EquipmentVo.ParkEquipment> selParkEquipment(Long parkId);
}

5
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<WarehouseVo.AllWarehouse> selAllWarehouse(WarehouseDto.SelWarehouse param);
ParkVo.ParkInfo selAllWarehouse(WarehouseDto.SelWarehouse param);
}

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

16
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<WarehouseVo.AllWarehouse> 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<WarehouseVo.AllWarehouse> warehouses = warehouseDao.selWarehouseAndCamera(param.getParkId(), param.getWarehouseId());
parkInfo.getWarehouseInfo().addAll(warehouses);
//查询园区下的摄像头设备
List<EquipmentVo.ParkEquipment> parkEquipments = parkEquipmentDao.selParkEquipment(param.getParkId());
parkInfo.getParkEquipment().addAll(parkEquipments);
return parkInfo;
}
}

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

@ -56,12 +56,13 @@
group by s.date ORDER BY s.date
</select>
<select id="selFire" resultType="java.lang.Byte">
<select id="selFire" resultType="java.lang.Integer">
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
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
@ -71,12 +72,13 @@
LIMIT 1
</select>
<select id="selFlood" resultType="java.lang.Byte">
<select id="selFlood" resultType="java.lang.Integer">
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
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

3
logistics/src/main/resources/mapper_dao/LogisticsHeatImagingRecordDao.xml

@ -18,6 +18,9 @@
<if test="id != null">
AND le.id = #{id}
</if>
<if test="warehouseId != null">
AND le.warehouse_id = #{warehouseId}
</if>
ORDER BY
ir.record_time DESC
LIMIT 1

13
logistics/src/main/resources/mapper_dao/LogisticsParkEquipmentDao.xml

@ -2,4 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.logistics.persist.dao.LogisticsParkEquipmentDao">
<select id="selParkEquipment" resultType="com.ccsens.logistics.bean.vo.EquipmentVo$ParkEquipment">
SELECT
pe.id AS equipmentId,
pe.`name` AS equipmentName,
pe.equipment_number AS equipmentNumber,
pe.equipment_type AS equipmentType,
pe.equipment_location AS equipmentLocation
FROM
t_logistics_park_equipment AS pe
WHERE
park_id = #{parkId}
</select>
</mapper>
Loading…
Cancel
Save