diff --git a/src/main/java/com/kospo/svcm/dto/res/UserSapSelectListResponse.java b/src/main/java/com/kospo/svcm/dto/res/UserSapSelectListResponse.java new file mode 100644 index 0000000..50c9dbc --- /dev/null +++ b/src/main/java/com/kospo/svcm/dto/res/UserSapSelectListResponse.java @@ -0,0 +1,72 @@ +package com.kospo.svcm.dto.res; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.kospo.svcm.model.User; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +@JsonIgnoreProperties(ignoreUnknown = true) +@Schema(name = "UserSelectLIstResponse", description = "직원 선택") +public class UserSapSelectListResponse { + String label; + UserSelect value; + + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + @Builder + @JsonIgnoreProperties(ignoreUnknown = true) + @Schema(name = "UserSelect", description = "직원 정보") + public static class UserSelect{ + @Schema(name = "bname", description = "사번") + String bname; + @Schema(name = "btext", description = "이름") + private String btext; + @Schema(name = "deptCd", description = "무서코드") + private String deptCd; + @Schema(name = "deptNm", description = "부서명") + private String deptNm; + @Schema(name = "ptsnNm", description = "직위") + private String ptsnNm; + @Schema(name = "gradeCd", description = "직급코드") + private String gradeCd; + @Schema(name = "gradeNm", description = "직급명") + private String gradeNm; + @Schema(name = "ofcePhn", description = "내선벟노") + private String ofcePhn; + @Schema(name = "mblPhn", description = "이동번호") + private String mblPhn; + @Schema(name = "state", description = "상태") + private String state; + @Schema(name = "abscd", description = "근태상태코드") + private String abscd; + @Schema(name = "abscdNm", description = "근태상태") + private String abscdNm; + @Schema(name = "attendStaYmd", description = "근태시작일") + private String attendStaYmd; + @Schema(name = "attendEndYmd", description = "근태종료일") + private String attendEndYmd; + + public static UserSelect from(User user) { + return UserSelect.builder() + .bname(user.getSabun()) + .btext(user.getName()) + .deptCd(user.getDeptCd()) + .deptNm("") + .ptsnNm(user.getPtsnNm()) + .gradeCd(user.getGradeCd()) + .gradeNm(user.getGradeNm()) + .abscd(user.getAttendCd()) + .abscdNm(user.getAttendNm()) + .attendStaYmd(user.getAttendStaYmd()) + .attendEndYmd(user.getAttendEndYmd()) + .build(); + } + } +} diff --git a/src/main/java/com/kospo/svcm/service/UserService.java b/src/main/java/com/kospo/svcm/service/UserService.java index 1517730..7500983 100644 --- a/src/main/java/com/kospo/svcm/service/UserService.java +++ b/src/main/java/com/kospo/svcm/service/UserService.java @@ -1,5 +1,6 @@ package com.kospo.svcm.service; +import com.kospo.svcm.dto.res.UserSapSelectListResponse; import com.kospo.svcm.dto.res.UserSelectListResponse; import com.kospo.svcm.model.User; import org.springframework.security.core.userdetails.UserDetails; @@ -14,5 +15,5 @@ public interface UserService { List findByNameContaining(String name); - List findSapUserByNameContaining(String name); + List findSapUserByNameContaining(String name); } diff --git a/src/main/java/com/kospo/svcm/service/impl/UserServiceImpl.java b/src/main/java/com/kospo/svcm/service/impl/UserServiceImpl.java index 820bd00..b9f44a0 100644 --- a/src/main/java/com/kospo/svcm/service/impl/UserServiceImpl.java +++ b/src/main/java/com/kospo/svcm/service/impl/UserServiceImpl.java @@ -1,5 +1,6 @@ package com.kospo.svcm.service.impl; +import com.kospo.svcm.dto.res.UserSapSelectListResponse; import com.kospo.svcm.dto.res.UserSelectListResponse; import com.kospo.svcm.model.Dept; import com.kospo.svcm.model.User; @@ -51,16 +52,16 @@ public class UserServiceImpl implements UserService { } @Override - public List findSapUserByNameContaining(String name) { + public List findSapUserByNameContaining(String name) { if(name.equals("") || name == null) { - return new ArrayList(); + return new ArrayList(); } else { List deptList = deptRepository.findAll(); return userRepository.findSapByNameContainingOrSabunContaining(name).stream().map(u -> { Dept dept = deptList.stream().filter(d -> d.getDeptCd().equals(u.getDeptCd())).findFirst().orElse(null); - UserSelectListResponse.UserSelect userSelect = UserSelectListResponse.UserSelect.from(u); + UserSapSelectListResponse.UserSelect userSelect = UserSapSelectListResponse.UserSelect.from(u); userSelect.setDeptNm(dept.getDeptNm()); - return UserSelectListResponse.builder() + return UserSapSelectListResponse.builder() .label(dept.getDeptNm() + " - " + u.getName() + " (" + u.getSabun() + ")") .value(userSelect) .build();