package com.yd.csf.feign.response.salary;

import com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceFzDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

@Data
public class ApiSalaryDetailResponse {

    /**
     * 薪资单表唯一业务ID
     */
    @NotBlank(message = "薪资单表唯一业务ID不能为空")
    private String salaryBizId;

    /**
     * 转介人名称
     */
    @NotBlank(message = "转介人名称不能为空")
    private String brokerName;

    /**
     * 转介人业务id
     */
    @NotBlank(message = "转介人业务id不能为空")
    private String brokerBizId;

    /**
     * 薪资月份（同出账月，如：202605）
     */
    @NotBlank(message = "薪资月份不能为空")
    private String month;

    /**
     * 应发总金额（单位：HKD）（正常情况下，录入转介人和薪资月份去查询出账记录表出账金额和值）
     */
    private BigDecimal grossAmount;

    /**
     * MPF事项总金额（单位：HKD）
     */
    private BigDecimal mpfAmount;

    /**
     * 其他调整总金额（单位：HKD）
     */
    private BigDecimal otherAmount;

    /**
     * 其他调整的备注
     */
    private String otherRemark;

    /**
     * 通用备注
     */
    private String remark;

    /**
     * 实发总金额（单位：HKD）
     */
    private BigDecimal paidAmount;

    /**
     * 薪资单状态：1-待提交 2-待核对 3-已核对 4-退回 5-已推送 6-已取消
     */
    private String status;

    /**
     * 取消薪资备注
     */
    private String cancelRemark;

    /**
     * 转介人内部编号
     */
    private String internalNumber;

    /**
     * 薪资汇款明细封装的DTO
     */
    private ApiSalaryRemittanceFzDTO apiSalaryRemittanceFzDTO;
}
