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 @@ 社員検索 - 登録済みのユーザ一覧表示と
更新、削除を行います。 + 登録済みのユーザ一覧表示と更新、削除を行います。 社員登録 新規でユーザ追加を行います。 + + + 部署検索 + + 登録済みの部署一覧表示と更新、削除を行います。 + + + + 部署登録 + 新規で部署追加を行います。 + 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 @@ + + + + + + + + 部署検索 + + +

+ 部署検索条件入力    +
+ ログイン者名: + +
+

+ +
+
+ +
+ + + + + + + + + + + + + +
部署ID
部署名
+
+ +メニューに戻る +

検索結果

+ + + + + + + + + + + + + + + +
部署ID部署名
+ +

+ 検索結果はありません。 +

+ + + + + \ No newline at end of file