package com.engine.htsc.trip.pojo;


import com.engine.htsc.trip.service.impl.ReimbursementServiceImpl;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;

import java.io.Serializable;

/**
 * 月结差补主数据封装
 * @see ReimbursementServiceImpl
 */
public class ReiMAInfo implements Serializable {
	String ccr;
	String requestId;
	String ngr;
	String requestMark;
	String requestName;
	//关联出差申请流程
	String relCcReqMark;
	//流程最后修改日期
	String lastOperateDate;

	public ReiMAInfo() {
	}

	public ReiMAInfo(String ccr, String requestId, String ngr, String requestMark, String requestName, String relCcReqMark, String lastOperateDate) {
		this.ccr = ccr;
		this.requestId = requestId;
		this.ngr = ngr;
		this.requestMark = requestMark;
		this.requestName = requestName;
		this.relCcReqMark = relCcReqMark;
		this.lastOperateDate = lastOperateDate;
	}

	public String getCcr() {
		return ccr;
	}

	public void setCcr(String ccr) {
		this.ccr = ccr;
	}

	public String getRequestId() {
		return requestId;
	}

	public void setRequestId(String requestId) {
		this.requestId = requestId;
	}

	public String getNgr() {
		return ngr;
	}

	public void setNgr(String ngr) {
		this.ngr = ngr;
	}

	public String getRequestMark() {
		return requestMark;
	}

	public void setRequestMark(String requestMark) {
		this.requestMark = requestMark;
	}

	public String getRequestName() {
		return requestName;
	}

	public void setRequestName(String requestName) {
		this.requestName = requestName;
	}

	public String getRelCcReqMark() {
		return relCcReqMark;
	}

	public void setRelCcReqMark(String relCcReqMark) {
		this.relCcReqMark = relCcReqMark;
	}

	public String getLastOperateDate() {
		return lastOperateDate;
	}

	public void setLastOperateDate(String lastOperateDate) {
		this.lastOperateDate = lastOperateDate;
	}

	@Override
	public String toString() {
		return "ReiMAInfo{" +
				"ccr='" + ccr + '\'' +
				", requestId='" + requestId + '\'' +
				", ngr='" + ngr + '\'' +
				", requestMark='" + requestMark + '\'' +
				", requestName='" + requestName + '\'' +
				", relCcReqMark='" + relCcReqMark + '\'' +
				", lastOperateDate='" + lastOperateDate + '\'' +
				'}';
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;

		if (o == null || getClass() != o.getClass()) return false;

		ReiMAInfo reiMAInfo = (ReiMAInfo) o;

		return new EqualsBuilder()
						.append(ccr, reiMAInfo.ccr)
						.append(requestId, reiMAInfo.requestId)
						.append(ngr, reiMAInfo.ngr)
						.append(requestMark, reiMAInfo.requestMark)
						.append(requestName, reiMAInfo.requestName)
						.append(relCcReqMark, reiMAInfo.relCcReqMark)
						.append(lastOperateDate, reiMAInfo.lastOperateDate)
						.isEquals();
	}

	@Override
	public int hashCode() {
		return new HashCodeBuilder(17, 37)
						.append(ccr)
						.append(requestId)
						.append(ngr)
						.append(requestMark)
						.append(requestName)
						.append(relCcReqMark)
						.append(lastOperateDate)
						.toHashCode();
	}
}
