package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import com.doumee.core.utils.Constants; import com.doumee.dao.system.model.Multifile; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; import java.math.BigDecimal; import java.util.List; /** * 运维合同账单信息表 * @author 江蹄蹄 * @date 2024/11/19 16:07 */ @Data @ApiModel("运维合同账单信息表") @TableName("`yw_contract_bill`") public class YwContractBill extends LoginUserModel { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") private Integer id; @ApiModelProperty(value = "创建人编码", example = "1") private Integer creator; @ApiModelProperty(value = "创建时间") private Date createDate; @ApiModelProperty(value = "更新人编码", example = "1") private Integer editor; @ApiModelProperty(value = "更新时间") private Date editDate; @ApiModelProperty(value = "是否删除0否 1是", example = "1") private Integer isdeleted; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "账单名称") private String title; @ApiModelProperty(value = "账单编号") private String code; @ApiModelProperty(value = "类型 0合同账单 1自建账单 2退款账单", example = "1") @ExcelColumn(name="账单来源",index = 12,width = 6,valueMapping = "0=合同账单;1=自建账单;2=退款账单") private Integer type; @ApiModelProperty(value = "状态 0开始;1关闭;", example = "1") private Integer status; @ApiModelProperty(value = "开始时间") @ExcelColumn(name="计费开始日期",index = 10,width = 6,dateFormat = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date startDate; @ApiModelProperty(value = "结束时间") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="计费结束日期",index = 11,width = 6,dateFormat = "yyyy-MM-dd") private Date endDate; @ApiModelProperty(value = "实际付款日") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actPayDate; @ApiModelProperty(value = "计划付款日") @JsonFormat(pattern = "yyyy-MM-dd") private Date planPayDate; @ApiModelProperty(value = "合同条款编码(关联yw_contract_detail)", example = "1") private Integer detailId; @ApiModelProperty(value = "合同编码(关联yw_contract)", example = "1") private Integer contractId; @ApiModelProperty(value = "排序码", example = "1") private Integer sortnum; @ApiModelProperty(value = "账单金额", example = "1") @ExcelColumn(name="账单金额",index = 4,width = 6) private BigDecimal totleFee; @ApiModelProperty(value = "应收金额", example = "1") @ExcelColumn(name="应收金额",index = 5,width = 6) private BigDecimal receivableFee; @ApiModelProperty(value = "费用类型:0=租赁费;1=物业费;2=租赁押金;3=物业押金;4=水电费;5=杂项费;6=其他; 7=保证金", example = "1") @ExcelColumn(name="费用类型",index = 8,width = 6,valueMapping = "0=租赁费;1=物业费;2=租赁押金;3=物业押金;4=水电费;5=杂项费;6=其他;7=保证金;") private Integer costType; @ApiModelProperty(value = "账单类型:0=收款;1=付款", example = "1") private Integer billType; @ApiModelProperty(value = "费用类型:0=周期费用;1=一次性费用") @TableField(exist = false) private Integer feeType; @ApiModelProperty(value = "所属公司", example = "1") private Integer companyId; @ApiModelProperty(value = "付款状态:0=待收款;1=已结清;2=部分结清;3=待付款;4=待退款;5=已关闭") @ExcelColumn(name="结清状态",index = 3,width = 6,valueMapping = "0=待收款;1=已结清;2=部分结清;3=待付款;4=待退款;5=已关闭;") private Integer payStatus; @ApiModelProperty(value = "退租类型 0到期退租 1换房退租 2违约退租 3协商退租", example = "1") @ExcelColumn(name="退租类型 0到期退租 1换房退租 2违约退租 3协商退租") private Integer btType; @ApiModelProperty(value = "退租操作时间") @ExcelColumn(name="退租操作时间") private Date btActDate; @ApiModelProperty(value = "退租操作人(关联system_user)", example = "1") @ExcelColumn(name="退租操作人(关联system_user)") private Integer btActUserId; @ApiModelProperty(value = "退租原因") @ExcelColumn(name="退租原因") private String btInfo; @ApiModelProperty(value = "退租日期") @ExcelColumn(name="退租日期") private Date btDate; @ApiModelProperty(value = "退租经办人编码", example = "1") @ExcelColumn(name="退租经办人编码") private Integer btUserId; @ApiModelProperty(value = "退租签到日期") @ExcelColumn(name="退租签到日期") private Date btSignDate; @ApiModelProperty(value = "退租结算金额合计", example = "1") @ExcelColumn(name="退租结算金额合计") private BigDecimal btFee; @ApiModelProperty(value = "客户名称(付款方)", example = "1") @ExcelColumn(name="客户名称",index = 0,width = 10) @TableField(exist = false) private String customerName; @ApiModelProperty(value = "公司名称", example = "1") @TableField(exist = false) private String companyName; @ApiModelProperty(value = "单号日期", example = "1",hidden = true) @TableField(exist = false) private String codeDate; @ApiModelProperty(value = "合同编号", example = "1") @ExcelColumn(name="合同编号",index = 2,width = 10) @TableField(exist = false) private String contractCode; @ApiModelProperty(value = "合同状态", example = "1") @TableField(exist = false) private Integer contractStatus; @ApiModelProperty(value = "楼宇房间", example = "1") @ExcelColumn(name="楼宇房间",index = 1,width = 10) @TableField(exist = false) private String roomPathName; @ApiModelProperty(value = "计划付款日 - 开始") @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date planPayDateStart; @ApiModelProperty(value = "创建人名称") @ExcelColumn(name="创建人",index = 9,width = 10) @TableField(exist = false) private String realname; @ApiModelProperty(value = "计划付款日 - 结束") @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date planPayDateEnd; @ApiModelProperty(value = "实收金额") @TableField(exist = false) @ExcelColumn(name="实收金额",index = 6,width = 6) private BigDecimal actReceivableFee = BigDecimal.ZERO; @ApiModelProperty(value = "需收金额") @TableField(exist = false) @ExcelColumn(name="需收金额",index = 7,width = 6) private BigDecimal needReceivableFee; @ApiModelProperty(value = "是否逾期:0=否;1=是") @TableField(exist = false) @ExcelColumn(name="是否逾期",index = 9,width = 6,valueMapping = "0=未逾期;1=已逾期") private Integer isOverdue; @ApiModelProperty(value = "附件信息", example = "1") @TableField(exist = false) private List multifileList; @ApiModelProperty(value = "关联房间数据", example = "1") @TableField(exist = false) private List ywContractRoomList; @ApiModelProperty(value = "收支流水", example = "1") @TableField(exist = false) private List ywContractRevenueList; }