[FIX]達成期限が過ぎた場合、未達成として履歴に表示するように設計

This commit is contained in:
2026-09-29 14:18:59 +09:00
parent b666b32214
commit e6b1e676a6
3 changed files with 30 additions and 12 deletions

View File

@@ -57,6 +57,8 @@ public class GoalController {
Long userId = loginUser.getUserId();
LocalDate today = LocalDate.now();
goalService.updateGoalComplete(userId);
List<GoalModel> goalModelList = goalService.getGoalByUserId(userId);
@@ -64,7 +66,8 @@ public class GoalController {
List<GoalForm> goalFormList1 = GoalForm.convertFrom(goalModelList);
List<GoalForm> goalFormList = goalFormList1.stream()
.filter(goalForm -> goalForm.getGoalComplete() == 0)
.filter(goalForm -> goalForm.getGoalComplete() == 0
&& !goalForm.getDeadline().isBefore(today))
.collect(Collectors.toList());
model.addAttribute(
@@ -107,8 +110,6 @@ public class GoalController {
1,
1);
LocalDate today = LocalDate.now();
Map<LocalDate, List<TransactionForm>> transactionFormMap = new HashMap<>();
transactionService
@@ -238,7 +239,6 @@ public class GoalController {
GoalForm goalForm = GoalForm.convertFrom(goalService.getGoalById(goalId));
model.addAttribute(PageReturnAttributeKeyword.GOAL_FORM, goalForm);
return TransitionTargetPageNameKeyword.GOAL_EDIT_HTML;
@@ -305,7 +305,8 @@ public class GoalController {
if (record == null) {
return TransitionTargetPageNameKeyword.REDIRECT + TransitionTargetPageNameKeyword.GOAL;
} else {
return TransitionTargetPageNameKeyword.REDIRECT + TransitionTargetPageNameKeyword.GOAL + TransitionTargetPageNameKeyword.RECORD;
return TransitionTargetPageNameKeyword.REDIRECT + TransitionTargetPageNameKeyword.GOAL
+ TransitionTargetPageNameKeyword.RECORD;
}
}
@@ -314,6 +315,8 @@ public class GoalController {
@GetMapping(TransitionTargetPageNameKeyword.RECORD)
public String getRecord(HttpSession session, Model model) {
LocalDate today = LocalDate.now();
LoginModel loginUser = (LoginModel) session.getAttribute(SessionKeyword.LOGIN_USER);
Long userId = loginUser.getUserId();
@@ -325,7 +328,13 @@ public class GoalController {
List<GoalForm> goalCompleteFormList = new ArrayList<>();
goalFormList.stream().forEach(goalForm -> {
if (goalForm.getGoalComplete() == 1) {
if (goalForm.getGoalComplete() == 1 || goalForm.getDeadline().isBefore(today)) {
goalForm.setStatus(
goalForm.getGoalComplete() == 1
? "達成"
: "未達成");
goalCompleteFormList.add(goalForm);
}
});

View File

@@ -29,6 +29,8 @@ public class GoalForm {
private Integer goalComplete;
private String status;
private Integer achievementRate; // 達成率
private Integer currentAmount; // 現在の資産
@@ -43,6 +45,7 @@ public class GoalForm {
goalModel.getTargetAmount(),
goalModel.getDeadline(),
goalModel.getGoalComplete(),
null,
goalModel.getAchievementRate(),
goalModel.getCurrentAmount(),
goalModel.getUserId());

View File

@@ -47,6 +47,12 @@
<br>
状態:
<span class="fw-bold" th:text="${goalForm.status}">
</span>
<br>
</p>
</form>