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;

import java.math.BigDecimal;

/**
 * 个人周报/月报回顾项。
 */
@TableName(value = "rdms_work_report_personal_report_review_item", autoResultMap = true)
@Data
@EqualsAndHashCode(callSuper = true)
public class PersonalReportReviewItemDO 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 BigDecimal workHours;

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

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

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