package com.yhy.module.core.dal.dataobject.resource;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 工料机-信息价关联 DO
 * 用于记录工料机与信息价的多对多关联关系
 *
 * @author yhy
 */
@TableName("yhy_resource_info_price_mapping")
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ResourceInfoPriceMappingDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 工料机ID（引用 yhy_resource_item.id）
     */
    private Long resourceItemId;

    /**
     * 信息价工料机ID（引用 yhy_info_price_resource.id）
     */
    private Long infoPriceResourceId;

    /**
     * 价格计算公式，如 xxj+20
     */
    private String formula;

    /**
     * 选中的价格历史ID
     */
    private Long selectedPriceId;

    /**
     * 是否为当前价格来源 0-否 1-是
     */
    private Integer isCurrent;
    
    /**
     * 项目ID（引用 yhy_proj_project.id）
     * 价格来源影响项目级别，同一项目下所有使用该工料机的定额共享价格来源
     */
    private Long projectId;
}
