
package com.jwipc.finance.dto;

import com.jwipc.finance.entity.AttachmentManualCheck;
import com.jwipc.finance.entity.FinPaymentConfirmLog;
import com.jwipc.finance.entity.InvoicedApplyPa;
import com.jwipc.sys.dto.BusinessAttachmentDTO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 *     开票申请数据保存参数实体类
 * </p>
 *
 * @author li.kui
 * @version 1.0
 * @since 2020/8/13
 */
@Data
public class InvoicedApplySaveParamDTO {
    /**
     * 开票申请表头数据
     */
    private InvoicedApplyDTO headData;
    /**
     * 新增开票申请明细数据
     */
    private List<InvoicedApplyItemDTO> detailDate;
    /**
     * 警告日志
     */
    private List<FinPaymentConfirmLog> logDetailList;
    private String fileJson;
    /**
     * 待删除开票申请明细ID
     */
    private List<Long> delDetailIds;
    /**
     * 待删除的开票申请扣款记录ID
     */
    private List<Long> delSdIds;
    /**
     * 待删除的开票申请返利记录ID
     */
    private List<Long> delSrIds;
    /**
     * 预付款申请明细
     */
    private List<InvoicedApplyPa> addAdvances;
    /**
     * 新增对账单扣款记录ID
     */
    private List<Long> addSdIds;
    /**
     * 新增对账单返利记录ID
     */
    private List<Long> addSrIds;

    /**
     * 预付款申请明细ID
     */
    private List<Long> addPaIds;

//    /**
//     * 预付款申请明细
//     */
//    private List<InvoicedApplyPa> addAdvances;
    /**
     * 待删除的关联发票记录ID
     */
    private List<Long> delInvoiceId;
//    /**
//     * 待删除的关联发票记录
//     */
//    private List<InvoicedLeshui> delInvoice;
//    /**
//     * 待新增的关联发票记录
//     */
//    private List<InvoicedLeshui> addInvoice;

//    /**
//     * 关联发票记录
//     */
//    private List<InvoicedLeshui> leshuiData;

    /**
     * 关联发票记录
     */
    private List<InvoicedReceiptDTO> invoicedReceiptData;
    private List<AttachmentManualCheck> manualCheckList;
//    /**
//     * 关联扣款记录
//     */
//    private List<AccountStatementDeduction> deductionDetailData;


    private BigDecimal invoiceTaxTotalAmount;

    private BigDecimal invoiceTotalAmount;

    private BigDecimal invoiceNetAmount;

    private BigDecimal invoiceTaxAmount;
    private BigDecimal allBudInnerMoney;

    private boolean isBindInvoice;


    /**
     * 操作人角色类型 1:采购 2:财务
     */
    private Integer roleType;
    /**
     * 审批结果 0:拒绝 1:通过
     */
    private Integer approveStatus;
    /**
     * 审批备注
     */
    private String approveRemark;
    /**
     * 签署附件
     */
    private List<BusinessAttachmentDTO> businessAttachmentDTOList;
    private List<BusinessAttachmentDTO> signAttachmentDTOList;
    private boolean oldFlag;
}
