Skip to content

Commit

Permalink
Merge pull request #24 from AeroLink/HR4
Browse files Browse the repository at this point in the history
HR4 CHC Update
  • Loading branch information
leixdd authored Jan 17, 2019
2 parents d14a72d + 9671b2a commit 9d51f46
Show file tree
Hide file tree
Showing 3 changed files with 146 additions and 100 deletions.
48 changes: 27 additions & 21 deletions FXMLS/HR4/HR4_Core_Human_Capital_ManagementController.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ public class HR4_Core_Human_Capital_ManagementController implements Initializabl
HR4_Jobs jobs = new HR4_Jobs();
HR4_EmployeeInfo emp = new HR4_EmployeeInfo();
Boolean searchStatus = false;


@FXML
private JFXButton btnNewDept;
Expand All @@ -107,25 +106,22 @@ public void initialize(URL url, ResourceBundle rb) {
//For Jobs
weabo();
weabo1();

statcb.getSelectionModel().selectedItemProperty().addListener(listener -> {
DummyCount = 0;
GlobalCount = 0;

DummyCount = 0;
});

ckasscb.getSelectionModel().selectedItemProperty().addListener(listener -> {
DummyCount = 0;
GlobalCount = 0;
GlobalCount2 = 0;
DummyCount2 = 0;
});

this.generateTable();
this.populateTable();

tbl_jobs.setContextMenu(contextMenuJobs);
//SearchOfJob
obj.addListener((ListChangeListener.Change<? extends Object> c) -> {
tbl_jobs.setItems(obj);
});
tbl_jobs.setContextMenu(contextMenuJobs);

Search_Job.textProperty().addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
if (!Search_Job.getText().equals("")) {
Expand Down Expand Up @@ -248,13 +244,14 @@ public void populateTable() {
DummyCount = Long.parseLong(((HashMap) e).get("chk").toString());
});

if ((DummyCount != GlobalCount) && !searchStatus ) {
if ((DummyCount != GlobalCount) && !searchStatus) {
List rs = jobs
.join(Model.JOIN.INNER, "aerolink.tbl_hr4_department", "id", "tblD", "=", "dept_id")
.join(Model.JOIN.INNER, "aerolink.tbl_hr4_job_classifications", "id", "tblC", "=", "classification_id")
.join(Model.JOIN.INNER, "aerolink.tbl_hr4_job_designations", "id", "tblDD", "=", "designation_id")
.where(new Object[][]{{"tblC.class_name", "=", ckasscb.getSelectionModel().getSelectedItem().toString()}})
.get(
"job_id",
"title",
"description",
"tblD.dept_name as department",
Expand All @@ -277,8 +274,7 @@ public void populateTable() {

public void AddJobToTable(List rs) {
obj.clear();
tbl_jobs.refresh();

tbl_jobs.getItems().clear();
for (Object row : rs) {
HashMap crow = (HashMap) row;
String id = String.valueOf(crow.get("job_id"));
Expand Down Expand Up @@ -406,16 +402,25 @@ public void updateItem(Void item, boolean empty) {
long DummyCount = 0;
long GlobalCount = 0;

long DummyCountCombo = 0;
long GlobalCountCombo = 0;

long DummyCountCombo2 = 0;
long GlobalCountCombo2 = 0;

long DummyCount2 = 0;
long GlobalCount2 = 0;

public void populateTable1() {
CompletableFuture.supplyAsync(() -> {

while (Session.CurrentRoute.equals("hr4chc")) {
try {
emp.get("CHECKSUM_AGG(BINARY_CHECKSUM(*)) as chk").stream().forEach(e -> {
DummyCount = Long.parseLong(((HashMap) e).get("chk").toString());
DummyCount2 = Long.parseLong(((HashMap) e).get("chk").toString());
});

if (DummyCount != GlobalCount) {
if (DummyCount2 != GlobalCount2) {

tbl_chc.getItems();
List rs = emp
Expand All @@ -435,7 +440,7 @@ public void populateTable1() {
);

AddJobToTable1(rs);
GlobalCount = DummyCount;
GlobalCount2 = DummyCount2;
}

Thread.sleep(3000);
Expand Down Expand Up @@ -487,12 +492,13 @@ private void OpenModalInfo(ActionEvent event) {
int current_row = 0;

public void viewJob() {
HR4_MIZ.init_viewJob(tbl_jobs.getSelectionModel().getSelectedItem().id.get(),
tbl_jobs.getSelectionModel().getSelectedItem().title.get(),
tbl_jobs.getSelectionModel().getSelectedItem().description.get(),
tbl_jobs.getSelectionModel().getSelectedItem().department.get(),
tbl_jobs.getSelectionModel().getSelectedItem().designation.get(),
tbl_jobs.getSelectionModel().getSelectedItem().classification.get());
System.out.println("jobID : " + tbl_jobs.getSelectionModel().getSelectedItem().id.getValue());
HR4_MIZ.init_viewJob(tbl_jobs.getSelectionModel().getSelectedItem().id.getValue(),
tbl_jobs.getSelectionModel().getSelectedItem().title.getValue(),
tbl_jobs.getSelectionModel().getSelectedItem().description.getValue(),
tbl_jobs.getSelectionModel().getSelectedItem().department.getValue(),
tbl_jobs.getSelectionModel().getSelectedItem().designation.getValue(),
tbl_jobs.getSelectionModel().getSelectedItem().classification.getValue());

Modal md = Modal.getInstance(new Form("/FXMLS/HR4/Modals/HR4_ViewJob.fxml").getParent());
md.open();
Expand Down
192 changes: 114 additions & 78 deletions FXMLS/HR4/Modals/HR4_ViewJobController.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
import javafx.scene.paint.Paint;
import javafx.scene.text.Text;



/**
* FXML Controller class
*
Expand Down Expand Up @@ -74,7 +72,7 @@ public class HR4_ViewJobController implements Initializable {

StringProperty jobLimit;
StringProperty jobOpen;

@FXML
private FontAwesomeIconView jobID;
@FXML
Expand All @@ -88,12 +86,11 @@ public class HR4_ViewJobController implements Initializable {
@FXML
private JFXToggleButton switchOpen;


ExecutorService e = Executors.newFixedThreadPool(1);

public void initialize(URL url, ResourceBundle rb) {


System.err.println("Testing mis " + HR4_MIZ.id);
CompletableFuture
.supplyAsync(() -> getLimit(HR4_MIZ.id), e)
.thenAcceptAsync((limit) -> applyLimit(limit));
Expand All @@ -109,7 +106,7 @@ public void initialize(URL url, ResourceBundle rb) {
cboClass.getSelectionModel().selectFirst();

Platform.runLater(() -> getTotalPopulation(HR4_MIZ.id));

}

public List getLimit(String id) {
Expand All @@ -118,38 +115,38 @@ public List getLimit(String id) {
}).get("aerolink.tbl_hr4_job_limit.job_limit", "aerolink.tbl_hr4_job_limit.jobOpen");
}

public List getTotalPopulation(String id){
public List getTotalPopulation(String id) {
List l = jobs.join(Model.JOIN.INNER, "aerolink.tbl_hr4_employee_jobs", "job_id", "=", "job_id").where(new Object[][]{
{"aerolink.tbl_hr4_jobs.job_id", "=", id}
}).get("COUNT(*) as population");
applyPopulation(l);
return l;
}

public void applyLimit(List limit) {
for(Object c : limit) {
for (Object c : limit) {
HashMap hash = (HashMap) c;

jobLimit = new SimpleStringProperty(String.valueOf(hash.get("job_limit")));
jobOpen = new SimpleStringProperty(String.valueOf(hash.get("jobOpen")));
txtLimit.textProperty().bind(jobLimit);
txtOpen.textProperty().bind(jobOpen);

}
if(Integer.parseInt(jobOpen.get()) > 0) {
switchOpen.setSelected(true);

if (Integer.parseInt(jobOpen.get()) > 0) {
switchOpen.setSelected(true);
}
}

public void applyPopulation(List population) {
for(Object d : population) {
for (Object d : population) {
HashMap hash = (HashMap) d;
txtTotal.setText(String.valueOf(hash.get("population")).isEmpty() ? "0" : String.valueOf(hash.get("population")));

txtTotal.setText(String.valueOf(hash.get("population")).isEmpty() ? "0" : String.valueOf(hash.get("population")));
}
}

@FXML
private void editJob(ActionEvent event) {
txtDesc.setEditable(true);
Expand Down Expand Up @@ -196,71 +193,110 @@ public void populateComboBox() {
cboDes.getItems().add(hm.get("id") + " - " + hm.get("designation"));
}
}

public void createDialog(){
JFXDialogLayout layout = new JFXDialogLayout();
layout.setHeading(new Text("Opening Job Positions"));


Label lbl = new Label("How many positions do you want to open?");
Spinner num = new Spinner(0, Integer.parseInt(jobLimit.get()), 0);
VBox vbox = new VBox(lbl, num);
layout.setBody(vbox);


JFXDialog dialog = new JFXDialog(stackpane, layout, JFXDialog.DialogTransition.TOP);

JFXButton btn = new JFXButton("Submit");
JFXButton btnCancel = new JFXButton("Cancel");
JFXButton btnDummy = new JFXButton(" ");

btnDummy.setDisable(true);

num.valueProperty().addListener((observable) -> {
jobOpen.setValue(String.valueOf(num.getValue()));
});

btn.setOnAction((event) -> {

Boolean t = new HR4_JobLimits().update(new Object[][] {
{"jobOpen", num.getValue()}
}).where(new Object[][] {
{"job_id", "=", HR4_MIZ.id}
}).executeUpdate();

if(t) {
Helpers.EIS_Response.SuccessResponse("Success", "Job was successfully opened with " + num.getValue() + " " + (Integer.parseInt(num.getValue().toString()) <= 1 ? "position" : "positions."));
switchOpen.setSelected(true);
dialog.close();
}
});


btnCancel.setOnAction((event) -> {
dialog.close();
});


btn.getStyleClass().add("btn-primary");
btnCancel.getStyleClass().add("btn-danger");


layout.setActions(btn, btnDummy, btnCancel);
dialog.show();



public void createDialog() {
if (Integer.parseInt(jobOpen.get()) == 0) {
JFXDialogLayout layout = new JFXDialogLayout();
layout.setHeading(new Text("Opening Job Positions"));

Label lbl = new Label("How many positions do you want to open?");
Spinner num = new Spinner(0, Integer.parseInt(jobLimit.get()), 0);
VBox vbox = new VBox(lbl, num);
layout.setBody(vbox);

JFXDialog dialog = new JFXDialog(stackpane, layout, JFXDialog.DialogTransition.TOP);

JFXButton btn = new JFXButton("Submit");
JFXButton btnCancel = new JFXButton("Cancel");
JFXButton btnDummy = new JFXButton(" ");

btnDummy.setDisable(true);

num.valueProperty().addListener((observable) -> {
jobOpen.setValue(String.valueOf(num.getValue()));
});

btn.setOnAction((event) -> {

Boolean t = new HR4_JobLimits().update(new Object[][]{
{"jobOpen", num.getValue()}
}).where(new Object[][]{
{"job_id", "=", HR4_MIZ.id}
}).executeUpdate();

if (t) {
Helpers.EIS_Response.SuccessResponse("Success", "Job was successfully opened with " + num.getValue() + " " + (Integer.parseInt(num.getValue().toString()) <= 1 ? "position" : "positions."));
switchOpen.setSelected(true);
dialog.close();
}
});

btnCancel.setOnAction((event) -> {
dialog.close();
});

btn.getStyleClass().add("btn-primary");
btnCancel.getStyleClass().add("btn-danger");

layout.setActions(btn, btnDummy, btnCancel);
dialog.show();
} else {
JFXDialogLayout layout = new JFXDialogLayout();
layout.setHeading(new Text("Closing Job Position"));

Label lbl = new Label("Are you sure you want to close this position?");
VBox vbox = new VBox(lbl);
layout.setBody(vbox);

JFXDialog dialog = new JFXDialog(stackpane, layout, JFXDialog.DialogTransition.TOP);

JFXButton btn = new JFXButton("Submit");
JFXButton btnCancel = new JFXButton("Cancel");
JFXButton btnDummy = new JFXButton(" ");

btnDummy.setDisable(true);

btn.setOnAction((event) -> {

Boolean t = new HR4_JobLimits().update(new Object[][]{
{"jobOpen", 0}
}).where(new Object[][]{
{"job_id", "=", HR4_MIZ.id}
}).executeUpdate();

if (t) {
Helpers.EIS_Response.SuccessResponse("Success", "Job was successfully Closed");
switchOpen.setSelected(false);
dialog.close();
}
});

btnCancel.setOnAction((event) -> {
dialog.close();
});

btn.getStyleClass().add("btn-primary");
btnCancel.getStyleClass().add("btn-danger");

layout.setActions(btn, btnDummy, btnCancel);
dialog.show();
}

}

@FXML
private void toggleJob(ActionEvent event) {

switchOpen.setSelected(false);
if(Integer.parseInt(txtTotal.getText()) < Integer.parseInt(txtLimit.getText())) {
if (switchOpen.isSelected()) {
createDialog();
}else {
Helpers.EIS_Response.ErrorResponse("Opps!", "Total Population is already on its limit, Adjust the job limit");
} else {
if (Integer.parseInt(txtTotal.getText()) < Integer.parseInt(txtLimit.getText())) {
createDialog();
} else {
Helpers.EIS_Response.ErrorResponse("Opps!", "Total Population is already on its limit, Adjust the job limit");
}
}

}

}
Loading

0 comments on commit 9d51f46

Please sign in to comment.