From 7871635ffe8b94b99ccea81872a0ce97949aa59a Mon Sep 17 00:00:00 2001
From: s-ohasi <26-o-m-stella-tecnica@it-college.jp>
Date: Tue, 20 Oct 2026 09:53:00 +0900
Subject: [PATCH 01/11] no message
---
team1/pom.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/team1/pom.xml b/team1/pom.xml
index 1c44108..8a70571 100644
--- a/team1/pom.xml
+++ b/team1/pom.xml
@@ -74,6 +74,11 @@
spring-boot-starter-webmvc-test
test
+
+ com.example.rhizome
+ EM-Spring
+ 0.0.1-SNAPSHOT
+
From 5f206740cc214805d2cfa41eedbcbbbcdff7feb0 Mon Sep 17 00:00:00 2001
From: y-ogawa <26-y-ogawa-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 13:04:52 +0900
Subject: [PATCH 02/11] =?UTF-8?q?=E6=9B=B8=E7=B1=8D=E8=B2=B8=E5=87=BA?=
=?UTF-8?q?=E6=89=BF=E8=AA=8D=E3=81=AEservice=E3=81=A7=E3=81=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/ApprovalConfirmController.java | 11 ++
.../java/com/example/demo/controller/a.java | 5 -
.../main/java/com/example/demo/entity/a.java | 5 -
.../demo/service/ApprovalBorrowBooks.java | 5 +
.../service/Impl/ApprovalBorrowBooksImpl.java | 12 ++
.../resources/templates/approvalConfirm.html | 141 ++++++++++++++++++
6 files changed, 169 insertions(+), 10 deletions(-)
create mode 100644 team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
delete mode 100644 team1/src/main/java/com/example/demo/controller/a.java
delete mode 100644 team1/src/main/java/com/example/demo/entity/a.java
create mode 100644 team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java
create mode 100644 team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
create mode 100644 team1/src/main/resources/templates/approvalConfirm.html
diff --git a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
new file mode 100644
index 0000000..7008d08
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
@@ -0,0 +1,11 @@
+package com.example.demo.controller;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * 書籍貸出承認確認用のコントローラ
+ */
+@Controller
+public class ApprovalConfirmController {
+
+}
diff --git a/team1/src/main/java/com/example/demo/controller/a.java b/team1/src/main/java/com/example/demo/controller/a.java
deleted file mode 100644
index 56820af..0000000
--- a/team1/src/main/java/com/example/demo/controller/a.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.example.demo.controller;
-
-public class a {
-
-}
diff --git a/team1/src/main/java/com/example/demo/entity/a.java b/team1/src/main/java/com/example/demo/entity/a.java
deleted file mode 100644
index ef469ec..0000000
--- a/team1/src/main/java/com/example/demo/entity/a.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.example.demo.entity;
-
-public class a {
-
-}
diff --git a/team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java b/team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java
new file mode 100644
index 0000000..8140377
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java
@@ -0,0 +1,5 @@
+package com.example.demo.service;
+
+public interface ApprovalBorrowBooks {
+
+}
diff --git a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java b/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
new file mode 100644
index 0000000..b19abdf
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
@@ -0,0 +1,12 @@
+package com.example.demo.service.Impl;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.example.demo.service.ApprovalBorrowBooks;
+
+@Service
+@Transactional
+public class ApprovalBorrowBooksImpl implements ApprovalBorrowBooks{
+
+}
diff --git a/team1/src/main/resources/templates/approvalConfirm.html b/team1/src/main/resources/templates/approvalConfirm.html
new file mode 100644
index 0000000..06c1604
--- /dev/null
+++ b/team1/src/main/resources/templates/approvalConfirm.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+ 書籍貸出承認確認
+
+
+ 登録内容確認
+
+ ログイン者名:
+
+
+
+
+
+
+
+
\ No newline at end of file
From e9bc560cfa8d7b9298afe228391e8d28a8cb46d0 Mon Sep 17 00:00:00 2001
From: s-ohasi <26-o-m-stella-tecnica@it-college.jp>
Date: Tue, 20 Oct 2026 14:05:54 +0900
Subject: [PATCH 03/11] =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?=
=?UTF-8?q?=E6=A9=9F=E8=83=BD=E3=81=A7=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?=
=?UTF-8?q?HTML=E3=80=81=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3=E3=82=B3?=
=?UTF-8?q?=E3=83=B3=E3=83=88=E3=83=AD=E3=83=BC=E3=83=A9=E3=83=BC=E3=82=AF?=
=?UTF-8?q?=E3=83=A9=E3=82=B9=E3=80=81=E3=83=AD=E3=82=B0=E3=82=A2=E3=82=A6?=
=?UTF-8?q?=E3=83=88=E3=82=B3=E3=83=B3=E3=83=88=E3=83=AD=E3=83=BC=E3=83=A9?=
=?UTF-8?q?=E3=83=BC=E3=82=AF=E3=83=A9=E3=82=B9=E3=80=81=E3=83=AD=E3=82=B0?=
=?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E3=83=95?=
=?UTF-8?q?=E3=82=A9=E3=83=BC=E3=83=A0=E3=82=AF=E3=83=A9=E3=82=B9=E3=80=81?=
=?UTF-8?q?=E3=82=A8=E3=83=B3=E3=83=97=E3=83=AD=E3=82=A4=E3=83=BC=E3=83=AC?=
=?UTF-8?q?=E3=83=9D=E3=82=B8=E3=83=88=E3=83=AA=E3=83=BC=E3=81=AE=E3=82=AF?=
=?UTF-8?q?=E3=83=A9=E3=82=B9=E3=82=92=E4=BD=9C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../demo/controller/LoginController.java | 140 ++++++++++++++++++
.../demo/controller/LogoutController.java | 8 +
.../com/example/demo/form/LoginUserForm.java | 106 +++++++++++++
.../demo/repository/EmployeeRepository.java | 3 +
team1/src/main/resources/templates/login.html | 65 ++++++++
5 files changed, 322 insertions(+)
create mode 100644 team1/src/main/java/com/example/demo/controller/LoginController.java
create mode 100644 team1/src/main/java/com/example/demo/controller/LogoutController.java
create mode 100644 team1/src/main/java/com/example/demo/form/LoginUserForm.java
create mode 100644 team1/src/main/resources/templates/login.html
diff --git a/team1/src/main/java/com/example/demo/controller/LoginController.java b/team1/src/main/java/com/example/demo/controller/LoginController.java
new file mode 100644
index 0000000..a541e29
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/LoginController.java
@@ -0,0 +1,140 @@
+package com.example.demo.controller;
+
+import static com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword.*;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import jakarta.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.example.rhizome.app.domain.model.LoginInfo;
+import com.example.rhizome.app.domain.model.LoginUser;
+import com.example.rhizome.app.presentation.controller.pageproperty.PageReturnAttributeKeyword;
+import com.example.rhizome.app.presentation.controller.pageproperty.SessionKeyword;
+import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword;
+import com.example.rhizome.app.presentation.form.LoginInfoForm;
+import com.example.rhizome.app.presentation.form.LoginUserForm;
+import com.example.rhizome.app.presentation.form.MessageForm;
+import com.example.rhizome.app.presentation.form.UpdatePersonalUserForm;
+
+@Controller
+public class LoginController {
+
+ //
+ private final static Logger LOGGER = Logger.getLogger(LoginController.class.getName());
+
+ //
+ private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!";
+
+ HttpSession httpSession;
+ Login login;
+
+ @Autowired
+ public LoginController(HttpSession httpSession, Login login) {
+ this.httpSession = httpSession;
+ this.login = login;
+ }
+
+ @ModelAttribute
+ public LoginUserForm loginUserForm() {
+ return new LoginUserForm();
+ }
+
+ /**
+ * 画面から渡ってきたパラメータのチェックを行う
+ *
+ * @param loginInfoForm mailAddress, password を保持したインスタンス
+ * @param model ビューにデータを渡すためのコンテナ
+ * @return 遷移先の画面
+ */
+ @RequestMapping(value = DO_LOGIN, method = RequestMethod.POST)
+ public String doLogin(LoginInfoForm loginInfoForm, Model model) {
+
+ // ログに出力する
+ final String MAIL_ADDRESS_PASSWORD_ERROR = "メールアドレス、パスワードの入力内容に誤りがあります";
+ // 発生しうるErrorに対するメッセージ
+ final String LOGIN_ERROR = "IDまたはパスワードが間違っています";
+
+ try {
+ // mailAddress, password の入力に誤りがあるかチェック
+ if (!LoginUserForm.checkParameter(loginInfoForm)) {
+
+ // mail,passwordが仕様を満たしていない場合
+ model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, new MessageForm(MAIL_ADDRESS_PASSWORD_ERROR));
+
+ // エラーだった場合に login.html に処理を戻す。mailAddress, password を login.htmlに表示するために
+ // ここで addAttribute する
+ model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm);
+ // login.html に遷移する様に設定
+ return TransitionTargetPageNameKeyword.LOGIN_HTML;
+ }
+ // Login者情報インスタンスを作成
+ LoginInfo loginInfo = createLoginInfo(httpSession, loginInfoForm);
+
+ // login 可能かチェック
+ if (!login.canLogin(loginInfo)) {
+ // ログイン不可の場合、エラーメッセージをセットして入力された値とともに login.html を再表示
+ // 画面に表示するエラーメッセージをセット
+ model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, new MessageForm(LOGIN_ERROR));
+ // 画面に表示する mailAddress, password をセット
+ model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm);
+ // login.html に遷移
+ return TransitionTargetPageNameKeyword.LOGIN_HTML;
+ }
+ // ログイン(インスタンス作成)
+ LoginUser loginUser = login.doLogin(loginInfo);
+
+ // ログイン者の情報をセッション情報に格納
+ // セッションに loginUser 情報を保持し続ける = ログイン中として扱う
+ httpSession.setAttribute(SessionKeyword.LOGIN_USER, LoginUserForm.convertFrom(loginUser));
+
+ // 管理者かチェック
+ if (!loginUser.isAdminUser()) {
+ // 管理者ではない場合直で自分の情報を更新するページに遷移する
+ // 編集対象のログイン者の情報を画面に渡す値にセット
+ model.addAttribute(PageReturnAttributeKeyword.UPDATE_PERSONAL_EMPLOYEE_USER_FORM, UpdatePersonalUserForm.convertFrom(loginUser));
+ // 個人の情報更新ページに遷移
+ return TransitionTargetPageNameKeyword.UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML;
+ }
+ // メニュー画面に遷移
+ return TransitionTargetPageNameKeyword.MENU_HTML;
+
+ } catch (Exception e) {
+ // ログイン情報の破棄
+ httpSession.invalidate();
+ e.printStackTrace();
+ // エラーログ出力
+ LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e);
+ // エラー画面に遷移
+ return TransitionTargetPageNameKeyword.ERROR_HTML;
+ }
+ /**
+ * ログイン者情報のインスタンスを作成
+ *
+ * @param httpSession セッション情報
+ * @param loginInfoForm mailAddress, password を保持したインスタンス
+ */
+ private static LoginInfo createLoginInfo(HttpSession httpSession, LoginInfoForm loginInfoForm) {
+ // セッションからログイン者情報を取得
+ LoginUserForm loginUserForm = (LoginUserForm) httpSession.getAttribute(SessionKeyword.LOGIN_USER);
+
+ // セッションにログイン者情報があるか
+ if (loginUserForm != null) {
+ // セッションにログイン者情報がある場合
+ return new LoginInfo(loginUserForm.getMailAddress(), loginUserForm.getPassword());
+ }
+
+ // セッションにない場合は画面からの input 値 を取得
+ return new LoginInfo(
+ loginInfoForm.getMailAddress(),
+ loginInfoForm.getPassword()
+ );
+}
+}
diff --git a/team1/src/main/java/com/example/demo/controller/LogoutController.java b/team1/src/main/java/com/example/demo/controller/LogoutController.java
new file mode 100644
index 0000000..b216a06
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/LogoutController.java
@@ -0,0 +1,8 @@
+package com.example.demo.controller;
+
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class LogoutController {
+
+}
diff --git a/team1/src/main/java/com/example/demo/form/LoginUserForm.java b/team1/src/main/java/com/example/demo/form/LoginUserForm.java
new file mode 100644
index 0000000..22b59d1
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/form/LoginUserForm.java
@@ -0,0 +1,106 @@
+package com.example.demo.form;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+//ログインをする人
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class LoginUserForm {
+ /**
+ * 社員ID
+ */
+ private Integer idEmployee;
+ /**
+ * 社員名
+ */
+ private String nmEmployee;
+ /**
+ * 社員名よみ
+ */
+ private String knEmployee;
+ /**
+ * メールアドレス
+ */
+ private String mailAddress;
+ /**
+ * パスワード
+ */
+ private String password;
+
+ /**
+ * 管理者フラグ
+ */
+ private Integer flgadmin;
+
+ /**
+ * business 層の LoginUser クラスから画面用(presentation 層)の LoginUserForm に
+ * 変換します。
+ *
+ * @param loginUser business 層の LoginUser インスタンス
+ * @return クラスから画面用(presentation 層)の LoginUserForm
+ */
+ public static LoginUserForm convertFrom(LoginUser loginUser) {
+ return new LoginUserForm(
+ loginUser.getIdEmployee(),
+ loginUser.getNmEmployee(),
+ loginUser.getKnEmployee(),
+ loginUser.getMailAddress(),
+ loginUser.getPassword(),
+ loginUser.getFlgAdmin()
+ );
+ }
+
+ /**
+ * 画面用(presentation 層)の LoginUserForm クラスから business 層の LoginUser クラスに
+ * 変換します。
+ *
+ * @param loginUserForm 画面用(presentation 層)の LoginUserForm インスタンス
+ * @return business 層の LoginUser インスタンス
+ */
+ public static LoginUser convertTo(LoginUserForm loginUserForm) {
+ return new LoginUser(
+ loginUserForm.getIdEmployee(),
+ loginUserForm.getNmEmployee(),
+ loginUserForm.getKnEmployee(),
+ loginUserForm.getMailAddress(),
+ loginUserForm.getPassword(),
+ loginUserForm.getAdminAuth(),
+ loginUserForm.getIdDepartment()
+ );
+ }
+
+ /**
+ * 画面から渡ってきた必須の値が仕様を満たしているか確認
+ *
+ * @param loginInfoForm 画面から渡ってきた mailAddress, password を格納しているインスタンス
+ * @return true:仕様を満たしている , false:仕様を満たしていない
+ */
+ public static boolean checkParameter(LoginInfoForm loginInfoForm) {
+ if (null == loginInfoForm.getMailAddress()) {
+ return false;
+ }
+
+ if (loginInfoForm.getMailAddress().isBlank()) {
+ return false;
+ }
+
+ if (null == loginInfoForm.getPassword()) {
+ return false;
+ }
+
+ return !loginInfoForm.getPassword().isBlank();
+
+ }
+
+ /**
+ * 管理者権限を持っているか確認
+ *
+ * @return true:管理者権限を持っている , false:管理者権限を持っていない
+ */
+ public boolean isAdminUser() {
+ return getAdminAuth() == 1;
+ }
+}
diff --git a/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java b/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java
index 09f5cf4..b273e3b 100644
--- a/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java
+++ b/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java
@@ -1,5 +1,7 @@
package com.example.demo.repository;
+import java.util.Optional;
+
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@@ -7,5 +9,6 @@ import com.example.demo.entity.EmployeeEntity;
@Repository
public interface EmployeeRepository extends JpaRepository {
+ Optional findByMailAddressAndPassword(String mailAddress, String password);
}
\ No newline at end of file
diff --git a/team1/src/main/resources/templates/login.html b/team1/src/main/resources/templates/login.html
new file mode 100644
index 0000000..ee543e6
--- /dev/null
+++ b/team1/src/main/resources/templates/login.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+ ログイン画面
+
+
+
+ログイン
+
+
+
+
+
From 3b4ec1f78b3f9fb7b63c65379f24992be5e12feb Mon Sep 17 00:00:00 2001
From: y-ogawa <26-y-ogawa-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 14:48:24 +0900
Subject: [PATCH 04/11] =?UTF-8?q?=E8=B2=B8=E5=87=BA=E6=89=BF=E8=AA=8D?=
=?UTF-8?q?=E7=A2=BA=E8=AA=8D=E3=81=AE=E9=80=94=E4=B8=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/ApprovalConfirmController.java | 53 +++++++++++++++++++
.../com/example/demo/form/ApprovalForm.java | 12 +++++
.../demo/service/ApprovalBorrowBooks.java | 5 --
...lBorrowBooksImpl.java => RequestImpl.java} | 4 +-
.../com/example/demo/service/Request.java | 18 +++++++
5 files changed, 85 insertions(+), 7 deletions(-)
create mode 100644 team1/src/main/java/com/example/demo/form/ApprovalForm.java
delete mode 100644 team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java
rename team1/src/main/java/com/example/demo/service/Impl/{ApprovalBorrowBooksImpl.java => RequestImpl.java} (59%)
create mode 100644 team1/src/main/java/com/example/demo/service/Request.java
diff --git a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
index 7008d08..283ea08 100644
--- a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
+++ b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
@@ -1,6 +1,18 @@
package com.example.demo.controller;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import jakarta.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.example.demo.form.ApprovalForm;
/**
* 書籍貸出承認確認用のコントローラ
@@ -8,4 +20,45 @@ import org.springframework.stereotype.Controller;
@Controller
public class ApprovalConfirmController {
+ // ログ出力用インスタンス
+ private final static Logger LOGGER = Logger.getLogger(ApprovalConfirmController.class.getName());
+
+ // エラーメッセージ用の定数フィールド
+ private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!";
+
+ HttpSession httpSession;
+ ApprovalForm approvalform;
+
+ @Autowired
+ public ApprovalConfirmController(
+ HttpSession httpSession,
+ ApprovalForm approvalform) {
+ this.httpSession = httpSession;
+ this.approvalform = approvalform;
+ }
+
+ @ModelAttribute
+ public ApprovalForm approvalForm() {
+ return new ApprovalForm();
+ }
+
+ @RequestMapping(value = "/ApprovalConfirm", method = RequestMethod.POST)
+ public String AprrvalForm(ApprovalForm ApprovalForm, Model model) {
+
+ try {
+
+
+ return;
+ } catch (Exception e) {
+ // ログイン情報の破棄
+ httpSession.invalidate();
+
+ e.printStackTrace();
+
+ // エラーログ出力
+ LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e);
+ // エラー画面遷移
+ return "error";
+ }
+ }
}
diff --git a/team1/src/main/java/com/example/demo/form/ApprovalForm.java b/team1/src/main/java/com/example/demo/form/ApprovalForm.java
new file mode 100644
index 0000000..d15b0e3
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/form/ApprovalForm.java
@@ -0,0 +1,12 @@
+package com.example.demo.form;
+
+import lombok.Data;
+
+/**
+ * 画面から渡ってきた登録内容をまとめ、再度画面に表示する為のクラス
+ */
+@Data
+
+public class ApprovalForm {
+
+}
diff --git a/team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java b/team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java
deleted file mode 100644
index 8140377..0000000
--- a/team1/src/main/java/com/example/demo/service/ApprovalBorrowBooks.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.example.demo.service;
-
-public interface ApprovalBorrowBooks {
-
-}
diff --git a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java b/team1/src/main/java/com/example/demo/service/Impl/RequestImpl.java
similarity index 59%
rename from team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
rename to team1/src/main/java/com/example/demo/service/Impl/RequestImpl.java
index b19abdf..66f67cc 100644
--- a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
+++ b/team1/src/main/java/com/example/demo/service/Impl/RequestImpl.java
@@ -3,10 +3,10 @@ package com.example.demo.service.Impl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import com.example.demo.service.ApprovalBorrowBooks;
+import com.example.demo.service.Request;
@Service
@Transactional
-public class ApprovalBorrowBooksImpl implements ApprovalBorrowBooks{
+public class RequestImpl implements Request{
}
diff --git a/team1/src/main/java/com/example/demo/service/Request.java b/team1/src/main/java/com/example/demo/service/Request.java
new file mode 100644
index 0000000..4400ae7
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/service/Request.java
@@ -0,0 +1,18 @@
+package com.example.demo.service;
+
+import java.util.List;
+
+import org.springframework.web.servlet.mvc.condition.RequestCondition;
+
+import com.example.rhizome.app.domain.model.Employee;
+import com.example.rhizome.app.domain.model.LoginUser;
+
+public interface Request {
+ List selectAll();
+
+ List searchBy(RequestCondition searchCondition);
+
+ LoginUser searchLoginUser(String mailAddress);
+
+ Employee searchEmployeeByIdEmployee(Integer idEmployee);
+}
From d26d5c7b0b5399752d7545aeeee5a92776fb8f62 Mon Sep 17 00:00:00 2001
From: s-ikeda <26-s-ikeda-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 14:50:31 +0900
Subject: [PATCH 05/11] no message
---
.../service/Impl/ApprovalBorrowBooksImpl.java | 23 +++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java b/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
index b19abdf..65a96fe 100644
--- a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
+++ b/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java
@@ -1,12 +1,31 @@
package com.example.demo.service.Impl;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import com.example.demo.repository.Borrow_BooksRepository;
import com.example.demo.service.ApprovalBorrowBooks;
@Service
@Transactional
-public class ApprovalBorrowBooksImpl implements ApprovalBorrowBooks{
+public class ApprovalBorrowBooksImpl implements ApprovalBorrowBooks {
-}
+ Borrow_BooksRepository borrowbooksRepository;
+
+ @Autowired
+ public ApprovalBorrowBooksImpl(Borrow_BooksRepository borrowbooksRepository) {
+ this.borrowbooksRepository = borrowbooksRepository;
+ }
+
+ /* 申請情報から全件取得
+ * @return 取得した情報すべて
+ */
+ public List??> selectAll() {
+ return ???Entity.create???List(???Repository.findAll());
+ }
+
+
+}
\ No newline at end of file
From b6af343b777ea6966f878c73539ed9bab84841e1 Mon Sep 17 00:00:00 2001
From: s-ikeda <26-s-ikeda-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 15:00:18 +0900
Subject: [PATCH 06/11] no message
---
team1/pom.xml | 8 +++++---
.../com/example/demo/repository/EmployeeRepository.java | 3 +++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/team1/pom.xml b/team1/pom.xml
index 735847e..75ae850 100644
--- a/team1/pom.xml
+++ b/team1/pom.xml
@@ -43,7 +43,7 @@
org.springframework.boot
spring-boot-starter-webmvc
-
+
com.mysql
mysql-connector-j
@@ -80,7 +80,7 @@
0.0.1-SNAPSHOT
-
+
@@ -125,5 +125,7 @@
-
+
+
+
\ No newline at end of file
diff --git a/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java b/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java
index 09f5cf4..b273e3b 100644
--- a/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java
+++ b/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java
@@ -1,5 +1,7 @@
package com.example.demo.repository;
+import java.util.Optional;
+
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@@ -7,5 +9,6 @@ import com.example.demo.entity.EmployeeEntity;
@Repository
public interface EmployeeRepository extends JpaRepository {
+ Optional findByMailAddressAndPassword(String mailAddress, String password);
}
\ No newline at end of file
From 17831e01bd1c68df06f5efe6d2f55ecf4bd15c6b Mon Sep 17 00:00:00 2001
From: y-ogawa <26-y-ogawa-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 15:12:31 +0900
Subject: [PATCH 07/11] no message
---
.../example/demo/controller/ApprovalConfirmController.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
index 283ea08..c419fd7 100644
--- a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
+++ b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.example.demo.form.ApprovalForm;
+import com.example.demo.service.Request;
/**
* 書籍貸出承認確認用のコントローラ
@@ -27,14 +28,14 @@ public class ApprovalConfirmController {
private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!";
HttpSession httpSession;
- ApprovalForm approvalform;
+ Request request;
@Autowired
public ApprovalConfirmController(
HttpSession httpSession,
- ApprovalForm approvalform) {
+ Request request) {
this.httpSession = httpSession;
- this.approvalform = approvalform;
+ this.request = request;
}
@ModelAttribute
From 8659fa44c2d53eebfcc4b6e800444c020781eb7e Mon Sep 17 00:00:00 2001
From: y-ogawa <26-y-ogawa-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 15:37:28 +0900
Subject: [PATCH 08/11] no message
---
.../com/example/demo/controller/ApprovalConfirmController.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
index c419fd7..19609f5 100644
--- a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
+++ b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java
@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.example.demo.form.ApprovalForm;
-import com.example.demo.service.Request;
/**
* 書籍貸出承認確認用のコントローラ
@@ -49,7 +48,7 @@ public class ApprovalConfirmController {
try {
- return;
+ return a ;
} catch (Exception e) {
// ログイン情報の破棄
httpSession.invalidate();
From 2bdce3b11aa786c983406755c972b074432591b5 Mon Sep 17 00:00:00 2001
From: y-ogawa <26-y-ogawa-tmn@it-college.co.jp>
Date: Tue, 20 Oct 2026 15:46:56 +0900
Subject: [PATCH 09/11] no message
---
.../resources/templates/approvalComplete.html | 15 +++++++++++++++
.../resources/templates/approvalRejected.html | 15 +++++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 team1/src/main/resources/templates/approvalComplete.html
create mode 100644 team1/src/main/resources/templates/approvalRejected.html
diff --git a/team1/src/main/resources/templates/approvalComplete.html b/team1/src/main/resources/templates/approvalComplete.html
new file mode 100644
index 0000000..a462f51
--- /dev/null
+++ b/team1/src/main/resources/templates/approvalComplete.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+ 書籍貸出承認確認
+
+
+
+
+
\ No newline at end of file
diff --git a/team1/src/main/resources/templates/approvalRejected.html b/team1/src/main/resources/templates/approvalRejected.html
new file mode 100644
index 0000000..a462f51
--- /dev/null
+++ b/team1/src/main/resources/templates/approvalRejected.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+ 書籍貸出承認確認
+
+
+
+
+
\ No newline at end of file
From f0e6cc165d482f40cdec6ef4448f8c875da76ebd Mon Sep 17 00:00:00 2001
From: a-takayama <26-a-takayama-scm@it-college.co.jp>
Date: Tue, 20 Oct 2026 15:50:17 +0900
Subject: [PATCH 10/11] =?UTF-8?q?bookList.html=20/=20SelectController=20/?=
=?UTF-8?q?=20SearchConditionBookForm=20/=20SearchBook=20=E9=80=94?=
=?UTF-8?q?=E4=B8=AD=E3=81=BE=E3=81=A7=E4=BD=9C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../demo/controller/SelectBookController.java | 77 +++++++++++++++++++
.../demo/form/SearchConditionBookForm.java | 18 +++++
.../com/example/demo/service/SearchBook.java | 16 ++++
.../main/resources/templates/bookList.html | 72 +++++++++++++++++
4 files changed, 183 insertions(+)
create mode 100644 team1/src/main/java/com/example/demo/controller/SelectBookController.java
create mode 100644 team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java
create mode 100644 team1/src/main/java/com/example/demo/service/SearchBook.java
create mode 100644 team1/src/main/resources/templates/bookList.html
diff --git a/team1/src/main/java/com/example/demo/controller/SelectBookController.java b/team1/src/main/java/com/example/demo/controller/SelectBookController.java
new file mode 100644
index 0000000..4fa733c
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/SelectBookController.java
@@ -0,0 +1,77 @@
+package com.example.demo.controller;
+
+
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import jakarta.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.example.demo.entity.Book_collectionEntity;
+import com.example.demo.form.SearchConditionBookForm;
+import com.example.demo.service.SearchBook;
+
+
+
+@Controller
+public class SelectBookController {
+
+ // ログ出力用インスタンス
+ private final static Logger LOGGER = Logger.getLogger(SelectBookController.class.getName());
+ // エラーメッセージ用の定数フィールド
+ private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!";
+
+ HttpSession httpsession;
+ SearchBook searchBook;
+
+ @Autowired
+ public SelectBookController(HttpSession httpSession, SearchBook searchBook) {
+ this.httpsession = httpSession;
+ this.searchBook = searchBook;
+ }
+
+ //空の検索条件Form
+ @ModelAttribute
+ public SearchConditionBookForm searchConditionBookForm() {
+ return new SearchConditionBookForm();
+ }
+
+// ① 書籍一覧の初期表示
+
+ @RequestMapping(value ="/selectBook", method = RequestMethod.GET)
+ public String select(Model model) {
+ try {
+ //貸出可能な書籍を全権取得する
+ List books = searchBook.selectAll();
+ //検索結果をmodelに登録する
+ model.addAttribute("books" , books);
+ //書籍一覧画面を表示する
+ return "book-search";
+
+ }catch(Exception e) {
+ //httpSessionを破棄
+ httpsession.invalidate();
+ //エラー内容を出力
+ e.printStackTrace();
+ //ログにエラーを記録
+ LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e);
+ //エラー画面へ遷移
+ return "error";
+ }
+ }
+ // ② 検索ボタン押下時の処理
+
+ @RequestMapping(value ="/selectBook", method = RequestMethod.POST)
+ public String ) {
+
+
+
+// }
+}
diff --git a/team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java b/team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java
new file mode 100644
index 0000000..e180cc6
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java
@@ -0,0 +1,18 @@
+package com.example.demo.form;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SearchConditionBookForm {
+ //書籍名
+ private String nmBook;
+ //出版社
+ private String pubLisher;
+ //特記事項
+ private String noteText;
+
+}
diff --git a/team1/src/main/java/com/example/demo/service/SearchBook.java b/team1/src/main/java/com/example/demo/service/SearchBook.java
new file mode 100644
index 0000000..74bb01c
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/service/SearchBook.java
@@ -0,0 +1,16 @@
+package com.example.demo.service;
+
+import java.util.List;
+
+import com.example.demo.entity.Book_collectionEntity;
+import com.example.demo.form.SearchConditionBookForm;
+
+public interface SearchBook {
+
+ //貸出可能な書籍を全件取得する
+ List selectAll();
+
+ //書籍名・出版社・特記事項を条件に検索する
+ List searchByWithLike(SearchConditionBookForm form);
+
+}
diff --git a/team1/src/main/resources/templates/bookList.html b/team1/src/main/resources/templates/bookList.html
new file mode 100644
index 0000000..70b74ce
--- /dev/null
+++ b/team1/src/main/resources/templates/bookList.html
@@ -0,0 +1,72 @@
+
+
+
+
+
+ 書籍一覧・検索
+
+
+
+
+ログアウト
+書籍一覧・検索
+
+