package incheon.ags.ias.userRole.vo;

import incheon.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.List;

@Getter
@Setter
public class UserRoleVO extends ComDefaultVO {
    // USER_ROLE_MPNG 테이블 필드 (필수)
    private String userId;           // PK
    private String roleCd;           // PK
    private String roleBgngYmd;      // 역할 시작일
    private String roleEndYmd;       // 역할 종료일
    private String frstRegId;        // 최초 등록자 ID
    private String lastMdfcnId;      // 최종 수정자 ID

    // 조회 조건용 (JOIN용)
    private String sysCd;            // 시스템 코드 (조회 필터용)

    // 권한 필터링용 (업무관리자: 해당 시스템만 조회)
    private List<String> sysCdList;

    // 조회 결과용 (SELECT에서 사용)
    private String userNm;           // 사용자명
    private String deptNm;           // 부서명
    private String deptWholNm;       // 부서전체명
    private String jbgdNm;           // 직급명
    private String jbpsNm;           // 직위명
    private String roleNm;           // 역할명
    private String roleExpln;        // 역할 설명
    private String sysNm;            // 시스템명
    private String emlAddr;          // 이메일 주소
    private Long rowNum;             // 행번호
    private String mblTelno;         // 휴대폰 번호
    private String ofcTelno;         // 사무실 번호
    private String fcltMngInstCd;   // 시설관리기관코드
    private String fcltMngInstNm;   // 시설관리기관명

    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}