Compare commits
15 Commits
master
...
25986b455e
| Author | SHA1 | Date | |
|---|---|---|---|
| 25986b455e | |||
| c7a33c997c | |||
| 3818da7b4e | |||
| e6b1e676a6 | |||
| b666b32214 | |||
| f37dd792a0 | |||
| fd469405bc | |||
| a995a41656 | |||
| 150b6287c4 | |||
| 109b8125d6 | |||
| 626c4d6721 | |||
| e43958a1fb | |||
| 57a76ae044 | |||
| 4880a4285e | |||
| 03b1b7d982 |
@@ -49,7 +49,7 @@ public class GlobalExceptionHandler {
|
||||
|
||||
LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE_ILLEGAL_TRANSITION, e);
|
||||
|
||||
System.out.println("session invalidated");
|
||||
System.out.println("session invalidated method not supported exception");
|
||||
session.invalidate();
|
||||
|
||||
return TransitionTargetPageNameKeyword.ERROR_HTML;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -372,29 +372,29 @@ public class TransactionController {
|
||||
@RequestParam(required = false, defaultValue = "0") String months) {
|
||||
|
||||
LoginModel loginUser = (LoginModel) session.getAttribute(SessionKeyword.LOGIN_USER);
|
||||
|
||||
System.out.println("******************************************::1");
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
System.out.println("******************************************::2");
|
||||
int year = (years.equals("0")) ? today.getYear() : Integer.parseInt(years);
|
||||
|
||||
System.out.println("******************************************::3");
|
||||
int month = (months.equals("0")) ? today.getMonthValue() : Integer.parseInt(months);
|
||||
|
||||
System.out.println("******************************************::4");
|
||||
YearMonth yearMonth = YearMonth.of(year, month);
|
||||
|
||||
System.out.println("******************************************::5");
|
||||
int lastDay = yearMonth.lengthOfMonth();
|
||||
|
||||
System.out.println("******************************************::6");
|
||||
int firstDayOfWeek = yearMonth.atDay(1).getDayOfWeek().getValue() % 7;
|
||||
|
||||
System.out.println("******************************************::7");
|
||||
YearMonth previousYearMonth = yearMonth.minusMonths(1);
|
||||
|
||||
System.out.println("******************************************::8");
|
||||
int previousYear = previousYearMonth.getYear();
|
||||
int previousMonth = previousYearMonth.getMonthValue();
|
||||
|
||||
System.out.println("******************************************::9");
|
||||
YearMonth nextYearMonth = yearMonth.plusMonths(1);
|
||||
|
||||
System.out.println("******************************************::10");
|
||||
int nextYear = nextYearMonth.getYear();
|
||||
int nextMonth = nextYearMonth.getMonthValue();
|
||||
|
||||
System.out.println("******************************************::11");
|
||||
model.addAttribute(PageReturnAttributeKeyword.YEAR, year);
|
||||
model.addAttribute(PageReturnAttributeKeyword.MONTH, month);
|
||||
model.addAttribute(PageReturnAttributeKeyword.DAY, today.getDayOfMonth());
|
||||
@@ -407,34 +407,34 @@ public class TransactionController {
|
||||
|
||||
model.addAttribute(PageReturnAttributeKeyword.NEXT_YEAR, nextYear);
|
||||
model.addAttribute(PageReturnAttributeKeyword.NEXT_MONTH, nextMonth);
|
||||
|
||||
System.out.println("******************************************::12");
|
||||
LocalDate startDate = yearMonth.atDay(1);
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
|
||||
System.out.println("******************************************::13");
|
||||
List<Income> incomeList = transactionService.findTotalIncomeList(startDate, endDate, loginUser.getUserId());
|
||||
|
||||
System.out.println("******************************************::14");
|
||||
List<Expense> expenseList = transactionService.findTotalExpenseList(startDate, endDate, loginUser.getUserId());
|
||||
|
||||
System.out.println("******************************************::15");
|
||||
model.addAttribute(PageReturnAttributeKeyword.INCOME_LIST, incomeList);
|
||||
model.addAttribute(PageReturnAttributeKeyword.EXPENSE_LIST, expenseList);
|
||||
|
||||
System.out.println("******************************************::16");
|
||||
int totalIncome = transactionService.findTotalIncome(startDate, endDate, loginUser.getUserId());
|
||||
|
||||
int totalExpense = transactionService.findTotalExpense(startDate, endDate, loginUser.getUserId());
|
||||
|
||||
System.out.println("******************************************::17");
|
||||
model.addAttribute(PageReturnAttributeKeyword.TOTAL_INCOME, totalIncome);
|
||||
model.addAttribute(PageReturnAttributeKeyword.TOTAL_EXPENSE, totalExpense);
|
||||
|
||||
System.out.println("******************************************::18");
|
||||
List<GoalForm> goalForm = GoalForm.convertFrom(goalService.getGoalByUserId(loginUser.getUserId()));
|
||||
|
||||
System.out.println("******************************************::19");
|
||||
UserForm userForm = UserForm.convertFrom(userService.findByUserId(loginUser.getUserId()));
|
||||
|
||||
System.out.println("******************************************::20");
|
||||
List<GoalForm> resultList = goalForm.stream().filter(goal -> goal.getGoalComplete() == 0)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
System.out.println("******************************************::21");
|
||||
if (!resultList.isEmpty()) {
|
||||
GoalForm result = resultList.getFirst();
|
||||
|
||||
System.out.println("******************************************::22");
|
||||
model.addAttribute(PageReturnAttributeKeyword.ACHIEVEMENT_RATE, result.getAchievementRate());
|
||||
|
||||
model.addAttribute(PageReturnAttributeKeyword.CURRENT_AMOUNT, result.getCurrentAmount());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -46,6 +46,10 @@ body {
|
||||
border-top: 1px solid #d0d7de;
|
||||
}
|
||||
|
||||
.a-footer {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* =======================
|
||||
カード
|
||||
======================= */
|
||||
@@ -178,6 +182,10 @@ td:hover {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.a-calender {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* =======================
|
||||
金額表示
|
||||
======================= */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
0
|
||||
</td>
|
||||
<td th:text="${analysisForm.totalDifferenceAmount >= 0}
|
||||
? '+' + ${analysisForm.totalDifferenceAmount}
|
||||
? '+' + ${analysisForm.totalDifferenceAmount}
|
||||
: ${analysisForm.totalDifferenceAmount}"
|
||||
th:class="${analysisForm.totalDifferenceAmount >= 0}
|
||||
? 'text-danger'
|
||||
@@ -73,16 +73,14 @@
|
||||
|
||||
<th scope="row"
|
||||
th:text="${category.categoryName}">
|
||||
食費
|
||||
</th>
|
||||
|
||||
<td th:text="'¥' + ${category.currentMonthAmount}">
|
||||
0
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span th:text="${category.monthDifferenceAmount >= 0}
|
||||
? '+' + ${category.monthDifferenceAmount}
|
||||
? '+' + ${category.monthDifferenceAmount}
|
||||
: ${category.monthDifferenceAmount}"
|
||||
th:class="${category.monthDifferenceAmount >= 0}
|
||||
? 'text-danger'
|
||||
@@ -90,7 +88,7 @@
|
||||
</span>
|
||||
<br>
|
||||
<span th:text="${category.courseDifferenceAmount >= 0}
|
||||
? '+' + ${category.courseDifferenceAmount}
|
||||
? '+' + ${category.courseDifferenceAmount}
|
||||
: ${category.courseDifferenceAmount}"
|
||||
th:class="${category.courseDifferenceAmount >= 0}
|
||||
? 'text-danger'
|
||||
|
||||
@@ -15,22 +15,22 @@
|
||||
<div class="row">
|
||||
<div class="col border-end">
|
||||
<button type="button" class="btn btn-link text-black text-decoration-none">
|
||||
<a th:href="@{/transaction/create}">入力</a>
|
||||
<a th:href="@{/transaction/create}" class="a-footer">入力</a>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col border-end">
|
||||
<button type="button" class="btn btn-link text-black text-decoration-none">
|
||||
<a th:href="@{/transaction/list}">一覧</a>
|
||||
<a th:href="@{/transaction/list}" class="a-footer">一覧</a>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col border-end">
|
||||
<button type="button" class="btn btn-link text-black text-decoration-none">
|
||||
<a th:href="@{/analysis}">分析</a>
|
||||
<a th:href="@{/analysis}" class="a-footer">分析</a>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col border-end">
|
||||
<button type="button" class="btn btn-link text-black text-decoration-none">
|
||||
<a th:href="@{/goal}">目標</a>
|
||||
<a th:href="@{/goal}" class="a-footer">目標</a>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -47,6 +47,12 @@
|
||||
|
||||
<br>
|
||||
|
||||
状態:
|
||||
<span class="fw-bold" th:text="${goalForm.status}">
|
||||
</span>
|
||||
|
||||
<br>
|
||||
|
||||
</p>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -8,10 +8,9 @@
|
||||
|
||||
<title>Calendar</title>
|
||||
|
||||
<link rel="stylesheet" th:href="@{/css/style.css}">
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" th:href="@{/css/style.css}">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -64,7 +63,7 @@
|
||||
<a th:if="${week * 7 + weekDay - firstDayOfWeek + 1 >= 1
|
||||
and week * 7 + weekDay - firstDayOfWeek + 1 <= lastDay}" th:href="@{/transaction/detail(
|
||||
todayDates=${T(java.time.LocalDate).of(year, month, week * 7 + weekDay - firstDayOfWeek + 1)}
|
||||
)}">
|
||||
)}" class="a-footer">
|
||||
|
||||
|
||||
<div
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<title>コース選択</title>
|
||||
</head>
|
||||
|
||||
<body style="padding-bottom: 120px; padding-top: 60px;">
|
||||
<body style="padding-bottom: 120px; padding-top: 80px;">
|
||||
<div th:replace="~{header :: header}"></div>
|
||||
<h1 class="page-title">コース選択</h1>
|
||||
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1" http-equiv="Content-Type">
|
||||
<title>取引登録</title>
|
||||
<link rel="stylesheet" th:href="@{/css/menu.css}">
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" th:href="@{/css/style.css}">
|
||||
<title>取引登録</title>
|
||||
</head>
|
||||
|
||||
<body style="padding-top:80px; padding-bottom:80px;">
|
||||
|
||||
Reference in New Issue
Block a user