package cn.iocoder.yudao.module.crm.dal.dataobject.salesTarget; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.crm.enums.DictTypeConstants; import cn.iocoder.yudao.module.crm.enums.salesTarget.CrmSalesTargetDimensionEnum; import cn.iocoder.yudao.module.crm.enums.salesTarget.CrmSalesTargetPeriodTypeEnum; import cn.iocoder.yudao.module.crm.enums.salesTarget.CrmSalesTargetStatusEnum; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; /** * CRM 销售目标 DO * * @author 超级管理员 */ @TableName("crm_sales_target") @KeySequence("crm_sales_target_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class CrmSalesTargetDO extends BaseDO { /** * 编号 */ @TableId private Long id; /** * 目标名称 */ private String name; /** * 周期类型 * * 字典 {@link DictTypeConstants#CRM_SALES_TARGET_PERIOD_TYPE} / 枚举 {@link CrmSalesTargetPeriodTypeEnum} */ private Integer periodType; /** * 周期值,如 2026 / 2026-Q1 / 2026-07 */ private String periodValue; /** * 周期开始时间(保存时由周期计算写入) */ private LocalDateTime startTime; /** * 周期结束时间(保存时由周期计算写入) */ private LocalDateTime endTime; /** * 目标维度 * * 字典 {@link DictTypeConstants#CRM_SALES_TARGET_DIMENSION} / 枚举 {@link CrmSalesTargetDimensionEnum} */ private Integer targetDimension; /** * 目标用户编号(维度=个人) */ private Long targetUserId; /** * 目标部门编号(维度=部门) */ private Long targetDeptId; /** * 目标物料编号(维度=产品,关联 MDM) */ private Long targetItemId; /** * 合同金额目标(元) */ private BigDecimal contractTarget; /** * 回款金额目标(元) */ private BigDecimal receivableTarget; /** * 商机金额目标(元) */ private BigDecimal businessTarget; /** * 新增客户数目标 */ private Integer customerTarget; /** * 新增合同数目标 */ private Integer contractCountTarget; /** * 状态 * * 字典 {@link DictTypeConstants#CRM_SALES_TARGET_STATUS} / 枚举 {@link CrmSalesTargetStatusEnum} */ private Integer status; /** * 备注 */ private String remark; }