В следующем коде предполагается заполнить forecasted unites
в Account
, только если
дата Report
, полученная от курсора в пределах Forecast
start
и end
даты и ,
Item
id = для Item
идентификатора, полученного от курсора и
Account
id = для Account
идентификатора, полученногоот курсора.
if (cursor != null && cursor.getCount() > 0) {
cursor.moveToFirst();
do {
long reportDate = cursor.getLong(cursor.getColumnIndex(ForecastsItemAccountDetailsContract.Columns.Report_Date));
long itemId = cursor.getLong(cursor.getColumnIndex(ForecastsItemAccountDetailsContract.Columns.Item_ID));
long accountId = cursor.getLong(cursor.getColumnIndex(ForecastsItemAccountDetailsContract.Columns.Account_ID));
int forecastedUnits = cursor.getInt(cursor.getColumnIndex(ForecastsItemAccountDetailsContract.Columns.Forecasted_Units));
for (Forecast forecast : mForecasts) {
if ((forecast.getForecast_From() < reportDate) && (forecast.getForecast_To() >= reportDate)) {
for (Item item : forecast.getItems()) {
if (item.getItem_ID() == itemId) {
for (Account account : item.getAccounts()) {
if (account.getAccount_ID() == accountId) {
account.setForecastedUnits(forecastedUnits);
}
}
}
}
}
}
} while (cursor.moveToNext());
}
Но в конце я нахожу все учетные записи во всех элементах всех прогнозов, имеющих одинаковые forecasted units
.
Что может бытьошибка?