package com.njcn.rdms.module.project.dal.dataobject.workreport.common;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.njcn.rdms.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 个人周报/月报计划项。
 */
@TableName(value = "rdms_work_report_personal_report_plan_item", autoResultMap = true)
@Data
@EqualsAndHashCode(callSuper = true)
public class PersonalReportPlanItemDO extends BaseDO {

    @TableId
    private Long id;

    private String reportType;

    private Long reportId;

    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private Integer itemNumber;

    private String itemTitle;

    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private String targetText;

    @TableField(typeHandler = JacksonTypeHandler.class, updateStrategy = FieldStrategy.ALWAYS)
    private Object targetJson;

    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private String supportNeed;
}
