package com.dev.swms.server.model.rules;

import java.util.HashMap;
import java.util.Map;

import com.dev.swms.server.model.base.Structure;
import com.dev.energy.server.model.DomainModel;

public class LotRuleComponent extends DomainModel {
	/** 批次号 */
	private Boolean trackPropC1 = false;
	/** 序列号 */
	private Boolean trackPropC2 = false;
	/** 原产地 */
	private Boolean trackPropC3 = false;
	/** 供应商名称 */
	private Boolean trackPropC4 = false;
	/** 属性C5 */
	private Boolean trackPropC5 = false;
	/** 属性C6 */
	private Boolean trackPropC6 = false;
	/** 属性C7 */
	private Boolean trackPropC7 = false;
	/** 属性C8 */
    private Boolean trackPropC8 = false;
    /** 属性C9 */
	private Boolean trackPropC9 = false;
	/** 单价 */
	private Boolean trackPropN1 = false;
	/** 属性N2 */
	private Boolean trackPropN2 = false;
	/** 属性N3 */
	private Boolean trackPropN3 = false;
	/** 生产日期 */
	private Boolean trackPropD1 = false;
	/** 失效日期 */
	private Boolean trackPropD2 = false;
	/** 属性D3 */
	private Boolean trackPropD3 = false;
	/** 供应商ID */
	private Boolean trackPropL1 = false;
	/** 属性L2 */
	private Boolean trackPropL2 = false;
	/** 属性L3 */
	private Boolean trackPropL3 = false;

	public Boolean getTrackPropC1() {
		return trackPropC1;
	}

	public void setTrackPropC1(Boolean trackPropC1) {
		this.trackPropC1 = trackPropC1;
	}

	public Boolean getTrackPropC2() {
		return trackPropC2;
	}

	public void setTrackPropC2(Boolean trackPropC2) {
		this.trackPropC2 = trackPropC2;
	}

	public Boolean getTrackPropC3() {
		return trackPropC3;
	}

	public void setTrackPropC3(Boolean trackPropC3) {
		this.trackPropC3 = trackPropC3;
	}

	public Boolean getTrackPropC4() {
		return trackPropC4;
	}

	public void setTrackPropC4(Boolean trackPropC4) {
		this.trackPropC4 = trackPropC4;
	}

	public Boolean getTrackPropC5() {
		return trackPropC5;
	}

	public void setTrackPropC5(Boolean trackPropC5) {
		this.trackPropC5 = trackPropC5;
	}

	public Boolean getTrackPropC6() {
		return trackPropC6;
	}

	public void setTrackPropC6(Boolean trackPropC6) {
		this.trackPropC6 = trackPropC6;
	}

	public Boolean getTrackPropC7() {
		return trackPropC7;
	}

	public void setTrackPropC7(Boolean trackPropC7) {
		this.trackPropC7 = trackPropC7;
	}

	public Boolean getTrackPropC8() {
		return trackPropC8;
	}

	public void setTrackPropC8(Boolean trackPropC8) {
		this.trackPropC8 = trackPropC8;
	}

	public Boolean getTrackPropC9() {
		return trackPropC9;
	}

	public void setTrackPropC9(Boolean trackPropC9) {
		this.trackPropC9 = trackPropC9;
	}

	public Boolean getTrackPropN1() {
		return trackPropN1;
	}

	public void setTrackPropN1(Boolean trackPropN1) {
		this.trackPropN1 = trackPropN1;
	}

	public Boolean getTrackPropN2() {
		return trackPropN2;
	}

	public void setTrackPropN2(Boolean trackPropN2) {
		this.trackPropN2 = trackPropN2;
	}

	public Boolean getTrackPropN3() {
		return trackPropN3;
	}

	public void setTrackPropN3(Boolean trackPropN3) {
		this.trackPropN3 = trackPropN3;
	}

	public Boolean getTrackPropD1() {
		return trackPropD1;
	}

	public void setTrackPropD1(Boolean trackPropD1) {
		this.trackPropD1 = trackPropD1;
	}

	public Boolean getTrackPropD2() {
		return trackPropD2;
	}

	public void setTrackPropD2(Boolean trackPropD2) {
		this.trackPropD2 = trackPropD2;
	}

	public Boolean getTrackPropD3() {
		return trackPropD3;
	}

	public void setTrackPropD3(Boolean trackPropD3) {
		this.trackPropD3 = trackPropD3;
	}

	public Boolean getTrackPropL1() {
		return trackPropL1;
	}

	public void setTrackPropL1(Boolean trackPropL1) {
		this.trackPropL1 = trackPropL1;
	}

	public Boolean getTrackPropL2() {
		return trackPropL2;
	}

	public void setTrackPropL2(Boolean trackPropL2) {
		this.trackPropL2 = trackPropL2;
	}

	public Boolean getTrackPropL3() {
		return trackPropL3;
	}

	public void setTrackPropL3(Boolean trackPropL3) {
		this.trackPropL3 = trackPropL3;
	}
	
	public Map<Integer,Boolean> getLotRuleMap(){
		Map<Integer,Boolean> lotRule = new HashMap<Integer, Boolean>();
		lotRule.put(1,this.trackPropC1);
		lotRule.put(2,this.trackPropC2);
		lotRule.put(3,this.trackPropC3);
		lotRule.put(4,this.trackPropC4);
		lotRule.put(5,this.trackPropC5);
		lotRule.put(6,this.trackPropC6);
		lotRule.put(7,this.trackPropC7);
		lotRule.put(8,this.trackPropC8);
		lotRule.put(9,this.trackPropC9);
		
		boolean flag = trackPropD1 ? true : trackPropD2 ? true : false;
		lotRule.put(10,flag);
		lotRule.put(11,flag);
		lotRule.put(12,trackPropD3);
		
		lotRule.put(13,trackPropN1);
		lotRule.put(14,trackPropN2);
		lotRule.put(15,trackPropN3);
		
		lotRule.put(16,trackPropL1);
		lotRule.put(17,trackPropL2);
		lotRule.put(18,trackPropL3);
		return lotRule;
	}
}
