package org.openlmis.core.model;
import com.j256.ormlite.field.DataType;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import org.openlmis.core.utils.DateUtil;
import org.openlmis.core.view.viewmodel.LotMovementViewModel;
import java.util.Date;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@DatabaseTable(tableName = "draft_lot_items")
@NoArgsConstructor
public class DraftLotItem extends BaseModel{
@DatabaseField
Long quantity;
@DatabaseField(foreign = true, foreignAutoRefresh = true)
Product product;
@DatabaseField
String lotNumber;
@DatabaseField(canBeNull = false, dataType = DataType.DATE_STRING, format = DateUtil.DB_DATE_FORMAT)
Date expirationDate;
@DatabaseField(foreign = true, foreignAutoRefresh = true)
private DraftInventory draftInventory;
@DatabaseField
boolean newAdded;
public DraftLotItem(LotMovementViewModel lotMovementViewModel, Product product, boolean isNewAdded) {
try {
quantity = Long.parseLong(lotMovementViewModel.getQuantity());
} catch (Exception e) {
quantity = null;
}
setExpirationDate(DateUtil.getActualMaximumDate(DateUtil.parseString(lotMovementViewModel.getExpiryDate(), DateUtil.DATE_FORMAT_ONLY_MONTH_AND_YEAR)));
setLotNumber(lotMovementViewModel.getLotNumber());
setProduct(product);
newAdded = isNewAdded;
}
}