package easydo.technology.model;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import easydo.technology.annotation.NotTableField;
import easydo.technology.annotations.ZSFContainer;
import easydo.technology.annotations.ZSFContainers;
import easydo.technology.annotations.ZSFLinkField;
import easydo.technology.core.ZeroSpringFolder;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

@Data
@EqualsAndHashCode(callSuper = true)
@ZSFContainers({
        @ZSFContainer(directory = "plan/first", maxLimit = 10),
        @ZSFContainer(directory = "plan/print", maxLimit = 10),
        @ZSFContainer(directory = "plan/final", maxLimit = 10)
})
public class PurchasePlan extends ZeroSpringFolder<PurchasePlan> {
    @ZSFLinkField
    private String id;
    private String planName;
    private String type;
    private Boolean isInPlan;
    private Long contractPlanId;
    private String contractPlanCode;
    private String contractPlanName;
    private BigDecimal budgetAmount;
    private String beginDate;
    private String endDate;
    private Long deptId;
    private String deptName;
    private String status;
    private String enterDate;
    private String createTime;
    private String createId;
    private String createName;
    private String approveStatus;
    private Long projectId;
    private String projectNo;
    private Long belongDeptId;
    private String endTime;
    private String businessNo;


    private String processState;
    private String processTaskId;
    private String processInstanceId;
    private String processTemplateId;


    @NotTableField
    private String templateId;
    @NotTableField
    private JSONArray userTaskAssigneePropsList;
    @NotTableField
    private JSONObject extData;
}
