package cn.estsh.i3plus.pojo.aps.bean;

import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.Table;

/**
 * @Description :排程运算规则
 * @Reference :
 * @Author : jason.niu
 * @CreateDate : 2019-09-17
 * @Modify:
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = "APS_HEURISTIC_RULE")
@Api("排程运算规则")
public class HeuristicRule extends BaseRule {
    private static final long serialVersionUID = -4856714428377308150L;
    @Column(name="WORK_FILTER")
    @ApiParam(value ="工作筛选")
    private String workFilter;

    @Lob
    @Column(name="WORK_SORT")
    @ApiParam(value ="工作排序")
    private String workSort;

    @Lob
    @Column(name="RES_SELECT")
    @ApiParam(value ="资源选择")
    private String resSelect;

    @Column(name="INSERT_IDLE")
    @ApiParam(value ="是否插入空闲")
    @FieldAnnotation(defaultValue = "true")
    private Boolean insertIdle;

    @Column(name="BATCH_PERIOD")
    @ApiParam(value ="组炉区间")
    @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.DURATION)
    private String batchPeriod;
}
