Commit 6a06d49a by Lee Jaebin

#33309 回答の担当グループを自分が所属しないグループに変更しても回答ボタンが消えない

parent 907fb6b4
...@@ -879,19 +879,21 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -879,19 +879,21 @@ public class OperationListActivity extends ABVUIActivity {
for (TaskDto serverTaskDto : json.taskDtoList) { for (TaskDto serverTaskDto : json.taskDtoList) {
List<TaskReportDto> localRemove = new ArrayList();
List<TaskReportDto> localTaskReportList = mTaskReportDao.getTaskReportListByTaskKey(serverTaskDto.taskKey);
// 定期点検のみ、時間が変更になった場合、差分の削除が必要なため、以下の処理を行う for (TaskReportDto localTaskReportDto : localTaskReportList) {
// 定期点検以外の場合は、taskが存在しないので、削除処理は必要なし if (!isExistsTaskReportInList(serverTaskDto.taskReportDtoList, localTaskReportDto, isRoutineTask)) {
if (operationDto.reportType == ReportType.RoutineTask) { if (isRoutineTask) {
List<TaskReportDto> localTaskReportList = mTaskReportDao.getTaskReportListByTaskKey(serverTaskDto.taskKey); mOperationLogic.deleteRoutineTaskReport(operationId, operationContentDto.contentId, localTaskReportDto);
for (TaskReportDto localTaskReportDto : localTaskReportList) { } else {
if (!isExistsTaskReportInList(serverTaskDto.taskReportDtoList, localTaskReportDto)) { // taskDtoが存在するとtaskReportLevel 0 (作業報告)が存在しないことはないので、報告(回答)のみチェックして削除
if (isRoutineTask) { if (localTaskReportDto.taskReportLevel != TaskReportLevel.ReportType) {
mOperationLogic.deleteRoutineTaskReport(operationId, operationContentDto.contentId, localTaskReportDto); // 作業報告のディレクトリ削除
mOperationLogic.deleteTaskFileData(operationId, operationContentDto.contentId, serverTaskDto.taskKey, localTaskReportDto.taskReportLevel);
mTaskReportDao.delete(localTaskReportDto);
} }
} }
localTaskReportList.remove(localTaskReportDto);
} }
} }
...@@ -1639,24 +1641,34 @@ public class OperationListActivity extends ABVUIActivity { ...@@ -1639,24 +1641,34 @@ public class OperationListActivity extends ABVUIActivity {
* @param rDto * @param rDto
* @return * @return
*/ */
private boolean isExistsTaskReportInList(List<TaskReportDto> listDto, TaskReportDto rDto) { private boolean isExistsTaskReportInList(List<TaskReportDto> listDto, TaskReportDto rDto, boolean isRoutineTask) {
for (TaskReportDto lDto : listDto) { for (TaskReportDto lDto : listDto) {
// 定期点検の場合、taskKey,taskReportId,reportStartDateで判定 if (isRoutineTask) {
if (lDto.taskKey.equals(rDto.taskKey) && // 定期点検の場合、taskKey,taskReportId,reportStartDateで判定
lDto.taskReportId == rDto.taskReportId && if (lDto.taskKey.equals(rDto.taskKey) &&
lDto.reportStartDate.equals(rDto.reportStartDate)) { lDto.taskReportId == rDto.taskReportId &&
return true; lDto.reportStartDate.equals(rDto.reportStartDate)) {
return true;
}
} else {
// taskKeyと作業報告階層で判定
if (lDto.taskKey.equals(rDto.taskKey) &&
lDto.taskReportLevel == rDto.taskReportLevel) {
return true;
}
} }
} }
return false; return false;
} }
/** /**
* 作業指示または、報告画面に移動 * 作業報告画面に移動
* @param operationDto * @param operationDto
*/ */
public void openDirectionsOrReportView(OperationDto operationDto) { public void openReportView(OperationDto operationDto) {
if (ActivityHandlingHelper.getInstance().isMeetingConnected()) {
return;
}
// 新着更新を止める // 新着更新を止める
contentRefresher.stopRefresh(); contentRefresher.stopRefresh();
startTaskDirectionOrReportView(operationDto); startTaskDirectionOrReportView(operationDto);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment