package com.ruoyi.logistics.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.logistics.annotation.Dict;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 运单明细对象 biz_waybill_cost_details
 * 
 * @author RuiJing
 * @date 2026-01-29
 */
public class BizWaybillCostDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 运单明细id */
    private Long waybillDetailId;

    /** 运单ID */

    private Long waybillId;


    private Integer orderType;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signTime;
    /** 外部运单号 */
    @Excel(name = "运单号码")
    private String externalWaybillNo;
    @Excel(name = "寄件地区")
    private String senderCity;
    /** 到件地区 */
    @Excel(name = "到件地区")
    private String receiverCity;
    /** 计费重量 */
    @Excel(name = "计费重量")
    private BigDecimal goodsWeight;
    /** 产品类型 */
    @Excel(name = "产品类型")
    private String productName;
    /** 金额 */
    @Excel(name = "标准费用(元)")
    private BigDecimal amount;
    @Excel(name = "折扣")
    private String rate;

    /** 金额*费率 */
    @Excel(name = "折扣费用(元)")
    private BigDecimal rateAmount;
    /** 采购金额 */

    private BigDecimal purchaseAmount;
    private String productCode;
    /** 费用项目编码 */

    private String feeItemCode;

    /** 费用项目名称 */
    @Excel(name = "增值费用")
    private String feeItemName;

    /** 费用名称 */

    private String feeName;





    /** 调整金额 */

    private BigDecimal adjustAmount;



    /** 部门id */

    private Long deptId;

    /** 用户id */

    private Long userId;









    @Excel(name = "创建人")
    private String userName;

    @Excel(name = "经手人")
    private String  nickName;

    @Excel(name = "创建人所属组织")
    private String  deptName;
    private String adjustmentType;

    @Excel(name = "账单月份")//
    private String summaryMonth;

    private String  adjustmentReason;



    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductName() {
        return productName;
    }

    public String getRate() {
        return rate;
    }

    public void setRate(String rate) {
        this.rate = rate;
    }

    public String getAdjustmentReason() {
        return adjustmentReason;
    }

    public void setAdjustmentReason(String adjustmentReason) {
        this.adjustmentReason = adjustmentReason;
    }

    public String getUserName() {
        return userName;
    }

    public String getSummaryMonth() {
        return summaryMonth;
    }

    public void setSummaryMonth(String summaryMonth) {
        this.summaryMonth = summaryMonth;
    }

    public String getAdjustmentType() {
        return adjustmentType;
    }

    public void setAdjustmentType(String adjustmentType) {
        this.adjustmentType = adjustmentType;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    /** 删除标志 （0代表存在 2代表删除） */
    private String delFlag;

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public void setSignTime(Date signTime) {
        this.signTime = signTime;
    }

    public void setSenderCity(String senderCity) {
        this.senderCity = senderCity;
    }

    public void setReceiverCity(String receiverCity) {
        this.receiverCity = receiverCity;
    }

    public void setGoodsWeight(BigDecimal goodsWeight) {
        this.goodsWeight = goodsWeight;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public Date getSignTime() {
        return signTime;
    }

    public String getSenderCity() {
        return senderCity;
    }

    public String getReceiverCity() {
        return receiverCity;
    }

    public BigDecimal getGoodsWeight() {
        return goodsWeight;
    }

    public String getProductCode() {
        return productCode;
    }



    public void setWaybillDetailId(Long waybillDetailId)
    {
        this.waybillDetailId = waybillDetailId;
    }

    public Long getWaybillDetailId() 
    {
        return waybillDetailId;
    }

    public void setWaybillId(Long waybillId) 
    {
        this.waybillId = waybillId;
    }

    public Long getWaybillId() 
    {
        return waybillId;
    }

    public void setExternalWaybillNo(String externalWaybillNo) 
    {
        this.externalWaybillNo = externalWaybillNo;
    }

    public String getExternalWaybillNo() 
    {
        return externalWaybillNo;
    }

    public void setFeeItemCode(String feeItemCode) 
    {
        this.feeItemCode = feeItemCode;
    }

    public String getFeeItemCode() 
    {
        return feeItemCode;
    }

    public void setFeeItemName(String feeItemName) 
    {
        this.feeItemName = feeItemName;
    }

    public String getFeeItemName() 
    {
        return feeItemName;
    }

    public void setFeeName(String feeName) 
    {
        this.feeName = feeName;
    }

    public String getFeeName() 
    {
        return feeName;
    }

    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    public void setRateAmount(BigDecimal rateAmount) 
    {
        this.rateAmount = rateAmount;
    }

    public BigDecimal getRateAmount() 
    {
        return rateAmount;
    }

    public void setAdjustAmount(BigDecimal adjustAmount) 
    {
        this.adjustAmount = adjustAmount;
    }

    public BigDecimal getAdjustAmount() 
    {
        return adjustAmount;
    }

    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public BigDecimal getPurchaseAmount() {
        return purchaseAmount;
    }

    public void setPurchaseAmount(BigDecimal purchaseAmount) {
        this.purchaseAmount = purchaseAmount;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getNickName() {
        return nickName;
    }

    public String getDeptName() {
        return deptName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("waybillDetailId", getWaybillDetailId())
            .append("waybillId", getWaybillId())
            .append("externalWaybillNo", getExternalWaybillNo())
            .append("feeItemCode", getFeeItemCode())
            .append("feeItemName", getFeeItemName())
            .append("feeName", getFeeName())
            .append("amount", getAmount())
            .append("rateAmount", getRateAmount())
            .append("adjustAmount", getAdjustAmount())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
