package com.ssj.service.kmt.arrange.dto;

import com.ssj.bean.kmt.kmt.domain.KmtArrangeDetail;
import com.ssj.framework.basic.utils.DateHelper;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 排班日历表实体
 * 2019年8月8日13:46:23
 * @author wuwen
 */
public class ArrangeCalendarDto implements Serializable {

    private static final long serialVersionUID = 1L;
	
	private Integer month;
	
	private String type;
	
	private String subject;
	
	private Integer isNextMonth=0;
	
	private List<ArrangeDetailDto> list=new ArrayList<ArrangeDetailDto>();

	public Integer getMonth() {
		return month;
	}

	public void setMonth(Integer month) {
		this.month = month;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public List<ArrangeDetailDto> getList() {
		return list;
	}

	public void setList(List<ArrangeDetailDto> list) {
		this.list = list;
	}
	public Integer getIsNextMonth() {
		return isNextMonth;
	}

	public void setIsNextMonth(Integer isNextMonth) {
		this.isNextMonth = isNextMonth;
	}
	
	//合并日历列表
	public void addArrangeDetailDto(KmtArrangeDetail kmtArrangeDetail){
		boolean isContain=false;
		for (ArrangeDetailDto arrangeDetailDto : this.list) {
			if(arrangeDetailDto.getArrangeDate()
					.equals(DateHelper.format(kmtArrangeDetail.getArrangeDate(),"yyyy-MM-dd"))){
				ArrangeIntervalDto arrangeIntervalDto=new ArrangeIntervalDto();
				arrangeIntervalDto.setId(kmtArrangeDetail.getId());
				arrangeIntervalDto.setArrangeDate(DateHelper.format(kmtArrangeDetail.getArrangeDate(),"yyyy-MM-dd"));
				arrangeIntervalDto.setStartInterval(kmtArrangeDetail.getStartInterval());
				arrangeIntervalDto.setEndInterval(kmtArrangeDetail.getEndInterval());
				arrangeIntervalDto.setMaxNum(kmtArrangeDetail.getMaxNum());
				arrangeIntervalDto.setMiniNum(kmtArrangeDetail.getMiniNum());
				arrangeIntervalDto.setHaveNum(kmtArrangeDetail.getHaveNum());
				arrangeIntervalDto.setIsOpen(kmtArrangeDetail.getIsOpen());
				arrangeDetailDto.getIntervalList().add(arrangeIntervalDto);
				
				//更新全部总量
				arrangeDetailDto.updateNumAndOpen();
				isContain=true;
			}	
		}
		
		if(!isContain){
			ArrangeDetailDto arrangeDetailDto=new ArrangeDetailDto();
			arrangeDetailDto.setArrangeDate(DateHelper.format(kmtArrangeDetail.getArrangeDate(),"yyyy-MM-dd"));
			arrangeDetailDto.setWeek(kmtArrangeDetail.getWeek());
			
			ArrangeIntervalDto arrangeIntervalDto=new ArrangeIntervalDto();
			arrangeIntervalDto.setId(kmtArrangeDetail.getId());
			arrangeIntervalDto.setArrangeDate(DateHelper.format(kmtArrangeDetail.getArrangeDate(),"yyyy-MM-dd"));
			arrangeIntervalDto.setStartInterval(kmtArrangeDetail.getStartInterval());
			arrangeIntervalDto.setEndInterval(kmtArrangeDetail.getEndInterval());
			arrangeIntervalDto.setMaxNum(kmtArrangeDetail.getMaxNum());
			arrangeIntervalDto.setMiniNum(kmtArrangeDetail.getMiniNum());
			arrangeIntervalDto.setHaveNum(kmtArrangeDetail.getHaveNum());
			arrangeIntervalDto.setIsOpen(kmtArrangeDetail.getIsOpen());
			arrangeDetailDto.getIntervalList().add(arrangeIntervalDto);
			//更新全部总量
			arrangeDetailDto.updateNumAndOpen();
			this.list.add(arrangeDetailDto);
		}
		
	}

	
	

}
