package cn.com.ty.lift.batch.applet.dao.model;

import cn.com.ty.lift.batch.applet.util.DataStatisticsUtil;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author huangyuan
 * @date 2020/2/3
 * @description 急修数据
 */
@Data
public class EmergencyRepairDataModel extends BaseDataModel{

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 区域id
     */
    private Long regionId;

    /**
     * 报修时间
     */
    private LocalDateTime callerDate;

    /**
     * 派单时间
     */
    private LocalDateTime assignTime;

    /**
     * 接单时间
     */
    private LocalDateTime takingTime;

    /**
     * 接单时长：接单时间与派单时间的差值 单位(分)
     */
    private Long takingTimeLength;

    /**
     * 到达时间
     */
    private LocalDateTime arriveTime;

    /**
     * 到达时长：到达时间与接单时间的差值 单位(分)
     */
    private Long arriveTimeLength;

    /**
     * 恢复时间
     */
    private LocalDateTime recoveryDate;

    /**
     * 修梯时长：恢复时间与接单时间的差值 单位(分)
     */
    private Long fixTimeLength;

    /**
     * 旧状态（0 待完成；1 已签到，待修理；2 已修理；3 待评价；4 完成）
     * 新状态（-1 暂停中，0 待修理；1 修理中；2 已完成 3 已关闭）
     * 待修理:派单之后 接单之前,修理中:接单到提交,已完成:提交之后
     */
    private Integer status;

    /**
     * 已读时间
     */
    private LocalDateTime readTime;

    /**
     * @param
     * @return Long 接单时长
     * @description 获取接单时间
     * @date 2020/2/5 11:12 上午
     */
    public Long getTakingTimeLength() {
        return DataStatisticsUtil.getDiffMinute(assignTime, takingTime);
    }

    /**
     * @param
     * @return Long 到达时长
     * @description 获取到达时长
     * @date 2020/2/5 11:13 上午
     */
    public Long getArriveTimeLength() {
        return DataStatisticsUtil.getDiffMinute(takingTime, arriveTime);
    }

    /**
     * @param
     * @return Long 修梯时长
     * @description 获取修梯时长
     * @date 2020/2/5 11:15 上午
     */
    public Long getFixTimeLength() {
        return DataStatisticsUtil.getDiffMinute(arriveTime, recoveryDate);
    }
}
