package it.micegroup.gestioneferie.pianificazioneferie.dto;

import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Collection;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;

import it.micegroup.voila2runtime.dto.GenericDto;

@Data
@EqualsAndHashCode(callSuper = false)
public class DpianiFerieWriteDto extends GenericDto {

	/**
	 *
	 * ObjectKey
	 *
	 */
	@JsonProperty
	private String objectKey;

	private Long sequIdPianoFerie;

	private String codiPianoFerie;

	private String descPianoFerie;

	private Long numeMinGgPresenza;

	private Long numeMinGgFerie;

	private Long numeMinGgDaPianificare;

	private Long numeMaxGgDaPianificare;

	private Date dataScadenzaPresentazione;

	private Date dataInizioPeriodo;

	private Date dataFinePeriodo;

	private Long fkAmministrazionePk;

	private Long fkRegolaPianoFeriePk;

	private Long fkStatoPianoFerie;

	private Long fkTipoOrganigramma;

	private Long fkUnitaFunzionale;

	private Long fkUnitaOrganizzativaPk;

	private String flagEliminato;

	private String utenteUltimaModifica;

	private Date dataUltimaModifica;

	private Date dataInizioRecord;

	private Date dataFineRecord;
	private String theDstatiPianoFerieObjectKey;

	@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
	private Collection<DrichiesteApprovazPfWriteDto> theDrichiesteApprovazPf;
	@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
	private Collection<DrichAdesionePfWriteDto> theDrichAdesionePf;
	@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
	private Collection<DammtiPianiFerieWriteDto> theDammtiPianiFerie;
}
