package cn.timer.api.bean.kqgl;

import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PunchCardDetails implements Serializable{
	
	private static final long serialVersionUID = -260981442439964590L;
	
	private Integer id;
	private Integer userid;
	private String data;
	private Long sbdk1;
	private String strsbdk1;// 上班1打卡时间
	private Integer sbdk1jg;// 上班1打卡结果
	private Long xbdk1;
	private String strxbdk1;// 下班1打卡时间
	private Integer xbdk1jg;// 下班1打卡结果
	private Long sbdk2;
	private String strsbdk2;// 上班2打卡时间
	private Integer sbdk2jg;// 上班2打卡结果
	private Long xbdk2;
	private String strxbdk2;// 下班2打卡时间
	private Integer xbdk2jg;// 下班2打卡结果
	private Long sbdk3;
	private String strsbdk3;// 上班3打卡时间
	private Integer sbdk3jg;// 上班3打卡结果
	private Long xbdk3;
	private String strxbdk3;// 下班3打卡时间
	private Integer xbdk3jg;// 下班3打卡结果
	private Integer ydkcs;
	private Double gzsc;
	private Integer qyid;
	private Long dksj;
	private String strdksj;
	
	private String dept = "";
	private String post = "";

	private String username;
	private String attdate;
	private String bcname;

	private String bcsbdk1;
	private String strbcsbdk1;
	private String nyrstrbcsbdk1;

	private String bcxbdk1;
	private String strbcxbdk1;
	private String nyrstrbcxbdk1;

	private String bcsbdk2;
	private String strbcsbdk2;
	private String nyrstrbcsbdk2;

	private String bcxbdk2;
	private String strbcxbdk2;
	private String nyrstrbcxbdk2;

	private String bcsbdk3;
	private String strbcsbdk3;
	private String nyrstrbcsbdk3;

	private String bcxbdk3;
	private String strbcxbdk3;
	private String nyrstrbcxbdk3;

	SimpleDateFormat format = new SimpleDateFormat("HH:mm");
	SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getUserid() {
		return userid;
	}

	public void setUserid(Integer userid) {
		this.userid = userid;
	}

	public String getData() {
		return data;
	}

	public void setData(String data) {
		this.data = data == null ? null : data.trim();
	}

	public Long getSbdk1() {
		return sbdk1;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setSbdk1(Long sbdk1) {
		this.sbdk1 = sbdk1;
		if (sbdk1 != null && !sbdk1.equals("") && !sbdk1.equals(0l)) {
			this.strsbdk1 = format.format(sbdk1);
		}
	}

	public Integer getSbdk1jg() {
		return sbdk1jg;
	}

	public void setSbdk1jg(Integer sbdk1jg) {
		this.sbdk1jg = sbdk1jg;
	}

	public Long getXbdk1() {
		return xbdk1;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setXbdk1(Long xbdk1) {
		this.xbdk1 = xbdk1;
		if (xbdk1 != null && !xbdk1.equals("") && !xbdk1.equals(0l)) {
			this.strxbdk1 = format.format(xbdk1);
		}
	}

	public Integer getXbdk1jg() {
		return xbdk1jg;
	}

	public void setXbdk1jg(Integer xbdk1jg) {
		this.xbdk1jg = xbdk1jg;
	}

	public Long getSbdk2() {
		return sbdk2;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setSbdk2(Long sbdk2) {
		this.sbdk2 = sbdk2;
		if (sbdk2 != null && !sbdk2.equals("") && !sbdk2.equals(0l)) {
			this.strsbdk2 = format.format(sbdk2);
		}
	}

	public Integer getSbdk2jg() {
		return sbdk2jg;
	}

	public void setSbdk2jg(Integer sbdk2jg) {
		this.sbdk2jg = sbdk2jg;
	}

	public Long getXbdk2() {
		return xbdk2;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setXbdk2(Long xbdk2) {
		this.xbdk2 = xbdk2;
		if (xbdk2 != null && !xbdk2.equals("") && !xbdk2.equals(0l)) {
			this.strxbdk2 = format.format(xbdk2);
		}
	}

	public Integer getXbdk2jg() {
		return xbdk2jg;
	}

	public void setXbdk2jg(Integer xbdk2jg) {
		this.xbdk2jg = xbdk2jg;
	}

	public Long getSbdk3() {
		return sbdk3;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setSbdk3(Long sbdk3) {
		this.sbdk3 = sbdk3;
		if (sbdk3 != null && !sbdk3.equals("") && !sbdk3.equals(0l)) {
			this.strsbdk3 = format.format(sbdk3);
		}
	}

	public Integer getSbdk3jg() {
		return sbdk3jg;
	}

	public void setSbdk3jg(Integer sbdk3jg) {
		this.sbdk3jg = sbdk3jg;
	}

	public Long getXbdk3() {
		return xbdk3;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setXbdk3(Long xbdk3) {
		this.xbdk3 = xbdk3;
		if (xbdk3 != null && !xbdk3.equals("") && !xbdk3.equals(0l)) {
			this.strxbdk3 = format.format(xbdk3);
		}
	}

	public Integer getXbdk3jg() {
		return xbdk3jg;
	}

	public void setXbdk3jg(Integer xbdk3jg) {
		this.xbdk3jg = xbdk3jg;
	}

	public Integer getYdkcs() {
		return ydkcs;
	}

	public void setYdkcs(Integer ydkcs) {
		this.ydkcs = ydkcs;
	}

	public Double getGzsc() {
		return gzsc;
	}

	public void setGzsc(Double gzsc) {
		this.gzsc = gzsc;
	}

	public Integer getQyid() {
		return qyid;
	}

	public void setQyid(Integer qyid) {
		this.qyid = qyid;
	}

	public Long getDksj() {
		return dksj;
	}

	@SuppressWarnings("unlikely-arg-type")
	public void setDksj(Long dksj) {
		this.dksj = dksj;
		if (dksj != null && !dksj.equals("")) {
			this.strdksj = date.format(dksj);
		}
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getAttdate() {
		return attdate;
	}

	public void setAttdate(String attdate) {
		this.attdate = attdate;
	}

	public String getBcname() {
		return bcname;
	}

	public void setBcname(String bcname) {
		this.bcname = bcname;
	}

	public String getBcsbdk1() {
		return bcsbdk1;
	}

	public void setBcsbdk1(String bcsbdk1) {
		this.bcsbdk1 = bcsbdk1;
		if (bcsbdk1 != null && !bcsbdk1.equals("")) {
			this.strbcsbdk1 = dealDateFormat1(bcsbdk1);
			this.nyrstrbcsbdk1 = dealDateFormat2(bcsbdk1);
		}
	}

	public String getBcxbdk1() {
		return bcxbdk1;
	}

	public void setBcxbdk1(String bcxbdk1) {
		this.bcxbdk1 = bcxbdk1;
		if (bcxbdk1 != null && !bcxbdk1.equals("")) {
			this.strbcxbdk1 = dealDateFormat1(bcxbdk1);
			this.nyrstrbcxbdk1 = dealDateFormat2(bcxbdk1);
		}
	}

	public String getBcsbdk2() {
		return bcsbdk2;
	}

	public void setBcsbdk2(String bcsbdk2) {
		this.bcsbdk2 = bcsbdk2;
		if (bcsbdk2 != null && !bcsbdk2.equals("")) {
			this.strbcsbdk2 = dealDateFormat1(bcsbdk2);
			this.nyrstrbcsbdk2 = dealDateFormat2(bcsbdk2);
		}
	}

	public String getBcxbdk2() {
		return bcxbdk2;
	}

	public void setBcxbdk2(String bcxbdk2) {
		this.bcxbdk2 = bcxbdk2;
		if (bcxbdk2 != null && !bcxbdk2.equals("")) {
			this.strbcxbdk2 = dealDateFormat1(bcxbdk2);
			this.nyrstrbcxbdk2 = dealDateFormat2(bcxbdk2);
		}
	}

	public String getBcsbdk3() {
		return bcsbdk3;
	}

	public void setBcsbdk3(String bcsbdk3) {
		this.bcsbdk3 = bcsbdk3;
		if (bcsbdk3 != null && !bcsbdk3.equals("")) {
			this.strbcsbdk3 = dealDateFormat1(bcsbdk3);
			this.nyrstrbcsbdk3 = dealDateFormat2(bcsbdk3);
		}
	}

	public String getBcxbdk3() {
		return bcxbdk3;
	}

	public void setBcxbdk3(String bcxbdk3) {
		this.bcxbdk3 = bcxbdk3;
		if (bcxbdk3 != null && !bcxbdk3.equals("")) {
			this.strbcxbdk3 = dealDateFormat1(bcxbdk3);
			this.nyrstrbcxbdk3 = dealDateFormat2(bcxbdk3);
		}
	}

	public String getStrbcsbdk1() {
		return strbcsbdk1;
	}

	public void setStrbcsbdk1(String strbcsbdk1) {
		this.strbcsbdk1 = strbcsbdk1;
	}

	public String getStrbcxbdk1() {
		return strbcxbdk1;
	}

	public void setStrbcxbdk1(String strbcxbdk1) {
		this.strbcxbdk1 = strbcxbdk1;
	}

	public String getStrbcsbdk2() {
		return strbcsbdk2;
	}

	public void setStrbcsbdk2(String strbcsbdk2) {
		this.strbcsbdk2 = strbcsbdk2;
	}

	public String getStrbcxbdk2() {
		return strbcxbdk2;
	}

	public void setStrbcxbdk2(String strbcxbdk2) {
		this.strbcxbdk2 = strbcxbdk2;
	}

	public String getStrbcsbdk3() {
		return strbcsbdk3;
	}

	public void setStrbcsbdk3(String strbcsbdk3) {
		this.strbcsbdk3 = strbcsbdk3;
	}

	public String getStrbcxbdk3() {
		return strbcxbdk3;
	}

	public void setStrbcxbdk3(String strbcxbdk3) {
		this.strbcxbdk3 = strbcxbdk3;
	}

	public String getStrsbdk1() {
		return strsbdk1;
	}

	public void setStrsbdk1(String strsbdk1) {
		this.strsbdk1 = strsbdk1;
	}

	public String getStrxbdk1() {
		return strxbdk1;
	}

	public void setStrxbdk1(String strxbdk1) {
		this.strxbdk1 = strxbdk1;
	}

	public String getStrsbdk2() {
		return strsbdk2;
	}

	public void setStrsbdk2(String strsbdk2) {
		this.strsbdk2 = strsbdk2;
	}

	public String getStrxbdk2() {
		return strxbdk2;
	}

	public void setStrxbdk2(String strxbdk2) {
		this.strxbdk2 = strxbdk2;
	}

	public String getStrsbdk3() {
		return strsbdk3;
	}

	public void setStrsbdk3(String strsbdk3) {
		this.strsbdk3 = strsbdk3;
	}

	public String getStrxbdk3() {
		return strxbdk3;
	}

	public void setStrxbdk3(String strxbdk3) {
		this.strxbdk3 = strxbdk3;
	}

	public String getNyrstrbcsbdk1() {
		return nyrstrbcsbdk1;
	}

	public void setNyrstrbcsbdk1(String nyrstrbcsbdk1) {
		this.nyrstrbcsbdk1 = nyrstrbcsbdk1;
	}

	public String getNyrstrbcxbdk1() {
		return nyrstrbcxbdk1;
	}

	public void setNyrstrbcxbdk1(String nyrstrbcxbdk1) {
		this.nyrstrbcxbdk1 = nyrstrbcxbdk1;
	}

	public String getNyrstrbcsbdk2() {
		return nyrstrbcsbdk2;
	}

	public void setNyrstrbcsbdk2(String nyrstrbcsbdk2) {
		this.nyrstrbcsbdk2 = nyrstrbcsbdk2;
	}

	public String getNyrstrbcxbdk2() {
		return nyrstrbcxbdk2;
	}

	public void setNyrstrbcxbdk2(String nyrstrbcxbdk2) {
		this.nyrstrbcxbdk2 = nyrstrbcxbdk2;
	}

	public String getNyrstrbcsbdk3() {
		return nyrstrbcsbdk3;
	}

	public void setNyrstrbcsbdk3(String nyrstrbcsbdk3) {
		this.nyrstrbcsbdk3 = nyrstrbcsbdk3;
	}

	public String getNyrstrbcxbdk3() {
		return nyrstrbcxbdk3;
	}

	public void setNyrstrbcxbdk3(String nyrstrbcxbdk3) {
		this.nyrstrbcxbdk3 = nyrstrbcxbdk3;
	}

	public String getStrdksj() {
		return strdksj;
	}

	public void setStrdksj(String strdksj) {
		this.strdksj = strdksj;
	}

	public String dealDateFormat1(String oldDateStr) {
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); // yyyy-MM-dd'T'HH:mm:ss.SSSZ
		Date date = null;
		try {
			date = df.parse(oldDateStr);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		SimpleDateFormat df1 = new SimpleDateFormat(
				"EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);
		Date date1 = null;
		try {
			date1 = df1.parse(date.toString());
		} catch (ParseException e) {
			e.printStackTrace();
		}
		DateFormat df2 = new SimpleDateFormat("HH:mm");
		return df2.format(date1);
	}

	public String dealDateFormat2(String oldDateStr) {
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); // yyyy-MM-dd'T'HH:mm:ss.SSSZ
		Date date = null;
		try {
			date = df.parse(oldDateStr);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		SimpleDateFormat df1 = new SimpleDateFormat(
				"EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);
		Date date1 = null;
		try {
			date1 = df1.parse(date.toString());
		} catch (ParseException e) {
			e.printStackTrace();
		}
		DateFormat df2 = new SimpleDateFormat("HH-mm");
		return df2.format(date1);
	}
}