package com.fs.provider.domain;

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

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 服务单信息对象 service_order
 *
 * @author fs
 * @date 2026-01-26
 */
@Data
public class ServiceOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 服务单编号 */
    @Excel(name = "服务单编号")
    private String serviceOrderNo;
    /**
     * 公司id
     */
    private  Long companyId;
    /** 企业名称 */
    @Excel(name = "企业名称")
    private String companyName;
    /**
     * 医生id
     */
    private String doctorId;

    @Excel(name = "医生名称")
    private String doctorName;

    /** 归属部门ID */
    @Excel(name = "归属部门ID")
    private Long deptId;

    /** 归属部门名称 */
    @Excel(name = "归属部门名称")
    private String deptName;

    /** 结算方式 */
    @Excel(name = "结算方式")
    private String settlementMethod;

    /** 任务金额(元) */
    @Excel(name = "任务金额(元)")
    private BigDecimal taskAmount;

    /** 税后金额(元) */
    @Excel(name = "税后金额(元) 暂无")
    private BigDecimal afterTaxAmount;

    /** 服务费比例(%) */
    @Excel(name = "服务费比例(%) 暂无")
    private BigDecimal serviceFeeRate;

    /** 服务费金额(元) */
    @Excel(name = "服务费金额(元) 暂无")
    private BigDecimal serviceFeeAmount;

    /** 总费用(元) */
    @Excel(name = "总费用(元)")
    private BigDecimal totalAmount;

    /** 审核状态(0-待审核,1-审核通过,2-审核拒绝,-1-推送失败, 3无需审核) */
    @Excel(name = "审核状态(0-待审核,1-审核通过,2-审核拒绝,-1-推送失败, 3无需审核)")
    private Long auditStatus;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 医生是否确认 0未确认 1已确认 */
    @Excel(name = "医生是否确认 0未确认 1已确认")
    private Long doctorConfirm;

    /** 结算状态(0-未结算,1-已结算) */
    @Excel(name = "结算状态(0-未结算,1-已结算)")
    private Long settlementStatus;

    /** 结算时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date settlementTime;

    /** 发起人用户ID(关联company_user) */
    @Excel(name = "发起人用户ID(关联company_user)")
    private Long initiatorUserId;

    /** 发起人姓名 */
    @Excel(name = "发起人姓名")
    private String initiatorName;

    /** 发起人手机号 */
    @Excel(name = "发起人手机号")
    private String initiatorPhone;

    /** 逻辑删除(0-未删除,1-已删除) */
    @Excel(name = "逻辑删除(0-未删除,1-已删除)")
    private Long deleted;


}
