package cn.iocoder.yudao.module.mes.dal.dataobject.pd.techconfirm; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.mes.enums.DictTypeConstants; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.time.LocalDateTime; /** * MES 产品技术确认函 DO * * @author 超级管理员 */ @TableName("product_tech_confirm") @KeySequence("product_tech_confirm_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class ProductTechConfirmDO extends BaseDO { /** * 编号 */ @TableId private Long id; /** * 确认函编号 */ private String confirmNo; /** * 客户ID(关联 crm_customer.id) */ private Long customerId; /** * 客户名称 */ private String customerName; /** * 产品名称 */ private String productName; /** * 规格型号 */ private String specification; /** * 技术参数(JSON 格式) */ private String techParams; /** * 模板类型(奥地利/日本/通用) * * 字典 {@link DictTypeConstants#PRODUCT_TECH_CONFIRM_TEMPLATE} */ private String templateType; /** * 编制人ID */ private Long drafterId; /** * 编制人姓名 */ private String drafterName; /** * 编制时间 */ private LocalDateTime draftTime; /** * 审核人ID * * 审核人由「系统管理 - 审批配置」按业务类型统一配置(业务编码 pd_tech_confirm_approve), * 提交审核时不指定;此处记录的是实际执行审核的用户,审核通过后不再变动。 */ private Long reviewerId; /** * 审核人姓名(审核时冗余记录,避免列表展示时再查用户) */ private String reviewerName; /** * 审核时间 */ private LocalDateTime reviewTime; /** * 审核意见(审核通过时的意见 / 审核不通过时的原因) */ private String reviewRemark; /** * 客户确认人 */ private String customerConfirmUser; /** * 客户确认时间 */ private LocalDateTime customerConfirmTime; /** * 状态(0=草稿,1=待审核,2=已审核,3=客户已确认,4=审核不通过) * * 只由业务流程驱动,不接受前端直接赋值: * 创建时固定为草稿,提交审核后置为待审核,审核通过/不通过由 * {@link cn.iocoder.yudao.module.mes.service.pd.techconfirm.ProductTechConfirmService#auditTechConfirm} 推进, * 客户确认由 * {@link cn.iocoder.yudao.module.mes.service.pd.techconfirm.ProductTechConfirmService#confirmTechConfirmByCustomer} 推进。 * * 字典 {@link DictTypeConstants#PRODUCT_TECH_CONFIRM_STATUS} * 枚举 {@link cn.iocoder.yudao.module.mes.enums.pd.MesPdTechConfirmStatusEnum} */ private Integer status; /** * 备注 */ private String remark; }