feat: 添加CurrentEmployeeInitialedEvent并重构初始化逻辑

添加CurrentEmployeeInitialedEvent事件类,用于在员工初始化完成后发布事件
重构HomeWindowController中的初始化逻辑,使用事件监听方式处理管理员任务调度
更新Unit类实现IdentityEntity和NamedEntity接口
移除SysConf类中多余的注释
在.gitignore中添加config.properties忽略规则
This commit is contained in:
danyz
2025-08-23 01:30:50 +08:00
parent d736f2d3e1
commit 2b013feaf1
8 changed files with 73 additions and 39 deletions

2
.gitignore vendored
View File

@@ -34,3 +34,5 @@ build/
### VS Code ### ### VS Code ###
.vscode/ .vscode/
config.properties

View File

@@ -2,8 +2,8 @@
#Wed Mar 26 16:33:45 CST 2025 #Wed Mar 26 16:33:45 CST 2025
cloud.u8.enabled=true cloud.u8.enabled=true
db.server.database=supplier_ms db.server.database=supplier_ms
db.server.host=db-server1.ecctrl.com #db.server.host=10.84.209.8
db.server.password=ecep.62335656 #db.server.password=ecep.62335656
db.server.port=3306 #db.server.port=3306
db.server.username=ecep #db.server.username=ecep
username_password.remember=true username_password.remember=true

View File

@@ -69,6 +69,8 @@ public class CurrentEmployee extends EmployeeViewModel {
Platform.runLater(() -> { Platform.runLater(() -> {
update(employee); update(employee);
rolesProperty().setAll(roles); rolesProperty().setAll(roles);
// 发布事件
SpringApp.context.publishEvent(new CurrentEmployeeInitialedEvent(this));
future.complete(null); future.complete(null);
}); });
}); });

View File

@@ -0,0 +1,19 @@
package com.ecep.contract.manager;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;
@Getter
public class CurrentEmployeeInitialedEvent extends ApplicationEvent {
private final CurrentEmployee employee;
public CurrentEmployeeInitialedEvent(CurrentEmployee employee) {
super(employee);
this.employee = employee;
}
@Override
public CurrentEmployee getSource() {
return employee;
}
}

View File

@@ -1,5 +1,21 @@
package com.ecep.contract.manager.ds.other.controller; package com.ecep.contract.manager.ds.other.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import org.controlsfx.control.TaskProgressView;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import com.ecep.contract.manager.CurrentEmployee;
import com.ecep.contract.manager.CurrentEmployeeInitialedEvent;
import com.ecep.contract.manager.Desktop; import com.ecep.contract.manager.Desktop;
import com.ecep.contract.manager.cloud.old.OldVersionService; import com.ecep.contract.manager.cloud.old.OldVersionService;
import com.ecep.contract.manager.cloud.rk.CloudRkManagerWindowController; import com.ecep.contract.manager.cloud.rk.CloudRkManagerWindowController;
@@ -23,7 +39,7 @@ import com.ecep.contract.manager.ui.BaseController;
import com.ecep.contract.manager.ui.FxmlPath; import com.ecep.contract.manager.ui.FxmlPath;
import com.ecep.contract.manager.ui.task.TaskMonitorViewController; import com.ecep.contract.manager.ui.task.TaskMonitorViewController;
import com.ecep.contract.manager.util.FxmlUtils; import com.ecep.contract.manager.util.FxmlUtils;
import javafx.application.Platform;
import javafx.concurrent.Task; import javafx.concurrent.Task;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.Node; import javafx.scene.Node;
@@ -36,18 +52,6 @@ import javafx.scene.layout.VBox;
import javafx.stage.Modality; import javafx.stage.Modality;
import javafx.stage.Stage; import javafx.stage.Stage;
import javafx.stage.WindowEvent; import javafx.stage.WindowEvent;
import org.controlsfx.control.TaskProgressView;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@Lazy @Lazy
@Scope("prototype") @Scope("prototype")
@@ -95,8 +99,13 @@ public class HomeWindowController extends BaseController {
employeeStatusLabel.textProperty().bind(Desktop.instance.getActiveEmployee().getName()); employeeStatusLabel.textProperty().bind(Desktop.instance.getActiveEmployee().getName());
Desktop.instance.getActiveEmployee().initialize().thenRun(() -> { Desktop.instance.getActiveEmployee().initialize();
if (Desktop.instance.getActiveEmployee().isSystemAdministrator()) { }
@EventListener
public void onCurrentEmployeeInitialed(CurrentEmployeeInitialedEvent event) {
CurrentEmployee currentEmployee = event.getEmployee();
if (currentEmployee.isSystemAdministrator()) {
if (logger.isInfoEnabled()) { if (logger.isInfoEnabled()) {
logger.info("You are administrator, try schedule sync tasks."); logger.info("You are administrator, try schedule sync tasks.");
} }
@@ -115,7 +124,6 @@ public class HomeWindowController extends BaseController {
} }
}, 15, TimeUnit.SECONDS); }, 15, TimeUnit.SECONDS);
} }
});
} }
@Override @Override

View File

@@ -12,6 +12,7 @@ CREATE TABLE if not exists supplier_ms.INVENTORY
CONSTRAINT pk_nverntory PRIMARY KEY (id) CONSTRAINT pk_nverntory PRIMARY KEY (id)
); );
select c1_0.ID, select c1_0.ID,
c1_0.AMOUNT, c1_0.AMOUNT,
c1_0.CODE, c1_0.CODE,

View File

@@ -14,7 +14,6 @@ import java.time.Instant;
@Setter @Setter
@Entity @Entity
@Table(name = "SYS_CONF", schema = "supplier_ms") @Table(name = "SYS_CONF", schema = "supplier_ms")
// @org.springframework.data.relational.core.mapping.Table("SYS_CONF")
public class SysConf { public class SysConf {
@Id @Id
@Column(name = "ID", nullable = false) @Column(name = "ID", nullable = false)

View File

@@ -5,11 +5,14 @@ import jakarta.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/**
* 单位
*/
@Getter @Getter
@Setter @Setter
@jakarta.persistence.Entity @jakarta.persistence.Entity
@Table(name = "UNIT", schema = "supplier_ms") @Table(name = "UNIT", schema = "supplier_ms")
public class Unit { public class Unit implements IdentityEntity , NamedEntity {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false) @Column(name = "ID", nullable = false)