Commit 07602a7b authored by kang.nie@inzymeits.com's avatar kang.nie@inzymeits.com
Browse files

提交代码

parent e0c7be76
package com.ssi.dcvp;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ssi.entity.DataQualityInspection;
import com.ssi.entity.VmsDataSpace;
import com.ssi.entity.VmsVehicle;
import com.ssi.mapper.DataQualityInspectionMapper;
import com.ssi.mapper.VmsDataSpaceMapper;
import com.ssi.response.SSIPage;
import com.ssi.response.SSIResponse;
import com.ssi.service.VmsVehicleService;
import com.ssi.utils.DateUtils;
import io.netty.util.internal.MathUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.math3.util.MathUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.CollectionUtils;
import org.springframework.util.MimeTypeUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author 李恒
*/
@Api
@RestController
@RequestMapping("/dcvp")
public class DcvpController {
@Autowired
private VmsVehicleService vmsVehicleService;
@Autowired
private DcvpService dcvpService;
@Autowired
private DataQualityInspectionMapper dataQualityInspectionMapper;
@Autowired
private RestTemplate restTemplate;
@Autowired
private VmsDataSpaceMapper vmsDataSpaceMapper;
@Value("${ThirdLogin-Url}")
private String thirdLoginUrl;
@Value("${spring.data.elasticsearch.hosts}")
private String esHosts;
/**
* 车辆基本数据拉取
*/
@ApiOperation(value = "车辆基本数据拉取", response = SSIResponse.class, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
@PostMapping("/vehicleBase")
public DcvpResponse list(@RequestBody Map<String, Object> params) {
params.put("vehicleStatus", 0);
SSIPage ssiPage = vmsVehicleService.queryPage(params);
List<VmsVehicle> list = (List<VmsVehicle>) ssiPage.getList();
if (!CollectionUtils.isEmpty(list)) {
List<DcvpVehicle> dcvpVehicleList = list.stream().map(vmsVehicle -> {
if (vmsVehicle == null) {
return null;
}
return new DcvpVehicle(vmsVehicle);
}).collect(Collectors.toList());
ssiPage.setList(dcvpVehicleList);
}
return new DcvpResponse(SSIResponse.ok(ssiPage));
}
/**
* 车辆实时状态拉取
*/
@PostMapping("/vehicleRealStatus")
@ApiOperation(value = "车辆实时状态拉取", response = SSIResponse.class, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
public DcvpResponse vehicleRealStatus(@RequestBody Map<String, Object> params) {
params.put("vehicleStatus", 0);
SSIPage ssiPage = vmsVehicleService.queryPage(params);
List<VmsVehicle> list = (List<VmsVehicle>) ssiPage.getList();
List<DcvpVehicleStatus> dcvpVehicleStatuses = dcvpService.vehicleRealStatus(list);
ssiPage.setList(dcvpVehicleStatuses);
return new DcvpResponse(SSIResponse.ok(ssiPage));
}
/**
* 数据质量统计数拉取
*/
@PostMapping("/dataQualityCount")
@ApiOperation(value = "数据质量统计数拉取", response = SSIResponse.class, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
public DcvpResponse dataQualityCount(Date queryDate) {
if (queryDate == null) {
Instant yesterday = new Date().toInstant().minus(1, ChronoUnit.DAYS);
queryDate = new Date(yesterday.toEpochMilli());
}
String format = DateUtils.format(queryDate, "yyyyMMdd");
long value = Long.parseLong(format);
DataQualityInspection dataQualityInspection = dataQualityInspectionMapper.selectOne(
new LambdaQueryWrapper<DataQualityInspection>()
.eq(DataQualityInspection::getStatDay, value));
return new DcvpResponse(SSIResponse.ok(dataQualityInspection));
}
/**
* 登录转发
*/
@PostMapping("/login")
@ApiOperation(value = "登录转发", response = SSIResponse.class, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
public JSONObject login(@RequestBody HashMap params) {
JSONObject res = restTemplate.postForObject(thirdLoginUrl, params, JSONObject.class);
return res;
}
/**
* 数据磁盘占用统计
*/
@PostMapping("/dataSpaceConsumed")
@ApiOperation(value = "数据磁盘占用统计", response = SSIResponse.class, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
public DcvpResponse dataSpaceConsumed() {
Date now = new Date();
Date day1 = org.apache.commons.lang3.time.DateUtils.addDays(now, -1);
String yyyyMM = DateUtils.format(day1, "yyyyMM");
Date day2 = org.apache.commons.lang3.time.DateUtils.addDays(now, -2);
String esHost = esHosts.split(",")[0];
String index = "vms_igv_vehicle_" + yyyyMM;
String esUrl = "http://" + esHost + "/_cat/indices/" + index;
String res = restTemplate.getForObject(esUrl, String.class);
double esSize = 0.0;
if (StringUtils.isNotBlank(res)) {
String[] split = res.split(" ");
String size = split[8];
if (size.endsWith("gb")) {
esSize = Double.valueOf(size.replaceAll("gb", ""));
}
if (size.endsWith("mb")) {
esSize = Double.valueOf(size.replaceAll("mb", "")) / 1024.0;
} else if (size.endsWith("kb")) {
esSize = Double.valueOf(size.replaceAll("kb", "")) / 1024.0 / 1024.0;
}
}
VmsDataSpace day2Space = vmsDataSpaceMapper.selectOne(new LambdaQueryWrapper<VmsDataSpace>()
.eq(VmsDataSpace::getDataDate, DateUtils.format(day2, "yyyyMMdd")));
Map<String, Object> resMap = new HashMap();
if (index.equals(day2Space.getDataIndex())) {
resMap.put("esSpace", new BigDecimal(esSize - day2Space.getDataSpace().doubleValue())
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
} else {
resMap.put("esSpace", new BigDecimal(esSize)
.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
}
VmsDataSpace day1Space = vmsDataSpaceMapper.selectOne(new LambdaQueryWrapper<VmsDataSpace>()
.eq(VmsDataSpace::getDataDate, DateUtils.format(day1, "yyyyMMdd")));
if (day1Space == null) {
VmsDataSpace space = new VmsDataSpace();
space.setDataDate(day1);
space.setDataSpace(esSize);
space.setDataIndex(index);
vmsDataSpaceMapper.insert(space);
}
resMap.put("hiveSpace", 0);
resMap.put("statDay", DateUtils.format(day1, "yyyyMMdd"));
DcvpResponse dcvpResponse = new DcvpResponse();
dcvpResponse.setCode(1);
dcvpResponse.setData(resMap);
return dcvpResponse;
}
}
package com.ssi.dcvp;
import com.ssi.response.SSIPage;
import com.ssi.response.SSIResponse;
import lombok.Data;
import java.util.List;
@Data
public class DcvpResponse {
/**
* 1表示成功、0失败
*/
private Integer code;
private String error;
private Object data;
public DcvpResponse(SSIResponse ssiResponse) {
Object data = ssiResponse.getData();
if (data != null && data instanceof SSIPage) {
SSIPage originPage = (SSIPage) data;
int total = originPage.getTotalCount();
DcvpPage dcvpPage = new DcvpPage();
dcvpPage.setTotal(total);
dcvpPage.setData(originPage.getList());
this.data = dcvpPage;
} else {
this.data = data;
}
int code = ssiResponse.getCode();
if (code == 1) {
this.code = 1;
} else {
this.code = 0;
this.error = ssiResponse.getMsg();
}
}
public DcvpResponse() {
}
@Data
class DcvpPage {
private int total;
private List data;
}
}
package com.ssi.dcvp;
import com.ssi.entity.VmsVehicle;
import com.ssi.model.RedisDataModel;
import com.ssi.utils.VehicleDataUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class DcvpService {
@Autowired
private RedisDataModel redisDataModel;
@Autowired
private VehicleDataUtil vehicleDataUtil;
@Value("${ivccs.vehicle.latestData.redis.prefix:ivccs:vms:vehicle:latest}")
private String latestRedisKeyPrefix;
@Value("${vehicle.latestData.redis.postfix:harbor_D00A}")
private String realPostfix;
public List<DcvpVehicleStatus> vehicleRealStatus(List<VmsVehicle> list) {
if (!CollectionUtils.isEmpty(list)) {
List<DcvpVehicleStatus> dcvpVehicleStatusList = list.stream().map(vmsVehicle -> {
DcvpVehicleStatus dcvpVehicleStatus = new DcvpVehicleStatus();
dcvpVehicleStatus.setVin(vmsVehicle.getVin());
Map<String, Object> realMap = redisDataModel.getJson2Map(
String.format("%s:%s-%s", latestRedisKeyPrefix, vmsVehicle.getVin(), realPostfix));
if (realMap != null) {
Integer onlineStatus = vehicleDataUtil.checkOnline(
realMap.get("state") == null ? 0 : (Integer) realMap.get("state")
, (Long) realMap.get("collectTime"));
dcvpVehicleStatus.setOnlineStatus(onlineStatus);
Double latitude = Double.valueOf(realMap.get("latitude").toString());
Double longitude = Double.valueOf(realMap.get("longitude").toString());
dcvpVehicleStatus.setLongitude(longitude);
dcvpVehicleStatus.setLatitude(latitude);
}
return dcvpVehicleStatus;
}).collect(Collectors.toList());
return dcvpVehicleStatusList;
}
return null;
}
}
package com.ssi.dcvp;
import com.ssi.entity.VmsVehicle;
import lombok.Data;
@Data
public class DcvpVehicle {
public DcvpVehicle(VmsVehicle vmsVehicle) {
if (vmsVehicle != null) {
this.vin = vmsVehicle.getVin();
this.plateNo = vmsVehicle.getVehicleNum();
}
}
public DcvpVehicle() {
}
private String vin;
private String plateNo;
}
package com.ssi.dcvp;
import lombok.Data;
@Data
public class DcvpVehicleStatus {
private String vin;
private Integer onlineStatus;
private Double longitude;
private Double latitude;
}
package com.ssi.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 船舶任务配置信息
* @TableName cargo_ship_config_info
*/
@TableName(value ="cargo_ship_config_info")
@Data
public class CargoShipConfigInfo implements Serializable {
/**
*
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
private String code;
/**
* 船舶名称
*/
private String name;
/**
* 入场时间
*/
private Date enterTime;
/**
* 出场时间
*/
private Date exitTime;
/**
* 船头朝向
*/
private String headDirection="R";
/**
* 桥吊编号:a,b
*/
private String bridgeNo;
/**
* 车道编号:a,b
*/
private String laneNo;
/**
* 必经区域,json
*/
private String passArea;
/**
* 扭锁站:a,b
*/
private String lockArea;
/**
* 堆场贝位,json
*/
private String yardBay;
/**
* 场吊编号
*/
private String craneNo;
private Byte loadMode;
/**
* 0:配置未激活,1配置已激活
*/
private Byte isActive;
/**
* 0:正常,1:已删除
*/
private Byte isDelete;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.List;
/**
* 桥吊场吊信息
*/
@Getter
@Setter
@ToString
@ApiModel("桥吊场吊信息")
public class CraneInfo {
/**
* 港机编码,tos写法
*/
@ApiModelProperty("港机编码,tos写法")
private String portCode;
/**
* 港机编码
*/
@ApiModelProperty("港机编码")
private String craneNo;
/**
* 港机类型 1是桥吊 2是场吊
*/
@ApiModelProperty("港机类型 1是桥吊 2是场吊")
private Integer craneType;
/**
* 港机类型 1是桥吊 2是场吊,tos写法
*/
@ApiModelProperty("港机类型 1是桥吊 2是场吊,tos写法")
private Integer portType;
@ApiModelProperty("任务类型 1是桥上 2 桥下")
private Integer taskType;
@TableField(exist = false)
private List<Integer> taskTypes;
}
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class DataQualityInspection {
/**
* id
*/
private String id;
/**
* 协议id
*/
private String agreementId;
/**
* 不完整字段
*/
@TableField("incomplete_fields")
private Long nullFieldCount;
/**
* 不正确字段
*/
@TableField("incorrect_fields")
private Long invalidFieldCount;
/**
* 所有字段
*/
@TableField("all_fields")
private Long totalFieldCount;
/**
* 重复记录
*/
@TableField("duplicate_records")
private Long repeatCount;
/**
* 跳变记录
*/
@TableField("jump_records")
private Long invalidLocationCount;
/**
* 不及时记录
*/
@TableField("not_time_records")
private Long delayCount;
/**
* 所有记录
*/
@TableField("all_records")
private Long totalCount;
/**
* 日期
*/
@TableField("date")
private Long statDay;
}
package com.ssi.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 箱体信息
*
* @author zhang liyao
* @email
* @date 2020-07-08 15:38:37
*/
@Data
@ApiModel(value = "DcvAllowGoShipLaneTx")
public class DcvAllowGoShipLaneTx implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "艘次编号")
private String shipNo;
private String cntr;
private String bayNo;
private String allowFlag;
private Date recTim;
private String recUser;
}
package com.ssi.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 箱体信息
*
* @author zhang liyao
* @email
* @date 2020-07-08 15:38:37
*/
@Data
@ApiModel(value = "DcvAllowGoShipLaneTxVo")
public class DcvAllowGoShipLaneTxVo implements Serializable {
private static final long serialVersionUID = 1L;
List<DcvAllowGoShipLaneTx> shipList;
private Integer deleteItem;
}
package com.ssi.entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.Date;
@Getter
@Setter
@ToString
public class FaultRecord {
private Double altitude;
private Date collectTime;
private String did;
private Double direction;
private String fmi;
private String spn;
private Double gpsSpeed;
private Date gpsTimestamp;
private Double latitude;
private Double longitude;
private String msgId;
private String plateNo;
private Date receiveTime;
private String sim;
private String vin;
private String faultName;
private String faultType;
private String faultGrade;
private String faultSolution;
private String description;
private String vehicleNum;
private String vehicleNumFmiSpn;
public String getVehicleNumFmiSpn(){
return String.format("%s%s%s",this.getVehicleNum(),this.getFmi(),this.getSpn());
}
}
package com.ssi.entity;
import com.google.common.base.Strings;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
/**
* Description:
*
* @author LiXiaoCong
* @version 2018/11/14 19:32
*/
@Setter
@Getter
@ToString
@ApiModel(value = "ScrollTrackLocationEntity", description = "深分页查询固定时间范围里指定车辆的抽样行驶轨迹参数实体")
public class ScrollTrackLocationEntity {
@ApiModelProperty(name = "vin", value = "车辆vin", dataType = "string", required = true)
@NotBlank(message = "车辆vin不能为空!")
private String vin;
@ApiModelProperty(name = "startTime", value = "开始日期时间戳,单位:毫秒", dataType = "long", required = true, position = 1)
@Min(value = 1514736000000L, message = "开始日期时间戳过小")
private Long startTime;
@ApiModelProperty(name = "stopTime", value = "结束日期时间戳,单位:毫秒", dataType = "long", required = true, position = 2)
@Min(value = 1514736000000L, message = "结束日期时间戳过小")
private Long stopTime;
@ApiModelProperty(name = "scrollId", value = "深分页游标值", dataType = "string", position = 3)
private String scrollId;
@ApiModelProperty(name = "maxSizePartition", value = "每个分区最大返回记录数", dataType = "int", example = "500", position = 4)
private int maxSizePartition = 500;
@ApiModelProperty(name = "stepLength", value = "跳点步长", dataType = "int", example = "1", position = 5)
@Min(value = 1, message = "跳点步长最小为1")
private int stepLength = 1;
@ApiModelProperty(name = "sortByTime", value = "是否按时间顺序排序", dataType = "boolean", example = "false", position = 6)
private boolean sortByTime = true;
@ApiModelProperty(name = "posType", value = "坐标转换类型", dataType = "string", allowableValues = "gcj02,bd09", position = 7)
private String posType;
@ApiModelProperty(name = "columns", value = "返回字段", dataType = "Array[String]", position = 8)
private String[] columns;
public String getScrollId() {
return Strings.isNullOrEmpty(scrollId) ? null : scrollId;
}
}
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class V2xEvent {
private String id;
private String eventReportId;
private Integer eventId;
private Integer type;
@TableField(exist = false)
private String typeName;
private String source;
private Double lng;
private Double lat;
private Integer radius;
private String description;
private Integer priority;
private String time;
}
package com.ssi.entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class VehicleRoad {
private String id;
private String eventReportId;
private Integer eventId;
private Integer type;
private String typeName;
private String source;
private Double lng;
private Double lat;
private Integer radius;
private String description;
private Integer priority;
private String time;
}
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* 报警阈值表
*
* @author zhang liyao
* @email
* @date 2020-07-16 09:32:59
*/
@Getter
@Setter
@ApiModel(value = "VmsAlertThreshold")
public class VmsAlertThreshold {
/**
*
*/
@ApiModelProperty(value = "id")
@TableId(type = IdType.AUTO)
private Integer id;
/**
* key
*/
@ApiModelProperty(value = "key")
private String paramKey;
/**
* value
*/
@ApiModelProperty(value = "value")
private String paramValue;
/**
* 状态0:隐藏1:显示
*/
@ApiModelProperty(value = "状态0:隐藏1:显示")
private Integer status;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private Date updateTime;
/**
* 删除:0已删除1未删除
*/
@ApiModelProperty(value = "删除状态")
private Integer isDel;
}
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* 系统配置报警阈值表
*
* @author zhou ms
* @email
* @date 2022-03-25
*/
@Getter
@Setter
@ApiModel(value = "VmsAlertThresholdNew")
public class VmsAlertThresholdNew {
/**
*
*/
@ApiModelProperty(value = "id")
@TableId(type = IdType.AUTO)
private Integer id;
/**
* key
*/
@ApiModelProperty(value = "key")
private String paramKey;
/**
* value
*/
@ApiModelProperty(value = "value")
private String paramValue;
/**
* 状态0:隐藏1:显示
*/
@ApiModelProperty(value = "状态0:隐藏1:显示")
private Integer status;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private Date updateTime;
/**
* 删除:0已删除1未删除
*/
@ApiModelProperty(value = "删除状态")
private Integer isDel;
}
package com.ssi.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 电子围栏信息表
* @TableName vms_area_barrier
*/
@TableName(value ="vms_area_barrier")
@Data
public class VmsAreaBarrier implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 电子围栏名称
*/
private String name;
/**
* 经纬度坐标集合
*/
private String locations;
/**
* 试验区域类型(0:多边形;1:线段加宽描述的矩形;)
*/
private Integer type;
/**
* 备注
*/
private String remark;
/**
* 宽度
*/
private Double width;
/**
* 半径(如果区域是圆形才有数值)
*/
private Double radius;
/**
* 中心点(如果区域是圆形才有数值)
*/
private String centralPointLocations;
/**
* 道路类型(0:高速,1:国道,2:省道,3:城市道路)
*/
private Integer roadType;
/**
* 工况起点经纬度
*/
private String startPoint;
/**
* 工况终点经纬度
*/
private String endPoint;
/**
* 区域类型,0:用于报警和工况计算的区域;1:用于报警的区域;2:用于工况计算的区域;3:用户山路计算的区域
*/
private Integer areaType;
/**
* 地图类型(0:高德,1:百度)
*/
private Byte mapType;
/**
* 逻辑删除,0已删除,1未删除
*/
private Integer dr;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 区域业务表
* @TableName vms_area_business_info
*/
@TableName(value ="vms_area_business_info")
@Data
public class VmsAreaBusinessInfo implements Serializable {
/**
* 图形id
*/
@TableId(type = IdType.AUTO)
private Integer id;
@TableId
private String areaId;
/**
* 图形编号
*/
private String areaNo;
/**
* 图形类型 1缓冲区;2停车区;3:充电区;4:禁闭区
*/
private String areaType;
/**
* 1:桥下去堆场,2:堆场去桥下
*/
private Integer taskType;
private String placetype;
/**
* 1桥下,2桥后,等等
*/
private String bridge;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.ssi.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.Size;
import java.util.Date;
/**
* 龙锁装卸区表
*
* @author zhang liyao
* @email
* @date 2020-07-16 09:32:59
*/
@Getter
@Setter
@ApiModel(value = "VmsAreaPosition")
public class VmsAreaPosition {
/**
*
*/
@ApiModelProperty(value = "id")
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 装卸位编号
*/
@ApiModelProperty(value = "装卸位编号")
@Size(max = 20,min = 1,message = "位置编号最多20位")
private String areaNum;
/**
* 装卸位经纬度:经度和纬度用","号隔开,下个点用":"号隔开
*/
@ApiModelProperty(value = "装卸位经纬度:经度和纬度用','号隔开,下个点用':;号隔开")
private String coordination;
/**
* 中心点位置(停车区)
*/
@ApiModelProperty(value = "中心点位置(停车区)")
private String centerPoint;
/**
* 偏移量 x轴,y轴,z轴(停车区)
*/
@ApiModelProperty(value = "偏移量 x轴,y轴,z轴(停车区)")
private String offset;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private Date updateTime;
/**
* 类型 1 龙锁 2 停车
*/
@ApiModelProperty(value = "类型 1 龙锁 2 停车")
private Integer areaType;
/**
* 停车区位置:1 桥吊处 2 堆场处 3 转弯处
*/
@ApiModelProperty(value = "停车区位置:1 桥吊处 2 堆场处 3 转弯处")
private Integer areaPosition;
/**
* 充电桩id
*/
@ApiModelProperty(value = "充电桩id")
private String chargingInterfaceIds;
}
package com.ssi.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 箱体信息
*
* @author zhang liyao
* @email
* @date 2020-07-08 15:38:37
*/
@Data
@ApiModel(value = "VmsCable")
public class VmsCable implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "缆桩代码")
private String cableCod;
@ApiModelProperty(value = "泊位代码")
private String berthCod;
@ApiModelProperty(value = "码头代码")
private String termCod;
private String x;
private String y;
private String distance;
private String pool;
private String remarkTxt;
private String recNam;
private String recTim;
private String updNam;
private String updTim;
private String lockId;
private String cableSeq;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment