package com.yunfeiyun.agmp.fms.domain.resvo;

import com.yunfeiyun.agmp.common.annotation.Excel;
import com.yunfeiyun.agmp.common.core.domain.BaseEntity;
import com.yunfeiyun.agmp.common.enums.CommonEnums;
import com.yunfeiyun.agmp.common.utils.DictUtils;
import com.yunfeiyun.agmp.common.utils.StringUtils;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 种植计划对象 FmsPlan
 * 
 * @author 杨晓辉
 * @date 2023-05-18
 */
@Data
public class FmsPlanResVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 种植计划标识 */
    private String planId;

    /** 种植计划编号 */
    @Excel(name = "种植计划编号")
    private String planNo;

    /** 基地标识 */
    @Excel(name = "基地标识")
    private String landId;

    /** 地块标识 */
    @Excel(name = "地块标识")
    private String blockId;

    /** 作物标识 */
    @Excel(name = "作物标识")
    private String cropId;

    /** 种植计划面积 */
    @Excel(name = "种植计划面积")
    private BigDecimal planArea;

    /** 种植计划计划开始日期 */
    @Excel(name = "种植计划计划开始日期")
    private String planPlanstartdate;

    /** 种植计划计划结束日期 */
    @Excel(name = "种植计划计划结束日期")
    private String planPlanenddate;

    /** 种植计划开始时间 */
    @Excel(name = "种植计划开始时间")
    private String planStartdate;

    /** 种植计划结束时间 */
    @Excel(name = "种植计划结束时间")
    private String planEnddate;

    /** 种植计划当前状态 */
    @Excel(name = "种植计划当前状态")
    private String planStatus;

    /** 种植计划详情 */
    @Excel(name = "种植计划详情")
    private String planRemark;

    /** 种植计划创建人 */
    @Excel(name = "种植计划创建人")
    private String planCreator;

    /** 种植计划创建时间 */
    @Excel(name = "种植计划创建时间")
    private String planCreateddate;

    /** 种植计划修改人 */
    @Excel(name = "种植计划修改人")
    private String planModifier;

    /** 种植计划修改时间 */
    @Excel(name = "种植计划修改时间")
    private String planModifieddate;

    /** 作物周期阶段名称 */
    @Excel(name = "作物周期阶段名称")
    private String planPeriodname;

    /** 作物名称 */
    private String cropName;

    /** 作物品种 */
    private String cropType;

    /** 基地名称 */
    private String landName;

    /** 地块名称 */
    private String blockName;

    /** 作物主要类型 */
    private String cropMaintype;

    /** 作物预览图 */
    private String cropPreview;

    /** 资源id */
    private String resIds;

    /** 采收总重量 */
    private String pickWeightSum;

    /** 种植计划当前状态名称 */
    @Excel(name = "种植计划当前状态名称")
    private String planStatusContent;

    /** 作物主要类型 */
    @Excel(name = "作物主要类型")
    private String cropMaintypeContent;

    public String getPlanStatusContent() {
        if (!StringUtils.isEmpty(this.planStatus)) {
            if (CommonEnums.PLAN_STATUS_NOT_START.getCode().equals(this.planStatus)) {
                return CommonEnums.PLAN_STATUS_NOT_START.getMessage();
            } else if (CommonEnums.PLAN_STATUS_START.getCode().equals(this.planStatus)) {
                return CommonEnums.PLAN_STATUS_START.getMessage();
            }else if (CommonEnums.PLAN_STATUS_END.getCode().equals(this.planStatus)) {
                return CommonEnums.PLAN_STATUS_END.getMessage();
            } else {
                return "";
            }
        } else {
            return "";
        }
    }

    public String getCropMaintypeContent() {
        if (!StringUtils.isEmpty(this.cropMaintype)) {
            return DictUtils.getDictLabel("fms_crop_type", this.cropMaintype);
        } else {
            return "";
        }
    }
}
