package com.gree.mall.manager.bean.settle;

import com.gree.mall.manager.annotation.ZfireField;
import com.gree.mall.manager.enums.workorder.SettleExpenseStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@ApiModel
@Data
@ZfireField(tbName = "a")
public class SettleExpenseItemVO {

    @ZfireField(hide = true)
    @ApiModelProperty(value = "id")
    private String id;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "月度汇总id")
    private String settleMonthWagesId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "结算汇总id")
    private String settleExpenseId;

//    @ZfireField(hide = true)
//    @ApiModelProperty(value = "商户编号")
//    private String companyWechatId;
//
//    @ZfireField(hide = true)
//    @ApiModelProperty(value = "商户名称")
//    private String companyWechatName;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "网点编号")
    private String websitId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "网点名称")
    private String websitName;

    @ApiModelProperty(value = "网点名称")
    private String importWebsitName;

    @ApiModelProperty(value = "发放月份")
    private String sendMonth;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "类型")
    private String categoryType;

    @ApiModelProperty(value = "费用类型")
    private String typeName;

    @ApiModelProperty(value = "安装/维修品类")
    private String category;

    @ApiModelProperty(value = "维修自编号")
    private String repairCustomCode;

    @ApiModelProperty(value = "内机条码")
    private String insideCode;

    @ApiModelProperty(value = "内机名称")
    private String insideName;

    @ApiModelProperty(value = "基础安装/维修费用")
    private BigDecimal baseAmount;

    @ApiModelProperty(value = "辅材达标")
    private BigDecimal materialAmount;

    @ApiModelProperty(value = "评价数据达标")
    private BigDecimal appraiseAmount;

    @ApiModelProperty(value = "回收旧机达标")
    private BigDecimal recoveryAmount;

    @ApiModelProperty(value = "其它")
    private BigDecimal otherAmount;

    @ApiModelProperty(value = "合计金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "工单编号")
    private String orderNo;

    @ApiModelProperty(value = "销售单号")
    private String salesOrderNo;

    @ApiModelProperty(value = "安装/维修日期")
    private Date workDate;

    @ApiModelProperty(value = "销售类型")
    private String salesType;

    @ApiModelProperty(value = "维修内容")
    private String repairContent;

    @ApiModelProperty(value = "用户姓名")
    private String userName;

    @ApiModelProperty(value = "用户电话")
    private String userMobile;

    @ApiModelProperty(value = "用户地址")
    private String userAddress;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "工程师1id")
    private String workerId1;

    @ApiModelProperty(value = "工程师1名称")
    private String workerName1;

    @ApiModelProperty(value = "工程师1电话")
    private String workerMobile1;

    @ApiModelProperty(value = "工程师1结算比例")
    private String workerSettleRate1;

    @ApiModelProperty(value = "工程师1结算金额")
    private BigDecimal workerSettleAmount1;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "工程师2id")
    private String workerId2;

    @ApiModelProperty(value = "工程师2名称")
    private String workerName2;

    @ApiModelProperty(value = "工程师2电话")
    private String workerMobile2;

    @ApiModelProperty(value = "工程师2结算比例")
    private String workerSettleRate2;

    @ApiModelProperty(value = "工程师2结算金额")
    private BigDecimal workerSettleAmount2;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "导入批次号")
    private String importBatchNo;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "汇总批次号")
    private String gatherBatchNo;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "状态")
    private SettleExpenseStatusEnum status;

    @ApiModelProperty(value = "导入操作人")
    private String createBy;

    @ApiModelProperty(value = "导入时间")
    private Date createTime;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "汇总人")
    private String gatherBy;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "汇总时间")
    private Date gatherTime;

}
