From 5702305e68aa9fa567859cc7f2ba9cf419e7a873 Mon Sep 17 00:00:00 2001 From: m-endo <26-s-i-tm-nets@it-college.jp> Date: Wed, 14 Oct 2026 15:03:46 +0900 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AE=B5=E9=9A=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 41 +++ .gitignore | 2 + .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/model/DepartmentInfo.java | 25 ++ .../service/impl/SearchDepartmentInfo.java | 12 + .../impl/SearchDepartmentInfoImpl.java | 59 ++++ .../service/impl/SearchEmployeeInfoImpl.java | 13 +- .../entity/EmployeeDepartmentEntity.java | 33 ++- .../repository/DepartmentInfoRepository.java | 28 ++ .../repository/EmployeeInfoRepository.java | 9 +- .../controller/DeleteEmployeeController.java | 4 +- .../InsertEmployeeConfirmController.java | 4 +- .../controller/InsertEmployeeController.java | 4 +- .../InsertEmployeeInputController.java | 4 +- .../SelectDepartmentController.java | 65 +++++ .../controller/SelectEmployeeController.java | 31 +- .../controller/UpdateEmployeeController.java | 4 +- .../UpdateEmployeeResultController.java | 4 +- .../PageReturnAttributeKeyword.java | 19 +- .../TransitionTargetPageNameKeyword.java | 144 +++++----- ...tmentForm.java => DepartmentInfoForm.java} | 10 +- .../form/SearchConditionDepartmentForm.java | 40 +++ .../templates/insertDpartmentInput.html | 82 ++++++ src/main/resources/templates/menu.html | 177 ++++++------ .../resources/templates/selectDepartment.html | 90 ++++++ .../resources/templates/selectEmployee.html | 271 +++++++++--------- 34 files changed, 908 insertions(+), 355 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/domain/model/DepartmentInfo.java create mode 100644 src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfo.java create mode 100644 src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfoImpl.java create mode 100644 src/main/java/com/example/rhizome/app/infra/repository/DepartmentInfoRepository.java create mode 100644 src/main/java/com/example/rhizome/app/presentation/controller/SelectDepartmentController.java rename src/main/java/com/example/rhizome/app/presentation/form/{DepartmentForm.java => DepartmentInfoForm.java} (74%) create mode 100644 src/main/java/com/example/rhizome/app/presentation/form/SearchConditionDepartmentForm.java create mode 100644 src/main/resources/templates/insertDpartmentInput.html create mode 100644 src/main/resources/templates/selectDepartment.html diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..3122b27 --- /dev/null +++ b/.classpath @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f63015 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target/ +/bin/ 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/model/DepartmentInfo.java b/src/main/java/com/example/rhizome/app/domain/model/DepartmentInfo.java new file mode 100644 index 0000000..8c33410 --- /dev/null +++ b/src/main/java/com/example/rhizome/app/domain/model/DepartmentInfo.java @@ -0,0 +1,25 @@ +package com.example.rhizome.app.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +//コピペのみ、部署用に修正必要 + +/** + * 部署情報の概念を表現するモデルクラスです。 + */ + +@Getter +@AllArgsConstructor + +public class DepartmentInfo { + /** + * 社員情報 + */ + private final Employee employee; + /** + * 部署名 + */ + private final Department department; + +} diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfo.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfo.java new file mode 100644 index 0000000..1faeca8 --- /dev/null +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfo.java @@ -0,0 +1,12 @@ +package com.example.rhizome.app.domain.service.impl; + +import java.util.List; + +import com.example.rhizome.app.domain.model.Department; +import com.example.rhizome.app.domain.model.SearchConditionDepartment; + +public interface SearchDepartmentInfo { + List selectAll(); + + List searchBy(SearchConditionDepartment searchConditionDepartment); +} diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfoImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfoImpl.java new file mode 100644 index 0000000..a315721 --- /dev/null +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentInfoImpl.java @@ -0,0 +1,59 @@ +package com.example.rhizome.app.domain.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.rhizome.app.domain.model.Department; +import com.example.rhizome.app.domain.model.SearchConditionDepartment; +import com.example.rhizome.app.infra.repository.DepartmentInfoRepository; + +/** + * SearchDepartmentInfoImpl (employee join department) 検索系の機能を集約させるサービスクラスです + */ +@Service +@Transactional +public class SearchDepartmentInfoImpl implements SearchDepartmentInfo { + + DepartmentInfoRepository departmentInfoRepository; + + @Autowired + public SearchDepartmentInfoImpl(DepartmentInfoRepository departmentInfoRepository) { + this.departmentInfoRepository = departmentInfoRepository; + } + + /** + * DepartmentInfo (employee join department) のレコードを全件取得 + * + * @return 取得したレコード全件 + */ + public List selectAll() { + + return null;//EmployeeDepartmentEntity.createDepartmentInfoList(departmentInfoRepository.findAll()); + + } + + /** + * SearchConditionDepartment の情報を元に DepartmentInfo (employee join department) のレコードを取得 + * + * @param searchConditionDepartment 検索条件 + * @return 検索結果のレコードリスト + */ + public List searchBy(SearchConditionDepartment searchConditionDepartment) { + // 動的に検索条件を絞り込む + // Specification は Criteria API の Predicate をラップしたもの + return null; +// EmployeeDepartmentEntity +// .createDepartmentInfoList( +// departmentInfoRepository.findAll(Specification +// .where(EmployeeInfoRepository +// .idDepartmentEqual(searchConditionDepartment.getIdDepartment())) +// .and(EmployeeInfoRepository +// .idDepartmentEqual(searchConditionDepartment.getNmDepartment())) +// +// )); + + } +} diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java index 09763c9..3622716 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java @@ -1,16 +1,17 @@ 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.EmployeeInfo; import com.example.rhizome.app.domain.model.SearchConditionEmployee; import com.example.rhizome.app.domain.service.SearchEmployeeInfo; import com.example.rhizome.app.infra.entity.EmployeeDepartmentEntity; import com.example.rhizome.app.infra.repository.EmployeeInfoRepository; -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; /** * SearchEmployeeInfoImpl (employee join department) 検索系の機能を集約させるサービスクラスです diff --git a/src/main/java/com/example/rhizome/app/infra/entity/EmployeeDepartmentEntity.java b/src/main/java/com/example/rhizome/app/infra/entity/EmployeeDepartmentEntity.java index 989d2cc..abc27b7 100644 --- a/src/main/java/com/example/rhizome/app/infra/entity/EmployeeDepartmentEntity.java +++ b/src/main/java/com/example/rhizome/app/infra/entity/EmployeeDepartmentEntity.java @@ -1,16 +1,28 @@ package com.example.rhizome.app.infra.entity; -import com.example.rhizome.app.domain.model.Department; -import com.example.rhizome.app.domain.model.Employee; -import com.example.rhizome.app.domain.model.EmployeeInfo; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; +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.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.NamedEntityGraph; +import javax.persistence.Table; + import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import javax.persistence.*; -import java.util.List; +import com.example.rhizome.app.domain.model.Department; +import com.example.rhizome.app.domain.model.DepartmentInfo; +import com.example.rhizome.app.domain.model.Employee; +import com.example.rhizome.app.domain.model.EmployeeInfo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; /** * Employee + Department の Join 情報を保持するEntity @@ -114,5 +126,10 @@ public class EmployeeDepartmentEntity { } + public static List createDepartmentInfoList(List all) { + // TODO 自動生成されたメソッド・スタブ + return null; + } + } diff --git a/src/main/java/com/example/rhizome/app/infra/repository/DepartmentInfoRepository.java b/src/main/java/com/example/rhizome/app/infra/repository/DepartmentInfoRepository.java new file mode 100644 index 0000000..02d6a6f --- /dev/null +++ b/src/main/java/com/example/rhizome/app/infra/repository/DepartmentInfoRepository.java @@ -0,0 +1,28 @@ +package com.example.rhizome.app.infra.repository; + +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; + +import com.example.rhizome.app.infra.entity.EmployeeDepartmentEntity; + +@Repository +public interface DepartmentInfoRepository + extends JpaRepository, JpaSpecificationExecutor { + static Specification idDepartmentEqual(Integer idDepartment) { + return idDepartment == null ? null : + // 戻り値の型 Specification にキャスト + (Specification) + // ラムダ式で記載しているが書いてあることは criteriaBuilder を使って Where句の後の "'idDepartment' = idDepartment(変数)" + // を作成している + (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.equal(root.get("idDepartment"), idDepartment); + } + + static Specification nmDepartmentEqual(String nmDepartment) { + return (nmDepartment == null || nmDepartment.isEmpty()) ? null + : (Specification) (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder + .like(root.get("nmDepartment"), "%" + nmDepartment + "%"); + } + +} diff --git a/src/main/java/com/example/rhizome/app/infra/repository/EmployeeInfoRepository.java b/src/main/java/com/example/rhizome/app/infra/repository/EmployeeInfoRepository.java index c2c8c5c..10b6170 100644 --- a/src/main/java/com/example/rhizome/app/infra/repository/EmployeeInfoRepository.java +++ b/src/main/java/com/example/rhizome/app/infra/repository/EmployeeInfoRepository.java @@ -1,11 +1,12 @@ package com.example.rhizome.app.infra.repository; -import com.example.rhizome.app.infra.entity.EmployeeDepartmentEntity; 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; +import com.example.rhizome.app.infra.entity.EmployeeDepartmentEntity; + /** * ワンポイント情報(ここで登場する関数型インターフェース Specification について解説します) * Specification: @@ -53,9 +54,9 @@ public interface EmployeeInfoRepository extends JpaRepository criteriaBuilder.like(root.get("mailAddress"), "%" + mailAddress + "%"); } - static Specification idDepartmentEqual(Integer idDepartment) { + static Specification idDepartmentEqual(Integer integer) { return (root, query, criteriaBuilder) -> - idDepartment == null ? null : - criteriaBuilder.equal(root.join("department").get("idDepartment"), idDepartment); + integer == null ? null : + criteriaBuilder.equal(root.join("department").get("idDepartment"), integer); } } diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/DeleteEmployeeController.java b/src/main/java/com/example/rhizome/app/presentation/controller/DeleteEmployeeController.java index 07982f7..ba56144 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/DeleteEmployeeController.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/DeleteEmployeeController.java @@ -9,7 +9,7 @@ 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.SessionKeyword; import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword; -import com.example.rhizome.app.presentation.form.DepartmentForm; +import com.example.rhizome.app.presentation.form.DepartmentInfoForm; import com.example.rhizome.app.presentation.form.LoginUserForm; import com.example.rhizome.app.presentation.form.MessageForm; import org.springframework.beans.factory.annotation.Autowired; @@ -66,7 +66,7 @@ public class DeleteEmployeeController { // 作成した部署一覧をセット model.addAttribute( PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, - DepartmentForm.convertFrom(searchDepartment.selectAll()) + DepartmentInfoForm.convertFrom(searchDepartment.selectAll()) ); // 削除処理実施 diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeConfirmController.java b/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeConfirmController.java index 4cdf8d1..f21f230 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeConfirmController.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeConfirmController.java @@ -9,7 +9,7 @@ import com.example.rhizome.app.domain.service.impl.SearchDepartmentImpl; import com.example.rhizome.app.domain.service.impl.SearchEmployeeImpl; 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.DepartmentInfoForm; import com.example.rhizome.app.presentation.form.InsertEmployeeForm; import com.example.rhizome.app.presentation.form.MessageForm; import org.springframework.beans.factory.annotation.Autowired; @@ -75,7 +75,7 @@ public class InsertEmployeeConfirmController { // 作成した部署一覧をセット model.addAttribute( PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, - DepartmentForm.convertFrom( + DepartmentInfoForm.convertFrom( searchDepartment.selectAll() )); diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeController.java b/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeController.java index a532295..456cab6 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeController.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeController.java @@ -8,7 +8,7 @@ import com.example.rhizome.app.domain.service.impl.RegisterEmployeeImpl; import com.example.rhizome.app.domain.service.impl.SearchDepartmentImpl; 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.DepartmentInfoForm; import com.example.rhizome.app.presentation.form.InsertEmployeeForm; import com.example.rhizome.app.presentation.form.MessageForm; import org.springframework.beans.factory.annotation.Autowired; @@ -71,7 +71,7 @@ public class InsertEmployeeController { // 作成した部署一覧をセット model.addAttribute( PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, - DepartmentForm.convertFrom( + DepartmentInfoForm.convertFrom( searchDepartment.selectAll() )); diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeInputController.java b/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeInputController.java index fab6082..a79b7b9 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeInputController.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/InsertEmployeeInputController.java @@ -6,7 +6,7 @@ import com.example.rhizome.app.domain.service.RegisterEmployee; 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.DepartmentInfoForm; import com.example.rhizome.app.presentation.form.InsertEmployeeForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -64,7 +64,7 @@ public class InsertEmployeeInputController { try { // 部署コードリストを作成し、画面に返す値としてセット - model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, DepartmentForm.convertFrom(searchDepartment.selectAll())); + model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, DepartmentInfoForm.convertFrom(searchDepartment.selectAll())); // パラメータをセット model.addAttribute(PageReturnAttributeKeyword.INSERT_EMPLOYEE_FORM, insertEmployeeForm); 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..effc20b --- /dev/null +++ b/src/main/java/com/example/rhizome/app/presentation/controller/SelectDepartmentController.java @@ -0,0 +1,65 @@ +package com.example.rhizome.app.presentation.controller; + +import java.util.List; +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.Department; +import com.example.rhizome.app.domain.model.SearchConditionDepartment; +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.SearchConditionDepartmentForm; + +@Controller +public class SelectDepartmentController { + + private final static Logger LOGGER = Logger.getLogger(SelectDepartmentController.class.getName()); + private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; + + HttpSession httpSession; + SearchDepartment searchDepartment; + + @Autowired + public SelectDepartmentController(HttpSession httpSession, SearchDepartment searchDepartment) { + this.httpSession = httpSession; + this.searchDepartment = searchDepartment; + } + + /** 空の検索条件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 という名前で載せる + SearchConditionDepartment searchCondition = new SearchConditionDepartment( + searchConditionDepartmentForm.getIdDepartment(), + searchConditionDepartmentForm.getNmDepartment()); + List departmentList = searchDepartment.searchByWithLike(searchCondition); + model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, departmentList); + + return TransitionTargetPageNameKeyword.SELECT_DEPARTMENT_HTML; + + } catch (Exception e) { + httpSession.invalidate(); + e.printStackTrace(); + LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + return TransitionTargetPageNameKeyword.ERROR_HTML; + } + } +} \ No newline at end of file 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..2366800 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,24 +1,27 @@ 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.PostMapping; +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; import com.example.rhizome.app.domain.service.SearchEmployeeInfo; 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.DepartmentInfoForm; 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; /** * 社員検索画面用コントローラ リスト全件表示、検索表示、更新、削除が可能 @@ -56,7 +59,7 @@ public class SelectEmployeeController { */ @PermissionCheck @SessionCheck - @RequestMapping(value = TransitionTargetPageNameKeyword.SELECT_EMPLOYEE_INFO, method = RequestMethod.POST) + @PostMapping(TransitionTargetPageNameKeyword.SELECT_EMPLOYEE_INFO) public String select(SearchConditionEmployeeForm searchConditionEmployeeForm, Model model) { try { @@ -65,7 +68,7 @@ public class SelectEmployeeController { // 作成した部署一覧をセット model.addAttribute( PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, - DepartmentForm.convertFrom(searchDepartment.selectAll()) + DepartmentInfoForm.convertFrom(searchDepartment.selectAll()) ); // 検索条件を元に検索を実施 @@ -105,7 +108,7 @@ public class SelectEmployeeController { // 作成した部署一覧をセット model.addAttribute( PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, - DepartmentForm.convertFrom(searchDepartment.selectAll()) + DepartmentInfoForm.convertFrom(searchDepartment.selectAll()) ); // 検索条件を元に検索を実施 diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeController.java b/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeController.java index 1b43d74..521bc18 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeController.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeController.java @@ -8,7 +8,7 @@ import com.example.rhizome.app.domain.service.SearchDepartment; import com.example.rhizome.app.domain.service.SearchEmployeeInfo; 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.DepartmentInfoForm; import com.example.rhizome.app.presentation.form.MessageForm; import com.example.rhizome.app.presentation.form.SearchConditionEmployeeForm; import com.example.rhizome.app.presentation.form.UpdateEmployeeInfoForm; @@ -67,7 +67,7 @@ public class UpdateEmployeeController { try { // 部署一覧を取得し画面に返す値としてセット - model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, DepartmentForm.convertFrom(searchDepartment.selectAll())); + model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, DepartmentInfoForm.convertFrom(searchDepartment.selectAll())); // id を条件に更新対象のレコードを検索、取得する List employeeInfoList = searchEmployeeInfo.searchBy( diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java b/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java index 7f0066c..fea33cb 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java @@ -11,7 +11,7 @@ import com.example.rhizome.app.domain.service.UpdateEmployee; 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.DepartmentForm; +import com.example.rhizome.app.presentation.form.DepartmentInfoForm; import com.example.rhizome.app.presentation.form.LoginUserForm; import com.example.rhizome.app.presentation.form.MessageForm; import com.example.rhizome.app.presentation.form.UpdateEmployeeInfoForm; @@ -91,7 +91,7 @@ public class UpdateEmployeeResultController { try { // 部署一覧取得 - model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, DepartmentForm.convertFrom(searchDepartment.selectAll())); + model.addAttribute(PageReturnAttributeKeyword.DEPARTMENT_FORM_LIST, DepartmentInfoForm.convertFrom(searchDepartment.selectAll())); // パスワードが仕様を満たしているか確認 String error = UpdateEmployeeInfoForm.validatePassword( diff --git a/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/PageReturnAttributeKeyword.java b/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/PageReturnAttributeKeyword.java index 5e9ec04..266a836 100644 --- a/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/PageReturnAttributeKeyword.java +++ b/src/main/java/com/example/rhizome/app/presentation/controller/pageproperty/PageReturnAttributeKeyword.java @@ -5,14 +5,15 @@ package com.example.rhizome.app.presentation.controller.pageproperty; */ public class PageReturnAttributeKeyword { - public static final String MESSAGE_ERROR = "messageError"; - public static final String MESSAGE_INFO = "messageInfo"; - - public static final String DEPARTMENT_FORM_LIST = "departmentFormList"; - public static final String UPDATE_EMPLOYEE_INFO_FORM = "updateEmployeeInfoForm"; - public static final String INSERT_EMPLOYEE_FORM = "insertEmployeeForm"; - public static final String LOGIN_INFO_FORM = "loginInfoForm"; - public static final String UPDATE_PERSONAL_EMPLOYEE_USER_FORM = "updatePersonalEmployeeUserForm"; - public static final String EMPLOYEE_INFO_FORM_LIST = "employeeInfoFormList"; + public static final String MESSAGE_ERROR = "messageError"; + public static final String MESSAGE_INFO = "messageInfo"; + public static final String DEPARTMENT_FORM_LIST = "departmentFormList"; + public static final String UPDATE_EMPLOYEE_INFO_FORM = "updateEmployeeInfoForm"; + public static final String INSERT_EMPLOYEE_FORM = "insertEmployeeForm"; + public static final String LOGIN_INFO_FORM = "loginInfoForm"; + public static final String UPDATE_PERSONAL_EMPLOYEE_USER_FORM = "updatePersonalEmployeeUserForm"; + public static final String EMPLOYEE_INFO_FORM_LIST = "employeeInfoFormList"; + //追加 + public static final String DEPARTMENT_INFO_FORM_LIST = "departmentInfoFormList"; } 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..68eae5d 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 @@ -7,87 +7,87 @@ import java.util.Set; */ public class TransitionTargetPageNameKeyword { - // 共通 - public static final String LOGIN_HTML = "login"; + // 共通 + public static final String LOGIN_HTML = "login"; - // 一般向け - public static final String UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML = "updatePersonalEmployeeInput"; - public static final String UPDATE_PERSONAL_RESULT_HTML = "updatePersonalEmployeeResult"; + // 一般向け + public static final String UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML = "updatePersonalEmployeeInput"; + public static final String UPDATE_PERSONAL_RESULT_HTML = "updatePersonalEmployeeResult"; - // 管理者向け - public static final String MENU_HTML = "menu"; - public static final String SELECT_EMPLOYEE_HTML = "selectEmployee"; - public static final String INSERT_EMPLOYEE_INPUT_HTML = "insertEmployeeInput"; - 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 MENU_HTML = "menu"; + public static final String SELECT_EMPLOYEE_HTML = "selectEmployee"; + public static final String INSERT_EMPLOYEE_INPUT_HTML = "insertEmployeeInput"; + 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 ERROR_HTML = "error"; + public static final String ERROR_HTML = "error"; - // 共通(Controller) - public static final String INDEX_BLANK = ""; - public static final String INDEX_SLASH = "/"; - public static final String INDEX_LOGIN = "/login"; - public static final String LOGOUT = "/logout"; - public static final String DO_LOGIN = "/doLogin"; + // 共通(Controller) + public static final String INDEX_BLANK = ""; + public static final String INDEX_SLASH = "/"; + public static final String INDEX_LOGIN = "/login"; + public static final String LOGOUT = "/logout"; + public static final String DO_LOGIN = "/doLogin"; - // 一般向け(Controller) - public static final String PERSONAL_UPDATE_RESULT = "/updatePersonalEmployeeResult"; + // 一般向け(Controller) + public static final String PERSONAL_UPDATE_RESULT = "/updatePersonalEmployeeResult"; - // 管理者向け(Controller) - public static final String DELETE_EMPLOYEE = "/deleteEmployee"; - public static final String INSERT_EMPLOYEE_INPUT = "/insertEmployeeInput"; - public static final String INSERT_EMPLOYEE_CONFIRM = "/insertEmployeeConfirm"; - public static final String INSERT_EMPLOYEE = "/insertEmployee"; - public static final String SHOW_MENU = "/showMenu"; - public static final String SELECT_EMPLOYEE_INFO = "/selectEmployeeInfo"; - 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"; + // 管理者向け(Controller) + public static final String DELETE_EMPLOYEE = "/deleteEmployee"; + public static final String INSERT_EMPLOYEE_INPUT = "/insertEmployeeInput"; + public static final String INSERT_EMPLOYEE_CONFIRM = "/insertEmployeeConfirm"; + public static final String INSERT_EMPLOYEE = "/insertEmployee"; + public static final String SHOW_MENU = "/showMenu"; + public static final String SELECT_EMPLOYEE_INFO = "/selectEmployeeInfo"; + 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"; - // Department - // HTML - // Controller + // Department + // HTML + public static final String SELECT_DEPARTMENT_HTML = "selectDepartment"; + // Controller + public static final String SELECT_DEPARTMENT = "/selectDepartment"; - /** - * 管理者向けのページリストを返す - * - * @return 管理者向けのページリスト - */ - public static Set getAdminPageList() { + /** + * 管理者向けのページリストを返す + * + * @return 管理者向けのページリスト + */ + public static Set getAdminPageList() { - return Set.of( - INDEX_BLANK, - INDEX_SLASH, - INDEX_LOGIN, - LOGOUT, - DO_LOGIN, - DELETE_EMPLOYEE, - INSERT_EMPLOYEE_INPUT, - INSERT_EMPLOYEE_CONFIRM, - INSERT_EMPLOYEE, - SHOW_MENU, - SELECT_EMPLOYEE_INFO, - SELECT_EMPLOYEE_INFO_FORM_EMPTY, - SHOW_UPDATE_EMPLOYEE, - UPDATE_EMPLOYEE_RESULT - ); - } + return Set.of( + INDEX_BLANK, + INDEX_SLASH, + INDEX_LOGIN, + LOGOUT, + DO_LOGIN, + DELETE_EMPLOYEE, + INSERT_EMPLOYEE_INPUT, + INSERT_EMPLOYEE_CONFIRM, + INSERT_EMPLOYEE, + SHOW_MENU, + SELECT_EMPLOYEE_INFO, + SELECT_EMPLOYEE_INFO_FORM_EMPTY, + SHOW_UPDATE_EMPLOYEE, + UPDATE_EMPLOYEE_RESULT); + } - /** - * 一般向けのページリストを返す - * - * @return 一般向けのページリスト - */ - public static Set getUserPageList() { - return Set.of( - INDEX_BLANK, - INDEX_SLASH, - INDEX_LOGIN, - LOGOUT, - DO_LOGIN, - PERSONAL_UPDATE_RESULT - ); - } + /** + * 一般向けのページリストを返す + * + * @return 一般向けのページリスト + */ + public static Set getUserPageList() { + return Set.of( + INDEX_BLANK, + INDEX_SLASH, + INDEX_LOGIN, + LOGOUT, + DO_LOGIN, + PERSONAL_UPDATE_RESULT); + } } diff --git a/src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java b/src/main/java/com/example/rhizome/app/presentation/form/DepartmentInfoForm.java similarity index 74% rename from src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java rename to src/main/java/com/example/rhizome/app/presentation/form/DepartmentInfoForm.java index 6648423..215eb08 100644 --- a/src/main/java/com/example/rhizome/app/presentation/form/DepartmentForm.java +++ b/src/main/java/com/example/rhizome/app/presentation/form/DepartmentInfoForm.java @@ -13,7 +13,7 @@ import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor -public class DepartmentForm { +public class DepartmentInfoForm { /** * 部署ID */ @@ -30,8 +30,8 @@ public class DepartmentForm { * @param department business 層の Department インスタンス * @return 画面用(presentation 層)の DepartmentForm インスタンス */ - public static DepartmentForm convertFrom(Department department) { - return new DepartmentForm(department.getIdDepartment(), department.getNmDepartment()); + public static DepartmentInfoForm convertFrom(Department department) { + return new DepartmentInfoForm(department.getIdDepartment(), department.getNmDepartment()); } /** @@ -41,7 +41,7 @@ public class DepartmentForm { * @param departmentList business 層の Department インスタンスのリスト * @return 画面用(presentation 層)の DepartmentForm インスタンスのリスト */ - public static List convertFrom(List departmentList) { - return departmentList.stream().map(DepartmentForm::convertFrom).toList(); + public static List convertFrom(List departmentList) { + return departmentList.stream().map(DepartmentInfoForm::convertFrom).toList(); } } 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..6cada70 --- /dev/null +++ b/src/main/java/com/example/rhizome/app/presentation/form/SearchConditionDepartmentForm.java @@ -0,0 +1,40 @@ +package com.example.rhizome.app.presentation.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 画面から渡ってきた検索条件をまとめ、再度画面に表示する為のクラス + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SearchConditionDepartmentForm { + + /** + * 部署ID + */ + private Integer idDepartment; + + /** + * 部署名 + */ + private String nmDepartment; + + /** + * business 層の SearchConditionDepartment クラスから画面用(presentation 層)の SearchConditionDepartmentForm に + * 変換します。 + * + * @param searchConditionDepartment business 層の SearchConditionDepartment インスタンス + * @return 画面用(presentation 層)の SearchConditionDepartmentForm インスタンス + */ + public static SearchConditionDepartmentForm convertTo(SearchConditionDepartmentForm form) { + return new SearchConditionDepartmentForm( + //getterで取得した部署IDを渡す + form.getIdDepartment(), + //getterで取得した部署名を渡す + form.getNmDepartment()); + } + +} \ No newline at end of file diff --git a/src/main/resources/templates/insertDpartmentInput.html b/src/main/resources/templates/insertDpartmentInput.html new file mode 100644 index 0000000..d24771b --- /dev/null +++ b/src/main/resources/templates/insertDpartmentInput.html @@ -0,0 +1,82 @@ + + + + + + Insert title here + + + + + + + + + + + + + + + 部署登録 + + + +

+ 部署登録    +
+ ログイン者名: + +
+

+
+ +
+ +
+ + + + + + + + + + + + + + + + + +
部署ID + +
部署名 + +
所属部署 + +
+ +
+
+ メニューに戻る + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/menu.html b/src/main/resources/templates/menu.html index 6d0ee4a..7bcfb70 100644 --- a/src/main/resources/templates/menu.html +++ b/src/main/resources/templates/menu.html @@ -3,115 +3,124 @@ - - - - - - - メニュー + + + + + + + メニュー -

- メインメニュー    -
- ログイン者名: - -
-

- - - - - +

+ メインメニュー    +
+ ログイン者名: + +
+

+ + + + + - - - - + + + + - - + + + 部署検索 + + 登録済みの部署一覧表示と
更新、削除を行います。 + - + function insertDepartmentSubmit() { + const form = document.createElement('form'); + form.setAttribute('method', 'post'); + form.setAttribute('action', 'insertDepartmentInput'); + + // 動的送信用のHidden + // 動的にFormを作成する場合は何かしら送信しないと、正しく動作しない + const inputField = document.createElement("input"); + inputField.setAttribute("type", "hidden"); + inputField.setAttribute("value", "insertDepartmentInput"); + + form.appendChild(inputField); + + // フォームをDOMに追加 + document.body.appendChild(form); + + form.submit(); + } + \ No newline at end of file diff --git a/src/main/resources/templates/selectDepartment.html b/src/main/resources/templates/selectDepartment.html new file mode 100644 index 0000000..f5643fd --- /dev/null +++ b/src/main/resources/templates/selectDepartment.html @@ -0,0 +1,90 @@ + + + + + + + + + 部署検索 + + + +

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

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

検索結果

+ + + + + + + + + + + + + + + + + + +
部署ID部署名操作
+ +
+ + +
+ +
+ + +
+
+ + + +

検索結果はありません

+
+ + + + + + diff --git a/src/main/resources/templates/selectEmployee.html b/src/main/resources/templates/selectEmployee.html index 47cf487..a3ec2dd 100644 --- a/src/main/resources/templates/selectEmployee.html +++ b/src/main/resources/templates/selectEmployee.html @@ -3,155 +3,144 @@ - - - - - - - 検索 + + + + + + + 検索 - -

- 検索条件入力    -
- ログイン者名: - -
-

-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
社員ID - -
社員名 - -
社員名フリガナ - -
メールアドレス - -
所属部署 - -
- - - -
-
-
-メニューに戻る -
-

検索結果

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
社員ID社員名フリガナメールアドレスパスワード管理者フラグ所属部署操作
- -
- - -
- -
- - -
-
-
- - - 検索結果はありません。 - + +

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

+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
社員ID + +
社員名 + +
社員名フリガナ + +
メールアドレス + +
所属部署 + +
+ + + +
+
+ +
+ メニューに戻る +
+

検索結果

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
社員ID社員名フリガナメールアドレスパスワード管理者フラグ所属部署操作
+ +
+ + +
+ +
+ + +
+
+
+ + + 検索結果はありません。 + + + \ No newline at end of file