Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
synergy-api-util
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Raimbek Egemberdiev
synergy-api-util
Commits
ed7802ac
Commit
ed7802ac
authored
Nov 15, 2016
by
Raimbek Egemberdiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
рефакторинг использование справочников synergy
parent
da31b782
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1152 additions
and
0 deletions
+1152
-0
src/main/java/kz/arta/synergy/api/dictionaries/DictionaryConvertException.java
.../synergy/api/dictionaries/DictionaryConvertException.java
+23
-0
src/main/java/kz/arta/synergy/api/dictionaries/DictionaryService.java
...a/kz/arta/synergy/api/dictionaries/DictionaryService.java
+93
-0
src/main/java/kz/arta/synergy/api/dictionaries/annotations/DictionaryCode.java
.../synergy/api/dictionaries/annotations/DictionaryCode.java
+18
-0
src/main/java/kz/arta/synergy/api/dictionaries/annotations/DictionaryColumn.java
...ynergy/api/dictionaries/annotations/DictionaryColumn.java
+18
-0
src/main/java/kz/arta/synergy/api/dictionaries/pojo/Dictionary.java
...ava/kz/arta/synergy/api/dictionaries/pojo/Dictionary.java
+85
-0
src/main/java/kz/arta/synergy/api/dictionaries/pojo/DictionaryColumn.java
.../arta/synergy/api/dictionaries/pojo/DictionaryColumn.java
+29
-0
src/main/java/kz/arta/synergy/api/dictionaries/pojo/DictionaryItem.java
...kz/arta/synergy/api/dictionaries/pojo/DictionaryItem.java
+31
-0
src/main/java/kz/arta/synergy/api/dictionaries/pojo/DictionaryItemValue.java
...ta/synergy/api/dictionaries/pojo/DictionaryItemValue.java
+29
-0
src/test/java/kz/arta/synergy/api/dictionaries/DictionaryServiceTest.java
.../arta/synergy/api/dictionaries/DictionaryServiceTest.java
+57
-0
src/test/java/kz/arta/synergy/pojo/RatesDict.java
src/test/java/kz/arta/synergy/pojo/RatesDict.java
+99
-0
src/test/resources/data/dictionary.json
src/test/resources/data/dictionary.json
+670
-0
No files found.
src/main/java/kz/arta/synergy/api/dictionaries/DictionaryConvertException.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries
;
/**
* @author raimbek
* @since 15.11.2016
*/
public
class
DictionaryConvertException
extends
Exception
{
public
DictionaryConvertException
()
{
}
public
DictionaryConvertException
(
String
message
)
{
super
(
message
);
}
public
DictionaryConvertException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
public
DictionaryConvertException
(
Throwable
cause
)
{
super
(
cause
);
}
}
src/main/java/kz/arta/synergy/api/dictionaries/DictionaryService.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries
;
import
com.google.common.base.Strings
;
import
kz.arta.synergy.api.JsonUtils
;
import
kz.arta.synergy.api.Query
;
import
kz.arta.synergy.api.QueryContext
;
import
kz.arta.synergy.api.RestHttpQuery
;
import
kz.arta.synergy.api.dictionaries.annotations.DictionaryCode
;
import
kz.arta.synergy.api.dictionaries.annotations.DictionaryColumn
;
import
kz.arta.synergy.api.dictionaries.pojo.Dictionary
;
import
kz.arta.synergy.api.dictionaries.pojo.DictionaryItem
;
import
kz.arta.synergy.api.dictionaries.pojo.DictionaryItemValue
;
import
java.io.IOException
;
import
java.lang.reflect.Field
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author raimbek
* @since 15.11.2016
*/
public
class
DictionaryService
{
private
final
RestHttpQuery
restHttpQuery
;
private
DictionaryService
(
QueryContext
context
)
{
this
.
restHttpQuery
=
new
RestHttpQuery
(
context
);
}
public
static
DictionaryService
newInstance
(
QueryContext
context
)
{
return
new
DictionaryService
(
context
);
}
public
Dictionary
getDictionary
(
String
code
)
throws
IOException
{
Query
query
=
Query
.
newInstance
()
.
url
(
"/rest/api/dictionary/get_by_code"
)
.
queryParam
(
"dictionaryCode"
,
code
);
return
JsonUtils
.
read
(
restHttpQuery
.
doQuery
(
query
),
Dictionary
.
class
);
}
public
<
T
>
List
<
T
>
getDictionary
(
Class
<
T
>
dictionaryType
)
throws
DictionaryConvertException
{
try
{
ArrayList
<
T
>
dictionaryList
=
new
ArrayList
<>();
DictionaryCode
dictionaryCodeAnnotation
=
dictionaryType
.
getAnnotation
(
DictionaryCode
.
class
);
if
(
dictionaryCodeAnnotation
==
null
)
{
throw
new
DictionaryConvertException
(
"Dictionary class should be marked tiwh annotation "
+
DictionaryCode
.
class
.
getName
()
);
}
Dictionary
dictionary
=
getDictionary
(
dictionaryCodeAnnotation
.
value
());
Map
<
String
,
Field
>
columnIds
=
new
HashMap
<>();
for
(
Field
classField
:
dictionaryType
.
getDeclaredFields
())
{
DictionaryColumn
dictionaryColumnAnnotation
=
classField
.
getAnnotation
(
DictionaryColumn
.
class
);
if
(
dictionaryColumnAnnotation
==
null
)
{
continue
;
}
String
columnCode
=
dictionaryColumnAnnotation
.
value
();
if
(
Strings
.
isNullOrEmpty
(
columnCode
))
{
columnCode
=
classField
.
getName
();
}
String
columnIdByCode
=
dictionary
.
findColumnIdByCode
(
columnCode
);
if
(
columnIdByCode
!=
null
)
{
classField
.
setAccessible
(
true
);
columnIds
.
put
(
columnIdByCode
,
classField
);
}
}
for
(
DictionaryItem
dictionaryItem
:
dictionary
.
getItems
())
{
T
dictionaryItemObject
=
dictionaryType
.
newInstance
();
for
(
DictionaryItemValue
itemValue
:
dictionaryItem
.
getValues
())
{
if
(
columnIds
.
containsKey
(
itemValue
.
getColumnID
()))
{
Field
field
=
columnIds
.
get
(
itemValue
.
getColumnID
());
field
.
set
(
dictionaryItemObject
,
itemValue
.
getValue
());
}
}
dictionaryList
.
add
(
dictionaryItemObject
);
}
return
dictionaryList
;
}
catch
(
Exception
ex
)
{
throw
new
DictionaryConvertException
(
ex
);
}
}
}
src/main/java/kz/arta/synergy/api/dictionaries/annotations/DictionaryCode.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries.annotations
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
/**
* @author raimbek
* @since 09.11.2016
*/
@Target
(
ElementType
.
TYPE
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
DictionaryCode
{
String
value
();
}
src/main/java/kz/arta/synergy/api/dictionaries/annotations/DictionaryColumn.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries.annotations
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
/**
* @author raimbek
* @since 09.11.2016
*/
@Target
(
ElementType
.
FIELD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
DictionaryColumn
{
String
value
()
default
""
;
}
src/main/java/kz/arta/synergy/api/dictionaries/pojo/Dictionary.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries.pojo
;
import
com.google.common.base.Strings
;
import
java.util.List
;
/**
* @author raimbek
* @since 26.04.2016
*/
public
class
Dictionary
{
private
String
dictionary_code
;
private
String
dictionaryID
;
private
List
<
DictionaryColumn
>
columns
;
private
List
<
DictionaryItem
>
items
;
public
Dictionary
()
{
}
public
String
getDictionary_code
()
{
return
dictionary_code
;
}
public
void
setDictionary_code
(
String
dictionary_code
)
{
this
.
dictionary_code
=
dictionary_code
;
}
public
String
getDictionaryID
()
{
return
dictionaryID
;
}
public
void
setDictionaryID
(
String
dictionaryID
)
{
this
.
dictionaryID
=
dictionaryID
;
}
public
List
<
DictionaryColumn
>
getColumns
()
{
return
columns
;
}
public
void
setColumns
(
List
<
DictionaryColumn
>
columns
)
{
this
.
columns
=
columns
;
}
public
List
<
DictionaryItem
>
getItems
()
{
return
items
;
}
public
void
setItems
(
List
<
DictionaryItem
>
items
)
{
this
.
items
=
items
;
}
public
String
findColumnIdByCode
(
String
columnCode
)
{
for
(
DictionaryColumn
column
:
columns
)
{
if
(!
Strings
.
isNullOrEmpty
(
column
.
getCode
())
&&
column
.
getCode
().
equals
(
columnCode
))
{
return
column
.
getColumnID
();
}
}
return
null
;
}
public
String
findItemID
(
String
columnID
,
String
value
)
{
for
(
DictionaryItem
item
:
getItems
())
{
for
(
DictionaryItemValue
itemValue
:
item
.
getValues
())
{
if
(
itemValue
.
getColumnID
().
equals
(
columnID
)
&&
itemValue
.
getValue
().
equals
(
value
))
{
return
item
.
getItemID
();
}
}
}
return
null
;
}
public
String
getValue
(
String
itemID
,
String
columnID
)
{
for
(
DictionaryItem
item
:
getItems
())
{
if
(
item
.
getItemID
().
equals
(
itemID
))
{
for
(
DictionaryItemValue
itemValue
:
item
.
getValues
())
{
if
(
itemValue
.
getColumnID
().
equals
(
columnID
))
{
return
itemValue
.
getValue
();
}
}
break
;
}
}
return
""
;
}
}
src/main/java/kz/arta/synergy/api/dictionaries/pojo/DictionaryColumn.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries.pojo
;
/**
* @author raimbek
* @since 26.04.2016
*/
public
class
DictionaryColumn
{
private
String
columnID
;
private
String
code
;
public
DictionaryColumn
()
{
}
public
String
getColumnID
()
{
return
columnID
;
}
public
void
setColumnID
(
String
columnID
)
{
this
.
columnID
=
columnID
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
}
src/main/java/kz/arta/synergy/api/dictionaries/pojo/DictionaryItem.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries.pojo
;
import
java.util.List
;
/**
* @author raimbek
* @since 26.04.2016
*/
public
class
DictionaryItem
{
private
String
itemID
;
private
List
<
DictionaryItemValue
>
values
;
public
DictionaryItem
()
{
}
public
String
getItemID
()
{
return
itemID
;
}
public
void
setItemID
(
String
itemID
)
{
this
.
itemID
=
itemID
;
}
public
List
<
DictionaryItemValue
>
getValues
()
{
return
values
;
}
public
void
setValues
(
List
<
DictionaryItemValue
>
values
)
{
this
.
values
=
values
;
}
}
src/main/java/kz/arta/synergy/api/dictionaries/pojo/DictionaryItemValue.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries.pojo
;
/**
* @author raimbek
* @since 26.04.2016
*/
public
class
DictionaryItemValue
{
private
String
columnID
;
private
String
value
;
public
DictionaryItemValue
()
{
}
public
String
getColumnID
()
{
return
columnID
;
}
public
void
setColumnID
(
String
columnID
)
{
this
.
columnID
=
columnID
;
}
public
String
getValue
()
{
return
value
;
}
public
void
setValue
(
String
value
)
{
this
.
value
=
value
;
}
}
src/test/java/kz/arta/synergy/api/dictionaries/DictionaryServiceTest.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.api.dictionaries
;
import
com.google.common.base.Charsets
;
import
com.google.common.io.Resources
;
import
kz.arta.synergy.api.JsonUtils
;
import
kz.arta.synergy.api.dictionaries.pojo.Dictionary
;
import
kz.arta.synergy.pojo.RatesDict
;
import
kz.arta.synergy.pojo.TestForm
;
import
org.mockito.Mockito
;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
import
java.io.IOException
;
import
java.net.URL
;
import
java.util.List
;
/**
* @author raimbek
* @since 15.11.2016
*/
public
class
DictionaryServiceTest
{
@Test
public
void
testGetDictionary
()
throws
Exception
{
DictionaryService
dictionaryServiceMock
=
Mockito
.
mock
(
DictionaryService
.
class
);
Mockito
.
when
(
dictionaryServiceMock
.
getDictionary
(
"rates"
)).
thenReturn
(
readDict
());
Mockito
.
when
(
dictionaryServiceMock
.
getDictionary
(
RatesDict
.
class
)).
thenCallRealMethod
();
List
<
RatesDict
>
rates
=
dictionaryServiceMock
.
getDictionary
(
RatesDict
.
class
);
Assert
.
assertEquals
(
rates
.
size
(),
22
);
for
(
RatesDict
rate
:
rates
)
{
Assert
.
assertTrue
(
rate
.
getYear
().
equals
(
"2014"
)
||
rate
.
getYear
().
equals
(
"2015"
)
||
rate
.
getYear
().
equals
(
"2016"
)
);
Assert
.
assertTrue
(
rate
.
getGroup
().
equals
(
"1"
)
||
rate
.
getGroup
().
equals
(
"2"
));
Assert
.
assertNull
(
rate
.
getFieldWithoutAnnotation
());
Assert
.
assertNull
(
rate
.
getFieldWithWrongCodeAnnotation
());
}
}
@Test
(
expectedExceptions
=
DictionaryConvertException
.
class
)
public
void
testGetDictionaryWithoutAnnotation
()
throws
Exception
{
DictionaryService
dictionaryServiceMock
=
Mockito
.
mock
(
DictionaryService
.
class
);
Mockito
.
when
(
dictionaryServiceMock
.
getDictionary
(
TestForm
.
class
)).
thenCallRealMethod
();
dictionaryServiceMock
.
getDictionary
(
TestForm
.
class
);
}
public
Dictionary
readDict
()
throws
IOException
{
URL
url
=
Resources
.
getResource
(
"data/dictionary.json"
);
return
JsonUtils
.
read
(
Resources
.
toString
(
url
,
Charsets
.
UTF_8
),
Dictionary
.
class
);
}
}
\ No newline at end of file
src/test/java/kz/arta/synergy/pojo/RatesDict.java
0 → 100644
View file @
ed7802ac
package
kz.arta.synergy.pojo
;
import
kz.arta.synergy.api.dictionaries.annotations.DictionaryCode
;
import
kz.arta.synergy.api.dictionaries.annotations.DictionaryColumn
;
/**
* @author raimbek
* @since 15.11.2016
*/
@DictionaryCode
(
"rates"
)
public
class
RatesDict
{
@DictionaryColumn
private
String
year
;
@DictionaryColumn
private
String
group
;
@DictionaryColumn
private
String
categories
;
@DictionaryColumn
(
"diapazon"
)
private
String
range
;
@DictionaryColumn
private
String
mrp
;
@DictionaryColumn
private
String
rates
;
private
String
fieldWithoutAnnotation
;
@DictionaryColumn
(
"not_found_code"
)
private
String
fieldWithWrongCodeAnnotation
;
public
String
getYear
()
{
return
year
;
}
public
void
setYear
(
String
year
)
{
this
.
year
=
year
;
}
public
String
getGroup
()
{
return
group
;
}
public
void
setGroup
(
String
group
)
{
this
.
group
=
group
;
}
public
String
getCategories
()
{
return
categories
;
}
public
void
setCategories
(
String
categories
)
{
this
.
categories
=
categories
;
}
public
String
getRange
()
{
return
range
;
}
public
void
setRange
(
String
range
)
{
this
.
range
=
range
;
}
public
String
getMrp
()
{
return
mrp
;
}
public
void
setMrp
(
String
mrp
)
{
this
.
mrp
=
mrp
;
}
public
String
getRates
()
{
return
rates
;
}
public
void
setRates
(
String
rates
)
{
this
.
rates
=
rates
;
}
public
String
getFieldWithoutAnnotation
()
{
return
fieldWithoutAnnotation
;
}
public
void
setFieldWithoutAnnotation
(
String
fieldWithoutAnnotation
)
{
this
.
fieldWithoutAnnotation
=
fieldWithoutAnnotation
;
}
public
String
getFieldWithWrongCodeAnnotation
()
{
return
fieldWithWrongCodeAnnotation
;
}
public
void
setFieldWithWrongCodeAnnotation
(
String
fieldWithWrongCodeAnnotation
)
{
this
.
fieldWithWrongCodeAnnotation
=
fieldWithWrongCodeAnnotation
;
}
}
src/test/resources/data/dictionary.json
0 → 100644
View file @
ed7802ac
{
"dictionary_code"
:
"rates"
,
"dictionaryID"
:
"c1d0e500-3e24-4521-9487-f1afef1732cf"
,
"columns"
:
[
{
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
,
"code"
:
"year"
},
{
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
,
"code"
:
"group"
},
{
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
,
"code"
:
"categories"
},
{
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
,
"code"
:
"diapazon"
},
{
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
,
"code"
:
"mrp"
},
{
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
,
"code"
:
"rates"
}
],
"items"
:
[
{
"itemID"
:
"09fb1a56-5d48-469c-aeb2-e37a89f3f5a4"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"1"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"80"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"158560"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"60000 - 150000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"0b08b7be-cb2b-4525-b406-d86ef118a409"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"7"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"1515"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"3213315"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"1d594501-0806-41ba-8ffb-2026149454ce"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"9"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"2525"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"5004550"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"4740000 - 5550000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"1ee4bd2c-abe8-459f-b93a-52c2a630c0bf"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"2"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"160"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"296320"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2014"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"60000 - 1500000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"33d8d239-ea71-48d8-8dff-c0d0c8f53e52"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"4"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"155"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"307210"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"690000 - 1500000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"5c3459df-e10a-4c1d-8d96-190d1a9553bc"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"4"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"155"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"328755"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"6635fdbc-5d8b-4aa2-a9e3-f074f23323a0"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"5"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"505"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"1071105"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"67ddbf45-eedd-42c7-aedf-8a3582785aaf"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"7"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"1515"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"3002730"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"3120000 - 3930000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"70a18ba0-6595-4488-82ad-e73123b59cb2"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"1"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"80"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"169680"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"8ca4a946-0eff-45e7-8e82-93d8fba07025"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"1"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"4400"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"8148800"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2014"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"свыше 1500000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"9808aa08-06f7-4abe-bc7c-e32e9b098905"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"2"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"105"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"222705"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"a88e01c9-2546-4ebd-88ef-c56a2641a435"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"6"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"1010"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"2142210"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"a8d17894-f367-4f16-9890-b396d29c74d5"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"10"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"3030"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"6426630"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"bee8c039-a989-411b-a595-96184a6f1572"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"9"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"2525"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"5355525"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"dca72e77-328a-4e31-ac33-e3bd045937fc"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"6"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"1010"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"2001820"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"2310000 - 3120000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"e312ed3f-57b7-45de-9f58-b8c31143283f"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"3"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"130"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"257660"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"420000 - 690000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"e3c3fc23-e8db-4832-84b2-364ffd99aec8"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"3"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"130"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"275730"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"e8fd9cc7-ec28-4454-95f3-efb21156da1e"
,
"values"
:
[
{
"value"
:
"2"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"2"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"105"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"208110"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"150000 - 420000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"ec42824b-977d-4785-a54d-f661fc1873cd"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"5"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"505"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"1000910"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"1500000 - 2310000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"eeea3782-1183-4d2e-89f5-df1a31c4dc89"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"8"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"2020"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"4284420"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2016"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
""
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"f7af9d7c-f9c0-4888-8820-c216fa258bbc"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"8"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"2020"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"4003640"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"3930000 - 4740000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
},
{
"itemID"
:
"f7f6ddf3-5a93-4d5a-94cc-b44b6c451987"
,
"values"
:
[
{
"value"
:
"1"
,
"columnID"
:
"a2a87d2e-3825-4858-bcc3-a37e81388162"
},
{
"value"
:
"10"
,
"columnID"
:
"f2d3e41e-1c4c-4a81-acfd-14895068e9ae"
},
{
"value"
:
"3030"
,
"columnID"
:
"d3390489-6e7c-404e-b9d6-2e78007bf761"
},
{
"value"
:
"6005460"
,
"columnID"
:
"c9bf8a9f-cac7-4ca0-988f-4af172f3803f"
},
{
"value"
:
"2015"
,
"columnID"
:
"6b06a7cc-3d49-444e-a968-c1142dda1398"
},
{
"value"
:
"свыше 5550000"
,
"columnID"
:
"f6dc9e79-a57e-450e-9576-e919699143ec"
}
]
}
]
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment