From 14c1f9521c56fef93638eb2fb661e316e0eb958a Mon Sep 17 00:00:00 2001 From: o-yamamoto <2026_04_00886@it-college.co.jp> Date: Wed, 9 Sep 2026 16:28:26 +0900 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=BF=AE=E3=81=AE=E5=AE=9F=E8=A3=85?= =?UTF-8?q?=E3=81=AB=E3=82=88=E3=82=8B=E3=83=90=E3=82=B0=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E3=80=90=E7=A4=BE=E5=93=A1=E6=A4=9C=E7=B4=A2=E6=A9=9F?= =?UTF-8?q?=E8=83=BD=E3=81=AE=E9=A0=85=E7=9B=AE=E8=BF=BD=E5=8A=A0=EF=BC=9A?= =?UTF-8?q?=E3=80=8C=E5=85=A5=E7=A4=BE=E5=B9=B4=E6=9C=88=E6=97=A5=E3=80=8D?= =?UTF-8?q?=E3=80=81=E3=80=8C=E5=8B=A4=E7=B6=9A=E5=B9=B4=E6=95=B0=E3=80=8D?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SelectEmployeeController.java | 15 +++++--- .../UpdateEmployeeResultController.java | 29 ++++++++------- ...pdatePersonalEmployeeResultController.java | 36 +++++++++++-------- .../form/UpdateEmployeeInfoForm.java | 7 +++- .../form/UpdatePersonalUserForm.java | 12 +++++-- 5 files changed, 64 insertions(+), 35 deletions(-) diff --git a/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java b/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java index d1f2c87..296bb9b 100644 --- a/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java +++ b/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/SelectEmployeeController.java @@ -121,11 +121,16 @@ public class SelectEmployeeController { ); // 検索条件を元に検索を実施 - model.addAttribute(PageReturnAttributeKeyword.EMPLOYEE_INFO_FORM_LIST, - EmployeeInfoForm.convertFrom( - searchEmployeeInfo.searchBy( - SearchConditionEmployeeForm.convertTo(searchConditionEmployeeForm()) - ))); + ListemployeeInfoForm =EmployeeInfoForm.convertFrom( + searchEmployeeInfo.searchBy( + SearchConditionEmployeeForm.convertTo(searchConditionEmployeeForm()) + )); + for(EmployeeInfoForm form:employeeInfoForm) { + String tenure = tenureCalc.tenureCalc(form.getHireDate()); + form.setTenure(tenure); + } + + model.addAttribute(PageReturnAttributeKeyword.EMPLOYEE_INFO_FORM_LIST,employeeInfoForm); // 検索ページに遷移 return TransitionTargetPageNameKeyword.SELECT_EMPLOYEE_HTML; diff --git a/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java b/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java index 7f0066c..faf5ae5 100644 --- a/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java +++ b/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdateEmployeeResultController.java @@ -1,6 +1,20 @@ package com.example.rhizome.app.presentation.controller; +import java.util.List; +import java.util.Objects; +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.model.Employee; @@ -15,18 +29,6 @@ import com.example.rhizome.app.presentation.form.DepartmentForm; import com.example.rhizome.app.presentation.form.LoginUserForm; import com.example.rhizome.app.presentation.form.MessageForm; import com.example.rhizome.app.presentation.form.UpdateEmployeeInfoForm; -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.List; -import java.util.Objects; -import java.util.logging.Level; -import java.util.logging.Logger; /** * employee を更新して結果を返す為のコントローラ @@ -147,8 +149,11 @@ public class UpdateEmployeeResultController { return TransitionTargetPageNameKeyword.UPDATE_EMPLOYEE_INPUT_HTML; } + + updateEmployeeInfoForm.setHireDate(beforeEmployee.getHireDate()); // 画面用の型からビジネスロジック用のモデルに変換し、Updateを実行 + updateEmployee.updateEmployee(beforeEmployee, UpdateEmployeeInfoForm.convertTo(updateEmployeeInfoForm)); // Update後の情報を再取得 diff --git a/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdatePersonalEmployeeResultController.java b/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdatePersonalEmployeeResultController.java index 26b46da..02d717a 100644 --- a/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdatePersonalEmployeeResultController.java +++ b/EM-System/src/main/java/com/example/rhizome/app/presentation/controller/UpdatePersonalEmployeeResultController.java @@ -1,6 +1,20 @@ package com.example.rhizome.app.presentation.controller; +import java.util.List; +import java.util.Objects; +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.model.Employee; @@ -12,18 +26,6 @@ import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTa 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.List; -import java.util.Objects; -import java.util.logging.Level; -import java.util.logging.Logger; /** * 個人情報更新用コントローラ @@ -134,11 +136,15 @@ public class UpdatePersonalEmployeeResultController { } //更新前のEmployeeの情報を取得 + Employee beforeEmployee =searchEmployee.searchEmployeeByIdEmployee(updatePersonalUserForm.getIdEmployee()); + + updatePersonalUserForm.setHireDate(beforeEmployee.getHireDate()); + // 画面用のインスタンスから更新用のインスタンスに変換し、Update実施 updateEmployee.updateEmployee( - searchEmployee.searchEmployeeByIdEmployee(updatePersonalUserForm.getIdEmployee()), - UpdatePersonalUserForm.convertTo(updatePersonalUserForm) - ); + beforeEmployee, + UpdatePersonalUserForm.convertTo(updatePersonalUserForm)) + ; // ログイン者の情報をセッション情報に格納 httpSession.setAttribute( diff --git a/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdateEmployeeInfoForm.java b/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdateEmployeeInfoForm.java index 43f9eff..acac2cb 100644 --- a/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdateEmployeeInfoForm.java +++ b/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdateEmployeeInfoForm.java @@ -41,6 +41,10 @@ public class UpdateEmployeeInfoForm { * パスワード確認用 */ private String passwordConfirm; + /** + * 入社年月日 + */ + private String hireDate; /** * 管理者権限 */ @@ -65,6 +69,7 @@ public class UpdateEmployeeInfoForm { employeeInfo.getEmployee().getMailAddress(), employeeInfo.getEmployee().getPassword(), null, + employeeInfo.getEmployee().getHireDate(), employeeInfo.getEmployee().getAdminAuth(), employeeInfo.getDepartment().getIdDepartment() ); @@ -95,7 +100,7 @@ public class UpdateEmployeeInfoForm { updateEmployeeInfoForm.getKnEmployee(), updateEmployeeInfoForm.getMailAddress(), updateEmployeeInfoForm.getPassword(), - null, + updateEmployeeInfoForm.getHireDate(), updateEmployeeInfoForm.getAdminAuth(), updateEmployeeInfoForm.getIdDepartment() ); diff --git a/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdatePersonalUserForm.java b/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdatePersonalUserForm.java index 279e40b..30cfb67 100644 --- a/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdatePersonalUserForm.java +++ b/EM-System/src/main/java/com/example/rhizome/app/presentation/form/UpdatePersonalUserForm.java @@ -2,6 +2,7 @@ package com.example.rhizome.app.presentation.form; import com.example.rhizome.app.domain.model.Employee; import com.example.rhizome.app.domain.model.LoginUser; + import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -37,7 +38,10 @@ public class UpdatePersonalUserForm { * パスワード確認用 */ private String passwordConfirm; - + /** + * 入社年月日 + */ + private String hireDate; /** * 画面用(presentation 層)の UpdatePersonalUserForm クラスから business 層の Employee クラスに @@ -53,6 +57,7 @@ public class UpdatePersonalUserForm { updatePersonalUserForm.getKnEmployee(), updatePersonalUserForm.getMailAddress(), updatePersonalUserForm.getPassword(), + updatePersonalUserForm.getHireDate(), null, null ); @@ -72,7 +77,9 @@ public class UpdatePersonalUserForm { employee.getKnEmployee(), employee.getMailAddress(), employee.getPassword(), - null + null, + employee.getHireDate() + ); } @@ -90,6 +97,7 @@ public class UpdatePersonalUserForm { loginUser.getKnEmployee(), loginUser.getMailAddress(), loginUser.getPassword(), + null, null ); }