use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class OcdsController method ocdsPackages.
@ApiOperation(value = "Returns all available packages, filtered by the given criteria." + "This will contain the OCDS package information (metadata about publisher) plus the release itself.")
@RequestMapping(value = "/api/ocds/package/all", method = { RequestMethod.POST, RequestMethod.GET }, produces = "application/json")
@JsonView(Views.Public.class)
public List<ReleasePackage> ocdsPackages(@ModelAttribute @Valid final YearFilterPagingRequest releaseRequest) {
List<Release> ocdsReleases = ocdsReleases(releaseRequest);
List<ReleasePackage> releasePackages = new ArrayList<>(ocdsReleases.size());
for (Release release : ocdsReleases) {
releasePackages.add(createReleasePackage(release));
}
return releasePackages;
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class EBidAwardRowImporter method createReleaseFromReleaseRow.
@Override
public Release createReleaseFromReleaseRow(final String[] row) throws ParseException {
Release release = repository.findByPlanningBidNo(getRowCell(row, 0));
if (release == null) {
release = newReleaseFromAwardFactory(getRowCell(row, 0));
}
if (release.getTender() == null) {
VNTender tender = new VNTender();
tender.setId(release.getOcid());
release.setTender(tender);
}
release.getTender().getSubmissionMethod().add(Tender.SubmissionMethod.electronicSubmission);
VNAward award = new VNAward();
award.setId(release.getOcid() + "-award-" + release.getAwards().size());
release.getAwards().add(award);
Amount value = new Amount();
value.setCurrency("VND");
value.setAmount(getDecimal(getRowCell(row, 1)));
award.setValue(value);
Organization supplier = organizationRepository.findByAllIds(getRowCellUpper(row, 2));
if (supplier == null) {
supplier = OrganizationRepositoryUtil.newAndInsertOrganization(Organization.OrganizationType.supplier, getRowCellUpper(row, 2), organizationRepository);
} else {
supplier = OrganizationRepositoryUtil.ensureOrgIsOfTypeAndSave(supplier, Organization.OrganizationType.supplier, organizationRepository);
}
Organization supplierOrganization = supplier;
Detail detail = null;
if (supplierOrganization != null && getRowCell(row, 1) != null) {
Amount value2 = new Amount();
value2.setCurrency("VND");
value2.setAmount(getDecimal(getRowCell(row, 1)));
VNTendererOrganization tendererOrganization = new VNTendererOrganization(supplier);
tendererOrganization.setBidValue(value2);
supplierOrganization = tendererOrganization;
detail = newBidDetailFromAwardData(getRowCell(row, 0), value2, supplier);
}
award.setStatus("Y".equals(getRowCell(row, 5)) ? Award.Status.active : Award.Status.unsuccessful);
// active=successful awards have suppliers
if (Award.Status.active.equals(award.getStatus())) {
award.getSuppliers().add(supplier);
}
award.setContractTime(getRowCell(row, 3));
award.setBidOpenRank(getInteger(getRowCell(row, 4)));
award.setIneligibleYN(getRowCell(row, 6));
award.setIneligibleRson(getRowCell(row, 7));
if (getRowCell(row, 8) != null) {
award.setAlternateDate(getExcelDate(getRowCell(row, 8)));
}
if (getRowCell(row, 10) != null) {
award.setDate(getExcelDate(getRowCell(row, 10)));
}
if (getRowCell(row, 9) != null) {
award.setPublishedDate(getExcelDate(getRowCell(row, 9)));
}
// tenderers
if (supplierOrganization != null) {
release.getTender().getTenderers().add(supplierOrganization);
}
if (detail != null) {
release.getBids().getDetails().add(detail);
}
release.getTender().setNumberOfTenderers(release.getTender().getTenderers().size());
// copy items from tender
award.getItems().addAll(release.getTender().getItems());
checkForAwardOutliers(release, award);
return release;
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class ReleaseCompilerService method createSaveCompiledReleaseAndSaveRecord.
public void createSaveCompiledReleaseAndSaveRecord(final Record record) {
Release compiledRelease = createCompiledRelease(record);
record.setCompiledRelease(releaseRepository.save(compiledRelease));
recordRepository.save(record);
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class ReleaseCompilerService method createCompiledRelease.
protected Release createCompiledRelease(final Record record) {
// empty records produce null compiled release
if (record.getReleases().isEmpty()) {
return null;
}
// records with just one release produce a compiled release identical to
// the one release
Release left = record.getReleases().get(0);
if (record.getReleases().size() > 1) {
// we merge each element of the list to its left partner
List<Release> subList = record.getReleases().subList(1, record.getReleases().size());
for (Release right : subList) {
Release compiled = mergeOcdsBeans(left, right);
left = compiled;
}
}
// this was purposefully nullified by ocdsOmit
left.setTag(new ArrayList<Tag>());
left.getTag().add(Tag.compiled);
return left;
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class ReleaseJsonImport method importObject.
@Override
public Release importObject() throws IOException {
Release release = (Release) releaseJsonToObject.toObject();
release = releaseRepository.save(release);
return release;
}
Aggregations