package org.dromara.erp.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.erp.domain.vo.ErpSaleOrderDetailVo;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * ERP 销售订单明细表 t_Sale_OrderDetail
 *
 * @Author: Antigravity
 */
@Data
@AutoMapper(target = ErpSaleOrderDetailVo.class)
@TableName("t_Sale_OrderDetail")
public class ErpSaleOrderDetail implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 流水号
     */
    @TableId("DetailID")
    private String detailId;

    /**
     * 关联主表ID (t_Sale_OrderMaster.FRowID)
     */
    @TableField("FRowID")
    private String frowId;

    /**
     * 单据编号
     */
    @TableField("DocCode")
    private String docCode;

    /**
     * 记录顺序
     */
    @TableField("DocItem")
    private Integer docItem;

    /**
     * 小备注
     */
    @TableField("DNote")
    private String dnote;

    /**
     * 源单编号
     */
    @TableField("FromID")
    private String fromId;

    /**
     * 源单名称
     */
    @TableField("FromBill")
    private String fromBill;

    /**
     * 编辑人
     */
    @TableField("ModifyName")
    private String modifyName;

    /**
     * 编辑时间
     */
    @TableField("ModifyDate")
    private Date modifyDate;

    /**
     * 创建人
     */
    @TableField("EnterName")
    private String enterName;

    /**
     * 创建时间
     */
    @TableField("EnterDate")
    private Date enterDate;

    /**
     * 记录状态
     */
    @TableField("IsModifyFlag")
    private Integer isModifyFlag;

    /**
     * 项目号
     */
    @TableField("ItemNo")
    private String itemNo;

    /**
     * 型材ID
     */
    @TableField("ModelID")
    private String modelId;

    /**
     * 型材型号
     */
    @TableField("ModelNum")
    private String modelNum;

    /**
     * 型材名称
     */
    @TableField("ModelName")
    private String modelName;

    /**
     * 表面ID
     */
    @TableField("ColorID")
    private String colorId;

    /**
     * 表面代码
     */
    @TableField("ColorNum")
    private String colorNum;

    /**
     * 表面名称
     */
    @TableField("ColorName")
    private String colorName;

    /**
     * 材质ID
     */
    @TableField("AlloyID")
    private String alloyId;

    /**
     * 材质
     */
    @TableField("AlloyName")
    private String alloyName;

    /**
     * 客户型号
     */
    @TableField("ClientModel")
    private String clientModel;

    /**
     * 膜厚
     */
    @TableField("Film")
    private BigDecimal film;

    /**
     * 长度
     */
    @TableField("FLength")
    private BigDecimal flength;

    /**
     * 订单数
     */
    @TableField("Qty")
    private Integer qty;

    /**
     * 下单重量
     */
    @TableField("WT")
    private BigDecimal wt;

    /**
     * 米重
     */
    @TableField("MeterWT")
    private BigDecimal meterWt;

    /**
     * 6米支重
     */
    @TableField("SixMeterWT")
    private BigDecimal sixMeterWt;

    /**
     * 机台米重
     */
    @TableField("MachineMeterWT")
    private BigDecimal machineMeterWt;

    /**
     * 支/扎
     */
    @TableField("PackPricks")
    private Integer packPricks;

    /**
     * 包装方式ID
     */
    @TableField("PackID")
    private String packId;

    /**
     * 包装代码
     */
    @TableField("PackName")
    private String packName;

    /**
     * 胶条规格ID
     */
    @TableField("StripID")
    private String stripId;

    /**
     * 胶条规格
     */
    @TableField("StripName")
    private String stripName;

    /**
     * 总隔热型号标志位
     */
    @TableField("M_Insulated")
    private Boolean mInsulated;

    /**
     * 子隔热型号标志位
     */
    @TableField("S_Insulated")
    private Boolean sInsulated;

    /**
     * 隔热料子项目测试标志
     */
    @TableField("T_Insulated")
    private Boolean tInsulated;

    /**
     * 分型号标志
     */
    @TableField("ParentRowID")
    private String parentRowId;

    /**
     * 挤压排产数
     */
    @TableField("ExtrPlanQty")
    private Integer extrPlanQty;

    /**
     * 预排数
     */
    @TableField("ExtrPreQty")
    private Integer extrPreQty;

    /**
     * 挤压挤压数
     */
    @TableField("ExtrQty")
    private Integer extrQty;

    /**
     * 坯料入库数
     */
    @TableField("SemiInQty")
    private Integer semiInQty;

    /**
     * 坯料出库数
     */
    @TableField("SemiOutQty")
    private Integer semiOutQty;

    /**
     * 坯料调入/出数
     */
    @TableField("SemiMoveQty")
    private Integer semiMoveQty;

    /**
     * 成品入库数
     */
    @TableField("GoodsInQty")
    private Integer goodsInQty;

    /**
     * 成品出库数
     */
    @TableField("GoodsOutQty")
    private Integer goodsOutQty;

    /**
     * 成品调入/出数
     */
    @TableField("GoodsMoveQty")
    private Integer goodsMoveQty;

    /**
     * 已备货数量
     */
    @TableField("GoodsStoreQty")
    private Integer goodsStoreQty;

    /**
     * 成品库存重量
     */
    @TableField("GoodsStoreWT")
    private BigDecimal goodsStoreWt;

    /**
     * 审价备注
     */
    @TableField("ApproveNote")
    private String approveNote;

    /**
     * 已取消
     */
    @TableField("Canceled")
    private Integer canceled;

    /**
     * 取消人
     */
    @TableField("CancelName")
    private String cancelName;

    /**
     * 取消日期
     */
    @TableField("CancelDate")
    private Date cancelDate;

    /**
     * 已暂停
     */
    @TableField("Paused")
    private Integer paused;

    /**
     * 暂停人
     */
    @TableField("PauseName")
    private String pauseName;

    /**
     * 暂停日期
     */
    @TableField("PauseDate")
    private Date pauseDate;

    /**
     * 已完成 (生产完成)
     */
    @TableField("Finished")
    private Integer finished;

    /**
     * 生产完成判定人
     */
    @TableField("FinishName")
    private String finishName;

    /**
     * 生产完成判定日期
     */
    @TableField("FinishDate")
    private Date finishDate;

    /**
     * 生产完成判定备注
     */
    @TableField("FinishNote")
    private String finishNote;

    /**
     * 铝锭价
     */
    @TableField("AluPrice")
    private BigDecimal aluPrice;

    /**
     * 加工费
     */
    @TableField("ProcessPrice")
    private BigDecimal processPrice;

    /**
     * 表面加工费
     */
    @TableField("ColorPrice")
    private BigDecimal colorPrice;

    /**
     * 其他费用
     */
    @TableField("OtherPrice")
    private BigDecimal otherPrice;

    /**
     * 注胶型号
     */
    @TableField("IsGlue")
    private Integer isGlue;

    /**
     * 加急
     */
    @TableField("IsUrgent")
    private Integer isUrgent;

    /**
     * 均质
     */
    @TableField("IsHomogeneous")
    private Integer isHomogeneous;

    /**
     * 不时效
     */
    @TableField("IsNotAging")
    private Integer isNotAging;

    /**
     * 车刻方式ID
     */
    @TableField("RecordID")
    private String recordId;

    /**
     * 车刻方式
     */
    @TableField("RecordName")
    private String recordName;

    /**
     * 贴膜ID
     */
    @TableField("FilmReqID")
    private String filmReqId;

    /**
     * 保护膜
     */
    @TableField("FilmReq")
    private String filmReq;

    /**
     * 首次排产日期
     */
    @TableField("ExtrFirstDate")
    private Date extrFirstDate;

    /**
     * 壁厚类型
     */
    @TableField("ThickKind")
    private String thickKind;

    /**
     * 壁厚值
     */
    @TableField("Thick")
    private String thick;

    /**
     * 壁厚下公差
     */
    @TableField("MinThickDif")
    private BigDecimal minThickDif;

    /**
     * 壁厚上公差
     */
    @TableField("MaxThickDif")
    private BigDecimal maxThickDif;

    /**
     * 壁厚下限值
     */
    @TableField("MinThickValue")
    private BigDecimal minThickValue;

    /**
     * 壁厚上限值
     */
    @TableField("MaxThickValue")
    private BigDecimal maxThickValue;

    /**
     * 壁厚下限
     */
    @TableField("MinThick")
    private BigDecimal minThick;

    /**
     * 壁厚上限
     */
    @TableField("MaxThick")
    private BigDecimal maxThick;

    /**
     * 6米重下限
     */
    @TableField("MinSixMeterWT")
    private BigDecimal minSixMeterWt;

    /**
     * 6米重上限
     */
    @TableField("MaxSixMeterWT")
    private BigDecimal maxSixMeterWt;

    /**
     * 锯挂痕
     */
    @TableField("IsSawCut")
    private Integer isSawCut;

    /**
     * 包装费
     */
    @TableField("PackPrice")
    private BigDecimal packPrice;

    /**
     * 胶条费
     */
    @TableField("StripPrice")
    private BigDecimal stripPrice;

    /**
     * 挤压完成
     */
    @TableField("ExFinished")
    private Integer exFinished;

    /**
     * 挤压完成判定人
     */
    @TableField("ExFinishName")
    private String exFinishName;

    /**
     * 挤压完成判定日期
     */
    @TableField("ExFinishDate")
    private Date exFinishDate;

    /**
     * 挤压料别
     */
    @TableField("ExtrModelSort")
    private String extrModelSort;

    /**
     * 氧化料别
     */
    @TableField("OxidModelSort")
    private String oxidModelSort;

    /**
     * 壁厚
     */
    @TableField("ThickValue")
    private BigDecimal thickValue;

    /**
     * 型材料别
     */
    @TableField("ModelKind")
    private String modelKind;

    /**
     * 壁厚下限分类
     */
    @TableField("KHThick")
    private String khThick;

    /**
     * 标识符备注
     */
    @TableField("bjm")
    private String bjm;

    /**
     * 标识位
     */
    @TableField("IsMark")
    private Integer isMark;

    /**
     * 排产数
     */
    @TableField("PlanQty")
    private Integer planQty;

    /**
     * 挤压需求数
     */
    @TableField("ExtrNeedQty")
    private Integer extrNeedQty;

    /**
     * 项目备注
     */
    @TableField("ItemNote")
    private String itemNote;

    /**
     * 理论重量标志
     */
    @TableField("IsTheory")
    private Integer isTheory;

    /**
     * 签批标志
     */
    @TableField("IsSign")
    private Integer isSign;

    /**
     * 签批时间
     */
    @TableField("SignDate")
    private Date signDate;

    /**
     * 取消标志
     */
    @TableField("IsCancel")
    private Integer isCancel;

    /**
     * 排产发布标志
     */
    @TableField("IsPlanPost")
    private Integer isPlanPost;

    /**
     * 结束标志
     */
    @TableField("IsEnd")
    private Integer isEnd;

    /**
     * 状态填充值
     */
    @TableField("Fill")
    private Integer fill;

    /**
     * 客户颜色
     */
    @TableField("ClientColor")
    private String clientColor;

}
