dbd-meeting/ics-admin/src/main/java/com/ics/admin/domain/CustomerContract.java
2024-01-23 16:42:27 +08:00

391 lines
6.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.ics.admin.domain;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ics.common.core.domain.BaseEntity;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 客户合同对象 ics_customer_contract
*
* @author zzm
* @date 2021-03-29
*/
@Data
@TableName("ics_customer_contract")
public class CustomerContract extends BaseEntity<CustomerContract> {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
@NotNull(message = "客户id不能为空!")
private Long customerId;
/**
* 合同名称
*/
@NotBlank(message = "合同名称不能为空!")
private String name;
/**
* 合同编号
*/
@NotBlank(message = "合同编号不能为空!")
private String sn;
/**
* 物管合同编号
*/
@NotBlank(message = "物管合同编号不能为空!")
private String pmSn;
/**
* 管理编号
*/
private String manageSn;
/**
* 合同状态
*/
private Status status;
/**
* 合同状态
*/
public enum Status implements IEnum<Integer> {
/**
* 草稿
*/
DRAFT("草稿", 0),
/**
* 待审批
*/
APPROVING("待审批", 1),
/**
* 已审批
*/
APPROVED("已审批", 2),
/**
* 已拒绝
*/
REFUSE("已拒绝", 3),
/**
* 执行中
*/
EXECUTING("执行中", 4),
/**
* 已作废
*/
VOIDED("已作废", 5),
/**
* 已到期
*/
OVERDUE("已到期", 6),
/**
* 已结束
*/
END("已结束", 7);
private String name;
private int value;
Status(String name, int value) {
this.name = name;
this.value = value;
}
@Override
public Integer getValue() {
return this.value;
}
public String getName() {
return this.name;
}
public static Status parse(Integer value) {
for (Status status : values()) {
if (status.getValue().equals(value)) {
return status;
}
}
return null;
}
}
/**
* 合同类型0-正式合同,1-意向合同)
*/
private Type type;
/**
* 合同类型
*/
public enum Type implements IEnum<Integer> {
/**
* 正式合同
*/
OFFICIAL("正式合同", 0),
/**
* 意向合同
*/
INTENTION("意向合同", 1);
private String name;
private int value;
Type(String name, int value) {
this.name = name;
this.value = value;
}
@Override
public Integer getValue() {
return this.value;
}
public String getName() {
return this.name;
}
public static Type parse(Integer value) {
for (Type type : values()) {
if (type.getValue().equals(value)) {
return type;
}
}
return null;
}
}
/**
* 备注
*/
private String remark;
/**
* 需求开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date needStartDate;
/**
* 需求结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date needEndDate;
/**
* 租赁开始期限
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startDate;
/**
* 租赁结束期限
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endDate;
/**
* 账单收款日
*/
private Long receiveRentDay;
/**
* 租赁共几个月
*/
private Long totalMonths;
/**
* 签订日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date signDate;
/**
* 租赁方 0公司租赁 2个人租赁
*/
private Long lessorType;
/**
* 客户名称(企业名称)
*/
private String customerName;
/**
* 客户类型
*/
private Long customerType;
/**
* 所属行业
*/
private String sector;
/**
* 公司邮箱
*/
private String email;
/**
* 统一信用代码
*/
private String creditNo;
/**
* 法人
*/
private String operName;
/**
* 渠道名称
*/
private String channelName;
/**
* 联系电话
*/
private String phone;
/**
* 地址
*/
private String address;
/**
* 意向金
*/
private BigDecimal intentionMoney;
/**
* 管理费单价
*/
private BigDecimal managementFee;
/**
* 管理费单价单位(0-日计算,月计算)
*/
private String managementFeeUnit;
/**
* 日管理费
*/
private BigDecimal managementFeeIncreaseDay;
/**
* 月管理费
*/
private BigDecimal managementFeeIncreaseMonth;
/**
* 租金单价
*/
private BigDecimal rentPrice;
/**
* 租金单价单位(0-日计算,月计算)
*/
private String rentPriceUnit;
/**
* 日租金
*/
private BigDecimal rentIncreaseDay;
/**
* 月租金
*/
private BigDecimal rentIncreaseMonth;
/**
* 0-按固定租金1-按实际天数
*/
private Long rentIncreaseWay;
/**
* 付款周期
*/
private Long paymentPeriod;
/**
* 押金
*/
private BigDecimal deposit;
/**
* 押几月
*/
private Long depositPeriod;
/**
* 押金滞纳金比例
*/
private BigDecimal depositOverduePercent;
/**
* 租金滞纳金比例
*/
private BigDecimal rentOverduePercent;
/**
* 邮编
*/
private String postCode;
/**
* 合同关联房间
*/
@TableField(exist = false)
private List<Room> customerContractRooms;
/**
* 合同关联账单
*/
@TableField(exist = false)
private List<CustomerContractBill> customerContractBills;
/**
* 合同关联其他账单
*/
@TableField(exist = false)
private List<CustomerContractBill> customerContractOtherBills;
@TableField(exist = false)
private Integer pageNum;
@TableField(exist = false)
private Integer pageSize;
/**
* 关联其他费用
*/
@TableField(exist = false)
private List<CustomerContractOther> customerContractOthers;
}