package org.openlmis.core.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import org.openlmis.core.manager.MovementReasonManager;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@DatabaseTable(tableName = "lot_movement_items")
public class LotMovementItem extends BaseModel {
@DatabaseField(foreign = true, foreignAutoRefresh = true)
Lot lot;
@DatabaseField
Long stockOnHand;
@Expose
@SerializedName("quantity")
@DatabaseField
Long movementQuantity;
@DatabaseField(foreign = true, foreignAutoRefresh = true)
private StockMovementItem stockMovementItem;
private boolean isStockOnHandReset;
public void setStockMovementItemAndUpdateMovementQuantity(StockMovementItem stockMovementItem) {
this.stockMovementItem = stockMovementItem;
updateMovementQuantity();
}
public void updateMovementQuantity() {
if (stockMovementItem.getMovementType().equals(MovementReasonManager.MovementType.ISSUE)
|| stockMovementItem.getMovementType().equals(MovementReasonManager.MovementType.NEGATIVE_ADJUST)) {
movementQuantity *= -1;
}
}
}