package jp.mosp.payroll.report.dto;

import java.sql.SQLException;
import java.util.List;

import jp.mosp.common.common.MospException;
import jp.mosp.human.dto.MKojinDto;
import jp.mosp.kintai.common.dto.MKihonDto;
import jp.mosp.payroll.bonus.dto.PhBounsDto;
import jp.mosp.payroll.dao.PdPayDeductionDao;
import jp.mosp.payroll.dto.CdAdjustmentDto;
import jp.mosp.payroll.dto.CmCompanyDto;
import jp.mosp.payroll.dto.CmIncomeTaxDto;
import jp.mosp.payroll.dto.CmMidwayEnterDto;
import jp.mosp.payroll.dto.PhPaymentDto;

public class AdjustDataDto extends WithholdingListDto {
	
	private static final long	serialVersionUID	= 7720406971353362435L;
	
	// フィールド
	private String				selfWidowType;								// 本人寡婦区分
	private String				selfHandicapType;							// 本人障害区分
	private String				selfStudentType;							// 本人学生区分
	private String				spouseIntendType;							// 配偶者区分
																			
	
	/**
	 * コンストラクタ
	 * @throws IllegalAccessException 
	 * @throws NoSuchFieldException 
	 * @throws SQLException 
	 * @throws MospException 
	 */
	public AdjustDataDto(int targetAdjustYear, CdAdjustmentDto cdAdjustmentDto, MKihonDto mKihonDto,
			MKojinDto mKojinDto, CmIncomeTaxDto cmIncomeTaxDto, CmMidwayEnterDto cmMidwayEnterDto,
			List<PhPaymentDto> listPaymentData, List<PhBounsDto> listBonusData, PdPayDeductionDao pdPayDeductionDao,
			CmCompanyDto cmCompanyDto) throws SQLException, NoSuchFieldException, IllegalAccessException {
		super(targetAdjustYear, cdAdjustmentDto, mKihonDto, mKojinDto, cmIncomeTaxDto, cmMidwayEnterDto,
				listPaymentData, listBonusData, pdPayDeductionDao, cmCompanyDto);
		if (cmIncomeTaxDto != null) {
			selfWidowType = cmIncomeTaxDto.getSelfWidowType(); // 本人寡婦区分
			selfHandicapType = cmIncomeTaxDto.getSelfHandicapType(); // 本人障害区分
			selfStudentType = cmIncomeTaxDto.getSelfStudentType(); // 本人学生区分
			spouseIntendType = cmIncomeTaxDto.getSpouseIntendType(); // 配偶者区分
		} else {
			selfWidowType = ""; // 本人寡婦区分
			selfHandicapType = ""; // 本人障害区分
			selfStudentType = ""; // 本人学生区分
			spouseIntendType = ""; // 配偶者区分
		}
	}
	
	// アクセサメソッド
	public String getSelfWidowType() {
		return selfWidowType;
	} // 本人寡婦区分
	
	public String getSelfHandicapType() {
		return selfHandicapType;
	} // 本人障害区分
	
	public String getSelfStudentType() {
		return selfStudentType;
	} // 本人学生区分
	
	public String getSpouseIntendType() {
		return spouseIntendType;
	} // 配偶者区分
	
	public void setSelfWidowType(String selfWidowType) {
		this.selfWidowType = selfWidowType;
	} // 本人寡婦区分
	
	public void setSelfHandicapType(String selfHandicapType) {
		this.selfHandicapType = selfHandicapType;
	} // 本人障害区分
	
	public void setSelfStudentType(String selfStudentType) {
		this.selfStudentType = selfStudentType;
	} // 本人学生区分
	
	public void setSpouseIntendType(String spouseIntendType) {
		this.spouseIntendType = spouseIntendType;
	} // 配偶者区分
	
}
