package com.unis.projectManagement.modular.pmBudget.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author qingsong.han
 * @description:
 * @create 2024-05-30 15:56
 */
@Getter
@Setter
public class FundPlanInfo {

    @ApiModelProperty(value = "计划名称", position = 1)
    private String scheduleName;

    /**
     * 计划内容
     */
    @ApiModelProperty(value = "计划内容", position = 2)
    private String scheduleContent;

    @ApiModelProperty(value = "计划开始时间", position = 3)
    private Date scheduleStartDate;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间", position = 4)
    private Date scheduleEndDate;

    @ApiModelProperty(value = "实际完成进度，以百分比表示", position = 5)
    private BigDecimal actualCompletionProgress;

    /**
     * 计划完成进度，以百分比表示
     */
    @ApiModelProperty(value = "计划完成进度，以百分比表示", position = 6)
    private BigDecimal planCompletionProgress;

    @ApiModelProperty(value = "资金计划支出", position = 7)
    private BigDecimal fundsPlannedExpenditure;

    /**
     * 资金实际支出
     */
    @ApiModelProperty(value = "资金实际支出", position = 8)
    private BigDecimal fundsActualExpenditure;

    @ApiModelProperty(value = "资金使用情况", position = 9)
    private String fundsUsageSituation;

    /**
     * 实施预警：
     * 触发规则：实际完成进度<计划完成进度。
     * 提示语：实际进度滞后${rate}%
     * rate=(计划完成进度-实际完成进度) / 计划完成进度 × 100%
     */
    @ApiModelProperty(value = "实施预警", position = 10)
    private String applyWarn;

    /**
     * 资金预警：
     * 触发规则：资金计划支出<资金实际支出。
     * 提示语：资金超支${rate}%
     * rate=(资金实际支出-资金计划支出) / 资金计划支出 × 100%
     */
    @ApiModelProperty(value = "资金预警", position = 11)
    private String fundWarn;
}
