use of org.devgateway.ocds.persistence.mongo.Award in project ocvn by devgateway.
the class ReleaseFlagI019Processor method calculateFlag.
@Override
protected Boolean calculateFlag(FlaggedRelease flaggable, StringBuffer rationale) {
Optional<Award> award = flaggable.getAwards().stream().filter(a -> a.getDate() != null && Award.Status.active.equals(a.getStatus())).findFirst();
if (!award.isPresent()) {
return false;
}
Days daysBetween = Days.daysBetween(new DateTime(flaggable.getTender().getTenderPeriod().getEndDate()), new DateTime(award.get().getDate()));
rationale.append("Days between: ").append(daysBetween.getDays()).append("; Max allowed days: ").append(MAX_ALLOWED_DAYS_TENDER_END_DATE_AWARD_DATE).append(";");
return daysBetween.getDays() > MAX_ALLOWED_DAYS_TENDER_END_DATE_AWARD_DATE;
}
use of org.devgateway.ocds.persistence.mongo.Award in project oc-explorer by devgateway.
the class ReleaseFlagI085Processor method calculateFlag.
@Override
protected Boolean calculateFlag(FlaggedRelease flaggable, StringBuffer rationale) {
boolean result = false;
for (Detail bid : flaggable.getBids().getDetails()) {
for (Award award : flaggable.getAwards()) {
if (!Award.Status.active.equals(award.getStatus()) || bid.getValue() == null || bid.getValue().getAmount() == null || award.getValue() == null || award.getValue().getAmount() == null || !award.getValue().getCurrency().equals(bid.getValue().getCurrency()) || award.getValue().getAmount().equals(bid.getValue().getAmount())) {
continue;
}
BigDecimal d = award.getValue().getAmount().subtract(bid.getValue().getAmount()).abs().divide(award.getValue().getAmount().max(bid.getValue().getAmount()), 5, BigDecimal.ROUND_HALF_UP);
if (d.compareTo(I085_HI_THRESH) > 0 || d.compareTo(I085_LOW_THRESH) < 0) {
continue;
}
BigDecimal dLeft = relativeDistanceLeft(bid.getValue().getAmount(), award.getValue().getAmount()).multiply(GenericOCDSController.ONE_HUNDRED);
BigDecimal dRight = relativeDistanceRight(bid.getValue().getAmount(), award.getValue().getAmount()).multiply(GenericOCDSController.ONE_HUNDRED);
// using the same logic as owen here...
if (dLeft.doubleValue() % 1 == 0 || dRight.doubleValue() % 1 == 0) {
result = true;
rationale.append("Award=").append(award.getValue().getAmount().setScale(5, BigDecimal.ROUND_HALF_UP)).append(" with bid=").append(bid.getValue().getAmount().setScale(5, BigDecimal.ROUND_HALF_UP)).append("; ");
break;
}
}
}
return result;
}
use of org.devgateway.ocds.persistence.mongo.Award in project oc-explorer by devgateway.
the class RecordRepositoryTest method getRelease2.
private Release getRelease2() {
final Release release = new Release();
release.setOcid(ocid);
final Planning planning = new Planning();
release.setPlanning(planning);
final Budget budget = new Budget();
planning.setBudget(budget);
final Amount amount = new Amount();
amount.setAmount(BigDecimal.valueOf(2345));
amount.setCurrency(Amount.Currency.USD);
budget.setAmount(amount);
budget.setDescription("Some description 2");
budget.setProject("A nice project! 2");
// budget.setSource("The source! 2");
final Award award1 = new Award();
award1.setDescription("SoMe AwArD 2");
award1.setId("2");
release.getAwards().add(award1);
final Award award2 = new Award();
award2.setDescription("Some award3");
award2.setId("3");
release.getAwards().add(award2);
return release;
}
use of org.devgateway.ocds.persistence.mongo.Award in project oc-explorer by devgateway.
the class RecordRepositoryTest method getRelease1.
private Release getRelease1() {
final Release release = new Release();
release.setOcid(ocid);
final Planning planning = new Planning();
release.setPlanning(planning);
final Budget budget = new Budget();
planning.setBudget(budget);
final Amount amount = new Amount();
amount.setAmount(BigDecimal.valueOf(1234));
amount.setCurrency(Amount.Currency.VND);
budget.setAmount(amount);
budget.setDescription("Some description 1");
budget.setProject("A nice project! 1");
// budget.setSource("The source! 1");
final Award award1 = new Award();
award1.setDescription("Some award1");
award1.setId("1");
release.getAwards().add(award1);
final Award award2 = new Award();
award2.setDescription("Some award2");
award2.setId("2");
release.getAwards().add(award2);
return release;
}
use of org.devgateway.ocds.persistence.mongo.Award in project ocvn by devgateway.
the class RecordRepositoryTest method getRelease2.
private Release getRelease2() {
final Release release = new Release();
release.setOcid(ocid);
final Planning planning = new Planning();
release.setPlanning(planning);
final Budget budget = new Budget();
planning.setBudget(budget);
final Amount amount = new Amount();
amount.setAmount(BigDecimal.valueOf(2345));
amount.setCurrency("USD");
budget.setAmount(amount);
budget.setDescription("Some description 2");
budget.setProject("A nice project! 2");
budget.setSource("The source! 2");
final Award award1 = new Award();
award1.setDescription("SoMe AwArD 2");
award1.setId("2");
release.getAwards().add(award1);
final Award award2 = new Award();
award2.setDescription("Some award3");
award2.setId("3");
release.getAwards().add(award2);
return release;
}
Aggregations