/*
* Electronic Logistics Management Information System (eLMIS) is a supply chain management system for health commodities in a developing country setting.
*
* Copyright (C) 2015 Clinton Health Access Initiative (CHAI). This program was produced for the U.S. Agency for International Development (USAID). It was prepared under the USAID | DELIVER PROJECT, Task Order 4.
*
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.openlmis.vaccine.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.openlmis.core.domain.BaseModel;
import org.openlmis.core.domain.DosageUnit;
import org.openlmis.core.domain.ISA;
import org.openlmis.core.domain.Money;
import org.openlmis.core.dto.IsaDTO;
import org.openlmis.core.serializer.DateDeserializer;
import java.util.Date;
import java.util.List;
import static com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion.NON_NULL;
@EqualsAndHashCode(callSuper = false)
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonSerialize(include = NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class StockRequirementsDTO extends BaseModel
{
Long programId;
Long facilityId;
Long productId;
String productCategory;
String productName;
Integer year;
Integer annualNeed;
Integer supplyPeriodNeed;
Integer minimumStock;
Integer maximumStock;
Integer reorderLevel;
Integer isaValue;
Integer bufferStock;
String dosageUnit;
Money currentPrice;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
@JsonDeserialize(using=DateDeserializer.class)
Date modifiedDate;
}