feat: 添加CurrentEmployeeInitialedEvent并重构初始化逻辑
添加CurrentEmployeeInitialedEvent事件类,用于在员工初始化完成后发布事件 重构HomeWindowController中的初始化逻辑,使用事件监听方式处理管理员任务调度 更新Unit类实现IdentityEntity和NamedEntity接口 移除SysConf类中多余的注释 在.gitignore中添加config.properties忽略规则
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -34,3 +34,5 @@ build/
|
|||||||
|
|
||||||
### VS Code ###
|
### VS Code ###
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
config.properties
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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,27 +99,31 @@ 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()) {
|
}
|
||||||
if (logger.isInfoEnabled()) {
|
|
||||||
logger.info("You are administrator, try schedule sync tasks.");
|
@EventListener
|
||||||
}
|
public void onCurrentEmployeeInitialed(CurrentEmployeeInitialedEvent event) {
|
||||||
Desktop.instance.getExecutorService().schedule(() -> {
|
CurrentEmployee currentEmployee = event.getEmployee();
|
||||||
try {
|
if (currentEmployee.isSystemAdministrator()) {
|
||||||
getBean(OldVersionService.class).scheduledTasks(taskProgressView);
|
if (logger.isInfoEnabled()) {
|
||||||
} catch (BeansException ignored) {
|
logger.info("You are administrator, try schedule sync tasks.");
|
||||||
}
|
|
||||||
try {
|
|
||||||
getBean(YongYouU8Service.class).scheduledTasks(taskProgressView);
|
|
||||||
} catch (BeansException ignored) {
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
getBean(CloudRkService.class).scheduledTasks(taskProgressView);
|
|
||||||
} catch (BeansException ignored) {
|
|
||||||
}
|
|
||||||
}, 15, TimeUnit.SECONDS);
|
|
||||||
}
|
}
|
||||||
});
|
Desktop.instance.getExecutorService().schedule(() -> {
|
||||||
|
try {
|
||||||
|
getBean(OldVersionService.class).scheduledTasks(taskProgressView);
|
||||||
|
} catch (BeansException ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
getBean(YongYouU8Service.class).scheduledTasks(taskProgressView);
|
||||||
|
} catch (BeansException ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
getBean(CloudRkService.class).scheduledTasks(taskProgressView);
|
||||||
|
} catch (BeansException ignored) {
|
||||||
|
}
|
||||||
|
}, 15, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user