Skip to content

Commit

Permalink
Merge branch 'a182845521285042_value_suppliers_migration'
Browse files Browse the repository at this point in the history
  • Loading branch information
vmaksymiv committed Oct 26, 2016
2 parents 19b779e + d220c6b commit 9c02c49
Show file tree
Hide file tree
Showing 4 changed files with 366 additions and 1 deletion.
2 changes: 1 addition & 1 deletion buildout.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ auto-checkout = openprocurement.api openprocurement_client
find-links = http://op:x9W3jZ@dist.quintagroup.com/op/

[sources]
openprocurement.api = git https://github.com/openprocurement/openprocurement.api.git
openprocurement.api = git https://github.com/openprocurement/openprocurement.api.git branch=production
openprocurement_client = git https://github.com/openprocurement/openprocurement.client.python.git

[test]
Expand Down
27 changes: 27 additions & 0 deletions openprocurement/contracting/api/migration.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,30 @@ def __init__(self, registry):
docs = []
if docs:
registry.db.update(docs)


def from1to2(registry):
LOGGER.info("Start contracts migration.", extra={'MESSAGE_ID': 'migrate_data'})
results = registry.db.iterview('contracts/all', 2 ** 10, include_docs=True)
docs = []
for i in results:
doc = i.doc

if "suppliers" not in doc:
tender_id = doc['tender_id']
rel_award = doc['awardID']
tender_doc = registry.db.get(tender_id)

rel_award = [aw for aw in tender_doc['awards'] if aw['id'] == doc['awardID']]
if not rel_award:
LOGGER.warn("Related award {} for contract {} not found!".format(doc['awardID'], doc['id']), extra={'MESSAGE_ID': 'migrate_data'})
continue
rel_award = rel_award[0]

doc['suppliers'] = rel_award['suppliers']
if "value" not in doc:
doc['value'] = rel_award['value']

docs.append(doc)

LOGGER.info("Contracts migration is finished.", extra={'MESSAGE_ID': 'migrate_data'})
Original file line number Diff line number Diff line change
@@ -0,0 +1,295 @@
{
"procurementMethod": "open",
"status": "complete",
"awardPeriod": {
"startDate": "2016-05-22T13:28:10.372672+03:00",
"endDate": "2016-05-22T13:28:10.372672+03:00"
},
"enquiryPeriod": {
"startDate": "2016-05-07T13:28:10.372672+03:00",
"endDate": "2016-05-14T13:28:10.372672+03:00"
},
"submissionMethod": "electronicAuction",
"procuringEntity": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"kind": "general",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"owner": "test",
"title": "футляри до державних нагород",
"tenderID": "UA-2016-06-01-000009",
"dateModified": "2016-06-01T13:28:28.351089+03:00",
"numberOfBids": 2,
"tenderPeriod": {
"startDate": "2016-05-14T13:28:10.372672+03:00",
"endDate": "2016-05-21T13:28:10.372672+03:00"
},
"contracts": [
{
"status": "active",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CPV",
"description": "Cartons",
"id": "44617100-9"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"deliveryDate": {
"startDate": "2016-06-03T13:28:10.372672+03:00",
"endDate": "2016-06-06T13:28:10.372672+03:00"
},
"id": "668d0c872d5e457fa13615698bdc7efa",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"suppliers": [
{
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
}
],
"value": {
"currency": "UAH",
"amount": 500.0,
"valueAddedTaxIncluded": true
},
"dateSigned": "2016-06-01T13:28:28.278110+03:00",
"date": "2016-06-01T13:28:28.277998+03:00",
"awardID": "ac997400e1ab4f7f8bc9456323e5ff2d",
"contractID": "UA-2016-06-01-000009-1"
}
],
"auctionPeriod": {
"startDate": "2016-05-21T13:28:10.372672+03:00",
"endDate": "2016-05-22T13:28:10.372672+03:00"
},
"procurementMethodType": "belowThreshold",
"awards": [
{
"status": "active",
"complaintPeriod": {
"startDate": "2016-06-01T13:28:14.086205+03:00",
"endDate": "2016-06-01T13:28:14.086205+03:00"
},
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CPV",
"description": "Cartons",
"id": "44617100-9"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"deliveryDate": {
"startDate": "2016-06-03T13:28:10.372672+03:00",
"endDate": "2016-06-06T13:28:10.372672+03:00"
},
"id": "95a791af529d402483e4a19ed7de1fee",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"suppliers": [
{
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
}
],
"bid_id": "8ce7344584ad420baed6360424018204",
"value": {
"currency": "UAH",
"amount": 500.0,
"valueAddedTaxIncluded": true
},
"date": "2016-06-01T13:28:14.231037+03:00",
"id": "ac997400e1ab4f7f8bc9456323e5ff2d"
}
],
"minimalStep": {
"currency": "UAH",
"amount": 35.0,
"valueAddedTaxIncluded": true
},
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CPV",
"description": "Cartons",
"id": "44617100-9"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"deliveryDate": {
"startDate": "2016-06-03T13:28:10.372672+03:00",
"endDate": "2016-06-06T13:28:10.372672+03:00"
},
"id": "668d0c872d5e457fa13615698bdc7efa",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"bids": [
{
"date": "2016-06-01T13:28:13.711249+03:00",
"id": "8ce7344584ad420baed6360424018204",
"value": {
"currency": "UAH",
"amount": 469.0,
"valueAddedTaxIncluded": true
},
"tenderers": [
{
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
}
]
},
{
"date": "2016-06-01T13:28:13.820746+03:00",
"id": "5a5b3473d4f74321b9de5ad16c8d60cc",
"value": {
"currency": "UAH",
"amount": 479.0,
"valueAddedTaxIncluded": true
},
"tenderers": [
{
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
}
]
}
],
"value": {
"currency": "UAH",
"amount": 500.0,
"valueAddedTaxIncluded": true
},
"awardCriteria": "lowestCost"
}

0 comments on commit 9c02c49

Please sign in to comment.