diff --git a/docs/structs.sql b/docs/structs.sql new file mode 100644 index 0000000..a200741 --- /dev/null +++ b/docs/structs.sql @@ -0,0 +1,2 @@ +ALTER TABLE supplier_ms.EMPLOYEE_ROLE +ADD COLUMN IS_ACTIVE BOOLEAN DEFAULT TRUE; \ No newline at end of file diff --git a/pom.xml b/pom.xml index 805e2f1..3d2c263 100644 --- a/pom.xml +++ b/pom.xml @@ -163,7 +163,22 @@ runtime - + + + gitea + http://10.84.210.110/api/packages/songqq/maven + + + + + gitea + http://10.84.210.110/api/packages/songqq/maven + + + gitea + http://10.84.210.110/api/packages/songqq/maven + + diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/HomeWindowController.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/HomeWindowController.java index a83a1ac..f4248a5 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/HomeWindowController.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/HomeWindowController.java @@ -74,6 +74,7 @@ public class HomeWindowController extends BaseController { public Button openVendorManagerWindow; public Button openCustomManagerWindow; public TaskProgressView> taskProgressView; + public Label taskMonitorLabel; public Label employeeStatusLabel; public void initialize() { @@ -99,7 +100,7 @@ public class HomeWindowController extends BaseController { ((Label) placeholder).setText("没有运行的任务"); employeeStatusLabel.textProperty().bind(Desktop.instance.getActiveEmployee().getName()); - + Desktop.instance.getTaskMonitorCenter().bindStatusLabel(taskMonitorLabel); Desktop.instance.getActiveEmployee().initialize(); } diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeFunctionsManagerWindowController.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeFunctionsManagerWindowController.java index ba59fcb..4f7af77 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeFunctionsManagerWindowController.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeFunctionsManagerWindowController.java @@ -45,6 +45,8 @@ public class EmployeeFunctionsManagerWindowController public TableColumn iconColumn; @FXML public TableColumn descriptionColumn; + @FXML + public TableColumn activeColumn; @Override public void show(Stage stage) { diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerSkin.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerSkin.java index 0a47e96..4b8d24d 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerSkin.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerSkin.java @@ -29,6 +29,8 @@ public class EmployeeRoleManagerSkin controller.systemAdministratorColumn.setCellFactory(param -> new CheckBoxTableCell<>()); controller.managerColumn.setCellValueFactory(param -> param.getValue().getManager()); controller.managerColumn.setCellFactory(CheckBoxTableCell.forTableColumn(controller.managerColumn)); + controller.activeColumn.setCellValueFactory(param -> param.getValue().getActive()); + controller.activeColumn.setCellFactory(CheckBoxTableCell.forTableColumn(controller.activeColumn)); } @Override diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerWindowController.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerWindowController.java index 3f513cb..f3473f0 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerWindowController.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleManagerWindowController.java @@ -15,6 +15,7 @@ import com.ecep.contract.manager.ui.AbstManagerWindowController; import com.ecep.contract.manager.ui.FxmlPath; import javafx.event.ActionEvent; +import javafx.fxml.FXML; import javafx.scene.control.TableColumn; import javafx.stage.Stage; @@ -36,6 +37,7 @@ public class EmployeeRoleManagerWindowController public TableColumn nameColumn; public TableColumn systemAdministratorColumn; public TableColumn managerColumn; + public TableColumn activeColumn; @Override protected EmployeeRoleManagerSkin createDefaultSkin() { diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleTabSkinBase.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleTabSkinBase.java index b32afd0..ff24674 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleTabSkinBase.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleTabSkinBase.java @@ -25,5 +25,6 @@ public class EmployeeRoleTabSkinBase extends AbstEmployeeRoleBasedTabSkin implem controller.systemAdministratorField.selectedProperty().bind(viewModel.getSystemAdministrator()); } controller.managerField.selectedProperty().bindBidirectional(viewModel.getManager()); + controller.activeField.selectedProperty().bindBidirectional(viewModel.getActive()); } } diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleWindowController.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleWindowController.java index 62e2bed..d8fbb4f 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleWindowController.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/EmployeeRoleWindowController.java @@ -7,6 +7,8 @@ import com.ecep.contract.manager.ds.other.vo.EmployeeRoleViewModel; import com.ecep.contract.manager.ui.AbstEntityController; import com.ecep.contract.manager.ui.FxmlPath; import com.ecep.contract.manager.ui.ViewModelService; + +import javafx.fxml.FXML; import javafx.scene.control.*; import javafx.scene.layout.BorderPane; import javafx.stage.Window; @@ -44,6 +46,7 @@ public class EmployeeRoleWindowController extends AbstEntityController param.getValue().getDescription()); controller.descriptionColumn.setCellFactory(TextFieldTableCell.forTableColumn()); controller.descriptionColumn.setOnEditCommit(this::onDescriptionColumnEditCommit); + + controller.activeColumn.setCellValueFactory(param -> param.getValue().getActive()); + controller.activeColumn.setCellFactory(CheckBoxTableCell.forTableColumn(controller.activeColumn)); } private void onNameColumnEditCommit(TableColumn.CellEditEvent event) { diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionTabSkinBase.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionTabSkinBase.java index c0f7ba4..4ea7ad7 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionTabSkinBase.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionTabSkinBase.java @@ -26,5 +26,6 @@ public class FunctionTabSkinBase controller.controllerField.textProperty().bindBidirectional(viewModel.getController()); controller.iconField.textProperty().bindBidirectional(viewModel.getIcon()); controller.descriptionField.textProperty().bindBidirectional(viewModel.getDescription()); + controller.activeField.selectedProperty().bindBidirectional(viewModel.getActive()); } } \ No newline at end of file diff --git a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionWindowController.java b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionWindowController.java index 8825b24..da4e80a 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionWindowController.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/controller/permission/FunctionWindowController.java @@ -51,6 +51,8 @@ public class FunctionWindowController extends AbstEntityController { private SimpleStringProperty name = new SimpleStringProperty(); private SimpleBooleanProperty systemAdministrator = new SimpleBooleanProperty(); private SimpleBooleanProperty manager = new SimpleBooleanProperty(); + private SimpleBooleanProperty active = new SimpleBooleanProperty(); public static EmployeeRoleViewModel from(EmployeeRole v) { EmployeeRoleViewModel model = new EmployeeRoleViewModel(); @@ -30,6 +31,7 @@ public class EmployeeRoleViewModel extends IdentityViewModel { getName().set(v.getName()); getSystemAdministrator().set(v.isSystemAdministrator()); getManager().set(v.isManager()); + getActive().set(v.isActive()); } @Override @@ -51,6 +53,10 @@ public class EmployeeRoleViewModel extends IdentityViewModel { v.setManager(getManager().get()); modified = true; } + if (!Objects.equals(getActive().get(), v.isActive())) { + v.setActive(getActive().get()); + modified = true; + } return modified; } diff --git a/src/main/java/com/ecep/contract/manager/ds/other/vo/FunctionViewModel.java b/src/main/java/com/ecep/contract/manager/ds/other/vo/FunctionViewModel.java index b3b82a6..a61274a 100644 --- a/src/main/java/com/ecep/contract/manager/ds/other/vo/FunctionViewModel.java +++ b/src/main/java/com/ecep/contract/manager/ds/other/vo/FunctionViewModel.java @@ -4,6 +4,7 @@ import java.util.Objects; import com.ecep.contract.manager.ds.other.model.Function; +import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleStringProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,6 +17,7 @@ public class FunctionViewModel extends IdentityViewModel { private SimpleStringProperty controller = new SimpleStringProperty(); private SimpleStringProperty icon = new SimpleStringProperty(); private SimpleStringProperty description = new SimpleStringProperty(); + private SimpleBooleanProperty active = new SimpleBooleanProperty(); public static FunctionViewModel from(Function v) { FunctionViewModel model = new FunctionViewModel(); @@ -32,6 +34,7 @@ public class FunctionViewModel extends IdentityViewModel { getController().set(v.getController()); getIcon().set(v.getIcon()); getDescription().set(v.getDescription()); + getActive().set(v.isActive()); } @Override @@ -57,6 +60,10 @@ public class FunctionViewModel extends IdentityViewModel { v.setDescription(description.get()); modified = true; } + if (active.get() != v.isActive()) { + v.setActive(active.get()); + modified = true; + } return modified; } } diff --git a/src/main/java/com/ecep/contract/manager/ui/task/TaskMonitorCenter.java b/src/main/java/com/ecep/contract/manager/ui/task/TaskMonitorCenter.java index dbea3d1..171373b 100644 --- a/src/main/java/com/ecep/contract/manager/ui/task/TaskMonitorCenter.java +++ b/src/main/java/com/ecep/contract/manager/ui/task/TaskMonitorCenter.java @@ -10,11 +10,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ecep.contract.manager.Desktop; +import com.ecep.contract.manager.ui.BaseController; import com.ecep.contract.manager.ui.Tasker; import javafx.application.Platform; import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; +import javafx.scene.control.Label; +import javafx.scene.control.Tooltip; import lombok.Getter; /** @@ -150,4 +154,15 @@ public class TaskMonitorCenter { MonitoredTask registerTask = registerTask(task); Desktop.instance.getExecutorService().submit(registerTask); } + + public void bindStatusLabel(Label monitorLabel) { + Tooltip tooltip = new Tooltip("当前运行任务数: " + activeTasks.size()); + monitorLabel.setTooltip(tooltip); + activeTasks.addListener((ListChangeListener>) change -> { + tooltip.setText("当前运行任务数: " + activeTasks.size()); + }); + monitorLabel.setOnMouseClicked(event -> { + BaseController.show(TaskMonitorViewController.class, monitorLabel.getScene().getWindow()); + }); + } } \ No newline at end of file diff --git a/src/main/resources/ui/employee/function.fxml b/src/main/resources/ui/employee/function.fxml index cc68a87..d4c6933 100644 --- a/src/main/resources/ui/employee/function.fxml +++ b/src/main/resources/ui/employee/function.fxml @@ -69,6 +69,8 @@