package incheon.uis.ums.service.impl;

import org.springframework.stereotype.Service;

import incheon.com.cmm.context.RequestContext;
import incheon.com.security.vo.LoginVO;
import incheon.uis.ums.mapper.UisUserDeptMapper;
import incheon.uis.ums.service.UisAccessService;
import incheon.uis.ums.service.UisUserDeptService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@Service
@Slf4j
@RequiredArgsConstructor
public class UisUserDeptServiceImpl implements UisUserDeptService{

	private final UisUserDeptMapper uisUserDeptMapper;
	private final UisAccessService uisAccessService;

	@Override
	public String getAuthorizedMngtFilter() {
		LoginVO loginVO = RequestContext.getCurrentUser();

		// super_admind / uis_admin role
		if (uisAccessService.isSuperAdmin(loginVO)
			|| uisAccessService.isUisAdmin(loginVO)) {
			return "";
		}

		String userDeptCd = RequestContext.getCurrentUserDeptCd();
		String mngtCd = uisUserDeptMapper.getUserMngtCdByDeptCd(userDeptCd);

		//2025-12-22 seyoung : 매핑되는 관리기관 없는 경우에는 관리기관 필터 미적용
		//추후 필터 적용 요구 시 수정
		if (mngtCd == null) {
			return "";
		}

		return mngtCd;
	}

}
