package org.springblade.app.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
public class CarTendencyVO {
	@ApiModelProperty("日期列表")
	private List<String> dateList;
	@ApiModelProperty("内部进场车辆")
	private List<Integer> enterCarOfInside;
	@ApiModelProperty("外部进场车辆")
	private List<Integer> enterCarOfOutside;
	@ApiModelProperty("内部出场车辆")
	private List<Integer> departCarOfInside;
	@ApiModelProperty("外部出场车辆")
	private List<Integer> departCarOfOutside;
	@ApiModelProperty("人员出入记录")
	private List<Integer> peopleNUm;

	public static final class CarTendencyVOBuilder {
		private List<String> dateList;
		private List<Integer> enterCarOfInside;
		private List<Integer> enterCarOfOutside;
		private List<Integer> departCarOfInside;
		private List<Integer> departCarOfOutside;
		private List<Integer> peopleNUm;

		public CarTendencyVOBuilder() {
		}

		public static CarTendencyVOBuilder aCarTendencyVO() {
			return new CarTendencyVOBuilder();
		}

		public CarTendencyVOBuilder withDateList(List<String> dateList) {
			this.dateList = dateList;
			return this;
		}

		public CarTendencyVOBuilder withEnterCarOfInside(List<Integer> enterCarOfInside) {
			this.enterCarOfInside = enterCarOfInside;
			return this;
		}

		public CarTendencyVOBuilder withEnterCarOfOutside(List<Integer> enterCarOfOutside) {
			this.enterCarOfOutside = enterCarOfOutside;
			return this;
		}

		public CarTendencyVOBuilder withDepartCarOfInside(List<Integer> departCarOfInside) {
			this.departCarOfInside = departCarOfInside;
			return this;
		}

		public CarTendencyVOBuilder withDepartCarOfOutside(List<Integer> departCarOfOutside) {
			this.departCarOfOutside = departCarOfOutside;
			return this;
		}

		public CarTendencyVOBuilder withPeopleNUm(List<Integer> peopleNUm) {
			this.peopleNUm = peopleNUm;
			return this;
		}

		public CarTendencyVO build() {
			CarTendencyVO carTendencyVO = new CarTendencyVO();
			carTendencyVO.setDateList(dateList);
			carTendencyVO.setEnterCarOfInside(enterCarOfInside);
			carTendencyVO.setEnterCarOfOutside(enterCarOfOutside);
			carTendencyVO.setDepartCarOfInside(departCarOfInside);
			carTendencyVO.setDepartCarOfOutside(departCarOfOutside);
			carTendencyVO.setPeopleNUm(peopleNUm);
			return carTendencyVO;
		}
	}
}
