package cn.superdesk.uniorder.dto.param.invoice.supplier.status;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.superdesk.uniorder.common.security.dto.LoginSysUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Description: 撤销开票|备注
 * @Author: linjinyu
 * @CreateDate: 2021/12/13 下午3:14
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/12/13 下午3:14
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class InvoiceApplySupplierOpCommonDimAccountingOrderForm implements Serializable {


    @ApiModelProperty("*对账单Id")
    protected Long   accountingOrderId;
    @ApiModelProperty("*对账单Sn")
    protected String accountingOrderSn;

    @ApiModelProperty("*供应商|商户Id 特指 非统一订单产生 来源于业务系统 Id sql(eq)")
    private Long   outSaleId;
    @ApiModelProperty("*供应商|商户Id 特指 非统一订单产生 来源于业务系统 名称 sql(like %XXX%)")
    private String outSaleName;

    @ApiModelProperty("*开票申请编号")
    private List<InvoiceApplySupplierOpCommonDimAccountingOrderItem> invoiceApplySupplierList;

    /**************************************** 撤销开票部分 start ****************************************/

    @ApiModelProperty("*撤销原因-请输入撤销原因(限100字以内)|*备注-请输入内容(限100字以内)")
    private String reason;

    public String createReason(LoginSysUser loginSysUser) {
        return StrUtil.format("撤销开票[撤销人:{},撤销时间:{},原因:{}]", loginSysUser.getFullName(), DateUtil.now(), this.reason);
    }

    /**************************************** 撤销开票部分   end ****************************************/


}
