package nckd.jxccl.hr.psms.business;

import kd.bos.dataentity.entity.DynamicObject;
import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;

/**
 * 强类型数据承载类（替代原 selMap）。
 * <p>来源：utils.YearContributeScoreBillEntryScoreSumBypersonidAndYear(...) 的查询结果。</p>
 * <p>所有字段与原 addNewYear_PersonpositionfileInfo(277~815) 所用键一一对应。</p>
 */
public class AnnualAdjustmentData {

    /** 员工姓名（personname） */
    private String personName;

    /** 主任职位名称（positonname） */
    private String positionName;

    /** 职位序列FID（hrjobfamilyid） */
    private Long hrJobFamilyId;

    /** 职位序列编码（hrjobfamilynumber），例如：01技术、02职能、03技能、04管理 */
    private String hrJobFamilyNumber;

    /** 职位FID（positonid） */
    private Long positionId;

    /** 行政组织FID（persondepid） */
    private Long personDepId;

    /** HR组织FID（hrorgunitid） */
    private String hrOrgUnitId;

    /** 考核结果 */
    private DynamicObject appraisalResult;

    /** 考核结果ID（appraisalresultid） */
    private Long appraisalResultId;

    /** 考核结果编号（appraisalresultnumber） */
    private String appraisalResultNumber;

    /** 考核结果名称 */
    private String appraisalResultName;

    /**R排名*/
    private JobLevelCalculatorService.RankingResultInfo rankingResultInfo;
    /**积分数据*/
    public JobLevelCalculatorService.JobScoreInfo jobScoreInfo;

    /** 上一条年度记录ID（lastid） */
    private Long lastId;

    /** 首条年度记录ID（firstid） */
    private Long firstId;

    /** 学历ID（diplomaid） */
    private Long diplomaId;

    /** 学历配置分（diplomascore） */
    private BigDecimal diplomaScore;

    /** 职称名称（rankname） */
    private String rankName;

    /** 职称等级ID（zgjbid） */
    private Long zgjbId;

    /** 职称等级编码（zgjbnumber） */
    private String zgjbNumber;

    /** 职称等级名称 */
    private String zgjbName;

    /** 职称等级配置分（zgjbscore） */
    private BigDecimal zgjbScore;

    /** 技能岗位名称（jobstatusname） */
    private String jobStatusName;


    /** 技能等级ID（zyjndjid） */
    private Long zyjndjId;

    /** 技能等级编码（zyjndjnumber） */
    private String zyjndjNumber;

    /** 技能等级名称（zyjndjnumber） */
    private String zyjndjName;

    /** 技能等级配置分（zyjndjscore） */
    private BigDecimal zyjndjScore;

    /** 上年所有贡献单据分之和（allyearscoresum） */
    private BigDecimal allYearScoreSum;

    /** 上年度考核得分（appraisalresultscore） */
    private BigDecimal appraisalResultScore;

    /** 上年度累计积分池（lastsumscore） */
    private BigDecimal lastSumScore;

    /** 上一条记录的职位序列编码（lasthrjobfamilynumber） */
    private String lastHrJobFamilyNumber;

    /** 上一条记录的职位序列 */
    private DynamicObject lastJobSeq;

    /** 上一条记录的职位序列（转换后，这里转换指的是：如果是管理序列，则按职能序列进行调整） */
    private DynamicObject convertLastJobSeq;

    /** 上一条记录的职级顺序号（lastjobgradeindex） */
    private Integer lastJobGradeIndex;

    /** 上一条记录的职级（lastjobgradefid） */
    private DynamicObject lastJobLevel;

    /** 年度分项得分A（yearscoresuma） */
    private BigDecimal yearscoresuma;

    /** 年度分项得分B（yearscoresumb） */
    private BigDecimal yearscoresumb;

    /** 年度分项得分C（yearscoresumc） */
    private BigDecimal yearscoresumc;

    /** 年度分项得分D（yearscoresumd） */
    private BigDecimal yearscoresumd;

    /** 年度分项得分E（yearscoresume） */
    private BigDecimal yearscoresume;

    /** 年度分项得分F（yearscoresumf） */
    private BigDecimal yearscoresumf;

    /** 年度分项得分G（yearscoresumg） */
    private BigDecimal yearscoresumg;

    /** 年度分项得分H（yearscoresumh） */
    private BigDecimal yearscoresumh;

    /** 年度分项得分I（yearscoresumi） */
    private BigDecimal yearscoresumi;

    public String getPersonName() { return personName; }
    public void setPersonName(String personName) { this.personName = personName; }
    public String getPositionName() { return positionName; }
    public void setPositionName(String positionName) { this.positionName = positionName; }
    public Long getHrJobFamilyId() { return hrJobFamilyId; }
    public void setHrJobFamilyId(Long hrJobFamilyId) { this.hrJobFamilyId = hrJobFamilyId; }
    public String getHrJobFamilyNumber() { return hrJobFamilyNumber; }
    public void setHrJobFamilyNumber(String hrJobFamilyNumber) { this.hrJobFamilyNumber = hrJobFamilyNumber; }
    public Long getPositionId() { return positionId; }
    public void setPositionId(Long positionId) { this.positionId = positionId; }
    public Long getPersonDepId() { return personDepId; }
    public void setPersonDepId(Long personDepId) { this.personDepId = personDepId; }
    public String getHrOrgUnitId() { return hrOrgUnitId; }
    public void setHrOrgUnitId(String hrOrgUnitId) { this.hrOrgUnitId = hrOrgUnitId; }

    public DynamicObject getAppraisalResult() {
        return appraisalResult;
    }

    public void setAppraisalResult(DynamicObject appraisalResult) {
        this.appraisalResult = appraisalResult;
    }

    public Long getAppraisalResultId() { return appraisalResultId; }
    public void setAppraisalResultId(Long appraisalResultId) { this.appraisalResultId = appraisalResultId; }
    public String getAppraisalResultNumber() { return appraisalResultNumber; }
    public void setAppraisalResultNumber(String appraisalResultNumber) { this.appraisalResultNumber = appraisalResultNumber; }
    public Long getLastId() { return lastId; }
    public void setLastId(Long lastId) { this.lastId = lastId; }
    public Long getFirstId() { return firstId; }
    public void setFirstId(Long firstId) { this.firstId = firstId; }
    public Long getDiplomaId() { return diplomaId; }
    public void setDiplomaId(Long diplomaId) { this.diplomaId = diplomaId; }
    public BigDecimal getDiplomaScore() { return diplomaScore; }
    public void setDiplomaScore(BigDecimal diplomaScore) { this.diplomaScore = diplomaScore; }
    public String getRankName() { return rankName; }
    public void setRankName(String rankName) { this.rankName = rankName; }
    public Long getZgjbId() { return zgjbId; }
    public void setZgjbId(Long zgjbId) { this.zgjbId = zgjbId; }
    public String getZgjbNumber() { return zgjbNumber; }
    public void setZgjbNumber(String zgjbNumber) { this.zgjbNumber = zgjbNumber; }
    public BigDecimal getZgjbScore() { return zgjbScore; }
    public void setZgjbScore(BigDecimal zgjbScore) { this.zgjbScore = zgjbScore; }
    public String getJobStatusName() { return jobStatusName; }
    public void setJobStatusName(String jobStatusName) { this.jobStatusName = jobStatusName; }
    public Long getZyjndjId() { return zyjndjId; }
    public void setZyjndjId(Long zyjndjId) { this.zyjndjId = zyjndjId; }
    public String getZyjndjNumber() { return zyjndjNumber; }
    public void setZyjndjNumber(String zyjndjNumber) { this.zyjndjNumber = zyjndjNumber; }
    public BigDecimal getZyjndjScore() { return zyjndjScore; }
    public void setZyjndjScore(BigDecimal zyjndjScore) { this.zyjndjScore = zyjndjScore; }
    public BigDecimal getAllYearScoreSum() { return allYearScoreSum; }
    public void setAllYearScoreSum(BigDecimal allYearScoreSum) { this.allYearScoreSum = allYearScoreSum; }
    public BigDecimal getAppraisalResultScore() { return appraisalResultScore; }
    public void setAppraisalResultScore(BigDecimal appraisalResultScore) { this.appraisalResultScore = appraisalResultScore; }
    public BigDecimal getLastSumScore() { return lastSumScore; }
    public void setLastSumScore(BigDecimal lastSumScore) { this.lastSumScore = lastSumScore; }
    public String getLastHrJobFamilyNumber() { return lastHrJobFamilyNumber; }
    public void setLastHrJobFamilyNumber(String lastHrJobFamilyNumber) { this.lastHrJobFamilyNumber = lastHrJobFamilyNumber; }
    public Integer getLastJobGradeIndex() { return lastJobGradeIndex; }
    public void setLastJobGradeIndex(Integer lastJobGradeIndex) { this.lastJobGradeIndex = lastJobGradeIndex; }

    public DynamicObject getLastJobLevel() {
        return lastJobLevel;
    }

    public void setLastJobLevel(DynamicObject lastJobLevel) {
        this.lastJobLevel = lastJobLevel;
    }

    public BigDecimal getYearscoresuma() { return yearscoresuma; }
    public void setYearscoresuma(BigDecimal yearscoresuma) { this.yearscoresuma = yearscoresuma; }
    public BigDecimal getYearscoresumb() { return yearscoresumb; }
    public void setYearscoresumb(BigDecimal yearscoresumb) { this.yearscoresumb = yearscoresumb; }
    public BigDecimal getYearscoresumc() { return yearscoresumc; }
    public void setYearscoresumc(BigDecimal yearscoresumc) { this.yearscoresumc = yearscoresumc; }
    public BigDecimal getYearscoresumd() { return yearscoresumd; }
    public void setYearscoresumd(BigDecimal yearscoresumd) { this.yearscoresumd = yearscoresumd; }
    public BigDecimal getYearscoresume() { return yearscoresume; }
    public void setYearscoresume(BigDecimal yearscoresume) { this.yearscoresume = yearscoresume; }
    public BigDecimal getYearscoresumf() { return yearscoresumf; }
    public void setYearscoresumf(BigDecimal yearscoresumf) { this.yearscoresumf = yearscoresumf; }
    public BigDecimal getYearscoresumg() { return yearscoresumg; }
    public void setYearscoresumg(BigDecimal yearscoresumg) { this.yearscoresumg = yearscoresumg; }
    public BigDecimal getYearscoresumh() { return yearscoresumh; }
    public void setYearscoresumh(BigDecimal yearscoresumh) { this.yearscoresumh = yearscoresumh; }
    public BigDecimal getYearscoresumi() { return yearscoresumi; }
    public void setYearscoresumi(BigDecimal yearscoresumi) { this.yearscoresumi = yearscoresumi; }

    public DynamicObject getLastJobSeq() {
        return lastJobSeq;
    }

    public void setLastJobSeq(DynamicObject lastJobSeq) {
        this.lastJobSeq = lastJobSeq;
    }

    public JobLevelCalculatorService.RankingResultInfo getRankingResultInfo() {
        return rankingResultInfo;
    }

    public void setRankingResultInfo(JobLevelCalculatorService.RankingResultInfo rankingResultInfo) {
        this.rankingResultInfo = rankingResultInfo;
    }

    public JobLevelCalculatorService.JobScoreInfo getJobScoreInfo() {
        return jobScoreInfo;
    }

    public void setJobScoreInfo(JobLevelCalculatorService.JobScoreInfo jobScoreInfo) {
        this.jobScoreInfo = jobScoreInfo;
    }

    public String getZgjbName() {
        return StringUtils.isNotBlank(zgjbName) ? zgjbName : "无";
    }

    public void setZgjbName(String zgjbName) {
        this.zgjbName = zgjbName;
    }

    public String getZyjndjName() {
        return StringUtils.isNotBlank(zyjndjName) ? zyjndjName : "无";
    }

    public void setZyjndjName(String zyjndjName) {
        this.zyjndjName = zyjndjName;
    }

    public String getAppraisalResultName() {
        return appraisalResultName = StringUtils.isNotBlank(appraisalResultName) ? appraisalResultName : "无";
    }

    public void setAppraisalResultName(String appraisalResultName) {
        this.appraisalResultName = appraisalResultName;
    }

    public DynamicObject getConvertLastJobSeq() {
        return convertLastJobSeq;
    }

    public void setConvertLastJobSeq(DynamicObject convertLastJobSeq) {
        this.convertLastJobSeq = convertLastJobSeq;
    }
}
