package org.jeecg.modules.itdmTestPlan.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 计划员查询返回的列表对象(完整版，包括各种名称)
 * */
public class ItdmJHYQueryListVO {

    /**委托id*/
    @Excel(name = "委托id", width = 15)
    @ApiModelProperty(value = "委托id")
    private String weituoId;
    /**样品id*/
    @Excel(name = "样品id", width = 15)
    @ApiModelProperty(value = "样品id")
    private String yangpinId;
    /**检测项目id*/
    @Excel(name = "检测项目id", width = 15)
    @ApiModelProperty(value = "检测项目id")
    private java.lang.String testItemsId;
    /**检测项目*/
    @Excel(name = "检测项目", width = 15)
    @ApiModelProperty(value = "检测项目")
    private String testItems;
    /**试验计划id*/
    @Excel(name = "试验计划id", width = 15)
    @ApiModelProperty(value = "试验计划id")
    private String testPlanId;
    /**设备id*/
    @Excel(name = "设备id", width = 15)
    @ApiModelProperty(value = "设备id")
    private java.lang.String shebeiId;
    /**项目经理*/
    @Excel(name = "项目经理", width = 15)
    @ApiModelProperty(value = "项目经理")
    private java.lang.String pm;
    /**计划开始日期*/
    @Excel(name = "计划开始日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "计划开始日期")
    private java.util.Date jihuaStartDate;
    /**计划结束日期*/
    @Excel(name = "计划结束日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "计划结束日期")
    private java.util.Date jihuaEndDate;
    /**状态*/
    @Excel(name = "状态", width = 15, dicCode = "test_plan_status")
    @Dict(dicCode = "test_plan_status")
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
    /**报告编号*/
    @Excel(name = "报告编号", width = 15)
    @ApiModelProperty(value = "报告编号")
    private java.lang.String reportNo;
    /**传感器*/
    @Excel(name = "传感器", width = 20)
    @ApiModelProperty(value = "传感器")
    private java.lang.String chuanganqi;
    /**委托编号*/
    @Excel(name = "委托编号", width = 15)
    @ApiModelProperty(value = "委托编号")
    private String weituoNo;
    /**样品名称*/
    @Excel(name = "样品名称", width = 15)
    @ApiModelProperty(value = "样品名称")
    private java.lang.String sampleName;
    /**设备名称*/
    @Excel(name = "设备名称", width = 15)
    @ApiModelProperty(value = "设备名称")
    private java.lang.String deviceName;
    /**父id*/
    @Excel(name = "父id", width = 20)
    @ApiModelProperty(value = "父id")
    private java.lang.String parent;
    /**持续时间*/
    @Excel(name = "持续时间", width = 20)
    @ApiModelProperty(value = "持续时间")
    private java.lang.Integer lastTime;



    public String getWeituoId() {
        return weituoId;
    }

    public void setWeituoId(String weituoId) {
        this.weituoId = weituoId;
    }

    public String getYangpinId() {
        return yangpinId;
    }

    public void setYangpinId(String yangpinId) {
        this.yangpinId = yangpinId;
    }

    public String getTestItems() {
        return testItems;
    }

    public void setTestItems(String testItems) {
        this.testItems = testItems;
    }

    public String getShebeiId() {
        return shebeiId;
    }

    public void setShebeiId(String shebeiId) {
        this.shebeiId = shebeiId;
    }

    public String getPm() {
        return pm;
    }

    public void setPm(String pm) {
        this.pm = pm;
    }

    public String getWeituoNo() {
        return weituoNo;
    }

    public void setWeituoNo(String weituoNo) {
        this.weituoNo = weituoNo;
    }

    public String getSampleName() {
        return sampleName;
    }

    public void setSampleName(String sampleName) {
        this.sampleName = sampleName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public Date getJihuaStartDate() {
        return jihuaStartDate;
    }

    public void setJihuaStartDate(Date jihuaStartDate) {
        this.jihuaStartDate = jihuaStartDate;
    }

    public Date getJihuaEndDate() {
        return jihuaEndDate;
    }

    public void setJihuaEndDate(Date jihuaEndDate) {
        this.jihuaEndDate = jihuaEndDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getReportNo() {
        return reportNo;
    }

    public void setReportNo(String reportNo) {
        this.reportNo = reportNo;
    }

    public String getChuanganqi() {
        return chuanganqi;
    }

    public void setChuanganqi(String chuanganqi) {
        this.chuanganqi = chuanganqi;
    }

    public String getParent() {
        return parent;
    }

    public void setParent(String parent) {
        this.parent = parent;
    }

    public String getTestPlanId() {
        return testPlanId;
    }

    public void setTestPlanId(String testPlanId) {
        this.testPlanId = testPlanId;
    }

    public String getTestItemsId() {
        return testItemsId;
    }

    public void setTestItemsId(String testItemsId) {
        this.testItemsId = testItemsId;
    }

    public Integer getLastTime() {
        return lastTime;
    }

    public void setLastTime(Integer lastTime) {
        this.lastTime = lastTime;
    }

    public static ItdmJHYQueryListVO toItdmJHYQueryListVO3(ItdmJHYQueryListVO vo, String weituoNo){
        if(vo.getJihuaEndDate()!=null && vo.getTestItemsId()!=null){
            int days = (int) ((vo.getJihuaEndDate().getTime() - vo.getJihuaStartDate().getTime()) / (1000*3600*24));
            vo.setLastTime(days+1);
        }
        vo.setWeituoNo(weituoNo);
        return vo;
    }


//    public static ItdmJHYQueryListVO toItdmJHYQueryListVO2(ItdmJHYQueryListVO vo){
//        if(vo.getJihuaEndDate()!=null && vo.getTestItemsId()!=null){
//            int days = (int) ((vo.getJihuaEndDate().getTime() - vo.getJihuaStartDate().getTime()) / (1000*3600*24));
//            vo.setLastTime(days+1);
//        }
//        return vo;
//    }


    public static ItdmJHYQueryListVO toItdmJHYQueryListVO(ItdmJCXMAndSYJHVO itdmVO, String weituoNo, String sampleName, String deviceName){
        ItdmJHYQueryListVO vo = new ItdmJHYQueryListVO();
        vo.setWeituoId(itdmVO.getWeituoId());
        vo.setYangpinId(itdmVO.getYangpinId());
        vo.setShebeiId(itdmVO.getShebeiId());
        vo.setTestItems(itdmVO.getTestItems());
        vo.setDeviceName(deviceName);
        vo.setSampleName(sampleName);
        vo.setWeituoNo(weituoNo);
        vo.setChuanganqi(itdmVO.getChuanganqi());
        vo.setStatus(itdmVO.getStatus());
        vo.setPm(itdmVO.getPm());
        vo.setChuanganqi(itdmVO.getChuanganqi());
        vo.setTestPlanId(itdmVO.getTestPlanId());
        vo.setReportNo(itdmVO.getReportNo());
        vo.setJihuaStartDate(itdmVO.getJihuaStartDate());
        vo.setJihuaEndDate(itdmVO.getJihuaEndDate());
        vo.setTestItemsId(itdmVO.getTestItemsId());
        if(itdmVO.getJihuaEndDate()!=null && itdmVO.getTestItemsId()!=null){
            int days = (int) ((itdmVO.getJihuaEndDate().getTime() - itdmVO.getJihuaStartDate().getTime()) / (1000*3600*24));
            vo.setLastTime(days);
        }
        return vo;
    }


}
