diff --git a/client/pom.xml b/client/pom.xml
index de2a1e4..9e14534 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -73,6 +73,13 @@
okhttp
4.12.0
+
+
+
+ ch.qos.logback
+ logback-classic
+ 1.4.14
+
diff --git a/client/src/main/java/com/ecep/contract/Desktop.java b/client/src/main/java/com/ecep/contract/Desktop.java
index b8c7ced..bb0fd8e 100644
--- a/client/src/main/java/com/ecep/contract/Desktop.java
+++ b/client/src/main/java/com/ecep/contract/Desktop.java
@@ -20,6 +20,7 @@ import com.ecep.contract.controller.BaseController;
import com.ecep.contract.controller.HomeWindowController;
import com.ecep.contract.controller.OkHttpLoginController;
import com.ecep.contract.task.TaskMonitorCenter;
+import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.util.TextMessageHolder;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CurrentEmployee;
@@ -37,12 +38,10 @@ import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import lombok.Getter;
-import lombok.Setter;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
-import okhttp3.WebSocket;
/**
* JavaFx 应用程序
@@ -187,6 +186,7 @@ public class Desktop extends Application {
} else {
logger.warn("配置文件{}不存在", configFile.getAbsolutePath());
}
+ HibernateProxyUtils.useProxy(false);
runAsync(() -> {
SpringApp.launch(properties, holder);
@@ -204,12 +204,11 @@ public class Desktop extends Application {
controller.setHolder(holder);
controller.setPrimaryStage(primaryStage);
controller.setProperties(properties);
- // while (true) {
- controller.tryLogin().whenComplete((v, e) -> {
- if (e != null) {
- holder.error("登录失败:" + e.getMessage());
- } else {
+ while (true) {
+ try {
+ controller.tryLogin().get();
holder.info("登录成功");
+
try {
while (!SpringApp.isRunning()) {
System.out.println("等待启动");
@@ -221,13 +220,13 @@ public class Desktop extends Application {
// 必须要等待启动成功后才能关闭主场景,否则进程结束程序退出
HomeWindowController.show().thenRun(() -> Platform.runLater(primaryStage::close));
- }
- });
- // if (getActiveEmployeeId() > 0) {
- // break;
- // }
- // }
+ break;
+ } catch (Exception ex) {
+ holder.error(ex.getMessage());
+ Thread.sleep(3000);
+ }
+ }
} catch (Exception e) {
holder.error("登录失败:" + e.getMessage());
logger.error(e.getMessage(), e);
diff --git a/client/src/main/java/com/ecep/contract/SpringApp.java b/client/src/main/java/com/ecep/contract/SpringApp.java
index 6a1f47f..c5ebccf 100644
--- a/client/src/main/java/com/ecep/contract/SpringApp.java
+++ b/client/src/main/java/com/ecep/contract/SpringApp.java
@@ -46,10 +46,10 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
@SpringBootApplication(exclude = {
- org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class,
- org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.class,
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
- org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration.class
+ org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class,
+ org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.class,
+ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
+ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration.class
})
@EnableScheduling
@EnableAsync
@@ -237,14 +237,18 @@ public class SpringApp {
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
JavaTimeModule javaTimeModule = new JavaTimeModule();
+ // LocalDate
javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ISO_LOCAL_DATE));
- javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(
- DateTimeFormatter.ofPattern(MyDateTimeUtils.DEFAULT_DATETIME_FORMAT_PATTERN)));
- javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ISO_LOCAL_DATE));
- javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(
- DateTimeFormatter.ofPattern(MyDateTimeUtils.DEFAULT_DATETIME_FORMAT_PATTERN)));
+ // LocalTime
+ javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ISO_LOCAL_TIME));
javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ISO_LOCAL_TIME));
+ // LocalDateTime
+ javaTimeModule.addSerializer(LocalDateTime.class,
+ new LocalDateTimeSerializer(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+ javaTimeModule.addDeserializer(LocalDateTime.class,
+ new LocalDateTimeDeserializer(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+
objectMapper.registerModule(javaTimeModule);
return objectMapper;
}
diff --git a/client/src/main/java/com/ecep/contract/WebSocketService.java b/client/src/main/java/com/ecep/contract/WebSocketService.java
index 2bb6391..6db8bad 100644
--- a/client/src/main/java/com/ecep/contract/WebSocketService.java
+++ b/client/src/main/java/com/ecep/contract/WebSocketService.java
@@ -85,7 +85,7 @@ public class WebSocketService {
if (node.has("success")) {
if (!node.get("success").asBoolean()) {
future.completeExceptionally(
- new RuntimeException("请求失败:" + node.get("message").asText()));
+ new RuntimeException("请求失败:来自服务器的消息=" + node.get("message").asText()));
return;
}
}
@@ -153,9 +153,9 @@ public class WebSocketService {
}
String json = objectMapper.writeValueAsString(msg);
+ callbacks.put(msg.getMessageId(), future);
if (webSocket.send(json)) {
logger.debug("send message success:{}", json);
- callbacks.put(msg.getMessageId(), future);
} else {
future.completeExceptionally(new RuntimeException("Failed to send WebSocket message"));
}
diff --git a/client/src/main/java/com/ecep/contract/controller/AbstEntityController.java b/client/src/main/java/com/ecep/contract/controller/AbstEntityController.java
index 72bd48d..5b69d67 100644
--- a/client/src/main/java/com/ecep/contract/controller/AbstEntityController.java
+++ b/client/src/main/java/com/ecep/contract/controller/AbstEntityController.java
@@ -10,6 +10,7 @@ import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.controller.tab.RefreshableSkin;
import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.model.IdentityEntity;
+import com.ecep.contract.service.QueryService;
import com.ecep.contract.service.ViewModelService;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.BaseViewModel;
@@ -46,24 +47,38 @@ public abstract class AbstEntityController aClass = getClass();
super.onShown(windowEvent);
- loadedFuture = CompletableFuture.supplyAsync(() -> {
- T entity = loadEntity();
- if (entity == null) {
+ ViewModelService service = getViewModelService();
+
+ if (service instanceof QueryService queryService) {
+ setStatus("读取...");
+ loadedFuture = queryService.asyncFindById(viewModel.getId().get());
+ loadedFuture.thenAccept(entity -> {
// fixed, bind change if new view model create
if (viewModel != null) {
viewModel.bindListener();
}
- return null;
- }
- Platform.runLater(() -> {
setStatus();
- viewModel.update(entity);
+ // BaseViewModel.updateInFxApplicationThread(entity, viewModel);
});
- viewModel.bindListener();
- return entity;
- });
+ loadedFuture.exceptionally(ex -> {
+ handleException("载入失败,#" + viewModel.getId().get(), ex);
+ return null;
+ });
+ } else {
+ loadedFuture = CompletableFuture.supplyAsync(() -> {
+ T entity = getViewModelService().findById(viewModel.getId().get());
+ if (entity == null) {
+ return null;
+ }
+ Platform.runLater(() -> {
+ setStatus();
+ viewModel.update(entity);
+ });
+ viewModel.bindListener();
+ return entity;
+ });
+ }
registerTabSkins();
if (saveBtn != null) {
@@ -74,10 +89,6 @@ public abstract class AbstEntityController refresh() {
CompletableFuture future = new CompletableFuture<>();
- T entity = loadEntity();
-
- Platform.runLater(() -> {
+ ViewModelService service = getViewModelService();
+ if (service instanceof QueryService queryService) {
+ loadedFuture = queryService.asyncFindById(viewModel.getId().get());
+ loadedFuture.whenComplete((entity, ex) -> {
+ if (ex != null) {
+ future.completeExceptionally(ex);
+ return;
+ }
+ BaseViewModel.updateInFxApplicationThread(entity, viewModel);
+ });
+ } else {
+ T entity = service.findById(viewModel.getId().get());
setEntity(entity);
+ }
- List list = tabSkins.stream()
- .filter(v -> v instanceof RefreshableSkin)
- .map(v -> ((RefreshableSkin) v)).toList();
+ List list = tabSkins.stream()
+ .filter(v -> v instanceof RefreshableSkin)
+ .map(v -> ((RefreshableSkin) v)).toList();
- if (list.isEmpty()) {
- future.complete(null);
- return;
- }
+ if (list.isEmpty()) {
+ future.complete(null);
+ return future;
+ }
- CompletableFuture.allOf(list
- .stream()
- .map(RefreshableSkin::refresh)
- .filter(Objects::nonNull)
- .toArray(CompletableFuture>[]::new))
- .whenComplete((v, ex) -> {
- if (ex != null) {
- future.completeExceptionally(ex);
- } else {
- future.complete(null);
- }
- });
-
- });
- return future;
+ return CompletableFuture.allOf(list
+ .stream()
+ .map(RefreshableSkin::refresh)
+ .filter(Objects::nonNull)
+ .toArray(CompletableFuture>[]::new))
+ .whenComplete((v, ex) -> {
+ if (ex != null) {
+ future.completeExceptionally(ex);
+ } else {
+ future.complete(null);
+ }
+ });
}
public abstract ViewModelService getViewModelService();
diff --git a/client/src/main/java/com/ecep/contract/controller/OkHttpLoginController.java b/client/src/main/java/com/ecep/contract/controller/OkHttpLoginController.java
index a997a23..b71e830 100644
--- a/client/src/main/java/com/ecep/contract/controller/OkHttpLoginController.java
+++ b/client/src/main/java/com/ecep/contract/controller/OkHttpLoginController.java
@@ -104,25 +104,16 @@ public class OkHttpLoginController implements MessageHolder {
String userName = getUserName();
String password = getPassword();
- CompletableFuture loginFuture = new CompletableFuture<>();
-
if (StringUtils.hasText(userName) && StringUtils.hasText(password)) {
- login(userName, password).whenComplete((v, e) -> {
- if (e != null) {
- loginFuture.completeExceptionally(e);
- } else {
- loginFuture.complete(v);
- }
- });
+ return login(userName, password);
} else {
+ CompletableFuture loginFuture = new CompletableFuture<>();
Platform.runLater(() -> {
showLoginDialog();
- if (!loginFuture.isDone()) {
- loginFuture.complete(null);
- }
+ loginFuture.complete(null);
});
+ return loginFuture;
}
- return loginFuture;
}
private String getUserName() {
diff --git a/client/src/main/java/com/ecep/contract/controller/company/AbstCompanyTableTabSkin.java b/client/src/main/java/com/ecep/contract/controller/company/AbstCompanyTableTabSkin.java
index 64c115b..3931b8d 100644
--- a/client/src/main/java/com/ecep/contract/controller/company/AbstCompanyTableTabSkin.java
+++ b/client/src/main/java/com/ecep/contract/controller/company/AbstCompanyTableTabSkin.java
@@ -12,14 +12,10 @@ import com.ecep.contract.vm.CompanyBasedViewModel;
import com.ecep.contract.vm.CompanyViewModel;
import com.ecep.contract.vm.IdentityViewModel;
-import lombok.Setter;
-
public abstract class AbstCompanyTableTabSkin>
extends AbstEntityTableTabSkin
implements TabSkin, TableOfTabSkin {
- @Setter
- private CompanyService companyService;
public AbstCompanyTableTabSkin(CompanyWindowController controller) {
super(controller);
@@ -40,10 +36,7 @@ public abstract class AbstCompanyTableTabSkin new CompanyTabSkinBase(this));
diff --git a/client/src/main/java/com/ecep/contract/controller/company_old_name/CompanyOldNameWindowController.java b/client/src/main/java/com/ecep/contract/controller/company_old_name/CompanyOldNameWindowController.java
index 14f649c..5f13236 100644
--- a/client/src/main/java/com/ecep/contract/controller/company_old_name/CompanyOldNameWindowController.java
+++ b/client/src/main/java/com/ecep/contract/controller/company_old_name/CompanyOldNameWindowController.java
@@ -72,16 +72,6 @@ public class CompanyOldNameWindowController extends AbstEntityController new InventoryTabSkinBase(this));
@@ -135,6 +122,6 @@ public class InventoryWindowController extends AbstEntityController "[" + viewModel.getId().get() + "] " + viewModel.getCode().get() + " " + viewModel.getName().getValue() + " 项目详情", viewModel.getCode(), viewModel.getName()));
}
- @Override
- protected Project loadEntity() {
- return projectService.findById(viewModel.getId().get());
- }
-
- @Override
- protected Project saveEntity(Project entity) {
- return projectService.save(entity);
- }
-
@Override
protected void registerTabSkins() {
registerTabSkin(baseInfoTab, this::createBaseTabSkin);
diff --git a/client/src/main/java/com/ecep/contract/controller/tab/AbstGenericTabSkin.java b/client/src/main/java/com/ecep/contract/controller/tab/AbstGenericTabSkin.java
index 594d1d3..9e547e4 100644
--- a/client/src/main/java/com/ecep/contract/controller/tab/AbstGenericTabSkin.java
+++ b/client/src/main/java/com/ecep/contract/controller/tab/AbstGenericTabSkin.java
@@ -20,6 +20,10 @@ public abstract class AbstGenericTabSkin implements Ta
this.controller = controller;
}
+ public T getBean(Class requiredType) throws BeansException {
+ return controller.getCachedBean(requiredType);
+ }
+
public T getCachedBean(Class requiredType) throws BeansException {
return controller.getCachedBean(requiredType);
}
diff --git a/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinContract.java b/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinContract.java
index 9275fd5..018cacc 100644
--- a/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinContract.java
+++ b/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinContract.java
@@ -7,7 +7,6 @@ import java.util.Map;
import java.util.NoSuchElementException;
import java.util.concurrent.CompletableFuture;
-import org.springframework.beans.BeansException;
import org.springframework.util.StringUtils;
import com.ecep.contract.DesktopUtils;
@@ -21,7 +20,6 @@ import com.ecep.contract.controller.table.cell.ContractTypeTableCell;
import com.ecep.contract.controller.table.cell.EmployeeTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;
import com.ecep.contract.converter.ContractGroupStringConverter;
-import com.ecep.contract.converter.EmployeeStringConverter;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.Contract;
import com.ecep.contract.model.ContractGroup;
@@ -32,7 +30,6 @@ import com.ecep.contract.service.ContractGroupService;
import com.ecep.contract.service.ContractKindService;
import com.ecep.contract.service.ContractService;
import com.ecep.contract.service.ContractTypeService;
-import com.ecep.contract.service.YongYouU8Service;
import com.ecep.contract.task.ContractRepairByCompanyTask;
import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools;
@@ -117,7 +114,7 @@ public class CompanyTabSkinContract
ObservableList contractGroups = FXCollections.observableArrayList();
contractGroups.add(null);
- contractGroups.addAll(getViewModelService().findAllGroups());
+ contractGroups.addAll(getContractGroupService().findAll());
contractGroupSelector.setItems(contractGroups);
contractGroupSelector.setConverter(new ContractGroupStringConverter(contractGroups));
contractSearchKeyField.setOnKeyReleased(event -> {
diff --git a/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinFile.java b/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinFile.java
index f2c969c..7b83414 100644
--- a/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinFile.java
+++ b/client/src/main/java/com/ecep/contract/controller/tab/CompanyTabSkinFile.java
@@ -17,6 +17,7 @@ import com.ecep.contract.constant.CloudServiceConstant;
import com.ecep.contract.controller.company.AbstCompanyTableTabSkin;
import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.table.EditableEntityTableTabSkin;
+import com.ecep.contract.controller.table.cell.CompanyFilePathTableCell;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyFile;
import com.ecep.contract.model.CompanyFileTypeLocal;
@@ -36,9 +37,7 @@ import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.MenuItem;
import javafx.scene.control.Tab;
-import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
-import lombok.Setter;
/**
*
@@ -61,8 +60,6 @@ public class CompanyTabSkinFile
public MenuItem fileTable_menu_del;
public MenuItem fileTable_menu_copy_as_matched_by_contract;
- @Setter
- private CompanyFileService companyFileService;
private final ObservableMap fileTypeLocalMap = FXCollections
.observableHashMap();
@@ -72,11 +69,12 @@ public class CompanyTabSkinFile
setDragAndDropFileHandler(this::moveFileToCompany);
}
+ protected CompanyFileService getViewModelService() {
+ return getCompanyFileService();
+ }
+
CompanyFileService getCompanyFileService() {
- if (companyFileService == null) {
- companyFileService = getBean(CompanyFileService.class);
- }
- return companyFileService;
+ return getBean(CompanyFileService.class);
}
@Override
@@ -96,7 +94,7 @@ public class CompanyTabSkinFile
typeColumn.setCellValueFactory(param -> Bindings.valueAt(fileTypeLocalMap, param.getValue().getType())
.map(CompanyFileTypeLocal::getValue));
filePathColumn.setCellValueFactory(param -> param.getValue().getFilePath());
- filePathColumn.setCellFactory(param -> new FileTableFilePathTableCell());
+ filePathColumn.setCellFactory(param -> new CompanyFilePathTableCell<>(viewModel.getPath()));
applyDateColumn.setCellValueFactory(param -> param.getValue().getApplyDate());
expiringDateColumn.setCellValueFactory(param -> param.getValue().getExpiringDate());
@@ -151,7 +149,7 @@ public class CompanyTabSkinFile
* 把文件从 老系统中移到 \\10.84.209.8\项目信息\相关方信息 目录中
*/
private void onTableMoveFileAction(ActionEvent event) {
- CompanyFileService companyFileService = getViewModelService();
+ CompanyFileService companyFileService = getCompanyFileService();
Company company = getParent();
List list = companyFileService.findByCompany(company);
if (list.isEmpty()) {
@@ -354,26 +352,4 @@ public class CompanyTabSkinFile
DesktopUtils.showInExplorer(file);
}
}
-
- class FileTableFilePathTableCell extends TableCell {
- @Override
- protected void updateItem(String item, boolean empty) {
- super.updateItem(item, empty);
- if (empty || item == null) {
- setText("");
- return;
- }
- String path = viewModel.getPath().get();
- if (StringUtils.hasText(path)) {
- if (item.startsWith(path)) {
- item = "~" + item.substring(path.length());
- }
- }
- setText(item);
- }
- }
-
- protected CompanyFileService getViewModelService() {
- return getCompanyFileService();
- }
}
diff --git a/client/src/main/java/com/ecep/contract/controller/tab/ContractManagerSkin.java b/client/src/main/java/com/ecep/contract/controller/tab/ContractManagerSkin.java
index 8c23a53..f8e30a2 100644
--- a/client/src/main/java/com/ecep/contract/controller/tab/ContractManagerSkin.java
+++ b/client/src/main/java/com/ecep/contract/controller/tab/ContractManagerSkin.java
@@ -49,35 +49,18 @@ public class ContractManagerSkin
public ContractService getContractService() {
return controller.getViewModelService();
}
-
public CompanyService getCompanyService() {
- if (companyService == null) {
- companyService = getBean(CompanyService.class);
- }
- return companyService;
+ return getBean(CompanyService.class);
}
-
private ContractTypeService getContractTypeService() {
- if (contractTypeService == null) {
- contractTypeService = getBean(ContractTypeService.class);
- }
- return contractTypeService;
+ return getBean(ContractTypeService.class);
}
-
private ContractKindService getContractKindService() {
- if (contractKindService == null) {
- contractKindService = getBean(ContractKindService.class);
- }
- return contractKindService;
+ return getBean(ContractKindService.class);
}
-
private ContractGroupService getContractGroupService() {
- if (contractGroupService == null) {
- contractGroupService = getBean(ContractGroupService.class);
- }
- return contractGroupService;
+ return getBean(ContractGroupService.class);
}
-
public Map getSpecification() {
Map params = super.getSpecification();
if (controller.composeViewBtn.isSelected()) {
@@ -108,7 +91,7 @@ public class ContractManagerSkin
@SuppressWarnings("unchecked")
@Override
public void initializeTable() {
- ComboBoxUtils.initialComboBox(controller.groupSelector, getContractService().findAllGroups(), true);
+ ComboBoxUtils.initialComboBox(controller.groupSelector, getContractGroupService().findAll(), true);
controller.groupSelector.valueProperty().addListener((observable, oldValue, newValue) -> {
loadTableDataSet(false);
});
diff --git a/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinBase.java b/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinBase.java
index a5c9f40..89c2034 100644
--- a/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinBase.java
+++ b/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinBase.java
@@ -109,7 +109,7 @@ public class ContractTabSkinBase extends AbstContractBasedTabSkin {
initializeBaseTabCompanyFieldAutoCompletion(controller.companyField);
controller.groupField.textProperty().bind(viewModel.getGroup().map(group -> {
- ContractGroupService groupService = controller.getCachedBean(ContractGroupService.class);
+ ContractGroupService groupService = getContractGroupService();
if (!ProxyUtils.isInitialized(group)) {
group = groupService.findById(group.getId());
}
@@ -506,22 +506,26 @@ public class ContractTabSkinBase extends AbstContractBasedTabSkin {
}
public CompanyCustomerService getCompanyCustomerService() {
- return controller.getCachedBean(CompanyCustomerService.class);
+ return getCachedBean(CompanyCustomerService.class);
}
public ProjectService getProjectService() {
- return controller.getCachedBean(ProjectService.class);
+ return getCachedBean(ProjectService.class);
}
public ProjectSaleTypeService getSaleTypeService() {
- return controller.getCachedBean(ProjectSaleTypeService.class);
+ return getCachedBean(ProjectSaleTypeService.class);
}
public ExtendVendorInfoService getExtendVendorInfoService() {
- return controller.getCachedBean(ExtendVendorInfoService.class);
+ return getCachedBean(ExtendVendorInfoService.class);
+ }
+
+ public ContractGroupService getContractGroupService() {
+ return getCachedBean(ContractGroupService.class);
}
public VendorGroupService getVendorGroupService() {
- return controller.getCachedBean(VendorGroupService.class);
+ return getCachedBean(VendorGroupService.class);
}
}
diff --git a/client/src/main/java/com/ecep/contract/controller/table/cell/CompanyFilePathTableCell.java b/client/src/main/java/com/ecep/contract/controller/table/cell/CompanyFilePathTableCell.java
new file mode 100644
index 0000000..05aa656
--- /dev/null
+++ b/client/src/main/java/com/ecep/contract/controller/table/cell/CompanyFilePathTableCell.java
@@ -0,0 +1,36 @@
+package com.ecep.contract.controller.table.cell;
+
+import org.springframework.util.StringUtils;
+
+import javafx.beans.property.SimpleStringProperty;
+import javafx.scene.control.TableCell;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@AllArgsConstructor
+public class CompanyFilePathTableCell extends TableCell {
+ private SimpleStringProperty companyPathProperty;
+
+ public void setCompanyPathProperty(SimpleStringProperty property) {
+ this.companyPathProperty = property;
+ }
+
+ @Override
+ protected void updateItem(String item, boolean empty) {
+ super.updateItem(item, empty);
+ if (empty || item == null) {
+ setText("");
+ return;
+ }
+ if (companyPathProperty != null) {
+ String path = companyPathProperty.get();
+ if (StringUtils.hasText(path)) {
+ if (item.startsWith(path)) {
+ item = "~" + item.substring(path.length());
+ }
+ }
+ }
+ setText(item);
+ }
+}
diff --git a/client/src/main/java/com/ecep/contract/controller/vendor/PurchaseBillVoucherWindowController.java b/client/src/main/java/com/ecep/contract/controller/vendor/PurchaseBillVoucherWindowController.java
index 1a5e0da..587cd2a 100644
--- a/client/src/main/java/com/ecep/contract/controller/vendor/PurchaseBillVoucherWindowController.java
+++ b/client/src/main/java/com/ecep/contract/controller/vendor/PurchaseBillVoucherWindowController.java
@@ -29,17 +29,6 @@ public class PurchaseBillVoucherWindowController
@Autowired
private PurchaseBillVoucherService service;
-
- @Override
- protected PurchaseBillVoucher loadEntity() {
- return service.findById(viewModel.getId().get());
- }
-
- @Override
- protected PurchaseBillVoucher saveEntity(PurchaseBillVoucher entity) {
- return service.save(entity);
- }
-
@Override
public void show(Stage stage) {
super.show(stage);
diff --git a/client/src/main/java/com/ecep/contract/service/CompanyBlackReasonService.java b/client/src/main/java/com/ecep/contract/service/CompanyBlackReasonService.java
index 34c7680..83a60eb 100644
--- a/client/src/main/java/com/ecep/contract/service/CompanyBlackReasonService.java
+++ b/client/src/main/java/com/ecep/contract/service/CompanyBlackReasonService.java
@@ -6,7 +6,6 @@ import com.ecep.contract.model.CompanyBlackReason;
import com.ecep.contract.vm.CompanyBlackReasonViewModel;
@Service
-public class CompanyBlackReasonService
- extends QueryService {
+public class CompanyBlackReasonService extends QueryService {
}
diff --git a/client/src/main/java/com/ecep/contract/service/ContractItemService.java b/client/src/main/java/com/ecep/contract/service/ContractItemService.java
index 059780f..0aad692 100644
--- a/client/src/main/java/com/ecep/contract/service/ContractItemService.java
+++ b/client/src/main/java/com/ecep/contract/service/ContractItemService.java
@@ -1,10 +1,7 @@
package com.ecep.contract.service;
import java.util.List;
-import java.util.Map;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import com.ecep.contract.model.ContractItem;
@@ -14,31 +11,6 @@ import com.ecep.contract.vm.ContractItemViewModel;
@Service
public class ContractItemService extends QueryService {
- @Override
- public ContractItem findById(Integer id) {
- throw new UnsupportedOperationException("Unimplemented method 'findById'");
- }
-
- @Override
- public ContractItem save(ContractItem entity) {
- throw new UnsupportedOperationException("Unimplemented method 'save'");
- }
-
- @Override
- public void delete(ContractItem entity) {
- throw new UnsupportedOperationException("Unimplemented method 'delete'");
- }
-
- @Override
- public List findAll() {
- throw new UnsupportedOperationException("Unimplemented method 'findAll'");
- }
-
- @Override
- public Page findAll(Map params, Pageable pageable) {
- throw new UnsupportedOperationException("Unimplemented method 'findAll'");
- }
-
public List findAllByInventory(Inventory parent) {
throw new UnsupportedOperationException("Unimplemented method 'findAllByInventory'");
}
diff --git a/client/src/main/java/com/ecep/contract/service/ContractService.java b/client/src/main/java/com/ecep/contract/service/ContractService.java
index 68e6e9a..6141b96 100644
--- a/client/src/main/java/com/ecep/contract/service/ContractService.java
+++ b/client/src/main/java/com/ecep/contract/service/ContractService.java
@@ -10,7 +10,6 @@ import com.ecep.contract.MessageHolder;
import com.ecep.contract.model.CompanyVendor;
import com.ecep.contract.model.Contract;
import com.ecep.contract.model.ContractFile;
-import com.ecep.contract.model.ContractGroup;
import com.ecep.contract.model.Project;
import com.ecep.contract.vm.ContractViewModel;
@@ -22,10 +21,6 @@ public class ContractService extends QueryService {
throw new UnsupportedOperationException("Unimplemented method 'updateParentCode'");
}
- public List findAllGroups() {
- throw new UnsupportedOperationException("Unimplemented method 'findAllGroups'");
- }
-
public Contract findByCode(String string) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'findByCode'");
diff --git a/client/src/main/java/com/ecep/contract/service/QueryService.java b/client/src/main/java/com/ecep/contract/service/QueryService.java
index 4abf6e4..4186d6e 100644
--- a/client/src/main/java/com/ecep/contract/service/QueryService.java
+++ b/client/src/main/java/com/ecep/contract/service/QueryService.java
@@ -4,6 +4,7 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,10 +13,12 @@ import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
+import com.ecep.contract.PageArgument;
import com.ecep.contract.WebSocketService;
import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.msg.SimpleMessage;
import com.ecep.contract.vm.IdentityViewModel;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -31,8 +34,6 @@ public class QueryService")[0].split(",")[1].trim();
@@ -92,31 +93,49 @@ public class QueryService asyncFindById(Integer id) {
SimpleMessage msg = new SimpleMessage();
msg.setService(getBeanName());
msg.setMethod("findById");
msg.setArguments(id);
- try {
- JsonNode response = webSocketService.send(msg).get(readTimeout, TimeUnit.MILLISECONDS);
- if (response != null) {
- T newEntity = createNewEntity();
- objectMapper.updateValue(newEntity, response);
- return newEntity;
+ return webSocketService.send(msg).orTimeout(readTimeout, TimeUnit.MILLISECONDS).handle((response, ex) -> {
+ if (ex != null) {
+ return null;
}
+ if (response == null) {
+
+ return null;
+ }
+ T newEntity = createNewEntity();
+ try {
+ objectMapper.updateValue(newEntity, response);
+ } catch (JsonMappingException e) {
+ throw new RuntimeException(response.toString(), e);
+ }
+ return newEntity;
+ });
+ }
+
+ @Override
+ public T findById(Integer id) {
+ try {
+ return asyncFindById(id).get();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
+ public List findAll() {
+ return findAll(null, Pageable.unpaged()).getContent();
+ }
+
@Override
public Page findAll(Map params, Pageable pageable) {
SimpleMessage msg = new SimpleMessage();
msg.setService(getBeanName());
msg.setMethod("findAll");
- msg.setArguments(params, pageable);
+ msg.setArguments(params, PageArgument.of(pageable));
try {
JsonNode response = webSocketService.send(msg).get(readTimeout, TimeUnit.MILLISECONDS);
if (response != null) {
@@ -147,7 +166,6 @@ public class QueryService search(String searchText) {
Map params = getSpecification(searchText);
List list = findAll(params, Pageable.ofSize(10)).getContent();
diff --git a/client/src/main/java/com/ecep/contract/vm/IdentityViewModel.java b/client/src/main/java/com/ecep/contract/vm/IdentityViewModel.java
index 046e087..4bf1453 100644
--- a/client/src/main/java/com/ecep/contract/vm/IdentityViewModel.java
+++ b/client/src/main/java/com/ecep/contract/vm/IdentityViewModel.java
@@ -20,7 +20,9 @@ public class IdentityViewModel extends BaseViewModel
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/client/src/main/resources/ui/contract/contract-tab-bid.fxml b/client/src/main/resources/ui/contract/contract-tab-bid.fxml
index 56642cc..669b1f2 100644
--- a/client/src/main/resources/ui/contract/contract-tab-bid.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-bid.fxml
@@ -5,7 +5,7 @@
+ fx:controller="com.ecep.contract.controller.tab.ContractTabSkinVendorBid">
diff --git a/client/src/main/resources/ui/contract/contract-tab-file.fxml b/client/src/main/resources/ui/contract/contract-tab-file.fxml
index c16f518..38792a8 100644
--- a/client/src/main/resources/ui/contract/contract-tab-file.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-file.fxml
@@ -4,7 +4,7 @@
+ fx:controller="com.ecep.contract.controller.tab.ContractTabSkinFiles">
diff --git a/client/src/main/resources/ui/contract/contract-tab-item-v2.fxml b/client/src/main/resources/ui/contract/contract-tab-item-v2.fxml
index 4a99060..7b57257 100644
--- a/client/src/main/resources/ui/contract/contract-tab-item-v2.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-item-v2.fxml
@@ -5,7 +5,7 @@
+ fx:controller="com.ecep.contract.controller.tab.ContractTabSkinItemsV2">
diff --git a/client/src/main/resources/ui/contract/contract-tab-item.fxml b/client/src/main/resources/ui/contract/contract-tab-item.fxml
index 34301b0..6efcc22 100644
--- a/client/src/main/resources/ui/contract/contract-tab-item.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-item.fxml
@@ -5,7 +5,7 @@
+ fx:controller="com.ecep.contract.controller.tab.ContractTabSkinItems">
diff --git a/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml b/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml
index f5642a6..d9426c6 100644
--- a/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml
@@ -5,7 +5,7 @@
+ fx:controller="com.ecep.contract.controller.tab.ContractTabSkinPayPlan">
diff --git a/client/src/main/resources/ui/contract/contract-tab-purchase-orders.fxml b/client/src/main/resources/ui/contract/contract-tab-purchase-orders.fxml
index 110a0d1..7c5274c 100644
--- a/client/src/main/resources/ui/contract/contract-tab-purchase-orders.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-purchase-orders.fxml
@@ -5,7 +5,7 @@
diff --git a/client/src/main/resources/ui/contract/contract-tab-sale-orders.fxml b/client/src/main/resources/ui/contract/contract-tab-sale-orders.fxml
index 56fb2b9..4e7126f 100644
--- a/client/src/main/resources/ui/contract/contract-tab-sale-orders.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-sale-orders.fxml
@@ -5,7 +5,7 @@
diff --git a/client/src/main/resources/ui/contract/contract-tab-sub-contract.fxml b/client/src/main/resources/ui/contract/contract-tab-sub-contract.fxml
index 877b96d..2c31711 100644
--- a/client/src/main/resources/ui/contract/contract-tab-sub-contract.fxml
+++ b/client/src/main/resources/ui/contract/contract-tab-sub-contract.fxml
@@ -5,7 +5,7 @@
diff --git a/common/src/main/java/com/ecep/contract/PageArgument.java b/common/src/main/java/com/ecep/contract/PageArgument.java
new file mode 100644
index 0000000..8d90bd2
--- /dev/null
+++ b/common/src/main/java/com/ecep/contract/PageArgument.java
@@ -0,0 +1,76 @@
+package com.ecep.contract;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.domain.Sort.NullHandling;
+import org.springframework.data.domain.Sort.Order;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+public class PageArgument {
+
+ private boolean paged = false;
+ private int pageNumber = 0;
+ private int pageSize = 0;
+ private long offset = 0;
+ private List orders;
+
+ public static PageArgument of(Pageable pageable) {
+ PageArgument page = new PageArgument();
+ page.setPaged(pageable.isPaged());
+ if (page.isPaged()) {
+ page.setPageNumber(pageable.getPageNumber());
+ page.setPageSize(pageable.getPageSize());
+ page.setOffset(pageable.getOffset());
+ }
+
+ Sort sort = pageable.getSort();
+ if (sort != null && sort.isSorted()) {
+ page.setOrders(sort.stream().map(OrderArgument::of).collect(Collectors.toList()));
+ }
+ return page;
+ }
+
+ public Pageable toPageable() {
+ Sort sort = null;
+ if (orders != null && !orders.isEmpty()) {
+ sort = Sort.by(orders.stream().map(order -> new Order(order.getDirection(), order.getProperty(),
+ order.isIgnoreCase(), order.getNullHandling()))
+ .collect(Collectors.toList()));
+ } else {
+ sort = Sort.unsorted();
+ }
+ if (isPaged()) {
+ return PageRequest.of(pageNumber, pageSize, sort);
+ }
+ return Pageable.unpaged(sort);
+ }
+
+ public boolean isUnpaged() {
+ return !isPaged();
+ }
+
+ @Data
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class OrderArgument {
+ private Direction direction;
+ private String property;
+ private boolean ignoreCase;
+ private NullHandling nullHandling;
+
+ public static OrderArgument of(Order order) {
+ return new OrderArgument(order.getDirection(), order.getProperty(), order.isIgnoreCase(),
+ order.getNullHandling());
+ }
+ }
+
+}
diff --git a/common/src/main/java/com/ecep/contract/model/Bank.java b/common/src/main/java/com/ecep/contract/model/Bank.java
index ec54872..5076c41 100644
--- a/common/src/main/java/com/ecep/contract/model/Bank.java
+++ b/common/src/main/java/com/ecep/contract/model/Bank.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -40,15 +40,7 @@ public class Bank implements BasedEntity, IdentityEntity, Serializable {
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)
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
Bank bank = (Bank) object;
return getId() != null && Objects.equals(getId(), bank.getId());
@@ -56,8 +48,6 @@ public class Bank implements BasedEntity, IdentityEntity, Serializable {
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/BaseEnumEntity.java b/common/src/main/java/com/ecep/contract/model/BaseEnumEntity.java
index 9cf3fbe..5b9d9f2 100644
--- a/common/src/main/java/com/ecep/contract/model/BaseEnumEntity.java
+++ b/common/src/main/java/com/ecep/contract/model/BaseEnumEntity.java
@@ -15,7 +15,7 @@ import lombok.ToString;
@Setter
@MappedSuperclass
@ToString
-public class BaseEnumEntity> implements IdentityEntity {
+public abstract class BaseEnumEntity> implements IdentityEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
@@ -33,4 +33,5 @@ public class BaseEnumEntity> implements IdentityEntity {
@Column(name = "VALUE")
private String value;
+
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CloudRk.java b/common/src/main/java/com/ecep/contract/model/CloudRk.java
index 6609c9e..2ed6b91 100644
--- a/common/src/main/java/com/ecep/contract/model/CloudRk.java
+++ b/common/src/main/java/com/ecep/contract/model/CloudRk.java
@@ -1,11 +1,13 @@
package com.ecep.contract.model;
import java.io.Serializable;
-import java.time.Instant;
import java.time.LocalDateTime;
+import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -133,4 +135,22 @@ public class CloudRk implements IdentityEntity, Serializable {
*/
@Column(name = "VERSION", nullable = false)
private Integer version = 0;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CloudRk cloudRk = (CloudRk) object;
+ return getId() != null && Objects.equals(getId(), cloudRk.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CloudTyc.java b/common/src/main/java/com/ecep/contract/model/CloudTyc.java
index cfdf7b7..15e703e 100644
--- a/common/src/main/java/com/ecep/contract/model/CloudTyc.java
+++ b/common/src/main/java/com/ecep/contract/model/CloudTyc.java
@@ -5,7 +5,8 @@ import java.time.Instant;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -71,28 +72,21 @@ public class CloudTyc implements IdentityEntity, Serializable {
private int version;
@Override
- public final boolean equals(Object o) {
- if (this == o)
+ public final boolean equals(Object object) {
+ if (this == object)
return true;
- if (o == null)
+ if (object == 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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
- CloudTyc cloudInfo = (CloudTyc) o;
+ }
+ CloudTyc cloudInfo = (CloudTyc) object;
return getId() != null && Objects.equals(getId(), cloudInfo.getId());
}
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CloudYu.java b/common/src/main/java/com/ecep/contract/model/CloudYu.java
index 67ecef7..1f6d358 100644
--- a/common/src/main/java/com/ecep/contract/model/CloudYu.java
+++ b/common/src/main/java/com/ecep/contract/model/CloudYu.java
@@ -3,9 +3,12 @@ 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 com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -69,4 +72,22 @@ public class CloudYu implements IdentityEntity, Serializable {
*/
@Column(name = "CLOUD_LATEST")
private Instant cloudLatest;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CloudYu cloudYu = (CloudYu) object;
+ return getId() != null && Objects.equals(getId(), cloudYu.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/Company.java b/common/src/main/java/com/ecep/contract/model/Company.java
index 0ce8fc7..144e7d4 100644
--- a/common/src/main/java/com/ecep/contract/model/Company.java
+++ b/common/src/main/java/com/ecep/contract/model/Company.java
@@ -5,7 +5,8 @@ import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -185,15 +186,7 @@ public class Company implements IdentityEntity, NamedEntity, BasedEntity, Serial
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)
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
Company company = (Company) object;
return getId() != null && Objects.equals(getId(), company.getId());
@@ -201,9 +194,7 @@ public class Company implements IdentityEntity, NamedEntity, BasedEntity, Serial
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyBankAccount.java b/common/src/main/java/com/ecep/contract/model/CompanyBankAccount.java
index 6c6a2ee..86f7c9a 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyBankAccount.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyBankAccount.java
@@ -1,6 +1,10 @@
package com.ecep.contract.model;
import java.io.Serializable;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
@@ -17,7 +21,7 @@ import lombok.ToString;
@Setter
@jakarta.persistence.Entity
@Table(name = "COMPANY_BANK_ACCOUNT", schema = "supplier_ms")
-public class CompanyBankAccount implements IdentityEntity, BasedEntity, CompanyBasedEntity, Serializable {
+public class CompanyBankAccount implements IdentityEntity, BasedEntity, CompanyBasedEntity, Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -49,9 +53,23 @@ public class CompanyBankAccount implements IdentityEntity, BasedEntity, Company
@Column(name = "DESCRIPTION")
private String description;
-
@Override
public String toPrettyString() {
return account;
}
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ return false;
+ CompanyBankAccount that = (CompanyBankAccount) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyBlackReason.java b/common/src/main/java/com/ecep/contract/model/CompanyBlackReason.java
index 4a552e1..9929501 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyBlackReason.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyBlackReason.java
@@ -2,11 +2,13 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
+import java.util.Objects;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import com.ecep.contract.BlackReasonType;
+import com.ecep.contract.util.HibernateProxyUtils;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import jakarta.persistence.Column;
@@ -31,7 +33,7 @@ import lombok.Setter;
})
// @org.springframework.data.relational.core.mapping.Table("COMPANY_BLACK_REASON")
@JsonIgnoreProperties(ignoreUnknown = true)
-public class CompanyBlackReason implements IdentityEntity, CompanyBasedEntity, Serializable {
+public class CompanyBlackReason implements IdentityEntity, CompanyBasedEntity, Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -71,4 +73,21 @@ public class CompanyBlackReason implements IdentityEntity, CompanyBasedEntity,
@Column(name = "`KEY`")
private String key;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyBlackReason that = (CompanyBlackReason) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyContact.java b/common/src/main/java/com/ecep/contract/model/CompanyContact.java
index 5b03bc0..251f344 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyContact.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyContact.java
@@ -5,7 +5,8 @@ import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -85,15 +86,7 @@ public class CompanyContact implements IdentityEntity, NamedEntity, BasedEntity,
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)
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyContact that = (CompanyContact) object;
return getId() != null && Objects.equals(getId(), that.getId());
@@ -101,9 +94,7 @@ public class CompanyContact implements IdentityEntity, NamedEntity, BasedEntity,
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyContract.java b/common/src/main/java/com/ecep/contract/model/CompanyContract.java
index 8a612ce..025ae61 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyContract.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyContract.java
@@ -2,6 +2,9 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Map;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -27,7 +30,7 @@ import lombok.ToString;
}, uniqueConstraints = {
})
-@ToString(exclude = {"company", "contract"})
+@ToString(exclude = { "company", "contract" })
public class CompanyContract implements IdentityEntity, CompanyBasedEntity, Serializable {
private static final long serialVersionUID = 1L;
@Id
@@ -54,4 +57,22 @@ public class CompanyContract implements IdentityEntity, CompanyBasedEntity, Seri
contact.getPhone() +
contact.getEmail();
}
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyContract that = (CompanyContract) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyCustomer.java b/common/src/main/java/com/ecep/contract/model/CompanyCustomer.java
index 9543a8d..88a6747 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyCustomer.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyCustomer.java
@@ -6,7 +6,8 @@ import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -79,15 +80,7 @@ public class CompanyCustomer implements IdentityEntity, CompanyBasedEntity, Seri
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)
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyCustomer that = (CompanyCustomer) object;
return getId() != null && Objects.equals(getId(), that.getId());
@@ -95,8 +88,6 @@ public class CompanyCustomer implements IdentityEntity, CompanyBasedEntity, Seri
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyCustomerEntity.java b/common/src/main/java/com/ecep/contract/model/CompanyCustomerEntity.java
index ff0f857..de743b7 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyCustomerEntity.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyCustomerEntity.java
@@ -5,7 +5,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -102,22 +102,15 @@ public class CompanyCustomerEntity implements IdentityEntity, Serializable {
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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyCustomerEvaluationFormFile.java b/common/src/main/java/com/ecep/contract/model/CompanyCustomerEvaluationFormFile.java
index c034b56..20642b5 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyCustomerEvaluationFormFile.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyCustomerEvaluationFormFile.java
@@ -1,6 +1,10 @@
package com.ecep.contract.model;
import java.io.Serializable;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -62,9 +66,23 @@ public class CompanyCustomerEvaluationFormFile implements IdentityEntity, BasedE
@Column(name = "SCORE_TEMPLATE_VER")
private Integer scoreTemplateVersion = 1;
-
@Override
public String toPrettyString() {
return getCatalog() + ", level=" + getCreditLevel();
}
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ return false;
+ CompanyCustomerEvaluationFormFile that = (CompanyCustomerEvaluationFormFile) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyCustomerFile.java b/common/src/main/java/com/ecep/contract/model/CompanyCustomerFile.java
index c204a89..e45eaef 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyCustomerFile.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyCustomerFile.java
@@ -2,8 +2,10 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
+import java.util.Objects;
import com.ecep.contract.CompanyCustomerFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -61,4 +63,19 @@ public class CompanyCustomerFile implements CompanyBasicFile implements Serializable {
private static final long serialVersionUID = 1L;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyCustomerFileTypeLocal that = (CompanyCustomerFileTypeLocal) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyExtendInfo.java b/common/src/main/java/com/ecep/contract/model/CompanyExtendInfo.java
index ffcc2b0..9930035 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyExtendInfo.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyExtendInfo.java
@@ -4,7 +4,8 @@ import java.io.Serializable;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -49,20 +50,18 @@ public class CompanyExtendInfo implements IdentityEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyFile.java b/common/src/main/java/com/ecep/contract/model/CompanyFile.java
index dc2dc69..6f3b437 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyFile.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyFile.java
@@ -2,8 +2,10 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
+import java.util.Objects;
import com.ecep.contract.CompanyFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -28,7 +30,7 @@ import lombok.ToString;
@Entity
@Table(name = "COMPANY_FILE")
@ToString
-public class CompanyFile implements IdentityEntity, CompanyBasedEntity, Serializable {
+public class CompanyFile implements IdentityEntity, CompanyBasedEntity, Serializable {
private static final long serialVersionUID = 1L;
@Id
@@ -61,4 +63,22 @@ public class CompanyFile implements IdentityEntity, CompanyBasedEntity, Seriali
*/
@Column(name = "FILE_PATH")
private String filePath;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyFile that = (CompanyFile) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyFileTypeLocal.java b/common/src/main/java/com/ecep/contract/model/CompanyFileTypeLocal.java
index 9df5569..8af1212 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyFileTypeLocal.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyFileTypeLocal.java
@@ -1,8 +1,10 @@
package com.ecep.contract.model;
import java.io.Serializable;
+import java.util.Objects;
import com.ecep.contract.CompanyFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
@@ -17,4 +19,22 @@ import lombok.ToString;
@ToString
public class CompanyFileTypeLocal extends BaseEnumEntity implements Serializable {
private static final long serialVersionUID = 1L;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyFileTypeLocal that = (CompanyFileTypeLocal) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyInvoiceInfo.java b/common/src/main/java/com/ecep/contract/model/CompanyInvoiceInfo.java
index 44bef72..05e9786 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyInvoiceInfo.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyInvoiceInfo.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -43,19 +43,19 @@ public class CompanyInvoiceInfo implements IdentityEntity, NamedEntity, BasedEnt
private Company company;
@Column(name = "TAX")
- private String taxId; // 税号(纳税人识别号)
+ private String taxId; // 税号(纳税人识别号)
@Column(name = "ADDR")
- private String address; // 地址
+ private String address; // 地址
@Column(name = "TEL")
- private String phone; // 电话
+ private String phone; // 电话
@Column(name = "BANK")
- private String bankName; // 开户行
+ private String bankName; // 开户行
@Column(name = "BANK_ACCOUNT")
- private String bankAccount; // 银行账号
+ private String bankAccount; // 银行账号
@Override
public String toPrettyString() {
@@ -63,18 +63,20 @@ public class CompanyInvoiceInfo implements IdentityEntity, NamedEntity, BasedEnt
}
@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;
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyInvoiceInfo that = (CompanyInvoiceInfo) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyOldName.java b/common/src/main/java/com/ecep/contract/model/CompanyOldName.java
index 25abee9..6837eaf 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyOldName.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyOldName.java
@@ -5,7 +5,8 @@ import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -62,18 +63,20 @@ public class CompanyOldName implements IdentityEntity, NamedEntity, Serializable
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;
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyOldName that = (CompanyOldName) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyVendor.java b/common/src/main/java/com/ecep/contract/model/CompanyVendor.java
index cde811a..6ebea7e 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyVendor.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyVendor.java
@@ -7,9 +7,9 @@ import java.util.List;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
import com.ecep.contract.VendorType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -46,7 +46,6 @@ public class CompanyVendor implements IdentityEntity, CompanyBasedEntity, Serial
@Column(name = "TYPE")
private VendorType type;
-
@ColumnDefault("false")
@Column(name = "PROTOCOL_PROVIDER", nullable = false)
private boolean protocolProvider = false;
@@ -107,17 +106,19 @@ public class CompanyVendor implements IdentityEntity, CompanyBasedEntity, Serial
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedFile.java b/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedFile.java
index 7861424..ff6d957 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedFile.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedFile.java
@@ -2,6 +2,9 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -31,13 +34,11 @@ public class CompanyVendorApprovedFile implements IdentityEntity, Serializable {
@Column(name = "ID", nullable = false)
private Integer id;
-
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "LIST_ID", nullable = false)
@ToString.Exclude
private CompanyVendorApprovedList list;
-
/**
* 文件名,不含目录,目录使用目录的目录
*/
@@ -56,4 +57,21 @@ public class CompanyVendorApprovedFile implements IdentityEntity, Serializable {
@Column(name = "DESCRIPTION")
private String description;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyVendorApprovedFile that = (CompanyVendorApprovedFile) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedItem.java b/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedItem.java
index 5f669f9..392c3bc 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedItem.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedItem.java
@@ -3,9 +3,8 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.VendorType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -66,17 +65,19 @@ public class CompanyVendorApprovedItem implements IdentityEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedList.java b/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedList.java
index c1daef0..9a937a6 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedList.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyVendorApprovedList.java
@@ -4,7 +4,7 @@ import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -16,7 +16,6 @@ import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
-
/**
* 合格供应商名录
* 每年一条记录
@@ -60,17 +59,19 @@ public class CompanyVendorApprovedList implements IdentityEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyVendorEntity.java b/common/src/main/java/com/ecep/contract/model/CompanyVendorEntity.java
index 0f4f226..d371290 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyVendorEntity.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyVendorEntity.java
@@ -5,7 +5,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -20,7 +20,6 @@ import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
-
/**
* 供应商的关联详细项,关联信息用于绑定U8系统中的供应商编号
*/
@@ -96,20 +95,18 @@ public class CompanyVendorEntity implements IdentityEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CompanyVendorFile.java b/common/src/main/java/com/ecep/contract/model/CompanyVendorFile.java
index 8c798a1..0a50f28 100644
--- a/common/src/main/java/com/ecep/contract/model/CompanyVendorFile.java
+++ b/common/src/main/java/com/ecep/contract/model/CompanyVendorFile.java
@@ -2,8 +2,10 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
+import java.util.Objects;
import com.ecep.contract.CompanyVendorFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -64,4 +66,22 @@ public class CompanyVendorFile implements CompanyBasicFile {
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CompanyVendorFileTypeLocal that = (CompanyVendorFileTypeLocal) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/Contract.java b/common/src/main/java/com/ecep/contract/model/Contract.java
index cd86a10..10271d1 100644
--- a/common/src/main/java/com/ecep/contract/model/Contract.java
+++ b/common/src/main/java/com/ecep/contract/model/Contract.java
@@ -6,9 +6,9 @@ import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
import com.ecep.contract.ContractPayWay;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -70,12 +70,27 @@ public class Contract implements IdentityEntity, NamedEntity, BasedEntity, Compa
/**
* 合同状态,U8 系统中的合同状态,目前含义未知
*
- * 各个状态值的统计情况如下,数据样本日期:2025-02-08
- * | State | Count |
- * | null | 3891 |
- * | A | 9 |
- * | B | 6499 |
- * | C | 79 |
+ * 各个状态值的统计情况如下,数据样本日期:2025-02-08
+ *
+ * | State |
+ * Count |
+ *
+ *
+ * | null |
+ * 3891 |
+ *
+ *
+ * | A |
+ * 9 |
+ *
+ *
+ * | B |
+ * 6499 |
+ *
+ *
+ * | C |
+ * 79 |
+ *
*
*/
@Column(name = "STATE")
@@ -83,21 +98,21 @@ public class Contract implements IdentityEntity, NamedEntity, BasedEntity, Compa
/**
* 合同分组
*/
-// @ManyToOne(fetch = FetchType.EAGER)
+ // @ManyToOne(fetch = FetchType.EAGER)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "GROUP_ID")
private ContractGroup group;
/**
* 分类
*/
-// @ManyToOne(fetch = FetchType.EAGER)
+ // @ManyToOne(fetch = FetchType.EAGER)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TYPE_ID")
private ContractType type;
/**
* 性质
*/
-// @ManyToOne(fetch = FetchType.EAGER)
+ // @ManyToOne(fetch = FetchType.EAGER)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "KIND_ID")
private ContractKind kind;
@@ -267,7 +282,6 @@ public class Contract implements IdentityEntity, NamedEntity, BasedEntity, Compa
@Column(name = "EXEC_UNTAX_AMOUNT")
private double execUnTaxAmount;
-
@Override
public String toPrettyString() {
return getCode() + " " + getName();
@@ -275,17 +289,19 @@ public class Contract implements IdentityEntity, NamedEntity, BasedEntity, Compa
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractBidVendor.java b/common/src/main/java/com/ecep/contract/model/ContractBidVendor.java
index e53f915..66a0d59 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractBidVendor.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractBidVendor.java
@@ -1,7 +1,9 @@
package com.ecep.contract.model;
import java.io.Serializable;
-import org.hibernate.proxy.HibernateProxy;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -57,22 +59,15 @@ public class ContractBidVendor implements IdentityEntity, ContractBasedEntity, S
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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
+ }
ContractBidVendor that = (ContractBidVendor) object;
- return equals(that);
+ return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractCatalog.java b/common/src/main/java/com/ecep/contract/model/ContractCatalog.java
index 64ed086..70e13db 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractCatalog.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractCatalog.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -53,17 +53,19 @@ public class ContractCatalog implements IdentityEntity, NamedEntity, Serializabl
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractFile.java b/common/src/main/java/com/ecep/contract/model/ContractFile.java
index 7311960..7a6a320 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractFile.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractFile.java
@@ -4,9 +4,8 @@ import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.ContractFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -68,17 +67,19 @@ public class ContractFile implements IdentityEntity, ContractBasedEntity, Serial
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractFileTypeLocal.java b/common/src/main/java/com/ecep/contract/model/ContractFileTypeLocal.java
index b079f2d..83472a1 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractFileTypeLocal.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractFileTypeLocal.java
@@ -1,6 +1,9 @@
package com.ecep.contract.model;
+import java.util.Objects;
+
import com.ecep.contract.ContractFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -24,4 +27,21 @@ public class ContractFileTypeLocal extends BaseEnumEntity {
@Column(name = "SUGGEST_FILE_NAME")
private String suggestFileName;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ ContractFileTypeLocal that = (ContractFileTypeLocal) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractGroup.java b/common/src/main/java/com/ecep/contract/model/ContractGroup.java
index 8473485..99fdb9a 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractGroup.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractGroup.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -51,17 +51,19 @@ public class ContractGroup implements IdentityEntity, NamedEntity, Serializable
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractItem.java b/common/src/main/java/com/ecep/contract/model/ContractItem.java
index 923c237..dec0385 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractItem.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractItem.java
@@ -5,7 +5,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -76,7 +76,6 @@ public class ContractItem implements IdentityEntity, ContractBasedEntity, BasedE
@ToString.Exclude
private Inventory inventory;
-
/**
* 不含税单价
*/
@@ -148,17 +147,19 @@ public class ContractItem implements IdentityEntity, ContractBasedEntity, BasedE
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractKind.java b/common/src/main/java/com/ecep/contract/model/ContractKind.java
index c7c3e24..f5f03b9 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractKind.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractKind.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -39,7 +39,6 @@ public class ContractKind implements IdentityEntity, NamedEntity, Serializable {
@Column(name = "NAME")
private String name;
-
@Column(name = "TITLE")
private String title;
@@ -53,17 +52,19 @@ public class ContractKind implements IdentityEntity, NamedEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ContractPayPlan.java b/common/src/main/java/com/ecep/contract/model/ContractPayPlan.java
index 2e9f802..35f66eb 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractPayPlan.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractPayPlan.java
@@ -3,6 +3,9 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -41,7 +44,6 @@ public class ContractPayPlan implements IdentityEntity, ContractBasedEntity, Ser
@Column(name = "REF_ID")
private Integer refId;
-
@Column(name = "PAY_DATE")
private LocalDate payDate;
@@ -66,4 +68,22 @@ public class ContractPayPlan implements IdentityEntity, ContractBasedEntity, Ser
*/
@Column(name = "UPDATE_TIME")
private LocalDateTime updateDate;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ ContractPayPlan that = (ContractPayPlan) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/ContractType.java b/common/src/main/java/com/ecep/contract/model/ContractType.java
index 5ea409a..219dd0d 100644
--- a/common/src/main/java/com/ecep/contract/model/ContractType.java
+++ b/common/src/main/java/com/ecep/contract/model/ContractType.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -59,17 +59,19 @@ public class ContractType implements IdentityEntity, NamedEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CustomerCatalog.java b/common/src/main/java/com/ecep/contract/model/CustomerCatalog.java
index 91fff51..c925894 100644
--- a/common/src/main/java/com/ecep/contract/model/CustomerCatalog.java
+++ b/common/src/main/java/com/ecep/contract/model/CustomerCatalog.java
@@ -1,12 +1,18 @@
package com.ecep.contract.model;
-import jakarta.persistence.*;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
+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;
-import org.hibernate.proxy.HibernateProxy;
-
-import java.util.Objects;
/**
* U8系统的 客户分类
@@ -45,22 +51,15 @@ public class CustomerCatalog implements BasedEntity {
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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/CustomerSatisfactionSurvey.java b/common/src/main/java/com/ecep/contract/model/CustomerSatisfactionSurvey.java
index 1edad16..82e33d8 100644
--- a/common/src/main/java/com/ecep/contract/model/CustomerSatisfactionSurvey.java
+++ b/common/src/main/java/com/ecep/contract/model/CustomerSatisfactionSurvey.java
@@ -2,6 +2,9 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -76,4 +79,22 @@ public class CustomerSatisfactionSurvey implements IdentityEntity, ProjectBasedE
*/
@Column(name = "DESCRIPTION")
private String description;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ CustomerSatisfactionSurvey that = (CustomerSatisfactionSurvey) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/DeliverySignMethod.java b/common/src/main/java/com/ecep/contract/model/DeliverySignMethod.java
index e92e1e1..d395ba6 100644
--- a/common/src/main/java/com/ecep/contract/model/DeliverySignMethod.java
+++ b/common/src/main/java/com/ecep/contract/model/DeliverySignMethod.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -51,17 +51,19 @@ public class DeliverySignMethod implements BasedEntity, IdentityEntity {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/Department.java b/common/src/main/java/com/ecep/contract/model/Department.java
index 7c8b71e..c7b0f1d 100644
--- a/common/src/main/java/com/ecep/contract/model/Department.java
+++ b/common/src/main/java/com/ecep/contract/model/Department.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.FetchType;
@@ -31,7 +31,6 @@ public class Department implements BasedEntity, IdentityEntity, Serializable {
@Column(name = "CODE")
private String code;
-
@Column(name = "NAME")
private String name;
@@ -50,17 +49,16 @@ public class Department implements BasedEntity, IdentityEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/Employee.java b/common/src/main/java/com/ecep/contract/model/Employee.java
index 27cd84e..18fcc69 100644
--- a/common/src/main/java/com/ecep/contract/model/Employee.java
+++ b/common/src/main/java/com/ecep/contract/model/Employee.java
@@ -4,8 +4,7 @@ import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
+import com.ecep.contract.util.HibernateProxyUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -118,15 +117,7 @@ public class Employee implements BasedEntity, IdentityEntity, NamedEntity, Seria
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)
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
Employee employee = (Employee) object;
return getId() != null && Objects.equals(getId(), employee.getId());
@@ -134,8 +125,6 @@ public class Employee implements BasedEntity, IdentityEntity, NamedEntity, Seria
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/EmployeeAuthBind.java b/common/src/main/java/com/ecep/contract/model/EmployeeAuthBind.java
index d6716cb..12561ed 100644
--- a/common/src/main/java/com/ecep/contract/model/EmployeeAuthBind.java
+++ b/common/src/main/java/com/ecep/contract/model/EmployeeAuthBind.java
@@ -1,14 +1,22 @@
package com.ecep.contract.model;
import java.io.Serializable;
-import jakarta.persistence.*;
+import java.time.LocalDateTime;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
+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;
-import org.hibernate.proxy.HibernateProxy;
-
-import java.time.LocalDateTime;
-import java.util.Objects;
@Getter
@Setter
@@ -50,7 +58,6 @@ public class EmployeeAuthBind implements BasedEntity, IdentityEntity, Serializab
@Column(name = "DESCRIPTION")
private String description;
-
@Override
public String toPrettyString() {
return ip + " " + mac;
@@ -58,17 +65,19 @@ public class EmployeeAuthBind implements BasedEntity, IdentityEntity, Serializab
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/EmployeeLoginHistory.java b/common/src/main/java/com/ecep/contract/model/EmployeeLoginHistory.java
index 1a93152..a9118a1 100644
--- a/common/src/main/java/com/ecep/contract/model/EmployeeLoginHistory.java
+++ b/common/src/main/java/com/ecep/contract/model/EmployeeLoginHistory.java
@@ -1,19 +1,27 @@
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;
+import com.ecep.contract.util.HibernateProxyUtils;
+
+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;
+
@Getter
@Setter
@jakarta.persistence.Entity
@Table(name = "EMPLOYEE_LOGIN_HISTORY", schema = "supplier_ms")
-public class EmployeeLoginHistory implements BasedEntity ,IdentityEntity, Serializable {
+public class EmployeeLoginHistory implements BasedEntity, IdentityEntity, Serializable {
private static final long serialVersionUID = 1L;
@Id
@@ -37,7 +45,6 @@ public class EmployeeLoginHistory implements BasedEntity ,IdentityEntity, Serial
@Column(name = "LATEST_ACTIVE")
private LocalDateTime activeTime;
-
@Override
public String toPrettyString() {
return ip + " " + mac;
@@ -45,17 +52,19 @@ public class EmployeeLoginHistory implements BasedEntity ,IdentityEntity, Serial
@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());
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ EmployeeLoginHistory that = (EmployeeLoginHistory) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/EmployeeRole.java b/common/src/main/java/com/ecep/contract/model/EmployeeRole.java
index e027e5e..a58423a 100644
--- a/common/src/main/java/com/ecep/contract/model/EmployeeRole.java
+++ b/common/src/main/java/com/ecep/contract/model/EmployeeRole.java
@@ -1,56 +1,85 @@
package com.ecep.contract.model;
-import jakarta.persistence.*;
+import java.io.Serializable;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+import jakarta.persistence.CascadeType;
+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.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
-import java.io.Serializable;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
@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;
+ 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 = "CODE")
+ private String code;
- @Column(name = "NAME")
- private String name;
+ @Column(name = "NAME")
+ private String name;
- /**
- * 是否系统管理员
- */
- @Column(name = "SYS_ADMIN")
- private boolean systemAdministrator;
+ /**
+ * 是否系统管理员
+ */
+ @Column(name = "SYS_ADMIN")
+ private boolean systemAdministrator;
- /**
- * 是否管理层
- */
- @Column(name = "MANAGER")
- private boolean manager;
+ /**
+ * 是否管理层
+ */
+ @Column(name = "MANAGER")
+ private boolean manager;
- /**
- * 是否启用
- */
- @Column(name = "IS_ACTIVE")
- private boolean active = true;
+ /**
+ * 是否启用
+ */
+ @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"))
- @JsonIgnore
- private java.util.List functions = new java.util.ArrayList<>();
+ @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
+ @JoinTable(name = "EMPLOYEE_ROLE_FUNCTIONS", joinColumns = @JoinColumn(name = "ROLE_ID"), inverseJoinColumns = @JoinColumn(name = "FUNC_ID"))
+ @JsonIgnore
+ private java.util.List 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"))
- @JsonIgnore
- private java.util.List employees = 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"))
+ @JsonIgnore
+ private java.util.List employees = new java.util.ArrayList<>();
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ EmployeeRole that = (EmployeeRole) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/ExtendVendorInfo.java b/common/src/main/java/com/ecep/contract/model/ExtendVendorInfo.java
index 9986527..f2bddd0 100644
--- a/common/src/main/java/com/ecep/contract/model/ExtendVendorInfo.java
+++ b/common/src/main/java/com/ecep/contract/model/ExtendVendorInfo.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -62,22 +62,15 @@ public class ExtendVendorInfo implements IdentityEntity {
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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/Function.java b/common/src/main/java/com/ecep/contract/model/Function.java
index b0ba179..7145dc3 100644
--- a/common/src/main/java/com/ecep/contract/model/Function.java
+++ b/common/src/main/java/com/ecep/contract/model/Function.java
@@ -1,11 +1,18 @@
package com.ecep.contract.model;
-import jakarta.persistence.*;
+import java.io.Serializable;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
-import java.io.Serializable;
-
@Getter
@Setter
@jakarta.persistence.Entity
@@ -35,4 +42,22 @@ public class Function implements IdentityEntity, NamedEntity, Serializable {
@Column(name = "DESCRIPTION", columnDefinition = "VARCHAR(255)")
private String description;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ Function that = (Function) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/HolidayTable.java b/common/src/main/java/com/ecep/contract/model/HolidayTable.java
index 4fe3a4c..1c29188 100644
--- a/common/src/main/java/com/ecep/contract/model/HolidayTable.java
+++ b/common/src/main/java/com/ecep/contract/model/HolidayTable.java
@@ -1,5 +1,13 @@
package com.ecep.contract.model;
+import java.time.LocalDate;
+import java.util.Objects;
+
+import org.hibernate.annotations.JdbcTypeCode;
+import org.hibernate.type.SqlTypes;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
@@ -7,10 +15,6 @@ 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
@@ -26,4 +30,21 @@ public class HolidayTable {
@Column(name = "IS_HOLIDAY", nullable = false)
private boolean holiday;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ HolidayTable that = (HolidayTable) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/Inventory.java b/common/src/main/java/com/ecep/contract/model/Inventory.java
index b7c2956..32c3c38 100644
--- a/common/src/main/java/com/ecep/contract/model/Inventory.java
+++ b/common/src/main/java/com/ecep/contract/model/Inventory.java
@@ -5,7 +5,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.AttributeOverride;
import jakarta.persistence.AttributeOverrides;
@@ -23,7 +23,6 @@ import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
-
/**
* 存货物品清单
*/
@@ -101,17 +100,17 @@ public class Inventory implements IdentityEntity, BasedEntity, Serializable {
* 重量单位
*/
@Column(name = "WEIGHT_UNIT")
- private String weightUnit="kg";
+ private String weightUnit = "kg";
/**
* 体积单位
*/
@Column(name = "VOLUME_UNIT")
- private String volumeUnit="m³";
+ private String volumeUnit = "m³";
/**
* 尺寸单位
*/
@Column(name = "VOLUME_SIZE_UNIT")
- private String sizeUnit="mm";
+ private String sizeUnit = "mm";
/**
* 体积尺寸(不含包装)
@@ -136,7 +135,6 @@ public class Inventory implements IdentityEntity, BasedEntity, Serializable {
})
private VolumeSize packagedVolumeSize = new VolumeSize();
-
/**
* 创建人
*/
@@ -169,17 +167,19 @@ public class Inventory implements IdentityEntity, BasedEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/InventoryCatalog.java b/common/src/main/java/com/ecep/contract/model/InventoryCatalog.java
index 63c819a..2741de0 100644
--- a/common/src/main/java/com/ecep/contract/model/InventoryCatalog.java
+++ b/common/src/main/java/com/ecep/contract/model/InventoryCatalog.java
@@ -1,11 +1,18 @@
package com.ecep.contract.model;
-import jakarta.persistence.*;
+import java.io.Serializable;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
+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 org.hibernate.proxy.HibernateProxy;
-
-import java.util.Objects;
/**
* 存货分类
@@ -14,7 +21,8 @@ import java.util.Objects;
@Setter
@Entity
@Table(name = "INVENTORY_CATALOG", schema = "supplier_ms")
-public class InventoryCatalog implements IdentityEntity, BasedEntity {
+public class InventoryCatalog implements IdentityEntity, BasedEntity, Serializable {
+ private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
@@ -32,18 +40,17 @@ public class InventoryCatalog implements IdentityEntity, BasedEntity {
}
@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;
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ return false;
+ InventoryCatalog that = (InventoryCatalog) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/InventoryHistoryPrice.java b/common/src/main/java/com/ecep/contract/model/InventoryHistoryPrice.java
index 8a37a0f..99500f7 100644
--- a/common/src/main/java/com/ecep/contract/model/InventoryHistoryPrice.java
+++ b/common/src/main/java/com/ecep/contract/model/InventoryHistoryPrice.java
@@ -1,15 +1,26 @@
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;
+import com.ecep.contract.util.HibernateProxyUtils;
+
+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
@ToString
@@ -92,18 +103,20 @@ public class InventoryHistoryPrice implements IdentityEntity {
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;
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ InventoryHistoryPrice that = (InventoryHistoryPrice) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/Invoice.java b/common/src/main/java/com/ecep/contract/model/Invoice.java
index c53ace2..ec1aece 100644
--- a/common/src/main/java/com/ecep/contract/model/Invoice.java
+++ b/common/src/main/java/com/ecep/contract/model/Invoice.java
@@ -4,9 +4,10 @@ import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
import org.springframework.util.StringUtils;
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -71,27 +72,20 @@ public class Invoice implements IdentityEntity, BasedEntity, Serializable {
}
@Override
- public final boolean equals(Object o) {
- if (this == o)
+ public final boolean equals(Object object) {
+ if (this == object)
return true;
- if (o == null)
+ if (object == 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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
- Invoice invoice = (Invoice) o;
- return getId() != null && Objects.equals(getId(), invoice.getId());
+ }
+ Invoice that = (Invoice) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/Permission.java b/common/src/main/java/com/ecep/contract/model/Permission.java
index 956d484..ee06dbe 100644
--- a/common/src/main/java/com/ecep/contract/model/Permission.java
+++ b/common/src/main/java/com/ecep/contract/model/Permission.java
@@ -1,7 +1,18 @@
package com.ecep.contract.model;
import java.io.Serializable;
-import jakarta.persistence.*;
+import java.util.Objects;
+
+import com.ecep.contract.util.HibernateProxyUtils;
+
+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;
@@ -27,4 +38,22 @@ public class Permission implements IdentityEntity, NamedEntity, Serializable {
@Column(name = "PERMISSION_KEY")
private String key;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ Permission that = (Permission) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProductType.java b/common/src/main/java/com/ecep/contract/model/ProductType.java
index a2f5f93..66a34cf 100644
--- a/common/src/main/java/com/ecep/contract/model/ProductType.java
+++ b/common/src/main/java/com/ecep/contract/model/ProductType.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -48,22 +48,15 @@ public class ProductType implements BasedEntity, IdentityEntity, Serializable {
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)
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/ProductUsage.java b/common/src/main/java/com/ecep/contract/model/ProductUsage.java
index d9b372b..695774a 100644
--- a/common/src/main/java/com/ecep/contract/model/ProductUsage.java
+++ b/common/src/main/java/com/ecep/contract/model/ProductUsage.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -44,17 +44,16 @@ public class ProductUsage implements BasedEntity, IdentityEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/Project.java b/common/src/main/java/com/ecep/contract/model/Project.java
index 5b3b6b2..169d09a 100644
--- a/common/src/main/java/com/ecep/contract/model/Project.java
+++ b/common/src/main/java/com/ecep/contract/model/Project.java
@@ -5,7 +5,8 @@ import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -45,7 +46,6 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
@ToString.Exclude
private Company customer;
-
/**
* 项目名称
*/
@@ -53,7 +53,9 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
private String name;
/**
- * 项目代码,{@link #saleType saleType.Code}+{@link #codeYear}+{@link #codeSequenceNumber codeSequenceNumber} 组成
+ * 项目代码,{@link #saleType
+ * saleType.Code}+{@link #codeYear}+{@link #codeSequenceNumber
+ * codeSequenceNumber} 组成
*/
@Column(name = "CODE")
private String code;
@@ -109,7 +111,6 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
@ToString.Exclude
private ProjectIndustry industry;
-
/**
* 销售类型
*/
@@ -126,7 +127,6 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
@ToString.Exclude
private ProjectType projectType;
-
/**
* 产品类型
*/
@@ -135,7 +135,6 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
@ToString.Exclude
private ProductType productType;
-
/**
* 交货签收方式
* Delivery signature method
@@ -229,7 +228,6 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
@ToString.Exclude
private int version;
-
@Override
public String toPrettyString() {
return code + " " + name;
@@ -237,17 +235,16 @@ public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serial
@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;
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectBid.java b/common/src/main/java/com/ecep/contract/model/ProjectBid.java
index 343d80f..baea122 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectBid.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectBid.java
@@ -1,9 +1,13 @@
package com.ecep.contract.model;
+import java.io.Serializable;
import java.time.LocalDateTime;
+import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -27,7 +31,8 @@ import lombok.ToString;
@Entity
@Table(name = "PROJECT_BID")
@ToString
-public class ProjectBid implements IdentityEntity, ProjectBasedEntity {
+public class ProjectBid implements IdentityEntity, ProjectBasedEntity, Serializable {
+ private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
@@ -91,7 +96,6 @@ public class ProjectBid implements IdentityEntity, ProjectBasedEntity {
@Column(name = "NO_STANDARD_CONTRACT_TEXT")
private String noStandardContractText;
-
/**
* 审核文件
*/
@@ -129,12 +133,24 @@ public class ProjectBid implements IdentityEntity, ProjectBasedEntity {
@Column(name = "AUTHORIZER_DATE")
private LocalDateTime authorizationTime;
-
/**
* 说明
*/
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
private String description;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ return false;
+ ProjectBid projectBid = (ProjectBid) object;
+ return getId() != null && Objects.equals(getId(), projectBid.getId());
+ }
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectCost.java b/common/src/main/java/com/ecep/contract/model/ProjectCost.java
index 2de8f5d..c36ce29 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectCost.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectCost.java
@@ -1,10 +1,12 @@
package com.ecep.contract.model;
+import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
-import org.hibernate.proxy.HibernateProxy;
+
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -24,7 +26,8 @@ import lombok.ToString;
@Entity
@Table(name = "PROJECT_COST")
@ToString
-public class ProjectCost implements IdentityEntity, ProjectBasedEntity {
+public class ProjectCost implements IdentityEntity, ProjectBasedEntity, Serializable {
+ private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
@@ -46,7 +49,6 @@ public class ProjectCost implements IdentityEntity, ProjectBasedEntity {
@Column(name = "VER")
private int version;
-
/**
* 是否标准付款方式
*/
@@ -201,23 +203,21 @@ public class ProjectCost implements IdentityEntity, ProjectBasedEntity {
@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());
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ return false;
+ ProjectCost projectCost = (ProjectCost) object;
+ return getId() != null && Objects.equals(getId(), projectCost.getId());
}
@Override
public final int hashCode() {
- return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectCostItem.java b/common/src/main/java/com/ecep/contract/model/ProjectCostItem.java
index 2b5d8b0..b61fdac 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectCostItem.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectCostItem.java
@@ -4,7 +4,7 @@ import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -138,17 +138,21 @@ public class ProjectCostItem implements IdentityEntity, BasedEntity, Serializabl
@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;
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectFile.java b/common/src/main/java/com/ecep/contract/model/ProjectFile.java
index a1a6e91..3d96dbb 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectFile.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectFile.java
@@ -3,9 +3,8 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.ProjectFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -57,15 +56,7 @@ public class ProjectFile implements IdentityEntity, ProjectBasedEntity, Serializ
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)
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
ProjectFile that = (ProjectFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
@@ -73,8 +64,6 @@ public class ProjectFile implements IdentityEntity, ProjectBasedEntity, Serializ
@Override
public final int hashCode() {
- return this instanceof HibernateProxy
- ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
- : getClass().hashCode();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectFileTypeLocal.java b/common/src/main/java/com/ecep/contract/model/ProjectFileTypeLocal.java
index 36acf36..785ecd2 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectFileTypeLocal.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectFileTypeLocal.java
@@ -2,9 +2,8 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.ProjectFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
@@ -20,17 +19,21 @@ import lombok.ToString;
public class ProjectFileTypeLocal extends BaseEnumEntity {
@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;
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectFundPlan.java b/common/src/main/java/com/ecep/contract/model/ProjectFundPlan.java
index d9058fb..86b0c82 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectFundPlan.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectFundPlan.java
@@ -2,8 +2,10 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.util.Objects;
import com.ecep.contract.ContractPayWay;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -66,7 +68,6 @@ public class ProjectFundPlan implements IdentityEntity, ProjectBasedEntity {
@Column(name = "PAY_TERM")
private String payTerm;
-
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CONTRACT_PAY_PLAN_ID")
private ContractPayPlan contractPayPlan;
@@ -76,4 +77,24 @@ public class ProjectFundPlan implements IdentityEntity, ProjectBasedEntity {
*/
@Column(name = "UPDATE_TIME")
private LocalDateTime updateDate;
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ ProjectFundPlan that = (ProjectFundPlan) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectIndustry.java b/common/src/main/java/com/ecep/contract/model/ProjectIndustry.java
index 58294e9..3f7c690 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectIndustry.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectIndustry.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -48,17 +48,21 @@ public class ProjectIndustry implements BasedEntity, IdentityEntity, NamedEntity
@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;
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectQuotation.java b/common/src/main/java/com/ecep/contract/model/ProjectQuotation.java
index 42535bf..377a612 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectQuotation.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectQuotation.java
@@ -1,9 +1,12 @@
package com.ecep.contract.model;
import java.time.LocalDateTime;
+import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -108,4 +111,24 @@ public class ProjectQuotation implements IdentityEntity, ProjectBasedEntity {
@ToString.Exclude
private CompanyCustomerEvaluationFormFile evaluationFile;
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ ProjectQuotation that = (ProjectQuotation) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
+
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectSaleType.java b/common/src/main/java/com/ecep/contract/model/ProjectSaleType.java
index 964e7ed..1b66a9f 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectSaleType.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectSaleType.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -63,17 +63,21 @@ public class ProjectSaleType implements IdentityEntity, NamedEntity, BasedEntity
@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;
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectSaleTypeRequireFileType.java b/common/src/main/java/com/ecep/contract/model/ProjectSaleTypeRequireFileType.java
index f74acfb..d07851f 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectSaleTypeRequireFileType.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectSaleTypeRequireFileType.java
@@ -2,9 +2,8 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.ContractFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -57,26 +56,21 @@ public class ProjectSaleTypeRequireFileType implements IdentityEntity, BasedEnti
@Override
public final boolean equals(Object object) {
- if (this == object)
+ if (this == object) {
return true;
- if (object == null)
+ }
+ 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)
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/ProjectType.java b/common/src/main/java/com/ecep/contract/model/ProjectType.java
index 1610135..aa945bc 100644
--- a/common/src/main/java/com/ecep/contract/model/ProjectType.java
+++ b/common/src/main/java/com/ecep/contract/model/ProjectType.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -44,17 +44,21 @@ public class ProjectType implements IdentityEntity, NamedEntity, BasedEntity, Se
@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;
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucher.java b/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucher.java
index 4df4dcd..0a471ed 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucher.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucher.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -107,27 +107,22 @@ public class PurchaseBillVoucher implements IdentityEntity, BasedEntity {
}
@Override
- public final boolean equals(Object o) {
- if (this == o)
+ public final boolean equals(Object object) {
+ if (this == object) {
return true;
- if (o == null)
+ }
+ if (object == 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)
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
- PurchaseBillVoucher that = (PurchaseBillVoucher) o;
+ }
+ PurchaseBillVoucher that = (PurchaseBillVoucher) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucherItem.java b/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucherItem.java
index 0058c95..b41ae76 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucherItem.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseBillVoucherItem.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -85,28 +85,23 @@ public class PurchaseBillVoucherItem implements IdentityEntity, BasedEntity {
private String description;
@Override
- public final boolean equals(Object o) {
- if (this == o)
+ public final boolean equals(Object object) {
+ if (this == object) {
return true;
- if (o == null)
+ }
+ if (object == 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)
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
- PurchaseBillVoucherItem that = (PurchaseBillVoucherItem) o;
+ }
+ PurchaseBillVoucherItem that = (PurchaseBillVoucherItem) 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();
+ return HibernateProxyUtils.hashCode(this);
}
@Override
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseOrder.java b/common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
index 6366e28..e298af6 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -100,17 +100,19 @@ public class PurchaseOrder implements IdentityEntity, BasedEntity, ContractBased
@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;
+ if (this == o)
+ return true;
+ if (o == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
+ 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseOrderItem.java b/common/src/main/java/com/ecep/contract/model/PurchaseOrderItem.java
index 721ae85..17778d5 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseOrderItem.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseOrderItem.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -74,28 +74,23 @@ public class PurchaseOrderItem implements IdentityEntity, BasedEntity {
private String description;
@Override
- public final boolean equals(Object o) {
- if (this == o)
+ public final boolean equals(Object object) {
+ if (this == object) {
return true;
- if (o == null)
+ }
+ if (object == 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)
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
- PurchaseOrderItem that = (PurchaseOrderItem) o;
+ }
+ PurchaseOrderItem that = (PurchaseOrderItem) 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();
+ return HibernateProxyUtils.hashCode(this);
}
@Override
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseReceipt.java b/common/src/main/java/com/ecep/contract/model/PurchaseReceipt.java
index c85d2f1..85adf4e 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseReceipt.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseReceipt.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -20,7 +20,7 @@ import lombok.ToString;
/**
* 采购入库单
- * 对应 U8 的 表
+ * 对应 U8 的 表
*/
@Getter
@Setter
@@ -71,18 +71,22 @@ public class PurchaseReceipt implements IdentityEntity, BasedEntity {
}
@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;
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ PurchaseReceipt that = (PurchaseReceipt) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucher.java b/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucher.java
index 343106a..f2dfe1a 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucher.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucher.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -83,18 +83,22 @@ public class PurchaseSettlementVoucher implements IdentityEntity, BasedEntity {
}
@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;
- PurchaseSettlementVoucher that = (PurchaseSettlementVoucher) o;
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ PurchaseSettlementVoucher that = (PurchaseSettlementVoucher) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucherItem.java b/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucherItem.java
index b31d17b..7bc33f0 100644
--- a/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucherItem.java
+++ b/common/src/main/java/com/ecep/contract/model/PurchaseSettlementVoucherItem.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -89,19 +89,23 @@ public class PurchaseSettlementVoucherItem implements IdentityEntity, BasedEntit
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;
- PurchaseSettlementVoucherItem that = (PurchaseSettlementVoucherItem) o;
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ PurchaseSettlementVoucherItem that = (PurchaseSettlementVoucherItem) 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();
+ return HibernateProxyUtils.hashCode(this);
}
@Override
diff --git a/common/src/main/java/com/ecep/contract/model/SalesBillVoucher.java b/common/src/main/java/com/ecep/contract/model/SalesBillVoucher.java
index 94beb01..630aa66 100644
--- a/common/src/main/java/com/ecep/contract/model/SalesBillVoucher.java
+++ b/common/src/main/java/com/ecep/contract/model/SalesBillVoucher.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -107,27 +107,22 @@ public class SalesBillVoucher implements IdentityEntity, BasedEntity {
}
@Override
- public final boolean equals(Object o) {
- if (this == o)
+ public final boolean equals(Object object) {
+ if (this == object) {
return true;
- if (o == null)
+ }
+ if (object == 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)
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
- SalesBillVoucher that = (SalesBillVoucher) o;
+ }
+ SalesBillVoucher that = (SalesBillVoucher) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/SalesBillVoucherItem.java b/common/src/main/java/com/ecep/contract/model/SalesBillVoucherItem.java
index 28ce59a..28e2659 100644
--- a/common/src/main/java/com/ecep/contract/model/SalesBillVoucherItem.java
+++ b/common/src/main/java/com/ecep/contract/model/SalesBillVoucherItem.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -60,24 +60,27 @@ public class SalesBillVoucherItem implements IdentityEntity, BasedEntity {
@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;
- SalesBillVoucherItem that = (SalesBillVoucherItem) o;
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ SalesBillVoucherItem that = (SalesBillVoucherItem) 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();
+ return HibernateProxyUtils.hashCode(this);
}
@Override
diff --git a/common/src/main/java/com/ecep/contract/model/SalesOrder.java b/common/src/main/java/com/ecep/contract/model/SalesOrder.java
index 8716555..a1f7f21 100644
--- a/common/src/main/java/com/ecep/contract/model/SalesOrder.java
+++ b/common/src/main/java/com/ecep/contract/model/SalesOrder.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -82,18 +82,20 @@ public class SalesOrder implements IdentityEntity, BasedEntity, ContractBasedEnt
@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;
+ if (this == o)
+ return true;
+ if (o == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
+ return false;
+ }
SalesOrder that = (SalesOrder) 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();
+ return HibernateProxyUtils.hashCode(this);
}
@Override
diff --git a/common/src/main/java/com/ecep/contract/model/SalesOrderItem.java b/common/src/main/java/com/ecep/contract/model/SalesOrderItem.java
index a692ae2..981df43 100644
--- a/common/src/main/java/com/ecep/contract/model/SalesOrderItem.java
+++ b/common/src/main/java/com/ecep/contract/model/SalesOrderItem.java
@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -76,18 +76,20 @@ public class SalesOrderItem implements IdentityEntity, BasedEntity {
@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;
+ if (this == o)
+ return true;
+ if (o == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
+ return false;
+ }
SalesOrderItem that = (SalesOrderItem) 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();
+ return HibernateProxyUtils.hashCode(this);
}
@Override
diff --git a/common/src/main/java/com/ecep/contract/model/SysConf.java b/common/src/main/java/com/ecep/contract/model/SysConf.java
index 22c9f27..4785391 100644
--- a/common/src/main/java/com/ecep/contract/model/SysConf.java
+++ b/common/src/main/java/com/ecep/contract/model/SysConf.java
@@ -2,9 +2,12 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDateTime;
+import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
+import com.ecep.contract.util.HibernateProxyUtils;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
@@ -32,4 +35,24 @@ public class SysConf implements Serializable {
@Column(name = "CREATED")
private LocalDateTime created;
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ SysConf that = (SysConf) object;
+ return Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
+
}
\ No newline at end of file
diff --git a/common/src/main/java/com/ecep/contract/model/Unit.java b/common/src/main/java/com/ecep/contract/model/Unit.java
index 8ea3b25..8f45536 100644
--- a/common/src/main/java/com/ecep/contract/model/Unit.java
+++ b/common/src/main/java/com/ecep/contract/model/Unit.java
@@ -1,8 +1,10 @@
package com.ecep.contract.model;
-
import java.io.Serializable;
+import java.util.Objects;
+
import com.ecep.contract.UnitType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.EnumType;
@@ -44,4 +46,24 @@ public class Unit implements IdentityEntity, NamedEntity, Serializable {
@Column(name = "STANDARD")
private boolean standard;
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ Unit that = (Unit) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/model/VendorCatalog.java b/common/src/main/java/com/ecep/contract/model/VendorCatalog.java
index 19c2488..44944c1 100644
--- a/common/src/main/java/com/ecep/contract/model/VendorCatalog.java
+++ b/common/src/main/java/com/ecep/contract/model/VendorCatalog.java
@@ -3,9 +3,8 @@ package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.VendorType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -51,17 +50,16 @@ public class VendorCatalog implements BasedEntity, Serializable {
@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;
+ if (this == object)
+ return true;
+ if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
+ return false;
VendorCatalog that = (VendorCatalog) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/VendorGroup.java b/common/src/main/java/com/ecep/contract/model/VendorGroup.java
index 10c70cb..03e17b2 100644
--- a/common/src/main/java/com/ecep/contract/model/VendorGroup.java
+++ b/common/src/main/java/com/ecep/contract/model/VendorGroup.java
@@ -2,7 +2,7 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -63,17 +63,19 @@ public class VendorGroup implements IdentityEntity, NamedEntity, BasedEntity {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
VendorGroup that = (VendorGroup) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/VendorGroupRequireFileType.java b/common/src/main/java/com/ecep/contract/model/VendorGroupRequireFileType.java
index b21f812..7961a0e 100644
--- a/common/src/main/java/com/ecep/contract/model/VendorGroupRequireFileType.java
+++ b/common/src/main/java/com/ecep/contract/model/VendorGroupRequireFileType.java
@@ -2,9 +2,8 @@ package com.ecep.contract.model;
import java.util.Objects;
-import org.hibernate.proxy.HibernateProxy;
-
import com.ecep.contract.ContractFileType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -57,17 +56,19 @@ public class VendorGroupRequireFileType implements IdentityEntity, BasedEntity {
@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;
+ if (this == object)
+ return true;
+ if (object == null)
+ return false;
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
VendorGroupRequireFileType that = (VendorGroupRequireFileType) 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();
+ return HibernateProxyUtils.hashCode(this);
}
}
diff --git a/common/src/main/java/com/ecep/contract/model/VendorTypeLocal.java b/common/src/main/java/com/ecep/contract/model/VendorTypeLocal.java
index a42f16e..44227cc 100644
--- a/common/src/main/java/com/ecep/contract/model/VendorTypeLocal.java
+++ b/common/src/main/java/com/ecep/contract/model/VendorTypeLocal.java
@@ -1,6 +1,9 @@
package com.ecep.contract.model;
+import java.util.Objects;
+
import com.ecep.contract.VendorType;
+import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
@@ -17,4 +20,24 @@ import lombok.ToString;
@Table(name = "VENDOR_TYPE_LOCAL")
@ToString(callSuper = true)
public class VendorTypeLocal extends BaseEnumEntity {
+
+ @Override
+ public final boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (object == null) {
+ return false;
+ }
+ if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
+ return false;
+ }
+ VendorTypeLocal that = (VendorTypeLocal) object;
+ return getId() != null && Objects.equals(getId(), that.getId());
+ }
+
+ @Override
+ public final int hashCode() {
+ return HibernateProxyUtils.hashCode(this);
+ }
}
diff --git a/common/src/main/java/com/ecep/contract/msg/SimpleMessage.java b/common/src/main/java/com/ecep/contract/msg/SimpleMessage.java
index 1fbacd7..e1e413f 100644
--- a/common/src/main/java/com/ecep/contract/msg/SimpleMessage.java
+++ b/common/src/main/java/com/ecep/contract/msg/SimpleMessage.java
@@ -19,7 +19,9 @@ public class SimpleMessage {
private List