LinggangSchedulingVO.java 3.86 KB
package com.ruoyi.domain.scheduling.vo;

import com.ruoyi.common.utils.DateUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;

import java.util.Date;
import java.util.Objects;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "排班的VO")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
/** VO*/
public class LinggangSchedulingVO implements java.io.Serializable {
    private static final long serialVersionUID = 427513728L;

    /***主键*/
    @ApiModelProperty(value = "主键", example = "1")
    private Long id;
    /***排班日期*/
    @ApiModelProperty(value = "排班日期")
    private Date scheduleDate;
    /***线路名称*/
    @ApiModelProperty(value = "线路名称")
    private String lineName;
    /***工号*/
    @ApiModelProperty(value = "工号")
    private String jobCode;
    /***姓名*/
    @ApiModelProperty(value = "姓名")
    private String name;
    /***工种*/
    @ApiModelProperty(value = "工种")
    private String posts;
    /***路牌*/
    @ApiModelProperty(value = "路牌")
    private String lpName;
    /***车辆自编号*/
    @ApiModelProperty(value = "车辆自编号")
    private String nbbm;
    /***班次类型;in 进站 ;out 出站*/
    @ApiModelProperty(value = "班次类型;in 进站 ;out 出站")
    private String bcType;
    /***发车时间*/
    @ApiModelProperty(value = "发车时间", example = "1")
    private Long fcsjT;
    /***到站时间*/
    @ApiModelProperty(value = "到站时间", example = "1")
    private Long zdsjT;
    /***签到表id*/
    @ApiModelProperty(value = "签到表id", example = "1")
    private Long signInId;
    /***记录状态*/
    @ApiModelProperty(value = "记录状态", example = "1")
    private Integer exType;
    /***打卡时间*/
    @ApiModelProperty(value = "打卡时间")
    private java.util.Date signTime;
    /***打卡类型*/
    @ApiModelProperty(value = "打卡类型", example = "1")
    private Integer signType;
    /***是否酒精测试*/
    @ApiModelProperty(value = "是否酒精测试", example = "1")
    private Integer alcoholFlag;
    /***酒精测试含量*/
    @ApiModelProperty(value = "酒精测试含量")
    private java.math.BigDecimal alcoholIntake;
    /***原因*/
    @ApiModelProperty(value = "原因")
    private String remark;

    /***1:实际排班表;100为计划排班表*/
    @ApiModelProperty(value = "1:实际排班表;100为计划排班表", example = "1")
    private java.lang.Integer type;

    /***钥匙ID*/
    @ApiModelProperty(value = "钥匙ID", example = "1")
    private Integer keyInfoId;

    private Integer alcoholCount;

    private java.lang.String qdzname;

    private java.lang.String zdzname;

    public String getFcsjTStr() {
        return formatDate(fcsjT);
    }

    public String getZdsjTStr() {
        return formatDate(zdsjT);
    }

    private String formatDate(Long val) {
        if (Objects.isNull(val)) {
            return null;
        }
        Date date = new Date(val);
        return DateUtils.YYYY_MM_DD_HH_MM_SS.format(date);
    }

    public String getScheduleDateStr() {
        return Objects.isNull(scheduleDate) ? null : DateUtils.YYYY_MM_DD.format(scheduleDate);
    }

    public String getBcTypeLabel() {
        return StringUtils.equalsAnyIgnoreCase("in", bcType) ? "进站" : StringUtils.equalsAnyIgnoreCase("out", bcType) ? "出站" : null;
    }

    public String getAlcoholFlagLabel() {
        return Objects.equals(this.getAlcoholFlag(), 1) ? "是" : Objects.equals(this.getAlcoholFlag(), 0) ? "否" : null;
    }

    @Override
    public String toString() {
        return com.alibaba.fastjson2.JSON.toJSONString(this);
    }
}