Features / VO & endorsements

VO geographic filter (FCCC)

Lets FCCC users pick District > Mandal > Village > VO > Habitation and reload the local farmer list for that habitation. Online only.

FactsheetVO & endorsements
Who uses it
FCCC (role.ap.gov.fccc)
How you get here
VO endorsement list (not surveys) > filter bar "click to filter VO" (shows last chosen habitation name).
Tables
ie_flat_entity
APIs
6 calls today, 2 App Service operations
Offline
Online only.

Screens

ScreenWhat it doesSource
VO filters bottom sheetCascading single-select spinners and Load VOs.app/src/main/res/layout/bottom_sheet_vo_filters.xml
Endorsement list (host)Shows the filter bar for FCCC users.app/src/main/java/org/platformcommons/urvi/view/endorsements/vo/EndorsementFragment.kt

What it captures

FieldTypeRequiredValidationOptions from
DistrictSingle-select spinnerYesChanging it reloads Mandal.Dataset PlusOneGetAllDistricts
MandalSingle-select spinnerYesChanging it reloads Village.Dataset PlusOneGetAllMandalsForDistrict (DISTRICT_ALIAS)
VillageSingle-select spinnerYesChanging it reloads VO.Dataset PlusOneGetAllVillagesForMandal (MANDAL_ALIAS)
VOSingle-select spinnerYesChanging it reloads Habitation.Dataset PlusOneGetAllVOForVillage (VILLAGE_ALIAS)
HabitationSingle-select spinnerYesRequired before Load VOs.Dataset PlusOneGetAllHabitationForVOAliasId (VO_ALIAS_ID)

Rules

Conditions from the code, rewritten as plain decision rules.

WhenThen
User lacks role role.ap.gov.fcccFilter bar is hidden.
Device is offline"VO filters internet warning"; filter cannot be used.
Load VOs tapped without habitationBlocked.
Load VOs succeedsThe whole local ie_flat_entity table is cleared and replaced by returned farmers (blank SHG becomes "Non-SHG", "?" in category becomes "-", husband/father surname merged); VO list rebuilt from local data.

API contracts

Each call opens to its use case, headers, request and response bodies, and errors.

Today: callUseReplaced by
GET /gateway/commons-report-service/api/v1/datasets/name/PlusOneGetAllDistricts/executeList districts. Same call duplicated in three client classes.
GET /gateway/commons-report-service/api/v1/datasets/name/PlusOneGetAllMandalsForDistrict/executeList mandals in a district. Same call duplicated in three client classes.
GET /gateway/commons-report-service/api/v1/datasets/name/PlusOneGetAllVillagesForMandal/executeList villages in a mandal. Same call duplicated in three client classes.
GET /gateway/commons-report-service/api/v1/datasets/name/PlusOneGetAllVOForVillage/executeList village organisations (VOs) in a village. Same call duplicated in three client classes.
GET /gateway/commons-report-service/api/v1/datasets/name/PlusOneGetAllHabitationForVOAliasId/executeList habitations under a VO. Same call duplicated in three client classes.
GET /gateway/commons-report-service/api/v1/datasets/name/PlusOneWorkNodeFarmerListGeoWiseNoPagination/executeList farmers in a geography without paging (endorsement screens).
App Service v2: operationUse
GET /geo/childrenChildren of a geography node
GET /farmers/searchSearch farmers in a geography (online)

Behaviour notes

  • Last chosen habitation is remembered (SharedPrefSource.habitatVoFilter).
  • Possible bug · unverified clearing the whole farmer table can lose unsynced local farmer data.
  • Possible bug · unverified requests LIMIT_VALUE=10 (OFFSET_VALUE=0) from a "NoPagination" dataset, so results may be truncated.

Improve in the rewrite

  • Merge the duplicate geography lookups (VoFilterRepoImpl and EndorsementRepositoryImpl) into one service.
  • Never wipe ie_flat_entity rows with pending sync; scope replacement to the filtered VO.
  • Fix or remove the limit of 10.