From 1a09ef83be3478bf548a34f69947be7478c7e933 Mon Sep 17 00:00:00 2001
From: a-takayama <26-a-takayama-scm@it-college.co.jp>
Date: Wed, 14 Oct 2026 14:55:33 +0900
Subject: [PATCH] =?UTF-8?q?=E6=AE=B5=E9=9A=8E1=E5=AE=8C=E4=BA=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.classpath | 42 ++++++
.gitignore | 1 +
.project | 37 ++++++
.settings/.jsdtscope | 13 ++
.settings/org.eclipse.core.resources.prefs | 6 +
.settings/org.eclipse.jdt.core.prefs | 11 ++
.settings/org.eclipse.wst.common.component | 10 ++
....eclipse.wst.common.project.facet.core.xml | 7 +
...rg.eclipse.wst.jsdt.ui.superType.container | 1 +
.../org.eclipse.wst.jsdt.ui.superType.name | 1 +
.settings/org.eclipse.wst.validation.prefs | 2 +
.../app/domain/service/SearchDepartment.java | 11 +-
.../app/domain/service/impl/LoginImpl.java | 8 +-
.../service/impl/SearchDepartmentImpl.java | 17 ++-
.../app/infra/entity/EmployeeEntity.java | 15 ++-
.../repository/DepartmentRepository.java | 12 +-
.../controller/LoginController.java | 29 +++--
.../SelectDepartmentController.java | 120 ++++++++++++++++++
.../controller/SelectEmployeeController.java | 24 ++--
.../TransitionTargetPageNameKeyword.java | 21 ++-
.../app/presentation/form/DepartmentForm.java | 6 +-
.../form/SearchConditionDepartmentForm.java | 26 ++++
src/main/resources/application.properties | 4 +-
src/main/resources/templates/menu.html | 24 +++-
.../resources/templates/selectDepartment.html | 71 +++++++++++
25 files changed, 469 insertions(+), 50 deletions(-)
create mode 100644 .classpath
create mode 100644 .gitignore
create mode 100644 .project
create mode 100644 .settings/.jsdtscope
create mode 100644 .settings/org.eclipse.core.resources.prefs
create mode 100644 .settings/org.eclipse.jdt.core.prefs
create mode 100644 .settings/org.eclipse.wst.common.component
create mode 100644 .settings/org.eclipse.wst.common.project.facet.core.xml
create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.container
create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.name
create mode 100644 .settings/org.eclipse.wst.validation.prefs
create mode 100644 src/main/java/com/example/rhizome/app/presentation/controller/SelectDepartmentController.java
create mode 100644 src/main/java/com/example/rhizome/app/presentation/form/SearchConditionDepartmentForm.java
create mode 100644 src/main/resources/templates/selectDepartment.html
diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..f7978d3
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/.project b/.project
new file mode 100644
index 0000000..8aa533d
--- /dev/null
+++ b/.project
@@ -0,0 +1,37 @@
+
+
+ em-spring
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.wst.jsdt.core.jsNature
+
+
diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope
new file mode 100644
index 0000000..e4a0c2d
--- /dev/null
+++ b/.settings/.jsdtscope
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..29abf99
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding//src/test/resources=UTF-8
+encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f9e3458
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..5517781
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..36d3a1f
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/src/main/java/com/example/rhizome/app/domain/service/SearchDepartment.java b/src/main/java/com/example/rhizome/app/domain/service/SearchDepartment.java
index 572dcee..300dee2 100644
--- a/src/main/java/com/example/rhizome/app/domain/service/SearchDepartment.java
+++ b/src/main/java/com/example/rhizome/app/domain/service/SearchDepartment.java
@@ -1,14 +1,17 @@
package com.example.rhizome.app.domain.service;
+import java.util.List;
+
import com.example.rhizome.app.domain.model.Department;
import com.example.rhizome.app.domain.model.SearchConditionDepartment;
-import java.util.List;
-
public interface SearchDepartment {
+ //すべての部署を取得する
List selectAll();
-
+ //部署ID・部署目の完全一致検索
List searchBy(SearchConditionDepartment searchConditionDepartment);
-
+ //部署名の部分一致検索
List searchByWithLike(SearchConditionDepartment searchConditionDepartment);
+ //↑下から変更 SelectDepartmentControllerのsearchByWithLikeでエラーでたから
+ //List searchByWithLike(SearchConditionDepartment searchConditionDepartment);
}
diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java
index 66c7f02..7d8fac1 100644
--- a/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java
+++ b/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java
@@ -1,13 +1,15 @@
package com.example.rhizome.app.domain.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
import com.example.rhizome.app.domain.model.LoginInfo;
import com.example.rhizome.app.domain.model.LoginUser;
import com.example.rhizome.app.domain.service.Login;
import com.example.rhizome.app.infra.entity.EmployeeEntity;
import com.example.rhizome.app.infra.repository.EmployeeRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
/**
* ログイン系の機能を集約させるサービスクラスです。
diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java
index feb6b37..8d93ffd 100644
--- a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java
+++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java
@@ -1,25 +1,29 @@
package com.example.rhizome.app.domain.service.impl;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
import com.example.rhizome.app.domain.model.Department;
import com.example.rhizome.app.domain.model.SearchConditionDepartment;
import com.example.rhizome.app.domain.service.SearchDepartment;
import com.example.rhizome.app.infra.entity.DepartmentEntity;
import com.example.rhizome.app.infra.repository.DepartmentRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
/**
* 部署情報検索系の機能を集約させるサービスクラスです。
*/
+//サービスクラスとして登録
@Service
+//トランザクション管理
@Transactional
public class SearchDepartmentImpl implements SearchDepartment {
+ //Repositoryを保持するフィールド
DepartmentRepository departmentRepository;
/**
@@ -67,6 +71,7 @@ public class SearchDepartmentImpl implements SearchDepartment {
* @param searchConditionDepartment 検索条件
* @return 検索結果のレコード
*/
+ @Override
public List searchByWithLike(SearchConditionDepartment searchConditionDepartment) {
// 動的に検索条件を絞り込む
// Specification は Criteria API の Predicate をラップしたもの
diff --git a/src/main/java/com/example/rhizome/app/infra/entity/EmployeeEntity.java b/src/main/java/com/example/rhizome/app/infra/entity/EmployeeEntity.java
index 17721b5..cf85bb1 100644
--- a/src/main/java/com/example/rhizome/app/infra/entity/EmployeeEntity.java
+++ b/src/main/java/com/example/rhizome/app/infra/entity/EmployeeEntity.java
@@ -7,16 +7,23 @@
package com.example.rhizome.app.infra.entity;
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
import com.example.rhizome.app.domain.model.Employee;
import com.example.rhizome.app.domain.model.LoginUser;
import com.example.rhizome.app.domain.model.SearchConditionEmployee;
+
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.persistence.*;
-import java.util.List;
-
/**
* EmployeeテーブルのEntity
*
@@ -36,6 +43,7 @@ public class EmployeeEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_employee", nullable = false)
private Integer idEmployee;
+
/**
* 社員名
@@ -64,6 +72,7 @@ public class EmployeeEntity {
/**
* 管理者権限
*/
+// @Transient
@Column(name = "admin_auth", nullable = false)
private Integer adminAuth;
diff --git a/src/main/java/com/example/rhizome/app/infra/repository/DepartmentRepository.java b/src/main/java/com/example/rhizome/app/infra/repository/DepartmentRepository.java
index cdb8877..662c5e4 100644
--- a/src/main/java/com/example/rhizome/app/infra/repository/DepartmentRepository.java
+++ b/src/main/java/com/example/rhizome/app/infra/repository/DepartmentRepository.java
@@ -1,11 +1,13 @@
package com.example.rhizome.app.infra.repository;
-import com.example.rhizome.app.infra.entity.DepartmentEntity;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
+//DepartmentRntity: 部署の実体
+import com.example.rhizome.app.infra.entity.DepartmentEntity;
+
/**
* Specification:
@@ -19,11 +21,15 @@ import org.springframework.stereotype.Repository;
* CriteriaBuilder:条件式(Where句以降の条件)の部分のクエリを作るためのビルダーです。
* 戻り値はクエリを格納しているPredicateオブジェクトとなります。
*/
+
+//部署情報をデータベースから取得するRepository
+// JpaRepositoryを継承する
@Repository
public interface DepartmentRepository extends JpaRepository, JpaSpecificationExecutor {
-
+//部署IDの完全一致検索条件を作成する
static Specification idDepartmentEqual(Integer idDepartment) {
+ //部署IDがnullなら条件を設定しない
return idDepartment == null ?
null :
// 戻り値の型 Specification にキャスト
@@ -33,7 +39,9 @@ public interface DepartmentRepository extends JpaRepository criteriaBuilder.equal(root.get("idDepartment"), idDepartment);
}
+ //部署名の完全一致条件を作成する
static Specification nmDepartmentEqual(String nmDepartment) {
+ //部署名が未入力なら条件を設定しない
return (nmDepartment == null || nmDepartment.isEmpty()) ?
null :
(Specification)
diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/LoginController.java b/src/main/java/com/example/rhizome/app/presentation/controller/LoginController.java
index 036bee3..8da8f49 100644
--- a/src/main/java/com/example/rhizome/app/presentation/controller/LoginController.java
+++ b/src/main/java/com/example/rhizome/app/presentation/controller/LoginController.java
@@ -1,6 +1,20 @@
package com.example.rhizome.app.presentation.controller;
+import static com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword.*;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.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.domain.service.Login;
@@ -11,18 +25,6 @@ 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;
-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 javax.servlet.http.HttpSession;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import static com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword.DO_LOGIN;
/**
* ログイン関連のコントローラ
@@ -106,7 +108,8 @@ public class LoginController {
// 編集対象のログイン者の情報を画面に渡す値にセット
model.addAttribute(PageReturnAttributeKeyword.UPDATE_PERSONAL_EMPLOYEE_USER_FORM, UpdatePersonalUserForm.convertFrom(loginUser));
// 個人の情報更新ページに遷移
- return TransitionTargetPageNameKeyword.UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML;
+ return TransitionTargetPageNameKeyword.MENU_HTML;
+// return TransitionTargetPageNameKeyword.UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML;
}
// メニュー画面に遷移
diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/SelectDepartmentController.java b/src/main/java/com/example/rhizome/app/presentation/controller/SelectDepartmentController.java
new file mode 100644
index 0000000..497e7ce
--- /dev/null
+++ b/src/main/java/com/example/rhizome/app/presentation/controller/SelectDepartmentController.java
@@ -0,0 +1,120 @@
+package com.example.rhizome.app.presentation.controller;
+
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+//import java.util.List;
+
+import javax.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.service.SearchDepartment;
+import com.example.rhizome.app.presentation.controller.pageproperty.PageReturnAttributeKeyword;
+import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword;
+import com.example.rhizome.app.presentation.form.DepartmentForm;
+import com.example.rhizome.app.presentation.form.SearchConditionDepartmentForm;
+
+/**
+ * 部署検索画面用コントローラ リスト全件表示、検索表示、更新、削除が可能
+ */
+
+// 検索Controller
+@Controller
+public class SelectDepartmentController {
+
+ // ログ出力用インスタンス
+ private final static Logger LOGGER = Logger.getLogger(SelectDepartmentController.class.getName());
+ // エラーメッセージ用の定数フィールド
+ private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!";
+
+// private static final String DEPARTMENT_HTML = "/department";
+
+ HttpSession httpSession;
+ SearchDepartment searchDepartment;
+
+
+ @Autowired
+ public SelectDepartmentController (HttpSession httpSession, SearchDepartment serchDepartment) {
+ this.httpSession = httpSession;
+ this.searchDepartment = serchDepartment;
+ }
+
+ //空の検索条件FormをこのControllerの画面用に用意する
+ @ModelAttribute
+ public SearchConditionDepartmentForm searchConditionDepartmentForm() {
+ return new SearchConditionDepartmentForm();
+ }
+
+ @RequestMapping(value = TransitionTargetPageNameKeyword.SELECT_DEPARTMENT, method = RequestMethod.POST)
+ public String select(SearchConditionDepartmentForm searchConditionDepartmentForm, Model model) {
+ try {
+ // ★考える:①検索サービスを呼ぶ(Form→Model変換 → 部分一致のメソッド)
+ // ②結果(List)を DepartmentForm.convertFrom(...) で画面用に変換
+ // ③ model に PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST という名前で載せる
+ model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST,DepartmentForm
+ .convertFrom(searchDepartment.searchByWithLike(SearchConditionDepartmentForm
+ .convertTo(searchConditionDepartmentForm)
+ )
+ )
+ );
+
+ return TransitionTargetPageNameKeyword.SELECT_DEPARTMENT_HTML;
+ }catch(Exception e) {
+ //httpSessionを破棄
+ httpSession.invalidate();
+
+ //エラー内容を出力
+ e.printStackTrace();
+
+ //ログにエラーを記録
+ LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e);
+
+ //エラー画面へ遷移
+ return TransitionTargetPageNameKeyword.ERROR_HTML;
+ }
+ }
+}
+
+
+
+ /**
+ * 社員検索画面表示処理コントローラ
+ *
+ * @param searchConditionEmployeeForm 検索画面のフォーム
+ * @param model ビューにデータを渡すためのコンテナ
+ * @return 遷移先の画面
+ */
+
+// @PermissionCheck
+// @SessionCheck
+// @RequestMapping(value = TransitionTargetPageNameKeyword.SELECT_DEPARTMENT,
+// method = RequestMethod.POST)
+// public String showDepartment() {
+//
+// return TransitionTargetPageNameKeyword.DEPARTMENT_HTML;
+//
+//
+// @RequestMapping(value =TransitionTargetPageNameKeyword.SELECT_DEPARTMENT, method = RequestMethod.POST)
+// public String select(DepartmentForm departmentForm, Model model) {
+// try {
+//
+// model.addAttribute(
+// PageReturnAttributeKeyword.EMPLOYEE_INFO_FORM_LIST,EmployeeInfoForm.convertFrom(searchEmployeeInfo.searchBy(
+// SearchConditionEmployeeForm.convertTo(searchConditionEmployeeForm())
+// );
+
+
+// /**
+// * 社員検索画面表示処理コントローラ
+// * 検索条件無しの状態を作るため、空の検索条件で検索した結果を画面に返す
+// *
+// * @param model ビューにデータを渡すためのコンテナ
+// * @return 遷移先の画面
+
+
diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java b/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java
index fa41f62..2c5c19d 100644
--- a/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java
+++ b/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java
@@ -1,5 +1,17 @@
package com.example.rhizome.app.presentation.controller;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.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.aop.aspect.PermissionCheck;
import com.example.rhizome.aop.aspect.SessionCheck;
import com.example.rhizome.app.domain.service.SearchDepartment;
@@ -9,16 +21,6 @@ import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTa
import com.example.rhizome.app.presentation.form.DepartmentForm;
import com.example.rhizome.app.presentation.form.EmployeeInfoForm;
import com.example.rhizome.app.presentation.form.SearchConditionEmployeeForm;
-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 javax.servlet.http.HttpSession;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* 社員検索画面用コントローラ リスト全件表示、検索表示、更新、削除が可能
@@ -60,6 +62,7 @@ public class SelectEmployeeController {
public String select(SearchConditionEmployeeForm searchConditionEmployeeForm, Model model) {
try {
+
// 部署一覧を取得し、画面に返す用のクラスに詰め替える
// 作成した部署一覧をセット
@@ -75,6 +78,7 @@ public class SelectEmployeeController {
return TransitionTargetPageNameKeyword.SELECT_EMPLOYEE_HTML;
+
} catch (Exception e) {
// ログイン情報の破棄
httpSession.invalidate();
diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/TransitionTargetPageNameKeyword.java b/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/TransitionTargetPageNameKeyword.java
index 90ded96..848dbbf 100644
--- a/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/TransitionTargetPageNameKeyword.java
+++ b/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/TransitionTargetPageNameKeyword.java
@@ -21,6 +21,7 @@ public class TransitionTargetPageNameKeyword {
public static final String INSERT_EMPLOYEE_CONFIRM_HTML = "insertEmployeeConfirm";
public static final String INSERT_EMPLOYEE_RESULT_HTML = "insertEmployeeResult";
public static final String UPDATE_EMPLOYEE_INPUT_HTML = "updateEmployeeInput";
+ public static final String DEPARTMENT_HTML = "department";
public static final String ERROR_HTML = "error";
@@ -30,6 +31,7 @@ public class TransitionTargetPageNameKeyword {
public static final String INDEX_LOGIN = "/login";
public static final String LOGOUT = "/logout";
public static final String DO_LOGIN = "/doLogin";
+// public static final String DEPARTMENT_HTML = "/department";
// 一般向け(Controller)
public static final String PERSONAL_UPDATE_RESULT = "/updatePersonalEmployeeResult";
@@ -44,10 +46,18 @@ public class TransitionTargetPageNameKeyword {
public static final String SELECT_EMPLOYEE_INFO_FORM_EMPTY = "/selectAll";
public static final String SHOW_UPDATE_EMPLOYEE = "/showUpdateEmployee";
public static final String UPDATE_EMPLOYEE_RESULT = "/updateEmployeeResult";
+ public static final String SHOW_DEPARTMENT = "/department";
+// public static final String SELECT_DEPARTMENT = "/selectDepartment";
+
+
+
+
// Department
- // HTML
- // Controller
+ // HTML 実装手順書ステップ1-2通りの定数追加
+ public static final String SELECT_DEPARTMENT_HTML = "selectDepartment";
+ // Controller 実装手順書ステップ1-2通りの定数追加 -> 管理者向けと重複、エラーでたため一旦コメアウト
+ public static final String SELECT_DEPARTMENT = "/selectDepartment";
/**
* 管理者向けのページリストを返す
@@ -70,7 +80,9 @@ public class TransitionTargetPageNameKeyword {
SELECT_EMPLOYEE_INFO,
SELECT_EMPLOYEE_INFO_FORM_EMPTY,
SHOW_UPDATE_EMPLOYEE,
- UPDATE_EMPLOYEE_RESULT
+ UPDATE_EMPLOYEE_RESULT,
+ SELECT_DEPARTMENT
+
);
}
@@ -86,7 +98,8 @@ public class TransitionTargetPageNameKeyword {
INDEX_LOGIN,
LOGOUT,
DO_LOGIN,
- PERSONAL_UPDATE_RESULT
+ PERSONAL_UPDATE_RESULT,
+ SHOW_DEPARTMENT
);
}
diff --git a/src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java b/src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java
index 6648423..306b51c 100644
--- a/src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java
+++ b/src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java
@@ -1,15 +1,17 @@
package com.example.rhizome.app.presentation.form;
+import java.util.List;
+
import com.example.rhizome.app.domain.model.Department;
+
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.util.List;
-
/**
* 画面の表示に使う部署コード管理用のクラス
*/
+// 部署のフォーム
@Data
@AllArgsConstructor
@NoArgsConstructor
diff --git a/src/main/java/com/example/rhizome/app/presentation/form/SearchConditionDepartmentForm.java b/src/main/java/com/example/rhizome/app/presentation/form/SearchConditionDepartmentForm.java
new file mode 100644
index 0000000..11418f3
--- /dev/null
+++ b/src/main/java/com/example/rhizome/app/presentation/form/SearchConditionDepartmentForm.java
@@ -0,0 +1,26 @@
+package com.example.rhizome.app.presentation.form;
+
+import com.example.rhizome.app.domain.model.SearchConditionDepartment;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+// 部署の検索条件
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SearchConditionDepartmentForm {
+ //部署ID
+ private Integer idDepartment;
+ //部署名
+ private String nmDepartment;
+
+ public static SearchConditionDepartment convertTo(SearchConditionDepartmentForm form) {
+ //SearchConditonDepartment();の中身:Formの2つの値を返す
+ return new SearchConditionDepartment(
+ form.getIdDepartment(),
+ form.getNmDepartment()
+ );
+ }
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 88b15aa..ab61bfd 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,3 +1,3 @@
spring.datasource.url=jdbc:mysql://localhost:3306/rezodb
-spring.datasource.username=rezouser
-spring.datasource.password=Rezo_0000
+spring.datasource.username=rezouser1
+spring.datasource.password=Rezo_0001
diff --git a/src/main/resources/templates/menu.html b/src/main/resources/templates/menu.html
index 6d0ee4a..1660eb2 100644
--- a/src/main/resources/templates/menu.html
+++ b/src/main/resources/templates/menu.html
@@ -10,6 +10,17 @@
メニュー
+
@@ -25,13 +36,24 @@
|
|
- 登録済みのユーザ一覧表示と更新、削除を行います。 |
+ 登録済みのユーザ一覧表示と更新、削除を行います。 |
|
新規でユーザ追加を行います。 |
+
+
+ |
+ |
+ 登録済みの部署一覧表示と更新、削除を行います。 |
+
+
+
+ |
+ 新規で部署追加を行います。 |
+
+
+ 部署検索条件入力
+
+ ログイン者名:
+
+
+
+
+
+
+メニューに戻る
+検索結果
+
+
+
+
+
+
+
+
+ | 部署ID |
+ 部署名 |
+
+
+ |
+ |
+
+
+
+
+ 検索結果はありません。
+
+
+
+
diff --git a/src/main/resources/templates/selectDepartment.html b/src/main/resources/templates/selectDepartment.html
new file mode 100644
index 0000000..0a383ca
--- /dev/null
+++ b/src/main/resources/templates/selectDepartment.html
@@ -0,0 +1,71 @@
+
+
+