拆分模块
This commit is contained in:
29
common/pom.xml
Normal file
29
common/pom.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ecep.contract</groupId>
|
||||
<artifactId>Contract-Manager</artifactId>
|
||||
<version>0.0.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.ecep.contract</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>0.0.49-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- Spring Data JPA - 提供jakarta.persistence API支持 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
15
common/src/main/java/com/ecep/contract/BlackReasonType.java
Normal file
15
common/src/main/java/com/ecep/contract/BlackReasonType.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
/**
|
||||
* Date : 2024/2/3
|
||||
*/
|
||||
public enum BlackReasonType {
|
||||
/**
|
||||
* 黑名单
|
||||
*/
|
||||
BLACK,
|
||||
/**
|
||||
* 警示名单
|
||||
*/
|
||||
GRAY
|
||||
}
|
||||
23
common/src/main/java/com/ecep/contract/CloudType.java
Normal file
23
common/src/main/java/com/ecep/contract/CloudType.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
/**
|
||||
* 记录源类型
|
||||
*/
|
||||
public enum CloudType {
|
||||
/**
|
||||
* 上海电气集团相关方平台
|
||||
*/
|
||||
RK,
|
||||
/**
|
||||
* 天眼查
|
||||
*/
|
||||
TYC,
|
||||
/**
|
||||
* 用友U8
|
||||
*/
|
||||
U8,
|
||||
/**
|
||||
* 老版本APP
|
||||
*/
|
||||
OLD;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
public enum CompanyCustomerFileType {
|
||||
/**
|
||||
* 普通文件,一般文件
|
||||
*/
|
||||
General,
|
||||
/**
|
||||
* 评价表; 评估表
|
||||
*/
|
||||
EvaluationForm;
|
||||
}
|
||||
35
common/src/main/java/com/ecep/contract/CompanyFileType.java
Normal file
35
common/src/main/java/com/ecep/contract/CompanyFileType.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
/**
|
||||
* 公司文件类型(资质文件)
|
||||
*/
|
||||
public enum CompanyFileType {
|
||||
/**
|
||||
* 普通文件,一般文件
|
||||
*/
|
||||
General,
|
||||
/**
|
||||
* 资信评估
|
||||
*/
|
||||
CreditReport,
|
||||
/**
|
||||
* 营业执照
|
||||
*/
|
||||
BusinessLicense,
|
||||
/**
|
||||
* 资质证书
|
||||
*/
|
||||
QualificationCertificate,
|
||||
/**
|
||||
* 企业信用信息公示报告
|
||||
*/
|
||||
CreditInfoPublicityReport,
|
||||
/**
|
||||
* 操作证
|
||||
*/
|
||||
OperationCertificate,
|
||||
/**
|
||||
* 框架协议
|
||||
*/
|
||||
FrameworkAgreement;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
public enum CompanyVendorFileType {
|
||||
/**
|
||||
* 普通文件,一般文件
|
||||
*/
|
||||
General,
|
||||
/**
|
||||
* 评价表; 评估表
|
||||
*/
|
||||
EvaluationForm;
|
||||
}
|
||||
133
common/src/main/java/com/ecep/contract/ContractFileType.java
Normal file
133
common/src/main/java/com/ecep/contract/ContractFileType.java
Normal file
@@ -0,0 +1,133 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 合同审批文件
|
||||
*/
|
||||
@Getter
|
||||
public enum ContractFileType {
|
||||
/**
|
||||
* 普通文件,一般的文件当文件没有特殊情况时,默认为普通文件
|
||||
*/
|
||||
General(true, true),
|
||||
/**
|
||||
* 成本审批
|
||||
*/
|
||||
Cost(true, false),
|
||||
/**
|
||||
* 成本审批表
|
||||
*/
|
||||
CostForm(true, false),
|
||||
/**
|
||||
* 采购申请表
|
||||
*/
|
||||
PurchaseRequestForm(false, true),
|
||||
/**
|
||||
* 采购合同审批表
|
||||
*/
|
||||
PurchaseContractApprovalForm(false, true),
|
||||
/**
|
||||
* 报价
|
||||
*/
|
||||
Quotation(true, false),
|
||||
/**
|
||||
* 报价审批表(单)
|
||||
*/
|
||||
QuotationApprovalForm(true, false),
|
||||
/**
|
||||
* 报价表(单)
|
||||
*/
|
||||
QuotationSheet(false, true),
|
||||
/**
|
||||
* 合同
|
||||
*/
|
||||
Contract(true, true),
|
||||
/**
|
||||
* 销售合同审批表
|
||||
*/
|
||||
ContractApprovalForm(true, false),
|
||||
/**
|
||||
* 提货单
|
||||
*/
|
||||
DeliveryOrder(true, true),
|
||||
/**
|
||||
* 投标审批表
|
||||
*/
|
||||
BidApprovalForm(true, false),
|
||||
/**
|
||||
* 中标通知书
|
||||
*/
|
||||
BidAcceptanceLetter(true, false),
|
||||
/**
|
||||
* 项目计划文件(项目策划书)
|
||||
*/
|
||||
ProjectPlanningDocument(true, false),
|
||||
/**
|
||||
* 提单申请单(发货申请单)
|
||||
*/
|
||||
ShippingApplication(true, false),
|
||||
/**
|
||||
* 到货签收单
|
||||
*/
|
||||
SignedDeliveryNote(true, false),
|
||||
/**
|
||||
* 完工验收单
|
||||
*/
|
||||
AcceptanceForm(true, true),
|
||||
/**
|
||||
* 重大项目决策记录单
|
||||
*/
|
||||
CriticalProjectDecisionRecord(true, true),
|
||||
/**
|
||||
* 顾客满意度调查表
|
||||
*/
|
||||
CustomerSatisfactionSurvey(true, false),
|
||||
;
|
||||
|
||||
final boolean supportCustomer;
|
||||
final boolean supportVendor;
|
||||
|
||||
ContractFileType(boolean supportCustomer, boolean supportVendor) {
|
||||
this.supportCustomer = supportCustomer;
|
||||
this.supportVendor = supportVendor;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件频率
|
||||
*/
|
||||
public enum Frequency {
|
||||
/**
|
||||
* 一次性
|
||||
*/
|
||||
Once,
|
||||
/**
|
||||
* 每日
|
||||
*/
|
||||
Daily,
|
||||
/**
|
||||
* 每周
|
||||
*/
|
||||
Weekly,
|
||||
/**
|
||||
* 每两周
|
||||
*/
|
||||
BiWeekly,
|
||||
/**
|
||||
* 每月
|
||||
*/
|
||||
Monthly,
|
||||
/**
|
||||
* 每季度
|
||||
*/
|
||||
Quarterly,
|
||||
/**
|
||||
* 每半年
|
||||
*/
|
||||
HalfYearly,
|
||||
/**
|
||||
* 每年
|
||||
*/
|
||||
Yearly;
|
||||
}
|
||||
}
|
||||
41
common/src/main/java/com/ecep/contract/ContractPayWay.java
Normal file
41
common/src/main/java/com/ecep/contract/ContractPayWay.java
Normal file
@@ -0,0 +1,41 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
/**
|
||||
* 付款方式
|
||||
*/
|
||||
public enum ContractPayWay {
|
||||
|
||||
/**
|
||||
* 付款方式,对应采购合同
|
||||
*/
|
||||
PAY("付"),
|
||||
/**
|
||||
* 收款方式, 对应销售合同
|
||||
*/
|
||||
RECEIVE("收"),
|
||||
|
||||
/**
|
||||
* 其他方式,对应框架协议等
|
||||
*/
|
||||
OTHER("其他");
|
||||
|
||||
|
||||
private final String text;
|
||||
|
||||
ContractPayWay(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public static ContractPayWay valueOfText(String way) {
|
||||
for (ContractPayWay value : values()) {
|
||||
if (value.getText().equals(way)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return text;
|
||||
}
|
||||
}
|
||||
20
common/src/main/java/com/ecep/contract/Message.java
Normal file
20
common/src/main/java/com/ecep/contract/Message.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
@Data
|
||||
public class Message {
|
||||
Level level;
|
||||
String message;
|
||||
|
||||
public Message(Level severe, String message) {
|
||||
this.level = severe;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public static Message info(String message) {
|
||||
return new Message(Level.INFO, message);
|
||||
}
|
||||
}
|
||||
32
common/src/main/java/com/ecep/contract/MessageHolder.java
Normal file
32
common/src/main/java/com/ecep/contract/MessageHolder.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public interface MessageHolder {
|
||||
void addMessage(Level level, String message);
|
||||
|
||||
default void error(String message) {
|
||||
addMessage(Level.SEVERE, message);
|
||||
}
|
||||
|
||||
default void warn(String message) {
|
||||
addMessage(Level.WARNING, message);
|
||||
}
|
||||
|
||||
default void info(String message) {
|
||||
addMessage(Level.INFO, message);
|
||||
}
|
||||
|
||||
default void debug(String message) {
|
||||
addMessage(Level.FINE, message);
|
||||
}
|
||||
|
||||
default MessageHolder sub(String prefix) {
|
||||
return new MessageHolder() {
|
||||
@Override
|
||||
public void addMessage(Level level, String message) {
|
||||
MessageHolder.this.addMessage(level, prefix + message);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
176
common/src/main/java/com/ecep/contract/MyDateTimeUtils.java
Normal file
176
common/src/main/java/com/ecep/contract/MyDateTimeUtils.java
Normal file
@@ -0,0 +1,176 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class MyDateTimeUtils {
|
||||
/**
|
||||
* 日期 yyyy-MM-dd 的正则表达式
|
||||
*/
|
||||
public static final String REGEX_DATE = "\\d{4}-\\d{2}-\\d{2}";
|
||||
/**
|
||||
* 默认日期的格式
|
||||
*/
|
||||
public static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd";
|
||||
/**
|
||||
* 默认时间的格式
|
||||
*/
|
||||
public static final String DEFAULT_TIME_FORMAT_PATTERN = "HH:mm:ss";
|
||||
/**
|
||||
* 默认日期时间的格式
|
||||
*/
|
||||
public static final String DEFAULT_DATETIME_FORMAT_PATTERN = DEFAULT_DATE_FORMAT_PATTERN + " "
|
||||
+ DEFAULT_TIME_FORMAT_PATTERN;
|
||||
|
||||
/**
|
||||
* 判断 verifyDate 是否在 startDate 和 endDate 之间,
|
||||
* 当 graceDays 大于 0 时,startDate 往前移 graceDays 天,endDate 往后移 graceDays 天
|
||||
*
|
||||
* @param verifyDate 判断的日期
|
||||
* @param startDate 起始日期(包含)
|
||||
* @param endDate 截至日期(包含)
|
||||
* @param graceDays 宽限日期
|
||||
* @return 在 startDate 和 endDate 之间返回true,否则返回false
|
||||
*/
|
||||
public static boolean dateValidFilter(LocalDate verifyDate, LocalDate startDate, LocalDate endDate, int graceDays) {
|
||||
// 截至日期 endDate 在 验证日期 verifyDate 前, 表示 verifyDate 已经超出 endDate 范围
|
||||
if (endDate.isBefore(verifyDate)) {
|
||||
// 如果允许宽限期
|
||||
if (graceDays > 0) {
|
||||
// 截至日期宽限至
|
||||
LocalDate graceDate = endDate.plusDays(graceDays);
|
||||
if (graceDate.isBefore(verifyDate)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 起始日期 startDate 在 验证日期 verifyDate 后, 表示 verifyDate 已经超出 startDate 范围
|
||||
if (startDate.isAfter(verifyDate)) {
|
||||
// 如果允许宽限期
|
||||
if (graceDays > 0) {
|
||||
LocalDate graceDate = startDate.minusDays(graceDays);
|
||||
if (graceDate.isAfter(verifyDate)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化日期,默认格式 yyyy-MM-dd
|
||||
*
|
||||
* @param date 要格式化的日期对象
|
||||
* @return 格式化后的日期字符串
|
||||
*/
|
||||
public static String format(LocalDate date) {
|
||||
return format(date, DEFAULT_DATE_FORMAT_PATTERN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化日期,使用指定的格式
|
||||
*
|
||||
* @param date 要格式化的日期对象
|
||||
* @param pattern 日期格式
|
||||
* @return 格式化后的日期字符串
|
||||
*/
|
||||
public static String format(LocalDate date, String pattern) {
|
||||
DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern);
|
||||
return date.format(fmt);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化时间,默认格式 HH:mm:ss
|
||||
*
|
||||
* @param dateTime 要格式化的时间对象
|
||||
* @return 格式化后的时间字符串
|
||||
*/
|
||||
public static String format(LocalDateTime dateTime) {
|
||||
return format(dateTime, DEFAULT_DATETIME_FORMAT_PATTERN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化时间,使用指定的格式
|
||||
*
|
||||
* @param dateTime 要格式化的时间对象
|
||||
* @param pattern 时间格式
|
||||
* @return 格式化后的时间字符串
|
||||
*/
|
||||
public static String format(LocalDateTime dateTime, String pattern) {
|
||||
DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern);
|
||||
return dateTime.format(fmt);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化时间,默认格式 HH:mm:ss
|
||||
*
|
||||
* @param time 要格式化的时间对象
|
||||
* @return 格式化后的时间字符串
|
||||
*/
|
||||
public static String format(LocalTime time) {
|
||||
return format(time, DEFAULT_TIME_FORMAT_PATTERN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化时间,使用指定的格式
|
||||
*
|
||||
* @param time 要格式化的时间对象
|
||||
* @param pattern 时间格式
|
||||
* @return 格式化后的时间字符串
|
||||
*/
|
||||
public static String format(LocalTime time, String pattern) {
|
||||
DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern);
|
||||
return time.format(fmt);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从字符串中提取日期, 匹配日期未 yyyy-MM-dd
|
||||
*
|
||||
* @param string 要日期提取的字符串
|
||||
* @return 提取的日期, 如果没有匹配到则返回null
|
||||
*/
|
||||
public static LocalDate pickLocalDate(String string) {
|
||||
return pickLocalDate(string, REGEX_DATE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从字符串中提取日期, 使用正则表达式匹配,如果字符串中有多个匹配,只提取第一个
|
||||
*
|
||||
* @param string 要日期提取的字符串
|
||||
* @param regex 日期的正则表达式
|
||||
* @return 提取的日期, 如果没有匹配到则返回null
|
||||
*/
|
||||
public static LocalDate pickLocalDate(String string, String regex) {
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(string);
|
||||
while (matcher.find()) {
|
||||
String date = matcher.group();
|
||||
try {
|
||||
return LocalDate.parse(date);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String format(long startTime) {
|
||||
return format(new Date(startTime));
|
||||
|
||||
}
|
||||
|
||||
public static String format(Date date) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(DEFAULT_DATETIME_FORMAT_PATTERN);
|
||||
return sdf.format(date);
|
||||
}
|
||||
}
|
||||
78
common/src/main/java/com/ecep/contract/ProjectFileType.java
Normal file
78
common/src/main/java/com/ecep/contract/ProjectFileType.java
Normal file
@@ -0,0 +1,78 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
public enum ProjectFileType {
|
||||
/**
|
||||
* 客户信息表
|
||||
*/
|
||||
CustomerInfo,
|
||||
/**
|
||||
* 现场查勘报告
|
||||
*/
|
||||
FieldInspectionReport,
|
||||
/**
|
||||
* 报价表
|
||||
*/
|
||||
Quotation,
|
||||
/**
|
||||
* 报价审批表
|
||||
*/
|
||||
QuotationApproval,
|
||||
/**
|
||||
* 成本审批表
|
||||
*/
|
||||
CostApproval,
|
||||
/**
|
||||
* 项目合同审批表(销售合同)
|
||||
*/
|
||||
ContractApproval,
|
||||
/**
|
||||
* 项目交底记录
|
||||
*/
|
||||
ProjectDisclosure,
|
||||
/**
|
||||
* 项目策划书
|
||||
*/
|
||||
ProjectPlanning,
|
||||
/**
|
||||
* 业务类采购与服务申请表
|
||||
*/
|
||||
PurchaseServiceApplication,
|
||||
/**
|
||||
* 工程周报
|
||||
*/
|
||||
ProjectWeeklyReport,
|
||||
/**
|
||||
* 发货申请
|
||||
*/
|
||||
DeliveryApplication,
|
||||
/**
|
||||
* 发货单
|
||||
*/
|
||||
DeliveryOrder,
|
||||
/**
|
||||
* 发货单审批表
|
||||
*/
|
||||
DeliveryOrderApproval,
|
||||
/**
|
||||
* 交货验收签收单
|
||||
*/
|
||||
DeliveryAcceptance,
|
||||
/**
|
||||
* 设备拼装验收单
|
||||
*/
|
||||
DeviceAssemblyAcceptance,
|
||||
/**
|
||||
* 服务工单
|
||||
*/
|
||||
ServiceOrder,
|
||||
/**
|
||||
* 分包计算完工进度确认单
|
||||
*/
|
||||
SubcontractCompletionConfirmation,
|
||||
/**
|
||||
* 项目移交单
|
||||
*/
|
||||
ProjectTransfer,
|
||||
|
||||
|
||||
}
|
||||
30
common/src/main/java/com/ecep/contract/TaskStatus.java
Normal file
30
common/src/main/java/com/ecep/contract/TaskStatus.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
/**
|
||||
* 任务状态枚举
|
||||
*/
|
||||
public enum TaskStatus {
|
||||
/**
|
||||
* 进入等待延时队列,等待执行
|
||||
*/
|
||||
DELAYED("延时"),
|
||||
/**
|
||||
* 已调度
|
||||
*/
|
||||
SCHEDULED("已调度"),
|
||||
RUNNING("运行中"),
|
||||
SUCCEEDED("成功"),
|
||||
FAILED("失败"),
|
||||
CANCELLED("已取消"),
|
||||
TIMED_OUT("超时");
|
||||
|
||||
private final String description;
|
||||
|
||||
TaskStatus(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
}
|
||||
28
common/src/main/java/com/ecep/contract/UnitType.java
Normal file
28
common/src/main/java/com/ecep/contract/UnitType.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum UnitType {
|
||||
// 体积
|
||||
VOLUME("体积"),
|
||||
// 重量
|
||||
WEIGHT("重量"),
|
||||
// 长度
|
||||
LENGTH("长度"),
|
||||
// 数量
|
||||
NUMBER("数量"),
|
||||
// 面积
|
||||
AREA("面积"),
|
||||
// 货币
|
||||
MONEY("货币"),
|
||||
// 其他
|
||||
OTHER("其他");
|
||||
|
||||
private final String name;
|
||||
|
||||
UnitType(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
}
|
||||
16
common/src/main/java/com/ecep/contract/VendorType.java
Normal file
16
common/src/main/java/com/ecep/contract/VendorType.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.ecep.contract;
|
||||
|
||||
public enum VendorType {
|
||||
/**
|
||||
* 合格供应商
|
||||
*/
|
||||
QUALIFIED,
|
||||
/**
|
||||
* 一般供应商
|
||||
*/
|
||||
TYPICALLY,
|
||||
/**
|
||||
* unqualified 不合格的
|
||||
*/
|
||||
UNQUALIFIED;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ecep.contract.constant;
|
||||
|
||||
public class CloudServiceConstant {
|
||||
/**
|
||||
* 集团相关方
|
||||
*/
|
||||
public static final String RK_NAME = "集团相关方";
|
||||
public static final String RK_DESC = "集团相关方平台";
|
||||
public static final String RK_VENDOR_NAME = "元素征信";
|
||||
/**
|
||||
* 用友
|
||||
*/
|
||||
public static final String U8_NAME = "用友";
|
||||
/**
|
||||
* 天眼查
|
||||
*/
|
||||
public static final String TYC_NAME = "天眼查";
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
package com.ecep.contract.constant;
|
||||
|
||||
public class CompanyCustomerCpnstant {
|
||||
public class CompanyCustomerConstant {
|
||||
public static final String EVALUATION_FORM_NAME1 = "评定表";
|
||||
public static final String EVALUATION_FORM_NAME2 = "评估表";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.ecep.contract.constant;
|
||||
|
||||
public class CompanyVendorConstant {
|
||||
public static final String CACHE_NAME = "company-vendor";
|
||||
public static final String EVALUATION_FORM_NAME1 = "评价表";
|
||||
public static final String EVALUATION_FORM_NAME2 = "评估表";
|
||||
public static final String EVALUATION_FORM_NAME3 = "评定表";
|
||||
/**
|
||||
* 供应商存储基础目录,实际路径
|
||||
*/
|
||||
public static final String KEY_BASE_PATH = "vendor.base.path";
|
||||
/**
|
||||
* 供应商评价表模板
|
||||
*/
|
||||
public static final String KEY_EVALUATION_FORM_TEMPLATE = "vendor.evaluation.form.template";
|
||||
/**
|
||||
* 供应商审批列表存储基础目录,实际路径
|
||||
*/
|
||||
public static final String KEY_APPROVED_LIST_BASE_PATH = "vendor.approved.list.base.path";
|
||||
/**
|
||||
* 供应商审批列表模板
|
||||
*/
|
||||
public static final String KEY_APPROVED_LIST_TEMPLATE = "vendor.approved.list.template";
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.ecep.contract.constant;
|
||||
|
||||
public class ServiceConstant {
|
||||
public static final String KEY_SEARCH_TEXT = "searchText";
|
||||
}
|
||||
63
common/src/main/java/com/ecep/contract/model/Bank.java
Normal file
63
common/src/main/java/com/ecep/contract/model/Bank.java
Normal file
@@ -0,0 +1,63 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "BANK", schema = "supplier_ms")
|
||||
public class Bank implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
Bank bank = (Bank) object;
|
||||
return getId() != null && Objects.equals(getId(), bank.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.MappedSuperclass;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@MappedSuperclass
|
||||
@ToString
|
||||
public class BaseEnumEntity<T extends Enum<?>> implements IdentityEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private T type;
|
||||
|
||||
/**
|
||||
* Language
|
||||
*/
|
||||
@Column(name = "LANG")
|
||||
private String lang;
|
||||
|
||||
@Column(name = "VALUE")
|
||||
private String value;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface BasedEntity {
|
||||
|
||||
String toPrettyString();
|
||||
}
|
||||
136
common/src/main/java/com/ecep/contract/model/CloudRk.java
Normal file
136
common/src/main/java/com/ecep/contract/model/CloudRk.java
Normal file
@@ -0,0 +1,136 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CLOUD_RK", schema = "supplier_ms")
|
||||
public class CloudRk implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 平台编号
|
||||
*/
|
||||
@Column(name = "CLOUD_ID")
|
||||
private String cloudId;
|
||||
|
||||
/**
|
||||
* 关联的公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 是否自动更新
|
||||
*/
|
||||
@Column(name = "AUTO_UPDATE", nullable = false, columnDefinition = "boolean default true")
|
||||
private boolean autoUpdate = false;
|
||||
|
||||
/**
|
||||
* 更新间隔天数
|
||||
*/
|
||||
@Column(name = "UPDATE_DAYS", nullable = false, columnDefinition = "int default 30")
|
||||
private int updateDays;
|
||||
|
||||
/**
|
||||
* 客户信用评级
|
||||
*/
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "CUSTOMER_GRADE", nullable = false)
|
||||
private String customerGrade;
|
||||
/**
|
||||
* 客户信用总分
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "CUSTOMER_SCORE", nullable = false)
|
||||
private Integer customerScore;
|
||||
|
||||
@Column(name = "CUSTOMER_DESCRIPTION")
|
||||
private String customerDescription;
|
||||
|
||||
/**
|
||||
* 供应商信用评级
|
||||
*/
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "VENDOR_GRADE", nullable = false)
|
||||
private String vendorGrade;
|
||||
/**
|
||||
* 供应商信用总分
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VENDOR_SCORE", nullable = false)
|
||||
private Integer vendorScore;
|
||||
|
||||
@Column(name = "VENDOR_DESCRIPTION")
|
||||
private String vendorDescription;
|
||||
|
||||
/**
|
||||
* 相关方资信评价等级
|
||||
*/
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "CREDIT_RANK", nullable = false)
|
||||
private String rank;
|
||||
/**
|
||||
* 相关方资信评价等级描述
|
||||
*/
|
||||
@Column(name = "CREDIT_RANK_DESCRIPTION")
|
||||
private String rankDescription;
|
||||
/**
|
||||
* 云端最新更新时间
|
||||
*/
|
||||
@Column(name = "CLOUD_LATEST")
|
||||
private LocalDateTime cloudLatest;
|
||||
/**
|
||||
* 黑名单更新时间
|
||||
*/
|
||||
@Column(name = "BLACK_LIST_UPDATED")
|
||||
private LocalDateTime cloudBlackListUpdated;
|
||||
/**
|
||||
* 企业信息更新时间
|
||||
*/
|
||||
@Column(name = "ENT_UPDATED")
|
||||
private LocalDateTime cloudEntUpdate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
/**
|
||||
* 本地更新时间戳,控制更新频率和重复更新
|
||||
*/
|
||||
@Column(name = "LATEST_UPDATE")
|
||||
private LocalDateTime latestUpdate;
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private Integer version = 0;
|
||||
}
|
||||
98
common/src/main/java/com/ecep/contract/model/CloudTyc.java
Normal file
98
common/src/main/java/com/ecep/contract/model/CloudTyc.java
Normal file
@@ -0,0 +1,98 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CLOUD_TYC", schema = "supplier_ms")
|
||||
public class CloudTyc implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 评分
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "SCORE", nullable = false)
|
||||
private Integer score;
|
||||
|
||||
@Column(name = "CLOUD_LATEST")
|
||||
private Instant cloudLatest;
|
||||
|
||||
/**
|
||||
* 平台编号
|
||||
*/
|
||||
@Column(name = "CLOUD_ID")
|
||||
private String cloudId;
|
||||
|
||||
/**
|
||||
* 本地更新时间戳,控制更新频率和重复更新
|
||||
*/
|
||||
@Column(name = "LATEST_UPDATE")
|
||||
private Instant latestUpdate;
|
||||
|
||||
/**
|
||||
* 关联的公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
CloudTyc cloudInfo = (CloudTyc) o;
|
||||
return getId() != null && Objects.equals(getId(), cloudInfo.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
72
common/src/main/java/com/ecep/contract/model/CloudYu.java
Normal file
72
common/src/main/java/com/ecep/contract/model/CloudYu.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CLOUD_YU", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CloudYu implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 本地更新时间戳,控制更新频率和重复更新
|
||||
*/
|
||||
@Column(name = "LATEST_UPDATE")
|
||||
private Instant latestUpdate;
|
||||
|
||||
/**
|
||||
* 关联的公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "EX_MSG")
|
||||
private String exceptionMessage;
|
||||
|
||||
/**
|
||||
* 供应商信息更新日期
|
||||
*/
|
||||
@Column(name = "VEN_UP_DATE")
|
||||
private LocalDate vendorUpdateDate;
|
||||
|
||||
/**
|
||||
* 客户信息更新日期
|
||||
*/
|
||||
@Column(name = "CUS_UP_DATE")
|
||||
private LocalDate customerUpdateDate;
|
||||
|
||||
/**
|
||||
* 数据更新日期
|
||||
*/
|
||||
@Column(name = "CLOUD_LATEST")
|
||||
private Instant cloudLatest;
|
||||
}
|
||||
209
common/src/main/java/com/ecep/contract/model/Company.java
Normal file
209
common/src/main/java/com/ecep/contract/model/Company.java
Normal file
@@ -0,0 +1,209 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 {
|
||||
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)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
Company company = (Company) object;
|
||||
return getId() != null && Objects.equals(getId(), company.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "COMPANY_BANK_ACCOUNT", schema = "supplier_ms")
|
||||
public class CompanyBankAccount implements IdentityEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "BANK_ID")
|
||||
@ToString.Exclude
|
||||
private Bank bank;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
@Column(name = "OPENING_BANK")
|
||||
private String openingBank;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
@Column(name = "ACCOUNT")
|
||||
private String account;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return account;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface CompanyBasedEntity {
|
||||
|
||||
Company getCompany();
|
||||
|
||||
void setCompany(Company company);
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public interface CompanyBasicFile<T> extends IdentityEntity {
|
||||
Integer getId();
|
||||
|
||||
void setId(Integer id);
|
||||
|
||||
T getType();
|
||||
|
||||
void setType(T type);
|
||||
|
||||
String getFilePath();
|
||||
|
||||
void setFilePath(String filePath);
|
||||
|
||||
|
||||
String getEditFilePath();
|
||||
|
||||
void setEditFilePath(String filePath);
|
||||
|
||||
|
||||
LocalDate getSignDate();
|
||||
|
||||
void setSignDate(LocalDate signDate);
|
||||
|
||||
|
||||
boolean isValid();
|
||||
|
||||
void setValid(boolean valid);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import org.hibernate.annotations.OnDelete;
|
||||
import org.hibernate.annotations.OnDeleteAction;
|
||||
|
||||
import com.ecep.contract.BlackReasonType;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Index;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_BLACK_REASON", schema = "supplier_ms", indexes = {
|
||||
@Index(name = "COMPANY_ID", columnList = "COMPANY_ID")
|
||||
})
|
||||
// @org.springframework.data.relational.core.mapping.Table("COMPANY_BLACK_REASON")
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class CompanyBlackReason implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
private Company company;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
private BlackReasonType type;
|
||||
|
||||
@Column(name = "APPLY_NAME")
|
||||
private String applyName;
|
||||
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDate applyDate;
|
||||
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDate updateTime;
|
||||
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDate createTime;
|
||||
|
||||
@Column(name = "INCLUDE_DATE")
|
||||
private LocalDate includeDate;
|
||||
|
||||
@Column(name = "BLACK_REASON")
|
||||
private String blackReason;
|
||||
|
||||
@Lob
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "`KEY`")
|
||||
private String key;
|
||||
|
||||
}
|
||||
109
common/src/main/java/com/ecep/contract/model/CompanyContact.java
Normal file
109
common/src/main/java/com/ecep/contract/model/CompanyContact.java
Normal file
@@ -0,0 +1,109 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Index;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CONTACT", schema = "supplier_ms", indexes = {
|
||||
@Index(name = "CUSTOMER_ID", columnList = "COMPANY_ID")
|
||||
})
|
||||
@ToString
|
||||
public class CompanyContact implements IdentityEntity, NamedEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "PHONE")
|
||||
private String phone;
|
||||
|
||||
@Column(name = "EMAIL")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@Column(name = "ADDRESS")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
@Column(name = "POSITION")
|
||||
private String position;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Column(name = "U8_CODE")
|
||||
private String u8Code;
|
||||
|
||||
@Column(name = "MEMO")
|
||||
private String memo;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
CompanyContact that = (CompanyContact) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Index;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CONTRACT", schema = "supplier_ms", indexes = {
|
||||
@Index(name = "RK_CONTRACT_ID", columnList = "CONTRACT_ID"),
|
||||
@Index(name = "RK_COMPANY_ID", columnList = "COMPANY_ID")
|
||||
}, uniqueConstraints = {
|
||||
|
||||
})
|
||||
@ToString(exclude = {"company", "contract"})
|
||||
public class CompanyContract implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
private Company company;
|
||||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 要和{@link CompanyContactUtils#getContactKey(Map)}一致
|
||||
*/
|
||||
public static String getContactKey(CompanyContact contact) {
|
||||
if (contact == null) {
|
||||
return null;
|
||||
}
|
||||
return contact.getName() +
|
||||
contact.getPhone() +
|
||||
contact.getEmail();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyCustomer implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 关联的企业
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
/**
|
||||
* 对口联系人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact contact;
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
/**
|
||||
* 记录创建日期
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private Instant created;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
CompanyCustomer that = (CompanyCustomer) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER_ENTITY", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyCustomerEntity implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_CUSTOMER_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomer customer;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "ABB_NAME")
|
||||
private String abbName;
|
||||
/**
|
||||
* 用友U8系统中的客户编号,1对多的原因使用编码 |code1|code2|
|
||||
*/
|
||||
@Column(name = "CUS_CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 客户分类
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUS_CLS")
|
||||
@ToString.Exclude
|
||||
private CustomerCatalog catalog;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATOR_ID")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MODIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee modifier;
|
||||
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDate modifyDate;
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 更新日期,有数据更新时的日期
|
||||
*/
|
||||
@Column(name = "UP_DATE")
|
||||
private LocalDate updatedDate;
|
||||
/**
|
||||
* 抓取时间戳,用于控制抓取频率
|
||||
*/
|
||||
@Column(name = "FETCHED_TIME")
|
||||
private LocalDateTime fetchedTime;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
CompanyCustomerEntity that = (CompanyCustomerEntity) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import jakarta.persistence.PrimaryKeyJoinColumn;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 客户评估表数据
|
||||
* <p>
|
||||
* <p>
|
||||
* 注意:字段不能使用 primitive type,否则自动转换时会出现 Null Value 问题
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Table(name = "COMPANY_CUSTOMER_EVALUATION_FORM_FILE")
|
||||
public class CompanyCustomerEvaluationFormFile implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@PrimaryKeyJoinColumn
|
||||
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
||||
private CompanyCustomerFile customerFile;
|
||||
|
||||
/**
|
||||
* 经济指标分类
|
||||
*/
|
||||
@Column(name = "CATALOG")
|
||||
private String catalog;
|
||||
/**
|
||||
* 综合指标
|
||||
*/
|
||||
@Column(name = "LEVEL")
|
||||
private String level;
|
||||
/**
|
||||
* 资信等级
|
||||
*/
|
||||
@Column(name = "CREDIT_LEVEL")
|
||||
private Integer creditLevel = 0;
|
||||
|
||||
private Integer score1 = 0;
|
||||
private Integer score2 = 0;
|
||||
private Integer score3 = 0;
|
||||
private Integer score4 = 0;
|
||||
private Integer score5 = 0;
|
||||
/**
|
||||
* 分数模板版本
|
||||
*/
|
||||
@Column(name = "SCORE_TEMPLATE_VER")
|
||||
private Integer scoreTemplateVersion = 1;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getCatalog() + ", level=" + getCreditLevel();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import com.ecep.contract.CompanyCustomerFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER_FILE")
|
||||
@ToString
|
||||
public class CompanyCustomerFile implements CompanyBasicFile<CompanyCustomerFileType>, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUSTOMER_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomer customer;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private CompanyCustomerFileType type;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 可编辑的文件路径
|
||||
*/
|
||||
@Column(name = "EDIT_FILE_PATH")
|
||||
private String editFilePath;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "SIGN_DATE")
|
||||
private LocalDate signDate;
|
||||
|
||||
@Column(name = "VALID")
|
||||
private boolean valid = false;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.ecep.contract.CompanyCustomerFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class CompanyCustomerFileTypeLocal extends BaseEnumEntity<CompanyCustomerFileType> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_EXTEND_INFO", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CompanyExtendInfo implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 是否禁用核验
|
||||
*/
|
||||
@Column(name = "DISABLE_VERIFY")
|
||||
private boolean disableVerify;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyExtendInfo that = (CompanyExtendInfo) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import com.ecep.contract.CompanyFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 公司文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_FILE")
|
||||
@ToString
|
||||
public class CompanyFile implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private CompanyFileType type;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDate applyDate;
|
||||
/**
|
||||
* 有效期(签署)
|
||||
*/
|
||||
@Column(name = "EXP_DATE")
|
||||
private LocalDate expiringDate;
|
||||
|
||||
/**
|
||||
* 资质文件路径,全路径,网盘地址
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.ecep.contract.CompanyFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class CompanyFileTypeLocal extends BaseEnumEntity<CompanyFileType> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 公司发票信息
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_INVOICE_INFO", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CompanyInvoiceInfo implements IdentityEntity, NamedEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Column(name = "TAX")
|
||||
private String taxId; // 税号(纳税人识别号)
|
||||
|
||||
@Column(name = "ADDR")
|
||||
private String address; // 地址
|
||||
|
||||
@Column(name = "TEL")
|
||||
private String phone; // 电话
|
||||
|
||||
@Column(name = "BANK")
|
||||
private String bankName; // 开户行
|
||||
|
||||
@Column(name = "BANK_ACCOUNT")
|
||||
private String bankAccount; // 银行账号
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName() + getTaxId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyInvoiceInfo that = (CompanyInvoiceInfo) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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_OLDNAME")
|
||||
@ToString
|
||||
public class CompanyOldName implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "COMPANY_ID", nullable = false)
|
||||
private Integer companyId;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "BEGIN_DATE")
|
||||
private LocalDate beginDate;
|
||||
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 是否模糊的,当已录入的系统的名称有错误时,使用别名处理
|
||||
*/
|
||||
@Column(name = "AMBIGUITY")
|
||||
private Boolean ambiguity;
|
||||
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Column(name = "MEMO")
|
||||
@ToString.Exclude
|
||||
private String memo;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyOldName that = (CompanyOldName) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
123
common/src/main/java/com/ecep/contract/model/CompanyVendor.java
Normal file
123
common/src/main/java/com/ecep/contract/model/CompanyVendor.java
Normal file
@@ -0,0 +1,123 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.VendorType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyVendor implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@Column(name = "TYPE")
|
||||
private VendorType type;
|
||||
|
||||
|
||||
@ColumnDefault("false")
|
||||
@Column(name = "PROTOCOL_PROVIDER", nullable = false)
|
||||
private boolean protocolProvider = false;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@OneToMany(mappedBy = "vendor", fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private List<CompanyVendorEntity> entities;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "VEN_CLS")
|
||||
private VendorCatalog catalog;
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 对口联系人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact contact;
|
||||
|
||||
/**
|
||||
* 采购的产品
|
||||
*/
|
||||
@Column(name = "purchase")
|
||||
private String purchase;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
/**
|
||||
* 记录创建日期
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private Instant created;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyVendor that = (CompanyVendor) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供方名录里的文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_APPROVED_FILE")
|
||||
@ToString
|
||||
public class CompanyVendorApprovedFile implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "LIST_ID", nullable = false)
|
||||
@ToString.Exclude
|
||||
private CompanyVendorApprovedList list;
|
||||
|
||||
|
||||
/**
|
||||
* 文件名,不含目录,目录使用目录的目录
|
||||
*/
|
||||
@Column(name = "FILE_NAME")
|
||||
private String fileName;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "SIGN_DATE")
|
||||
private LocalDate signDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.VendorType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供方名录里的供应商
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_APPROVED_ITEM")
|
||||
@ToString
|
||||
public class CompanyVendorApprovedItem implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "LIST_ID", nullable = false)
|
||||
@ToString.Exclude
|
||||
private CompanyVendorApprovedList list;
|
||||
|
||||
/**
|
||||
* 供应商名称,有可能改名了,所以存历史名称
|
||||
*/
|
||||
@Column(name = "VENDOR_NAME")
|
||||
private String vendorName;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VENDOR_ID", nullable = false)
|
||||
@ToString.Exclude
|
||||
private CompanyVendor vendor;
|
||||
|
||||
/**
|
||||
* 类型,历史的,可能会变更的,所以这样也要存
|
||||
*/
|
||||
@Column(name = "TYPE")
|
||||
private VendorType type;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyVendorApprovedItem that = (CompanyVendorApprovedItem) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
/**
|
||||
* 合格供应商名录
|
||||
* 每年一条记录
|
||||
* 下有 item 和 file
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_APPROVED")
|
||||
@ToString
|
||||
public class CompanyVendorApprovedList implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 发布日期
|
||||
*/
|
||||
@Column(name = "PUBLISH_DATE")
|
||||
private LocalDate publishDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyVendorApprovedList that = (CompanyVendorApprovedList) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
/**
|
||||
* 供应商的关联详细项,关联信息用于绑定U8系统中的供应商编号
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_ENTITY", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyVendorEntity implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_VENDOR_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyVendor vendor;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "ABB_NAME")
|
||||
private String abbName;
|
||||
/**
|
||||
* 用友U8系统中的客户编号,1对多的原因使用编码 |code1|code2|
|
||||
*/
|
||||
@Column(name = "VEN_CODE")
|
||||
private String code;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VEN_CLS")
|
||||
@ToString.Exclude
|
||||
private VendorCatalog catalog;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATOR_ID")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MODIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee modifier;
|
||||
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDate modifyDate;
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 更新日期,有数据更新时的日期
|
||||
*/
|
||||
@Column(name = "UP_DATE")
|
||||
private LocalDate updatedDate;
|
||||
/**
|
||||
* 抓取时间戳,用于控制抓取频率
|
||||
*/
|
||||
@Column(name = "FETCHED_TIME")
|
||||
private LocalDateTime fetchedTime;
|
||||
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyVendorEntity that = (CompanyVendorEntity) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import com.ecep.contract.CompanyVendorFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商的文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_FILE")
|
||||
@ToString
|
||||
public class CompanyVendorFile implements CompanyBasicFile<CompanyVendorFileType>, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VENDOR_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyVendor vendor;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private CompanyVendorFileType type;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 可编辑的文件路径
|
||||
*/
|
||||
@Column(name = "EDIT_FILE_PATH")
|
||||
private String editFilePath;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "SIGN_DATE")
|
||||
private LocalDate signDate;
|
||||
|
||||
@Column(name = "VALID")
|
||||
private boolean valid = false;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import com.ecep.contract.CompanyVendorFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商文件类型(多国语言支持)
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class CompanyVendorFileTypeLocal extends BaseEnumEntity<CompanyVendorFileType> {
|
||||
|
||||
}
|
||||
291
common/src/main/java/com/ecep/contract/model/Contract.java
Normal file
291
common/src/main/java/com/ecep/contract/model/Contract.java
Normal file
@@ -0,0 +1,291 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractPayWay;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class Contract implements IdentityEntity, NamedEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* GUID,合同在U8系统中的唯一标识
|
||||
*/
|
||||
@Column(name = "GUID")
|
||||
private String guid;
|
||||
|
||||
@Column(name = "PAY_WAY")
|
||||
@Enumerated(EnumType.ORDINAL)
|
||||
private ContractPayWay payWay;
|
||||
|
||||
/**
|
||||
* 合同编号,合同编号由录入员在U8系统中录入,同步导入,合同编号规则参考制度文件
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 合同名称,合同名称由录入员在U8系统中录入,同步导入
|
||||
*/
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 合同状态,U8 系统中的合同状态,目前含义未知
|
||||
* <table>
|
||||
* <caption>各个状态值的统计情况如下,数据样本日期:2025-02-08</caption>
|
||||
* <tr><th>State</th><th>Count</th></tr>
|
||||
* <tr><td>null</td><td>3891</td></tr>
|
||||
* <tr><td>A</td><td>9</td></tr>
|
||||
* <tr><td>B</td><td>6499</td></tr>
|
||||
* <tr><td>C</td><td>79</td></tr>
|
||||
* </table>
|
||||
*/
|
||||
@Column(name = "STATE")
|
||||
private String state;
|
||||
/**
|
||||
* 合同分组
|
||||
*/
|
||||
// @ManyToOne(fetch = FetchType.EAGER)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "GROUP_ID")
|
||||
private ContractGroup group;
|
||||
/**
|
||||
* 分类
|
||||
*/
|
||||
// @ManyToOne(fetch = FetchType.EAGER)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "TYPE_ID")
|
||||
private ContractType type;
|
||||
/**
|
||||
* 性质
|
||||
*/
|
||||
// @ManyToOne(fetch = FetchType.EAGER)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "KIND_ID")
|
||||
private ContractKind kind;
|
||||
|
||||
/**
|
||||
* 主合同编号,一般未销售合同,子合同未采购合同(服务合同、分包合同)
|
||||
*/
|
||||
@Column(name = "PARENT_CODE")
|
||||
private String parentCode;
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
@Column(name = "ORDER_DATE")
|
||||
private LocalDate orderDate;
|
||||
/**
|
||||
* 合同起始日期
|
||||
*/
|
||||
@Column(name = "START_DATE")
|
||||
private LocalDate startDate;
|
||||
/**
|
||||
* 合同截止日期
|
||||
*/
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SETUP_PERSON_ID")
|
||||
@ToString.Exclude
|
||||
private Employee setupPerson;
|
||||
/**
|
||||
* 提交日期
|
||||
*/
|
||||
@Column(name = "SETUP_DATE")
|
||||
private LocalDate setupDate;
|
||||
|
||||
/**
|
||||
* 生效人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INURE_PERSON_ID")
|
||||
@ToString.Exclude
|
||||
private Employee inurePerson;
|
||||
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
@Column(name = "INURE_DATE")
|
||||
private LocalDate inureDate;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VARY_PERSON_ID")
|
||||
@ToString.Exclude
|
||||
private Employee varyPerson;
|
||||
@Column(name = "VARY_DATE")
|
||||
private LocalDate varyDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Lob
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private LocalDateTime created;
|
||||
|
||||
/**
|
||||
* 所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "BM_EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
/**
|
||||
* 经办人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "BM_HANDLER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee handler;
|
||||
|
||||
/**
|
||||
* 关联项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private Double amount;
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
|
||||
/**
|
||||
* 是否标准合同文本
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_CONTRACT_TEXT", nullable = false)
|
||||
private boolean standardPContractText;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
/**
|
||||
* 总数量
|
||||
*/
|
||||
@Column(name = "TOTAL_QUANTITY")
|
||||
private double totalQuantity;
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
@Column(name = "TOTAL_AMOUNT")
|
||||
private double totalAmount;
|
||||
/**
|
||||
* 总不含税金额
|
||||
*/
|
||||
@Column(name = "TOTAL_UNTAX_AMOUNT")
|
||||
private double totalUnTaxAmount;
|
||||
|
||||
/**
|
||||
* 已经执行数量
|
||||
*/
|
||||
@Column(name = "EXEC_QUANTITY")
|
||||
private double execQuantity;
|
||||
|
||||
/**
|
||||
* 已经执行金额
|
||||
*/
|
||||
@Column(name = "EXEC_AMOUNT")
|
||||
private double execAmount;
|
||||
|
||||
/**
|
||||
* 已经执行不含税金额
|
||||
*/
|
||||
@Column(name = "EXEC_UNTAX_AMOUNT")
|
||||
private double execUnTaxAmount;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getCode() + " " + getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
Contract contract = (Contract) object;
|
||||
return getId() != null && Objects.equals(getId(), contract.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface ContractBasedEntity {
|
||||
Contract getContract();
|
||||
|
||||
void setContract(Contract contract);
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 比价供应商
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_BID_VENDOR", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class ContractBidVendor implements IdentityEntity, ContractBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 供应商报价表
|
||||
* 关联到合同的文件
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "QUOTATION_SHEET_FILE_ID")
|
||||
@ToString.Exclude
|
||||
private ContractFile quotationSheet;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
ContractBidVendor that = (ContractBidVendor) object;
|
||||
return equals(that);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 合同编号中前缀部分代表合同种类
|
||||
* <p>
|
||||
* 表明种类含义,以及存储方法、存储目的目录
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_CATALOG", schema = "supplier_ms")
|
||||
public class ContractCatalog implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 合同编号 - 前的分类编号
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Column(name = "PARENT")
|
||||
private String parent;
|
||||
|
||||
/**
|
||||
* 是否使用年份组织目录
|
||||
*/
|
||||
@Column(name = "USE_YEAR")
|
||||
private boolean useYear;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ContractCatalog that = (ContractCatalog) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同的文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_FILE")
|
||||
@ToString
|
||||
public class ContractFile implements IdentityEntity, ContractBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType type;
|
||||
/**
|
||||
* 文件名,不含目录,目录使用合同的目录
|
||||
*/
|
||||
@Column(name = "FILE_NAME")
|
||||
private String fileName;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDate applyDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ContractFile that = (ContractFile) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同文件类型(多国语言支持)
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class ContractFileTypeLocal extends BaseEnumEntity<ContractFileType> {
|
||||
/**
|
||||
* 建议的文件名
|
||||
*/
|
||||
@Column(name = "SUGGEST_FILE_NAME")
|
||||
private String suggestFileName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分组
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_GROUP", schema = "supplier_ms")
|
||||
public class ContractGroup implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分组代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
|
||||
public static String toString(ContractGroup group) {
|
||||
if (group != null) {
|
||||
return group.getCode() + " " + group.getName();
|
||||
} else {
|
||||
return "-";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ContractGroup that = (ContractGroup) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
164
common/src/main/java/com/ecep/contract/model/ContractItem.java
Normal file
164
common/src/main/java/com/ecep/contract/model/ContractItem.java
Normal file
@@ -0,0 +1,164 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同项目, CM_Contract_Item_B
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_ITEM")
|
||||
@ToString
|
||||
public class ContractItem implements IdentityEntity, ContractBasedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 相关数据Id
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private Integer refId;
|
||||
/**
|
||||
* 项目编号
|
||||
*/
|
||||
@Column(name = "ITEM_CODE")
|
||||
private String itemCode;
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@Column(name = "SPECIFICATION")
|
||||
private String specification;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(name = "UNIT")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 存货
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
|
||||
/**
|
||||
* 不含税单价
|
||||
*/
|
||||
@Column(name = "EX_TAX_PRICE")
|
||||
private double exclusiveTaxPrice;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@Column(name = "TAX_RATE")
|
||||
private double taxRate;
|
||||
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
@Column(name = "TAX_PRICE")
|
||||
private double taxPrice;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
@Column(name = "START_DATE")
|
||||
private LocalDate startDate;
|
||||
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "REMARK")
|
||||
private String remark;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getTitle() + " " + getSpecification() + " x " + getQuantity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ContractItem that = (ContractItem) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_KIND", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class ContractKind implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
public static String toString(ContractKind kind) {
|
||||
if (kind != null) {
|
||||
return kind.getCode() + " " + kind.getName();
|
||||
} else {
|
||||
return "-";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ContractKind that = (ContractKind) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 合同付款计划, CM_Contract_Pay
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_PAY_PLAN", schema = "supplier_ms", indexes = {
|
||||
})
|
||||
public class ContractPayPlan implements IdentityEntity, ContractBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 相关数据Id
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private Integer refId;
|
||||
|
||||
|
||||
@Column(name = "PAY_DATE")
|
||||
private LocalDate payDate;
|
||||
|
||||
/**
|
||||
* 付款比例
|
||||
*/
|
||||
@Column(name = "PAY_RATIO")
|
||||
private float payRatio;
|
||||
/**
|
||||
* 付款金额
|
||||
*/
|
||||
@Column(name = "PAY_CURRENCY")
|
||||
private double payCurrency;
|
||||
/**
|
||||
* 付款条件
|
||||
*/
|
||||
@Column(name = "PAY_TERM")
|
||||
private String payTerm;
|
||||
|
||||
/**
|
||||
* 更新(同步)日期,从U8系统中同步更新数据的日期
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_TYPE", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class ContractType implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CATALOG")
|
||||
private String catalog;
|
||||
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
@Column(name = "DIRECTION")
|
||||
private String direction;
|
||||
|
||||
public static String toString(ContractType type) {
|
||||
if (type != null) {
|
||||
return type.getCode() + " " + type.getName();
|
||||
} else {
|
||||
return "-";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ContractType that = (ContractType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* U8系统的 客户分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CUSTOMER_CATALOG", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CustomerCatalog implements BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
CustomerCatalog that = (CustomerCatalog) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目客户满意度调查
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_CUSTOMER_SATISFACTION_SURVEY", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CustomerSatisfactionSurvey implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
@Column(name = "CODE", length = 100)
|
||||
private String code;
|
||||
|
||||
@Column(name = "DATE")
|
||||
private LocalDate date;
|
||||
|
||||
/**
|
||||
* 总分
|
||||
*/
|
||||
@Column(name = "TOTAL_SCORE")
|
||||
private int totalScore;
|
||||
/**
|
||||
* 数据,格式如下
|
||||
* version:a,b,c,d,e,f,g,h,i,j
|
||||
* version 表示项目版本号,不同的版本号表示不同的项目,a-j 表示项目属性,1-10 表示分数
|
||||
* 1:1,2,3,4,5,6,7,8,9,10
|
||||
*/
|
||||
@Column(name = "DATA")
|
||||
private String data;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目交货签收方式
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PRODUCT_DELIVERY_SIGN_METHOD", schema = "supplier_ms")
|
||||
public class DeliverySignMethod implements BasedEntity, IdentityEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SALE_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectSaleType saleType;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
DeliverySignMethod that = (DeliverySignMethod) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
66
common/src/main/java/com/ecep/contract/model/Department.java
Normal file
66
common/src/main/java/com/ecep/contract/model/Department.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "DEPARTMENT", schema = "supplier_ms")
|
||||
public class Department implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@JoinColumn(name = "LEADER")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private Employee leader;
|
||||
|
||||
@Column(name = "IS_ACTIVE", nullable = false)
|
||||
private boolean isActive;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
Department that = (Department) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
124
common/src/main/java/com/ecep/contract/model/Employee.java
Normal file
124
common/src/main/java/com/ecep/contract/model/Employee.java
Normal file
@@ -0,0 +1,124 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE", schema = "supplier_ms")
|
||||
public class Employee implements BasedEntity, IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "ACCOUNT")
|
||||
private String account;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "ALIAS")
|
||||
private String alias;
|
||||
|
||||
@JoinColumn(name = "DEPARTMENT_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private Department department;
|
||||
|
||||
/**
|
||||
* U8系统中的人员代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "EMAIL")
|
||||
private String email;
|
||||
|
||||
@Column(name = "PHONE")
|
||||
private String phone;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
|
||||
// 新增的入职日期字段
|
||||
@Column(name = "ENTRY_DATE")
|
||||
private LocalDate entryDate;
|
||||
|
||||
// 新增的离职日期字段
|
||||
@Column(name = "LEAVE_DATE")
|
||||
private LocalDate leaveDate;
|
||||
|
||||
@Column(name = "LOCALE")
|
||||
private String locale;
|
||||
|
||||
@Column(name = "DATE_FORMATTER")
|
||||
private String dateFormatter;
|
||||
|
||||
@Column(name = "DATETIME_FORMATTER")
|
||||
private String dateTimeFormatter;
|
||||
|
||||
@Column(name = "TIME_FORMATTER")
|
||||
private String timeFormatter;
|
||||
|
||||
@Column(name = "TIME_ZONE")
|
||||
private String timeZone;
|
||||
|
||||
@Column(name = "NUMBER_FORMATTER")
|
||||
private String numberFormatter;
|
||||
|
||||
@Column(name = "CURRENCY_FORMATTER")
|
||||
private String currencyFormatter;
|
||||
|
||||
/**
|
||||
* 员工是否活跃的状态
|
||||
*/
|
||||
@Column(name = "IS_ACTIVE", nullable = false)
|
||||
private boolean isActive;
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
|
||||
@JoinTable(name = "EMPLOYEE_ROLES", joinColumns = @JoinColumn(name = "EMPLOYEE_ID"), inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
|
||||
private java.util.List<EmployeeRole> roles = new java.util.ArrayList<>();
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
if (code == null) {
|
||||
return name;
|
||||
}
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
Employee employee = (Employee) object;
|
||||
return getId() != null && Objects.equals(getId(), employee.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE_AUTH_BIND", schema = "supplier_ms")
|
||||
public class EmployeeAuthBind implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "IP")
|
||||
private String ip;
|
||||
|
||||
@Column(name = "MAC")
|
||||
private String mac;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return ip + " " + mac;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
EmployeeAuthBind bank = (EmployeeAuthBind) object;
|
||||
return getId() != null && Objects.equals(getId(), bank.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE_LOGIN_HISTORY", schema = "supplier_ms")
|
||||
public class EmployeeLoginHistory implements BasedEntity ,IdentityEntity, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "IP")
|
||||
private String ip;
|
||||
|
||||
@Column(name = "MAC")
|
||||
private String mac;
|
||||
|
||||
@Column(name = "DT")
|
||||
private LocalDateTime loginTime;
|
||||
|
||||
@Column(name = "LATEST_ACTIVE")
|
||||
private LocalDateTime activeTime;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return ip + " " + mac;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
EmployeeLoginHistory bank = (EmployeeLoginHistory) object;
|
||||
return getId() != null && Objects.equals(getId(), bank.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE_ROLE", schema = "supplier_ms")
|
||||
public class EmployeeRole implements IdentityEntity, NamedEntity, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 是否系统管理员
|
||||
*/
|
||||
@Column(name = "SYS_ADMIN")
|
||||
private boolean systemAdministrator;
|
||||
|
||||
/**
|
||||
* 是否管理层
|
||||
*/
|
||||
@Column(name = "MANAGER")
|
||||
private boolean manager;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active = true;
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
|
||||
@JoinTable(
|
||||
name = "EMPLOYEE_ROLE_FUNCTIONS",
|
||||
joinColumns = @JoinColumn(name = "ROLE_ID"),
|
||||
inverseJoinColumns = @JoinColumn(name = "FUNC_ID")
|
||||
)
|
||||
private java.util.List<Function> functions = new java.util.ArrayList<>();
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||
@JoinTable(
|
||||
name = "EMPLOYEE_ROLES",
|
||||
joinColumns = @JoinColumn(name = "ROLE_ID"),
|
||||
inverseJoinColumns = @JoinColumn(name = "EMPLOYEE_ID")
|
||||
)
|
||||
private java.util.List<Employee> employees = new java.util.ArrayList<>();
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_EXTEND_VENDOR_INFO", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class ExtendVendorInfo implements IdentityEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VENDOR_GROUP_ID")
|
||||
@ToString.Exclude
|
||||
private VendorGroup group;
|
||||
|
||||
/**
|
||||
* 合同序号
|
||||
*/
|
||||
@Column(name = "CODE_SN")
|
||||
private int codeSequenceNumber;
|
||||
|
||||
/**
|
||||
* 是否已分配指定供应商
|
||||
*/
|
||||
@Column(name = "ASSIGNED_PROVIDER")
|
||||
private boolean assignedProvider;
|
||||
|
||||
/**
|
||||
* 是否是预采购
|
||||
*/
|
||||
@Column(name = "PRE_PURCHASE")
|
||||
private boolean prePurchase;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
ExtendVendorInfo that = (ExtendVendorInfo) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
38
common/src/main/java/com/ecep/contract/model/Function.java
Normal file
38
common/src/main/java/com/ecep/contract/model/Function.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "FUNC", schema = "supplier_ms")
|
||||
public class Function implements IdentityEntity, NamedEntity, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "FUNC_KEY")
|
||||
private String key;
|
||||
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active;
|
||||
|
||||
@Column(name = "CONTROLLER", columnDefinition = "VARCHAR(255)")
|
||||
private String controller;
|
||||
|
||||
@Column(name = "ICON", columnDefinition = "VARCHAR(255)")
|
||||
private String icon;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "VARCHAR(255)")
|
||||
private String description;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Embeddable;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.MonthDay;
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
public class HistoryPrice {
|
||||
/**
|
||||
* 税率,1% =1,100% =100
|
||||
*/
|
||||
private float taxRate;
|
||||
/**
|
||||
* 税前价格
|
||||
*/
|
||||
private double preTaxPrice;
|
||||
/**
|
||||
* 税后价格
|
||||
*/
|
||||
private double postTaxPrice;
|
||||
/**
|
||||
* 12-31, 字符串方式存储
|
||||
* {@link com.ecep.contract.manager.ds.MonthDayConverter}
|
||||
*/
|
||||
private MonthDay monthDay;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.annotations.JdbcTypeCode;
|
||||
import org.hibernate.type.SqlTypes;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "HOLIDAY_TABLE")
|
||||
@ToString
|
||||
public class HolidayTable {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@JdbcTypeCode(SqlTypes.DATE)
|
||||
private LocalDate id;
|
||||
|
||||
@Column(name = "IS_HOLIDAY", nullable = false)
|
||||
private boolean holiday;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public interface IdentityEntity {
|
||||
Integer getId();
|
||||
|
||||
void setId(Integer id);
|
||||
|
||||
default boolean equals(IdentityEntity that) {
|
||||
if (this == that) return true;
|
||||
if (that == null) return false;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
}
|
||||
185
common/src/main/java/com/ecep/contract/model/Inventory.java
Normal file
185
common/src/main/java/com/ecep/contract/model/Inventory.java
Normal file
@@ -0,0 +1,185 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.AttributeOverride;
|
||||
import jakarta.persistence.AttributeOverrides;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Embedded;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
/**
|
||||
* 存货物品清单
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "INVENTORY", schema = "supplier_ms")
|
||||
public class Inventory implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
//
|
||||
@ManyToOne(fetch = FetchType.LAZY, optional = true)
|
||||
@JoinColumn(name = "CATALOG_ID")
|
||||
@ToString.Exclude
|
||||
private InventoryCatalog catalog;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "SPEC")
|
||||
private String specification;
|
||||
|
||||
@Column(name = "SPEC_LOCK", nullable = false)
|
||||
private boolean specificationLock;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "NAME_LOCK")
|
||||
private boolean nameLock;
|
||||
|
||||
/**
|
||||
* 采购价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "PURCHASE_TAX_PRICE"))
|
||||
})
|
||||
private Price purchasePrice = new Price();
|
||||
|
||||
/**
|
||||
* 销售价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "SALE_TAX_PRICE"))
|
||||
})
|
||||
private Price salePrice = new Price();
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(name = "UNIT")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 产品重量
|
||||
*/
|
||||
@Column(name = "WEIGHT")
|
||||
private double weight;
|
||||
/**
|
||||
* 包装重量
|
||||
*/
|
||||
@Column(name = "PACK_WEIGHT")
|
||||
private double packagedWeight;
|
||||
|
||||
/**
|
||||
* 重量单位
|
||||
*/
|
||||
@Column(name = "WEIGHT_UNIT")
|
||||
private String weightUnit="kg";
|
||||
/**
|
||||
* 体积单位
|
||||
*/
|
||||
@Column(name = "VOLUME_UNIT")
|
||||
private String volumeUnit="m³";
|
||||
/**
|
||||
* 尺寸单位
|
||||
*/
|
||||
@Column(name = "VOLUME_SIZE_UNIT")
|
||||
private String sizeUnit="mm";
|
||||
|
||||
/**
|
||||
* 体积尺寸(不含包装)
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "volume", column = @Column(name = "VOLUME")),
|
||||
@AttributeOverride(name = "length", column = @Column(name = "VOLUME_SIZE_LENGTH")),
|
||||
@AttributeOverride(name = "width", column = @Column(name = "VOLUME_SIZE_WIDTH")),
|
||||
@AttributeOverride(name = "height", column = @Column(name = "VOLUME_SIZE_HEIGHT"))
|
||||
})
|
||||
private VolumeSize volumeSize = new VolumeSize();
|
||||
/**
|
||||
* 包装体积尺寸
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "volume", column = @Column(name = "PACK_VOLUME")),
|
||||
@AttributeOverride(name = "length", column = @Column(name = "PACK_VOLUME_SIZE_LENGTH")),
|
||||
@AttributeOverride(name = "width", column = @Column(name = "PACK_VOLUME_SIZE_WIDTH")),
|
||||
@AttributeOverride(name = "height", column = @Column(name = "PACK_VOLUME_SIZE_HEIGHT"))
|
||||
})
|
||||
private VolumeSize packagedVolumeSize = new VolumeSize();
|
||||
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
@Column(name = "CREATE_DATE")
|
||||
private LocalDate createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
@Column(name = "UPDATE_DATE")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName() + " " + getSpecification();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
Inventory that = (Inventory) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 存货分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "INVENTORY_CATALOG", schema = "supplier_ms")
|
||||
public class InventoryCatalog implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName() + " " + getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
InventoryCatalog that = (InventoryCatalog) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.time.Year;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Entity
|
||||
@Table(name = "INVENTORY_HISTORY", schema = "supplier_ms")
|
||||
public class InventoryHistoryPrice implements IdentityEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
@Column(name = "YEAR")
|
||||
private Year year;
|
||||
|
||||
public void setYear(int year) {
|
||||
this.year = Year.of(year);
|
||||
}
|
||||
|
||||
/**
|
||||
* 最新价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "LATEST_PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "LATEST_PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "LATEST_PURCHASE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "LATEST_PURCHASE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice latestPurchasePrice = new HistoryPrice();
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "LATEST_SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "LATEST_SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "LATEST_SALE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "LATEST_SALE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice latestSalePrice = new HistoryPrice();
|
||||
/**
|
||||
* 最低价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MINI_PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MINI_PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MINI_PURCHASE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MINI_PURCHASE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice miniPurchasePrice = new HistoryPrice();
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MINI_SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MINI_SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MINI_SALE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MINI_SALE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice miniSalePrice = new HistoryPrice();
|
||||
/**
|
||||
* 最高价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MAX_PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MAX_PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MAX_PURCHASE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MAX_PURCHASE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice maxPurchasePrice = new HistoryPrice();
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MAX_SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MAX_SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MAX_SALE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MAX_SALE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice maxSalePrice = new HistoryPrice();
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
InventoryHistoryPrice that = (InventoryHistoryPrice) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
97
common/src/main/java/com/ecep/contract/model/Invoice.java
Normal file
97
common/src/main/java/com/ecep/contract/model/Invoice.java
Normal file
@@ -0,0 +1,97 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 发票
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "INVOICE", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class Invoice implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 发票号
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 发票所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 发票开票日期
|
||||
*/
|
||||
@Column(name = "INVOICE_DATE")
|
||||
private LocalDate invoiceDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
if (StringUtils.hasText(getCode())) {
|
||||
return getCode();
|
||||
}
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
Invoice invoice = (Invoice) o;
|
||||
return getId() != null && Objects.equals(getId(), invoice.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface NamedEntity {
|
||||
String getName();
|
||||
|
||||
void setName(String name);
|
||||
}
|
||||
30
common/src/main/java/com/ecep/contract/model/Permission.java
Normal file
30
common/src/main/java/com/ecep/contract/model/Permission.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "PERMISSION", schema = "supplier_ms")
|
||||
public class Permission implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "FUNC_ID")
|
||||
@ToString.Exclude
|
||||
private Function function;
|
||||
|
||||
@Column(name = "PERMISSION_KEY")
|
||||
private String key;
|
||||
}
|
||||
23
common/src/main/java/com/ecep/contract/model/Price.java
Normal file
23
common/src/main/java/com/ecep/contract/model/Price.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.Embeddable;
|
||||
import lombok.Data;
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
public class Price implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 税率,1% =1,100% =100
|
||||
*/
|
||||
private float taxRate;
|
||||
/**
|
||||
* 税前价格
|
||||
*/
|
||||
private double preTaxPrice;
|
||||
/**
|
||||
* 税后价格
|
||||
*/
|
||||
private double postTaxPrice;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PRODUCT_TYPE")
|
||||
public class ProductType implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
ProductType that = (ProductType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 项目产品用途
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PRODUCT_USAGE", schema = "supplier_ms")
|
||||
public class ProductUsage implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProductUsage that = (ProductUsage) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
253
common/src/main/java/com/ecep/contract/model/Project.java
Normal file
253
common/src/main/java/com/ecep/contract/model/Project.java
Normal file
@@ -0,0 +1,253 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目对应的客户公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUSTOMER_ID")
|
||||
@ToString.Exclude
|
||||
private Company customer;
|
||||
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 项目代码,{@link #saleType saleType.Code}+{@link #codeYear}+{@link #codeSequenceNumber codeSequenceNumber} 组成
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 项目代码年份
|
||||
*/
|
||||
@Column(name = "CODE_YEAR")
|
||||
private int codeYear;
|
||||
|
||||
/**
|
||||
* 项目代码序号
|
||||
*/
|
||||
@Column(name = "CODE_SN")
|
||||
private int codeSequenceNumber;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
@Column(name = "ADDRESS")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 是否投标
|
||||
*/
|
||||
@Column(name = "USE_BID")
|
||||
private boolean useBid;
|
||||
|
||||
/**
|
||||
* 是否报价
|
||||
*/
|
||||
@Column(name = "USE_OFFER")
|
||||
private boolean useOffer;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private Integer amount;
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
@ColumnDefault("0")
|
||||
private boolean standardPayWay;
|
||||
|
||||
/**
|
||||
* 最终用户行业类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INDUSTRY_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectIndustry industry;
|
||||
|
||||
|
||||
/**
|
||||
* 销售类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SALE_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectSaleType saleType;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectType projectType;
|
||||
|
||||
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PRODUCT_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProductType productType;
|
||||
|
||||
|
||||
/**
|
||||
* 交货签收方式
|
||||
* Delivery signature method
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "DELIVERY_SIGN_METHOD_ID")
|
||||
@ToString.Exclude
|
||||
private DeliverySignMethod deliverySignMethod;
|
||||
|
||||
/**
|
||||
* 产品用途
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PRODUCT_USAGE_ID")
|
||||
@ToString.Exclude
|
||||
private ProductUsage productUsage;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
|
||||
/**
|
||||
* 预计开工时间
|
||||
*/
|
||||
@Column(name = "PLANNED_START_TIME")
|
||||
private LocalDate PlannedStartTime;
|
||||
/**
|
||||
* 预计完工时间
|
||||
*/
|
||||
@Column(name = "PLANNED_COMPLETION_TIME")
|
||||
private LocalDate PlannedCompletionTime;
|
||||
/**
|
||||
* 银行账户(公司可能有多个账户,此项目关联其中一个账户)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_BANK_ACCOUNT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyBankAccount bankAccount;
|
||||
/**
|
||||
* 开票信息(公司可能有多个开票信息,此项目关联其中一个开票信息)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_INVOICE_INFO_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyInvoiceInfo invoiceInfo;
|
||||
/**
|
||||
* 主联系人(公司可能有多个联系人,此项目关联其中一个为主联系人)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAIN_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact mainContact;
|
||||
/**
|
||||
* 备用联系人(公司可能有多个联系人,此项目关联其中一个为备用联系人)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SUB_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact subContact;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
Project project = (Project) object;
|
||||
return getId() != null && Objects.equals(getId(), project.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface ProjectBasedEntity {
|
||||
|
||||
Project getProject();
|
||||
|
||||
void setProject(Project project);
|
||||
}
|
||||
140
common/src/main/java/com/ecep/contract/model/ProjectBid.java
Normal file
140
common/src/main/java/com/ecep/contract/model/ProjectBid.java
Normal file
@@ -0,0 +1,140 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目投标
|
||||
* <p>
|
||||
* Approval 审批
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_BID")
|
||||
@ToString
|
||||
public class ProjectBid implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
/**
|
||||
* 客户资信等级
|
||||
*/
|
||||
@Column(name = "LEVEL", nullable = false)
|
||||
private int level;
|
||||
/**
|
||||
* 报价金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private double amount;
|
||||
|
||||
/**
|
||||
* 评价表单文件
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUS_EVAL_FILE_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomerEvaluationFormFile evaluationFile;
|
||||
|
||||
/**
|
||||
* 成本
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COST_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectCost cost;
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
/**
|
||||
* 非标准付款方式文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_PAY_WAY_TEXT")
|
||||
private String noStandardPayWayText;
|
||||
|
||||
/**
|
||||
* 是否标准合同文本
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_CONTRACT_TEXT", nullable = false)
|
||||
private boolean standardContractText;
|
||||
/**
|
||||
* 非标准合同文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_CONTRACT_TEXT")
|
||||
private String noStandardContractText;
|
||||
|
||||
|
||||
/**
|
||||
* 审核文件
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_FILE")
|
||||
private String authorizationFile;
|
||||
|
||||
/**
|
||||
* 中标通知书文件
|
||||
*/
|
||||
@Column(name = "BID_ACCEPTANCE_LETTER_FILE")
|
||||
private String bidAcceptanceLetterFile;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_DATE")
|
||||
private LocalDateTime authorizationTime;
|
||||
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
|
||||
}
|
||||
223
common/src/main/java/com/ecep/contract/model/ProjectCost.java
Normal file
223
common/src/main/java/com/ecep/contract/model/ProjectCost.java
Normal file
@@ -0,0 +1,223 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_COST")
|
||||
@ToString
|
||||
public class ProjectCost implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
@Column(name = "VER")
|
||||
private int version;
|
||||
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
|
||||
/**
|
||||
* 非标准付款方式文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_PAY_WAY_TEXT")
|
||||
private String noStandardPayWayText;
|
||||
|
||||
/**
|
||||
* 是否标准合同文本
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_CONTRACT_TEXT", nullable = false)
|
||||
private boolean standardContractText;
|
||||
|
||||
/**
|
||||
* 非标准合同文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_CONTRACT_TEXT")
|
||||
private String noStandardContractText;
|
||||
|
||||
/**
|
||||
* 印花税
|
||||
*/
|
||||
@Column(name = "STAMP_TAX")
|
||||
private float stampTax;
|
||||
|
||||
/**
|
||||
* 印花税费用
|
||||
*/
|
||||
@Column(name = "STAMP_TAX_FEE")
|
||||
private float stampTaxFee;
|
||||
|
||||
/**
|
||||
* 现场服务费
|
||||
*/
|
||||
@Column(name = "ON_SITE_SERVICE_FEE")
|
||||
private float onSiteServiceFee;
|
||||
|
||||
/**
|
||||
* (拆)装机服务费
|
||||
*/
|
||||
@Column(name = "ASSEMBLY_SERVICE_FEE")
|
||||
private float assemblyServiceFee;
|
||||
|
||||
/**
|
||||
* 技术服务费
|
||||
*/
|
||||
@Column(name = "TECHNICAL_SERVICE_FEE")
|
||||
private float technicalServiceFee;
|
||||
|
||||
/**
|
||||
* 投标服务费
|
||||
*/
|
||||
@Column(name = "BID_SERVICE_FEE")
|
||||
private float bidServiceFee;
|
||||
|
||||
/**
|
||||
* 运费
|
||||
*/
|
||||
@Column(name = "FREIGHT_COST")
|
||||
private float freightCost;
|
||||
|
||||
/**
|
||||
* 保函费
|
||||
*/
|
||||
@Column(name = "GUARANTEE_LETTER_FEE")
|
||||
private float guaranteeLetterFee;
|
||||
|
||||
/**
|
||||
* 营业税及附加费
|
||||
* 0~100:0% ~ 100%
|
||||
*/
|
||||
@Column(name = "TAX_AND_SURCHARGES")
|
||||
private float taxAndSurcharges;
|
||||
|
||||
@Column(name = "TAX_AND_SURCHARGES_FEE")
|
||||
private float taxAndSurchargesFee;
|
||||
|
||||
@Column(name = "IN_QUANTITY")
|
||||
private double inQuantities;
|
||||
|
||||
/**
|
||||
* 含税进项总金额
|
||||
*/
|
||||
@Column(name = "IN_TAX_AMOUNT")
|
||||
private double inTaxAmount;
|
||||
/**
|
||||
* 不含税进项总金额
|
||||
*/
|
||||
@Column(name = "IN_EXCLUSIVE_TAX_AMOUNT")
|
||||
private double inExclusiveTaxAmount;
|
||||
|
||||
@Column(name = "OUT_QUANTITY")
|
||||
private double outQuantities;
|
||||
/**
|
||||
* 含税出项总金额
|
||||
*/
|
||||
@Column(name = "OUT_TAX_AMOUNT")
|
||||
private double outTaxAmount;
|
||||
/**
|
||||
* 不含税出项总金额
|
||||
*/
|
||||
@Column(name = "OUT_EXCLUSIVE_TAX_AMOUNT")
|
||||
private double outExclusiveTaxAmount;
|
||||
|
||||
/**
|
||||
* 毛利率
|
||||
*/
|
||||
@Column(name = "GROSS_PROFIT_MARGIN")
|
||||
private double grossProfitMargin;
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
|
||||
/**
|
||||
* 申请时间
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_DATE")
|
||||
private LocalDateTime authorizationTime;
|
||||
|
||||
/**
|
||||
* 审核文件
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_FILE")
|
||||
private String authorizationFile;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
|
||||
@Column(name = "IMPORT_LOCK")
|
||||
private boolean importLock;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProjectCost that = (ProjectCost) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_COST_ITEM")
|
||||
@ToString
|
||||
public class ProjectCostItem implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COST_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectCost cost;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@Column(name = "SPECIFICATION")
|
||||
private String specification;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(name = "UNIT")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 存货
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
/**
|
||||
* 进项税率
|
||||
*/
|
||||
@Column(name = "IN_TAX_RATE")
|
||||
private double inTaxRate;
|
||||
|
||||
/**
|
||||
* 进项不含税单价
|
||||
*/
|
||||
@Column(name = "IN_TAX_PRICE")
|
||||
private double inExclusiveTaxPrice;
|
||||
|
||||
/**
|
||||
* 进项数量
|
||||
*/
|
||||
@Column(name = "IN_QUANTITY")
|
||||
private double inQuantity;
|
||||
|
||||
|
||||
/**
|
||||
* 出项税率
|
||||
*/
|
||||
@Column(name = "OUT_TAX_RATE")
|
||||
private double outTaxRate;
|
||||
|
||||
/**
|
||||
* 出项不含税单价
|
||||
*/
|
||||
@Column(name = "OUT_TAX_PRICE")
|
||||
private double outExclusiveTaxPrice;
|
||||
|
||||
/**
|
||||
* 出项数量
|
||||
*/
|
||||
@Column(name = "OUT_QUANTITY")
|
||||
private double outQuantity;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "REMARK")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDateTime createDate;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getTitle() + " " + getSpecification();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProjectCostItem that = (ProjectCostItem) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ProjectFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_FILE")
|
||||
@ToString
|
||||
public class ProjectFile implements IdentityEntity, ProjectBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ProjectFileType type;
|
||||
|
||||
/**
|
||||
* 资质文件路径,全路径,网盘地址
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
ProjectFile that = (ProjectFile) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ProjectFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class ProjectFileTypeLocal extends BaseEnumEntity<ProjectFileType> {
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProjectFileTypeLocal that = (ProjectFileTypeLocal) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.ecep.contract.ContractPayWay;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目投标
|
||||
* <p>
|
||||
* Approval 审批
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_FUND_PLAN")
|
||||
@ToString
|
||||
public class ProjectFundPlan implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
private Project project;
|
||||
/**
|
||||
* 付款日期
|
||||
*/
|
||||
@Column(name = "PAY_DATE")
|
||||
private LocalDate payDate;
|
||||
/**
|
||||
* 付款方式
|
||||
*/
|
||||
@Column(name = "PAY_WAY")
|
||||
@Enumerated(EnumType.ORDINAL)
|
||||
private ContractPayWay payWay;
|
||||
/**
|
||||
* 付款比例
|
||||
*/
|
||||
@Column(name = "PAY_RATIO")
|
||||
private float payRatio;
|
||||
/**
|
||||
* 付款金额
|
||||
*/
|
||||
@Column(name = "PAY_CURRENCY")
|
||||
private double payCurrency;
|
||||
/**
|
||||
* 付款条件
|
||||
*/
|
||||
@Column(name = "PAY_TERM")
|
||||
private String payTerm;
|
||||
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_PAY_PLAN_ID")
|
||||
private ContractPayPlan contractPayPlan;
|
||||
|
||||
/**
|
||||
* 更新日期,从销售合同和采购合同中更新
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 最终用户行业类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_INDUSTRY", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class ProjectIndustry implements BasedEntity, IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProjectIndustry that = (ProjectIndustry) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目报价
|
||||
* <p>
|
||||
* Approval 审批
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_QUOTATION")
|
||||
@ToString
|
||||
public class ProjectQuotation implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
|
||||
/**
|
||||
* 客户资信等级
|
||||
*/
|
||||
@Column(name = "LEVEL", nullable = false)
|
||||
private int level;
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
/**
|
||||
* 非标准付款方式文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_PAY_WAY_TEXT")
|
||||
private String noStandardPayWayText;
|
||||
/**
|
||||
* 报价金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private double amount;
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_DATE")
|
||||
private LocalDateTime authorizationTime;
|
||||
|
||||
/**
|
||||
* 审核文件
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_FILE")
|
||||
private String authorizationFile;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 评价表单文件
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUS_EVAL_FILE_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomerEvaluationFormFile evaluationFile;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 销售类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_SALE_TYPE")
|
||||
public class ProjectSaleType implements IdentityEntity, NamedEntity, BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "STORE_BY_YEAR")
|
||||
private boolean storeByYear;
|
||||
|
||||
/**
|
||||
* 是否启用重大项目决策(三重一大)
|
||||
*/
|
||||
@Column(name = "CRITICAL_PROJECT_DECISION")
|
||||
private boolean criticalProjectDecision;
|
||||
|
||||
/**
|
||||
* 符合重大项目的合同金额条件
|
||||
*/
|
||||
@Column(name = "CRITICAL_PROJECT_LIMIT")
|
||||
private double criticalProjectLimit;
|
||||
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProjectSaleType that = (ProjectSaleType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目销售类型对应的必须的关联文件类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_SALE_TYPE_REQ_FILE_TYPE")
|
||||
public class ProjectSaleTypeRequireFileType implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SALE_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectSaleType saleType;
|
||||
|
||||
@Column(name = "FILE_TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType fileType;
|
||||
|
||||
/**
|
||||
* 文件频率,如:一次、每天、每周、每月、每季度、每年等
|
||||
*/
|
||||
@Column(name = "FREQUENCY")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType.Frequency frequency;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getFileType().name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
ProjectSaleTypeRequireFileType that = (ProjectSaleTypeRequireFileType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_TYPE")
|
||||
public class ProjectType implements IdentityEntity, NamedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object) return true;
|
||||
if (object == null) return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy ? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass() : object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
ProjectType that = (ProjectType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购账单凭证(专用发票), Purchase Bill Voucher
|
||||
* 对应 U8 的 PurBillVouch 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_BILL_VOUCHER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseBillVoucher implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* PurBillVouch 表的 PBVID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 发票,对应 cPBVCode 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVOICE_ID")
|
||||
@ToString.Exclude
|
||||
private Invoice invoice;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
/**
|
||||
* 制单日期
|
||||
*/
|
||||
@Column(name = "MAKER_DATE")
|
||||
private LocalDateTime makerDate;
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDateTime modifyDate;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VERIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee verifier;
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Column(name = "VERIFIER_DATE")
|
||||
private LocalDateTime verifierDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getId() + "#" + getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
PurchaseBillVoucher that = (PurchaseBillVoucher) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购账单凭证(专用发票)条目, Purchase Bill Voucher Item
|
||||
* 对应 U8 的 PurBillVouchs 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_BILL_VOUCHER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseBillVoucherItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* PurBillVouchs 表的 ID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
/**
|
||||
* 对应的采购账单凭证
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VOUCHER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseBillVoucher voucher;
|
||||
|
||||
/**
|
||||
* 对应的采购订单, 对应 iPOsID 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PURCHASE_ORDER_ITEM_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseOrderItem orderItem;
|
||||
|
||||
/**
|
||||
* 对应的发票
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVOICE_ID")
|
||||
@ToString.Exclude
|
||||
private Invoice invoice;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 结算单价
|
||||
*/
|
||||
@Column(name = "PRICE")
|
||||
private double price;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
PurchaseBillVoucherItem that = (PurchaseBillVoucherItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
116
common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
Normal file
116
common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
Normal file
@@ -0,0 +1,116 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购订单
|
||||
* 对应 U8 的 PO_Pomain 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_ORDER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseOrder implements IdentityEntity, BasedEntity, ContractBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@Column(name = "VEN_CODE")
|
||||
private String vendorCode;
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
/**
|
||||
* 制单日期
|
||||
*/
|
||||
@Column(name = "MAKER_DATE")
|
||||
private LocalDateTime makerDate;
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDateTime modifyDate;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VERIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee verifier;
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Column(name = "VERIFIER_DATE")
|
||||
private LocalDateTime verifierDate;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CLOSER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee closer;
|
||||
@Column(name = "CLOSER_DATE")
|
||||
private LocalDateTime closerDate;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
PurchaseOrder that = (PurchaseOrder) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购订单条目
|
||||
* 对应 U8 的 PO_Podetails 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_ORDER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseOrderItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ORDER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseOrder order;
|
||||
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
@Column(name = "TAX_PRICE")
|
||||
private double price;
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@Column(name = "TAX_RATE")
|
||||
private double taxRate;
|
||||
|
||||
/**
|
||||
* 不含税单价
|
||||
*/
|
||||
@Column(name = "EX_TAX_PRICE")
|
||||
private double exclusiveTaxPrice;
|
||||
|
||||
@Column(name = "ARRIVE_DATE")
|
||||
private LocalDate arriveDate;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
PurchaseOrderItem that = (PurchaseOrderItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购入库单
|
||||
* 对应 U8 的 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_RECEIPT", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseReceipt implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 入库单号
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 对应采购订单
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ORDER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseOrder order;
|
||||
|
||||
/**
|
||||
* 入库日期
|
||||
*/
|
||||
@Column(name = "RECEIPT_DATE")
|
||||
private LocalDate verifierDate;
|
||||
|
||||
/**
|
||||
* 到货日期
|
||||
*/
|
||||
@Column(name = "ARRIVE_DATE")
|
||||
private LocalDate arriveDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
PurchaseReceipt that = (PurchaseReceipt) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user