package com.writeoff.module.finance.dto;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

public class UpsertFinanceMeetingBillRequest {
    @NotNull(message = "项目ID不能为空")
    private Long projectId;
    @NotNull(message = "会议ID不能为空")
    private Long meetingId;
    @Min(value = 0, message = "会场费用不能小于0")
    private Long venueAmountCent;
    @Min(value = 0, message = "会议搭建费用不能小于0")
    private Long buildAmountCent;
    @Min(value = 0, message = "住宿费用不能小于0")
    private Long hotelAmountCent;
    @Min(value = 0, message = "餐饮费用不能小于0")
    private Long cateringAmountCent;
    @Min(value = 0, message = "小交通费用不能小于0")
    private Long localTrafficAmountCent;
    @Min(value = 0, message = "大交通费用不能小于0")
    private Long longDistanceTrafficAmountCent;
    @Min(value = 0, message = "物料费用不能小于0")
    private Long materialAmountCent;
    @Min(value = 0, message = "设计稿费用不能小于0")
    private Long designAmountCent;
    @Min(value = 0, message = "劳务应付费用不能小于0")
    private Long laborPayableAmountCent;
    @Min(value = 0, message = "劳务实发费用不能小于0")
    private Long laborActualAmountCent;
    @Min(value = 0, message = "财务审核费不能小于0")
    private Long financeReviewFeeCent;
    @Min(value = 0, message = "管理费不能小于0")
    private Long managementFeeCent;
    @Min(value = 0, message = "税费不能小于0")
    private Long taxFeeCent;
    private String customFeeJson;
    @Min(value = 0, message = "已支付金额不能小于0")
    private Long paidAmountCent;
    @Min(value = 0, message = "待支付金额不能小于0")
    private Long unpaidAmountCent;
    private String reconciliationResult;
    @Min(value = 0, message = "对账差异金额不能小于0")
    private Long reconciliationDiffAmountCent;
    private String reconciliationDiffReason;
    private String settlementNo;
    private String status;

    public Long getProjectId() { return projectId; }
    public void setProjectId(Long projectId) { this.projectId = projectId; }
    public Long getMeetingId() { return meetingId; }
    public void setMeetingId(Long meetingId) { this.meetingId = meetingId; }
    public Long getVenueAmountCent() { return venueAmountCent; }
    public void setVenueAmountCent(Long venueAmountCent) { this.venueAmountCent = venueAmountCent; }
    public Long getBuildAmountCent() { return buildAmountCent; }
    public void setBuildAmountCent(Long buildAmountCent) { this.buildAmountCent = buildAmountCent; }
    public Long getHotelAmountCent() { return hotelAmountCent; }
    public void setHotelAmountCent(Long hotelAmountCent) { this.hotelAmountCent = hotelAmountCent; }
    public Long getCateringAmountCent() { return cateringAmountCent; }
    public void setCateringAmountCent(Long cateringAmountCent) { this.cateringAmountCent = cateringAmountCent; }
    public Long getLocalTrafficAmountCent() { return localTrafficAmountCent; }
    public void setLocalTrafficAmountCent(Long localTrafficAmountCent) { this.localTrafficAmountCent = localTrafficAmountCent; }
    public Long getLongDistanceTrafficAmountCent() { return longDistanceTrafficAmountCent; }
    public void setLongDistanceTrafficAmountCent(Long longDistanceTrafficAmountCent) { this.longDistanceTrafficAmountCent = longDistanceTrafficAmountCent; }
    public Long getMaterialAmountCent() { return materialAmountCent; }
    public void setMaterialAmountCent(Long materialAmountCent) { this.materialAmountCent = materialAmountCent; }
    public Long getDesignAmountCent() { return designAmountCent; }
    public void setDesignAmountCent(Long designAmountCent) { this.designAmountCent = designAmountCent; }
    public Long getLaborPayableAmountCent() { return laborPayableAmountCent; }
    public void setLaborPayableAmountCent(Long laborPayableAmountCent) { this.laborPayableAmountCent = laborPayableAmountCent; }
    public Long getLaborActualAmountCent() { return laborActualAmountCent; }
    public void setLaborActualAmountCent(Long laborActualAmountCent) { this.laborActualAmountCent = laborActualAmountCent; }
    public Long getFinanceReviewFeeCent() { return financeReviewFeeCent; }
    public void setFinanceReviewFeeCent(Long financeReviewFeeCent) { this.financeReviewFeeCent = financeReviewFeeCent; }
    public Long getManagementFeeCent() { return managementFeeCent; }
    public void setManagementFeeCent(Long managementFeeCent) { this.managementFeeCent = managementFeeCent; }
    public Long getTaxFeeCent() { return taxFeeCent; }
    public void setTaxFeeCent(Long taxFeeCent) { this.taxFeeCent = taxFeeCent; }
    public String getCustomFeeJson() { return customFeeJson; }
    public void setCustomFeeJson(String customFeeJson) { this.customFeeJson = customFeeJson; }
    public Long getPaidAmountCent() { return paidAmountCent; }
    public void setPaidAmountCent(Long paidAmountCent) { this.paidAmountCent = paidAmountCent; }
    public Long getUnpaidAmountCent() { return unpaidAmountCent; }
    public void setUnpaidAmountCent(Long unpaidAmountCent) { this.unpaidAmountCent = unpaidAmountCent; }
    public String getReconciliationResult() { return reconciliationResult; }
    public void setReconciliationResult(String reconciliationResult) { this.reconciliationResult = reconciliationResult; }
    public Long getReconciliationDiffAmountCent() { return reconciliationDiffAmountCent; }
    public void setReconciliationDiffAmountCent(Long reconciliationDiffAmountCent) { this.reconciliationDiffAmountCent = reconciliationDiffAmountCent; }
    public String getReconciliationDiffReason() { return reconciliationDiffReason; }
    public void setReconciliationDiffReason(String reconciliationDiffReason) { this.reconciliationDiffReason = reconciliationDiffReason; }
    public String getSettlementNo() { return settlementNo; }
    public void setSettlementNo(String settlementNo) { this.settlementNo = settlementNo; }
    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }
}
