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/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/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/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/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/resources/templates/application.html b/team1/src/main/resources/templates/application.html new file mode 100644 index 0000000..bbdd703 --- /dev/null +++ b/team1/src/main/resources/templates/application.html @@ -0,0 +1,51 @@ + + + + + + + + 書籍貸出申請 + + + + +
+ ログイン者名: + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + +
蔵書ID
書籍名
貸出日
返却予定日
+ +
+
+ + + 書籍一覧に戻る + + + \ 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 @@ + + + + + + + + 書籍貸出申請確認 + + + + +
+ ログイン者名: + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
蔵書ID
書籍名
貸出日
返却予定日
+ + +
+
+ + 申請情報入力に戻る + + + \ No newline at end of file diff --git a/team1/src/main/resources/templates/returnComplete.html b/team1/src/main/resources/templates/returnComplete.html new file mode 100644 index 0000000..d7ae931 --- /dev/null +++ b/team1/src/main/resources/templates/returnComplete.html @@ -0,0 +1,22 @@ + + + + + + 書籍返却完了 + + + +
+ +
+

書籍の返却が完了しました

+ + +
+ +貸出中書籍一覧に戻る | メニューに戻る +
+ + + \ No newline at end of file diff --git a/team1/src/main/resources/templates/returnConfirm.html b/team1/src/main/resources/templates/returnConfirm.html new file mode 100644 index 0000000..b19eb37 --- /dev/null +++ b/team1/src/main/resources/templates/returnConfirm.html @@ -0,0 +1,137 @@ + + + + + + 書籍返却確認 + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
申請ID + +
申請者名 + +
申請日 + +
ISBN + +
書籍名 + +
出版社 + +
特記事項 + +
貸出日 + +
返却予定日 + +
+ +
+ + 貸出中書籍一覧に戻る +
+ + + \ No newline at end of file