diff --git a/team1/pom.xml b/team1/pom.xml
index 75ae850..8b03b4f 100644
--- a/team1/pom.xml
+++ b/team1/pom.xml
@@ -79,6 +79,11 @@
HelloSpring
0.0.1-SNAPSHOT
+
+ com.example.rhizome
+ EM-Spring
+ 0.0.1-SNAPSHOT
+
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..19609f5 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;
+ Request request;
+
+ @Autowired
+ public ApprovalConfirmController(
+ HttpSession httpSession,
+ Request request) {
+ this.httpSession = httpSession;
+ this.request = request;
+ }
+
+ @ModelAttribute
+ public ApprovalForm approvalForm() {
+ return new ApprovalForm();
+ }
+
+ @RequestMapping(value = "/ApprovalConfirm", method = RequestMethod.POST)
+ public String AprrvalForm(ApprovalForm ApprovalForm, Model model) {
+
+ try {
+
+
+ return a ;
+ } 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/controller/LendingController.java b/team1/src/main/java/com/example/demo/controller/LendingController.java
new file mode 100644
index 0000000..2c44fd6
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/LendingController.java
@@ -0,0 +1,82 @@
+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 main.java.com.example.rhizome.aop.aspect.PermissionCheck;
+import main.java.com.example.rhizome.aop.aspect.SessionCheck;
+import main.java.com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword;
+
+/**
+ * 書籍貸出申請に関する処理を制御するコントローラ
+ */
+@Controller
+public class LendingController {
+ // ログ出力用インスタンス
+ private final static Logger LOGGER = Logger.getLogger(LendingController.class.getName());
+ // エラーメッセージ用の定数フィールド
+ private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!";
+
+ HttpSession httpSession;
+
+ //コンストラクタ注入(一番最初に動く処理)
+ @Autowired
+ public LendingController(HttpSession httpSession) {
+ this.httpSession = httpSession;
+ }
+
+ //画面を開くための初期化(!formクラス名要確認!)
+ @ModelAttribute
+ public LendingForm lendingForm() {
+ return new LendingForm();
+ }
+
+ @PermissionCheck
+ @SessionCheck
+ @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST)
+ public String confirmLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) {
+ try {
+
+ // HTML側の th:object="${lendingForm}" に渡すデータをセット
+ model.addAllAttribute("lendingForm", lendingForm);
+ // 貸出申請確認画面のHTML名を返す
+ return "applicationConform";
+ } catch (Exception e) {
+ //ログイン情報の破棄
+ httpSession.invalidate();
+
+ e.printStackTrace();
+
+ // エラーログ出力
+ LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e);
+ // エラー画面遷移
+ return TransitionTargetPageNameKeyword.ERROR_HTML;
+
+ }
+
+ }
+ /**
+ * 書籍貸出申請 実行処理
+ *
+ * @param lendingForm 確認画面の隠しフィールド(hidden)から引き継いだデータ
+ * @param model ビューにデータを渡すためのコンテナ
+ * @return 遷移先の画面
+ */
+ @PermissionCheck
+ @SessionCheck
+ @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST)
+ public String executeLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) {
+ final String LENDING_COMPLETE = "書籍申請完了しました";
+ }
+ try {
+
+ }catch
+}
diff --git a/team1/src/main/java/com/example/demo/controller/LogoutController.java b/team1/src/main/java/com/example/demo/controller/LogoutController.java
deleted file mode 100644
index b216a06..0000000
--- a/team1/src/main/java/com/example/demo/controller/LogoutController.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.example.demo.controller;
-
-import org.springframework.stereotype.Controller;
-
-@Controller
-public class LogoutController {
-
-}
diff --git a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java
new file mode 100644
index 0000000..e38bde2
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java
@@ -0,0 +1,35 @@
+package com.example.demo.controller;
+
+import java.util.Date;
+
+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.ReturnForm;
+
+@Controller
+public class ReturnConfirmController {
+ @ModelAttribute
+ ReturnForm returnForm() {
+ Date date = new Date();
+ return new ReturnForm(1, "テスト名", date, date, date, "ISBN", "書籍名", "出版社", "特記事項");
+ }
+
+ @RequestMapping(value = "/returnConfirm", method = { RequestMethod.POST, RequestMethod.GET })
+ public String returnConfirm(Model model) {
+ try {
+ //申請IDを元に取得
+ //returnFormに値をセット
+ //仮の値を入れる
+ // 画面に返す為の情報をセット
+ model.addAttribute("returnForm", returnForm());
+ return "returnConfirm";
+ } catch (Exception e) {
+ e.printStackTrace();
+ return "エラー画面";
+ }
+ }
+}
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/controller/returnCompleteController.java b/team1/src/main/java/com/example/demo/controller/returnCompleteController.java
new file mode 100644
index 0000000..b1f592d
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/controller/returnCompleteController.java
@@ -0,0 +1,40 @@
+package com.example.demo.controller;
+
+import org.springframework.stereotype.Controller;
+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.ReturnForm;
+
+//返却完了用のコントローラー
+@Controller
+public class returnCompleteController {
+
+ @ModelAttribute
+ ReturnForm returnForm() {
+ return new ReturnForm();
+ }
+
+ //返却完了画面表示処理
+ @RequestMapping(value = "/returnComplete", method = RequestMethod.POST)
+ public String returnComplete(ReturnForm returnForm) {
+
+ try {
+ System.out.println(returnForm.getNmBook());
+
+ //各種 必要な値をDBから取得,セッションからログイン者の情報
+ //蔵書テーブルの貸出フラグを貸出可、
+ //貸出テーブルのステータスを返却済、
+ //返却日を当日日付、
+ //更新者を更新した人のID、
+ //更新日を当日日付に更新する。
+ return "returnComplete";
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return "エラー画面";
+ }
+
+ }
+}
diff --git a/team1/src/main/java/com/example/demo/form/LoginUserForm.java b/team1/src/main/java/com/example/demo/form/LoginUserForm.java
index 1e90646..49feaa9 100644
--- a/team1/src/main/java/com/example/demo/form/LoginUserForm.java
+++ b/team1/src/main/java/com/example/demo/form/LoginUserForm.java
@@ -44,7 +44,7 @@ public class LoginUserForm {
* @param loginUser business 層の LoginUser インスタンス
* @return クラスから画面用(presentation 層)の LoginUserForm
*/
- public static LoginUserForm convertFrom(LoginUser loginUser) {
+ public static LoginUserForm convertFrom(LoginUserForm loginUser) {
return new LoginUserForm(
loginUser.getIdEmployee(),
loginUser.getNmEmployee(),
@@ -62,15 +62,14 @@ public class LoginUserForm {
* @param loginUserForm 画面用(presentation 層)の LoginUserForm インスタンス
* @return business 層の LoginUser インスタンス
*/
- public static LoginUser convertTo(LoginUserForm loginUserForm) {
- return new LoginUser(
+ public static LoginUserForm convertTo(LoginUserForm loginUserForm) {
+ return new LoginUserForm(
loginUserForm.getIdEmployee(),
loginUserForm.getNmEmployee(),
loginUserForm.getKnEmployee(),
loginUserForm.getMailAddress(),
loginUserForm.getPassword(),
- loginUserForm.getAdminAuth(),
- loginUserForm.getIdDepartment()
+ loginUserForm.getFlgAdmin()
);
}
@@ -103,6 +102,6 @@ public class LoginUserForm {
* @return true:管理者権限を持っている , false:管理者権限を持っていない
*/
public boolean isAdminUser() {
- return getAdminAuth() == 1;
+ return getFlgAdmin() == 1;
}
}
diff --git a/team1/src/main/java/com/example/demo/form/ReturnForm.java b/team1/src/main/java/com/example/demo/form/ReturnForm.java
new file mode 100644
index 0000000..2d8839a
--- /dev/null
+++ b/team1/src/main/java/com/example/demo/form/ReturnForm.java
@@ -0,0 +1,36 @@
+package com.example.demo.form;
+
+import java.util.Date;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ReturnForm {
+ //申請ID
+ private Integer idRequest;
+ //申請者名//社員名
+ private String nmEmployee;
+ //申請日
+ @DateTimeFormat(pattern = "yyyy-mm-dd")
+ private Date dateRequest;
+ //貸出日
+ @DateTimeFormat(pattern = "yyyy-mm-dd")
+ private Date dateBorrow;
+ //返却予定日
+ @DateTimeFormat(pattern = "yyyy-mm-dd")
+ private Date dateScheduledReturn;
+ //ISBN
+ private String isBn;
+ //書籍名
+ private String nmBook;
+ //出版社
+ private String pubLisher;
+ //特記事項
+ private String noteText;
+}
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/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
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/application.html b/team1/src/main/resources/templates/application.html
new file mode 100644
index 0000000..9e8aed2
--- /dev/null
+++ b/team1/src/main/resources/templates/application.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+ 書籍貸出申請
+
+
+
+
+
+ ログイン者名:
+
+
+
+
+
+
+
+ 書籍一覧に戻る
+
+
+
\ No newline at end of file
diff --git a/team1/src/main/resources/templates/applicationComplete.html b/team1/src/main/resources/templates/applicationComplete.html
new file mode 100644
index 0000000..3c829ff
--- /dev/null
+++ b/team1/src/main/resources/templates/applicationComplete.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+ 書籍貸出申請完了
+
+
+
+
+
+ ログイン者名:
+
+
+
+
+ 書籍申請完了しました
+
+
+ 書籍一覧に戻る
+
+
+ メニューに戻る
+
+
+
+
\ No newline at end of file
diff --git a/team1/src/main/resources/templates/applicationConfirm.html b/team1/src/main/resources/templates/applicationConfirm.html
new file mode 100644
index 0000000..42196dd
--- /dev/null
+++ b/team1/src/main/resources/templates/applicationConfirm.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+ 書籍貸出申請確認
+
+
+
+
+
+ ログイン者名:
+
+
+
+
+ 申請情報入力に戻る
+
+
+
\ No newline at end of file
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
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 @@
+
+
+
+
+
+ 書籍一覧・検索
+
+
+
+
+ログアウト
+書籍一覧・検索
+
+