use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class OfflineAwardRowImporter 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.written);
VNAward award = new VNAward();
award.setId(release.getOcid() + "-award-" + release.getAwards().size());
release.getAwards().add(award);
award.setTitle(getRowCell(row, 1));
if (getRowCell(row, 2) != null) {
Amount value = new Amount();
value.setCurrency("VND");
value.setAmount(getDecimal(getRowCell(row, 2)));
award.setValue(value);
}
Organization supplier = null;
if (getRowCell(row, 3) != null) {
supplier = organizationRepository.findByName(getRowCellUpper(row, 3));
if (supplier == null) {
supplier = OrganizationRepositoryUtil.newAndInsertOrganization(Organization.OrganizationType.supplier, getRowCellUpper(row, 3), organizationRepository);
} else {
supplier = OrganizationRepositoryUtil.ensureOrgIsOfTypeAndSave(supplier, Organization.OrganizationType.supplier, organizationRepository);
}
}
award.setStatus("Y".equals(getRowCell(row, 5)) ? Award.Status.active : Award.Status.unsuccessful);
// active=successful awards have suppliers
if (supplier != null && Award.Status.active.equals(award.getStatus())) {
award.getSuppliers().add(supplier);
}
award.setContractTime(getRowCell(row, 4));
award.setIneligibleYN(getRowCell(row, 6));
award.setIneligibleRson(getRowCell(row, 7));
award.setBidType(getInteger(getRowCell(row, 8)));
award.setBidSuccMethod(getInteger(getRowCell(row, 9)));
Organization supplierOrganization = supplier;
Detail detail = null;
if (supplierOrganization != null && getRowCell(row, 10) != null) {
Amount value2 = new Amount();
value2.setCurrency("VND");
value2.setAmount(getDecimal(getRowCell(row, 10)));
VNTendererOrganization tendererOrganization = new VNTendererOrganization(supplier);
tendererOrganization.setBidValue(value2);
supplierOrganization = tendererOrganization;
detail = newBidDetailFromAwardData(getRowCell(row, 0), value2, supplier);
}
if (getRowCell(row, 12) != null) {
award.setDate(getExcelDate(getRowCell(row, 12)));
award.setPublishedDate(getExcelDate(getRowCell(row, 12)));
}
if (getRowCell(row, 11) != null) {
award.setAlternateDate(getExcelDate(getRowCell(row, 11)));
detail.setDate(award.getAlternateDate());
}
// tenderers
if (supplierOrganization != null) {
release.getTender().getTenderers().add(supplierOrganization);
}
release.getTender().setNumberOfTenderers(release.getTender().getTenderers().size());
if (detail != null) {
release.getBids().getDetails().add(detail);
}
// 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 OcdsController method ocdsReleases.
/**
* Returns a list of OCDS Releases, order by Id, using pagination
*
* @return the release data
*/
@ApiOperation(value = "Resturns all available releases, filtered by the given criteria.")
@RequestMapping(value = "/api/ocds/release/all", method = { RequestMethod.POST, RequestMethod.GET }, produces = "application/json")
@JsonView(Views.Public.class)
public List<Release> ocdsReleases(@ModelAttribute @Valid final YearFilterPagingRequest releaseRequest) {
Pageable pageRequest = new PageRequest(releaseRequest.getPageNumber(), releaseRequest.getPageSize(), Direction.ASC, "id");
List<Release> find = mongoTemplate.find(query(getYearFilterCriteria(releaseRequest, "planning.bidPlanProjectDateApprove").andOperator(getDefaultFilterCriteria(releaseRequest))).with(pageRequest), Release.class);
return find;
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class ExcelGenerator method getExcelDownload.
/**
* Method that returns a byte array with excel export.
*
* @param filter
* @return
* @throws IOException
*/
@Cacheable
public byte[] getExcelDownload(final YearFilterPagingRequest filter) throws IOException {
PageRequest pageRequest = new PageRequest(filter.getPageNumber(), filter.getPageSize(), Sort.Direction.ASC, "id");
List<Release> releases = mongoTemplate.find(query(getYearDefaultFilterCriteria(filter, MongoConstants.FieldNames.TENDER_PERIOD_START_DATE)).with(pageRequest), Release.class);
ExcelFile releaseExcelFile = new ReleaseExportFile(releases);
Workbook workbook = releaseExcelFile.createWorkbook();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
byte[] bytes = baos.toByteArray();
return bytes;
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class OcdsControllerTest method ocdsByProjectId.
@Test
public void ocdsByProjectId() throws Exception {
final Release release = ocdsController.ocdsByProjectId("SP001");
Assert.assertNotNull(release);
Assert.assertEquals("ocds-endpoint-001", release.getOcid());
}
use of org.devgateway.ocds.persistence.mongo.Release in project ocvn by devgateway.
the class OcdsControllerTest method ocdsReleases.
@Test
public void ocdsReleases() throws Exception {
final List<Release> releases = ocdsController.ocdsReleases(new YearFilterPagingRequest());
Assert.assertEquals(3, releases.size());
}
Aggregations