Files
contract-manager/common/src/main/java/com/ecep/contract/model/Company.java
songqq 35b33d401b feat: 添加VendorGroupRequireFileTypeVo及相关服务功能
refactor: 重构多个服务类和方法,优化代码结构
fix: 修复PermissionVo中code字段更名为key的问题
docs: 更新create_vo.md文档,添加新创建的VO记录
perf: 优化WebSocketClientService中的session关闭逻辑
style: 清理无用导入和注释,统一代码格式
2025-09-21 23:08:34 +08:00

230 lines
5.8 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.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVo;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.persistence.Version;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* 公司信息类,保存企业信息
*/
@Getter
@Setter
@Entity
@Table(name = "COMPANY")
@ToString
public class Company implements IdentityEntity, NamedEntity, BasedEntity, Serializable, Voable<CompanyVo> {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
/**
* 公司名称
*/
private String name;
/**
* 统一社会信用代码
* <p>
* 编码结构
*
* <pre>
* 1 | 1 | 6 | 9 | 1 < br > 登记管理部门代码 | 机构类别代码 | 登记管理机关行政区划码 | 主体标识码 | 校验码
* </pre>
* <ul>
* <li>登记管理部门代码(第 1 位):<br>
* 例如9 代表工商部门登记的企业等。</li>
* <li>机构类别代码(第 2 位):不同的数字表示不同类型的机构。如 1 表示企业2 表示个体工商户等。</li>
* <li>登记管理机关行政区划码(第 3 - 8 位):这 6 位数字代表了登记管理机关所在的行政区划,与身份证号码的前 6
* 位类似,可对应到具体的地区。</li>
* <li>主体标识码(组织机构代码,第 9 - 17
* 位):它是对中华人民共和国境内依法注册、依法登记的机关、企事业单位、社会团体和民办非企业单位等机构颁发的一个在全国范围内唯一的、始终不变的代码。</li>
* </ul>
* </p>
*/
@Column(name = "UNISCID", length = 30)
private String uniscid;
/**
* 简称
*/
@Column(name = "SHORT_NAME")
private String shortName;
/**
* 文件夹存在
*/
@Column(name = "PATH_EXIST")
private Boolean pathExist;
/**
* 文件夹路径
*/
@Column(name = "PATH")
private String path;
/**
* 记录创建日期
*/
@Column(name = "CREATED")
private LocalDate created;
/**
* 企业状态
*/
@Column(name = "ENT_STATUS")
private String entStatus;
/**
* 企业类型
*/
@Column(name = "ENT_TYPE")
private String entType;
/**
* 区域
*/
@Column(name = "DISTRICT")
private String district;
/**
* 行业
*/
@Column(name = "INDUSTRY")
private String industry;
/**
* 电话
*/
@Column(name = "TELEPHONE")
private String telephone;
/**
* 注册地址
*/
@Column(name = "REG_ADDR")
private String regAddr;
/**
* 通讯地址
*/
@ToString.Exclude
@Column(name = "ADDRESS")
private String address;
/**
* 成立日期
*/
@Column(name = "SETUP_DATE")
private LocalDate setupDate;
/**
* 营业期限起始
*/
@ToString.Exclude
@Column(name = "OPERATION_PERIOD_BEGIN")
private LocalDate operationPeriodBegin;
/**
* 营业期限截至
*/
@ToString.Exclude
@Column(name = "OPERATION_PERIOD_END")
private LocalDate operationPeriodEnd;
/**
* 注册资金
*/
@ToString.Exclude
@Column(name = "REGISTERED_CAPITAL")
private String registeredCapital;
/**
* 资本金币种
*/
@ToString.Exclude
@Column(name = "REGISTERED_CAPITAL_CURRENCY")
private String registeredCapitalCurrency;
/**
* 法人
*/
@ToString.Exclude
@Column(name = "LEGAL_REPRESENTATIVE")
private String legalRepresentative;
/**
* 备注
*/
@ToString.Exclude
@Column(name = "MEMO")
private String memo;
@Version
@ColumnDefault("0")
@Column(name = "VERSION", nullable = false)
@ToString.Exclude
private int version;
@Override
public String toPrettyString() {
return getName();
}
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
Company company = (Company) object;
return getId() != null && Objects.equals(getId(), company.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyVo toVo() {
CompanyVo vo = new CompanyVo();
vo.setId(id);
vo.setName(name);
vo.setUniscid(getUniscid());
vo.setShortName(getShortName());
vo.setPathExist(getPathExist() != null && getPathExist());
vo.setPath(getPath());
vo.setCreated(getCreated());
vo.setEntStatus(getEntStatus());
vo.setEntType(getEntType());
vo.setDistrict(getDistrict());
vo.setIndustry(getIndustry());
vo.setTelephone(getTelephone());
vo.setRegAddr(getRegAddr());
vo.setAddress(getAddress());
vo.setSetupDate(getSetupDate());
vo.setOperationPeriodBegin(getOperationPeriodBegin());
vo.setOperationPeriodEnd(getOperationPeriodEnd());
vo.setRegisteredCapital(registeredCapital);
vo.setRegisteredCapitalCurrency(registeredCapitalCurrency);
vo.setLegalRepresentative(legalRepresentative);
vo.setMemo(memo);
vo.setRemark(memo);
vo.setVersion(version);
return vo;
}
}