Example usage for com.vaadin.ui Button addListener

List of usage examples for com.vaadin.ui Button addListener

Introduction

In this page you can find the example usage for com.vaadin.ui Button addListener.

Prototype

@Override
    public Registration addListener(Component.Listener listener) 

Source Link

Usage

From source file:com.openhris.payroll.PayrollSubModules.java

public Window perDiemWindow(Item item) {
    this.item = item;

    VerticalLayout vlayout = new VerticalLayout();
    vlayout.setSpacing(true);/*ww w  .ja v a 2  s .  c  om*/
    vlayout.setMargin(true);

    final Window sub = new Window("PER DIEM", vlayout);
    sub.setWidth("220px");
    sub.setModal(true);
    sub.center();

    final TextField perDiemAmount = new TextField("Amount: ");
    perDiemAmount.setWidth("100%");
    perDiemAmount
            .setValue(util.convertStringToDouble(getPayrollTableItem().getItemProperty("per diem").toString()));
    perDiemAmount.setNullSettingAllowed(false);
    sub.addComponent(perDiemAmount);

    Button save = new Button("SAVE");
    save.setWidth("100%");
    save.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            int payrollId = util
                    .convertStringToInteger(getPayrollTableItem().getItemProperty("id").getValue().toString());
            double amountToBeReceive = util.convertStringToDouble(
                    getPayrollTableItem().getItemProperty("amount to be receive").toString());
            double amountReceived = util
                    .convertStringToDouble(getPayrollTableItem().getItemProperty("amount received").toString());
            double amount = util.convertStringToDouble(perDiemAmount.getValue().toString())
                    - util.convertStringToDouble(
                            getPayrollTableItem().getItemProperty("per diem").getValue().toString());

            boolean result = ps.addPerDiem(payrollId,
                    util.convertStringToDouble(perDiemAmount.getValue().toString()),
                    util.convertStringToDouble(
                            getPayrollTableItem().getItemProperty("per diem").getValue().toString()),
                    amountToBeReceive, amountReceived);
            if (result) {
                getPayrollTableItem().getItemProperty("amount to be receive")
                        .setValue(amountToBeReceive + amount);
                getPayrollTableItem().getItemProperty("amount received").setValue(amountReceived + amount);
                getPayrollTableItem().getItemProperty("per diem").setValue(perDiemAmount.getValue());
                (sub.getParent()).removeWindow(sub);
            }
        }
    });
    sub.addComponent(save);

    return sub;
}

From source file:com.openhris.payroll.ViewFullScreen.java

public ViewFullScreen(boolean prev, int branchId, String payrollDate) {
    this.prev = prev;
    this.branchId = branchId;
    this.payrollDate = payrollDate;

    setSizeFull();/*w  w w  .ja v a2s. c o m*/
    setImmediate(true);
    setClosable(false);

    vlayout.setMargin(false);
    vlayout.setSpacing(true);
    vlayout.setSizeFull();

    payrollRegisterTable(getBranchId(), getPayrollDate(), getPrev());
    vlayout.addComponent(payrollRegisterTbl);

    Button closeBtn = new Button("Close");
    closeBtn.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            PayrollRegisterMainUI payrollRegisterMainUI = new PayrollRegisterMainUI(getBranchId());
            payrollRegisterMainUI.payrollRegisterTable(getBranchId(), getPayrollDate(), getPrev())
                    .removeAllItems();
            payrollRegisterMainUI.payrollRegisterTable(getBranchId(), getPayrollDate(), getPrev());
            close();
        }
    });
    vlayout.addComponent(closeBtn);
    vlayout.setComponentAlignment(closeBtn, Alignment.BOTTOM_RIGHT);
    addComponent(vlayout);
}

From source file:com.openhris.timekeeping.AttendancePolicyWindow.java

VerticalLayout getVlayout() {
    VerticalLayout vlayout = new VerticalLayout();
    vlayout.setSpacing(true);//www  .  j a va2  s .com

    final ComboBox policy = dropDown.populateAttendancePolicyDropDownList(new ComboBox());
    policy.setWidth("100%");
    policy.setNullSelectionAllowed(true);
    policy.setImmediate(true);
    vlayout.addComponent(policy);

    final ComboBox holidayType = new ComboBox("Type: ");
    holidayType.setWidth("100%");
    holidayType.setNullSelectionAllowed(false);
    holidayType.setVisible(false);
    holidayType.setImmediate(true);
    for (String temp : holidayList) {
        holidayType.addItem(temp);
    }
    policy.addListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            if (event.getProperty().getValue() == null) {
                item.getItemProperty("wdo").setValue(0.0);
                item.getItemProperty("sholiday").setValue(0.0);
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("psday").setValue(0.0);
                holidayType.setVisible(false);
                holidayType.removeAllItems();
                for (String temp : holidayList) {
                    holidayType.addItem(temp);
                }
            } else if (event.getProperty().getValue().toString().equals("holiday")
                    || event.getProperty().getValue().toString().equals("working-holiday")) {
                item.getItemProperty("wdo").setValue(0.0);
                item.getItemProperty("sholiday").setValue(0.0);
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("psday").setValue(0.0);
                holidayType.setVisible(true);
            } else if (event.getProperty().getValue().toString().equals("working-day-off")) {
                item.getItemProperty("wdo").setValue(0.0);
                item.getItemProperty("sholiday").setValue(0.0);
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("psday").setValue(0.0);
                holidayType.setVisible(true);

                double additionalWorkingDayOffPay = computation
                        .processAdditionalWorkingDayOff(getEmploymentWage(), getEmploymentWageEntry());
                item.getItemProperty("wdo").setValue(df.format(additionalWorkingDayOffPay));
            } else {
                item.getItemProperty("wdo").setValue(0.0);
                item.getItemProperty("sholiday").setValue(0.0);
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("psday").setValue(0.0);
                holidayType.removeAllItems();
                for (String temp : holidayList) {
                    holidayType.addItem(temp);
                }
                holidayType.setVisible(false);
            }
        }

    });
    holidayType.addListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            double additionalHolidayPay;
            double additionalWorkingDayOffPay;
            double multiplePremiumPay;
            if (policy.getValue() == null) {
            } else if (policy.getValue().equals("working-holiday")) {
                item.getItemProperty("psday").setValue(0.0);
                if (event.getProperty().getValue().toString().equals("legal-holiday")) {
                    additionalHolidayPay = computation.processAdditionalHolidayPay(
                            event.getProperty().getValue().toString(), getEmploymentWage());
                    item.getItemProperty("lholiday").setValue(new Double(df.format(additionalHolidayPay)));
                    item.getItemProperty("sholiday").setValue(0.0);
                } else {
                    additionalHolidayPay = computation.processAdditionalHolidayPay(
                            event.getProperty().getValue().toString(), getEmploymentWage());
                    item.getItemProperty("sholiday").setValue(new Double(df.format(additionalHolidayPay)));
                    item.getItemProperty("lholiday").setValue(0.0);
                }
            } else if (policy.getValue().equals("holiday")) {
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("sholiday").setValue(0.0);
                if (event.getProperty().getValue().toString().equals("legal-holiday")) {
                    if (getEmploymentWageEntry().equals("daily")) {
                        additionalHolidayPay = computation.processAdditionalHolidayPay(
                                event.getProperty().getValue().toString(), getEmploymentWage());
                        item.getItemProperty("psday").setValue(new Double(df.format(additionalHolidayPay)));
                    } else {
                        item.getItemProperty("psday").setValue(0.0);
                    }
                } else {
                    item.getItemProperty("psday").setValue(0.0);
                }
            } else if (policy.getValue().equals("working-day-off")) {
                if (event.getProperty().getValue() == null) {
                    item.getItemProperty("sholiday").setValue(0.0);
                    item.getItemProperty("lholiday").setValue(0.0);
                    item.getItemProperty("psday").setValue(0.0);
                } else if (event.getProperty().getValue().equals("legal-holiday")) {
                    additionalWorkingDayOffPay = computation.processAdditionalWorkingDayOff(getEmploymentWage(),
                            getEmploymentWageEntry());
                    item.getItemProperty("wdo").setValue(df.format(additionalWorkingDayOffPay));
                    multiplePremiumPay = computation.processMultiplePremiumPay(
                            event.getProperty().getValue().toString(), getEmploymentWage());
                    item.getItemProperty("lholiday").setValue(multiplePremiumPay);
                    item.getItemProperty("sholiday").setValue(0.0);
                } else {
                    additionalWorkingDayOffPay = computation.processAdditionalWorkingDayOff(getEmploymentWage(),
                            getEmploymentWageEntry());
                    item.getItemProperty("wdo").setValue(df.format(additionalWorkingDayOffPay));
                    multiplePremiumPay = computation.processMultiplePremiumPay(
                            event.getProperty().getValue().toString(), getEmploymentWage());
                    item.getItemProperty("sholiday").setValue(multiplePremiumPay);
                    item.getItemProperty("lholiday").setValue(0.0);
                }
            }
        }

    });
    vlayout.addComponent(holidayType);

    Button button = new Button("UPDATE POLICY");
    button.setWidth("100%");
    button.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            String policyStr;
            if (policy.getValue() == null || policy.getValue().toString().isEmpty()) {
                policyStr = "";
            } else {
                policyStr = policy.getValue().toString();
            }
            if (policyStr.equals("holiday") || policyStr.equals("working-holiday")) {
                if (holidayType.getValue() == null) {
                    getWindow().showNotification("Select a Holiday type!",
                            Window.Notification.TYPE_ERROR_MESSAGE);
                    return;
                }
            }
            item.getItemProperty("policy").setValue(policyStr);
            item.getItemProperty("holidays").setValue(holidayType.getValue());

            close();
        }

    });
    vlayout.addComponent(button);

    return vlayout;
}

From source file:com.openhris.timekeeping.AttendanceTableContainerWindow.java

VerticalLayout generateAttendanceTable() {
    VerticalLayout vlayout = new VerticalLayout();
    vlayout.setSizeFull();//from  w w w  . j  a v  a 2 s  .c om
    vlayout.setSpacing(true);

    final Table table = new Table();
    table.removeAllItems();
    table.setEnabled(true);
    table.setSizeFull();
    table.setImmediate(true);
    table.setColumnCollapsingAllowed(true);

    table.addContainerProperty("date", String.class, null);
    table.addContainerProperty("policy", ComboBox.class, null);
    table.addContainerProperty("holidays", ComboBox.class, null);
    table.addContainerProperty("premium", CheckBox.class, null);
    table.addContainerProperty("lates", TextField.class, null);
    table.addContainerProperty("undertime", TextField.class, null);
    table.addContainerProperty("overtime", TextField.class, null);
    table.addContainerProperty("night differential", TextField.class, null);
    table.addContainerProperty("duty manager", TextField.class, null);
    table.addContainerProperty("l/min", Double.class, null);
    table.addContainerProperty("u/min", Double.class, null);
    table.addContainerProperty("o/min", Double.class, null);
    table.addContainerProperty("nd/min", Double.class, null);
    table.addContainerProperty("dm/min", Double.class, null);
    table.addContainerProperty("lholiday", Double.class, null);
    table.addContainerProperty("sholiday", Double.class, null);
    table.addContainerProperty("wdo", Double.class, null);
    table.addContainerProperty("psday", Double.class, null); //paid non-working holiday
    table.addContainerProperty("latesLH", Double.class, null);
    table.addContainerProperty("latesSH", Double.class, null);
    table.addContainerProperty("latesWO", Double.class, null);
    table.addContainerProperty("undertimeLH", Double.class, null);
    table.addContainerProperty("undertimeSH", Double.class, null);
    table.addContainerProperty("undertimeWO", Double.class, null);

    table.setColumnAlignment("date", Table.ALIGN_CENTER);
    table.setColumnAlignment("policy", Table.ALIGN_CENTER);
    table.setColumnAlignment("premium", Table.ALIGN_CENTER);
    table.setColumnAlignment("lates", Table.ALIGN_CENTER);
    table.setColumnAlignment("undertime", Table.ALIGN_CENTER);
    table.setColumnAlignment("overtime", Table.ALIGN_CENTER);
    table.setColumnAlignment("night differential", Table.ALIGN_CENTER);
    table.setColumnAlignment("duty manager", Table.ALIGN_CENTER);
    table.setColumnAlignment("l/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("u/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("o/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("nd/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("dm/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("lholiday", Table.ALIGN_RIGHT);
    table.setColumnAlignment("sholiday", Table.ALIGN_RIGHT);
    table.setColumnAlignment("wdo", Table.ALIGN_RIGHT);
    table.setColumnAlignment("psday", Table.ALIGN_RIGHT);
    table.setColumnAlignment("latesLH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("latesSH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("latesWO", Table.ALIGN_RIGHT);
    table.setColumnAlignment("undertimeLH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("undertimeSH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("undertimeWO", Table.ALIGN_RIGHT);

    table.setColumnWidth("date", 70);
    table.setColumnWidth("policy", 125);
    table.setColumnWidth("holidays", 125);
    table.setColumnWidth("premium", 60);
    table.setColumnWidth("lates", 50);
    table.setColumnWidth("undertime", 60);
    table.setColumnWidth("overtime", 50);
    table.setColumnWidth("night differential", 110);
    table.setColumnWidth("duty manager", 80);
    table.setColumnWidth("l/min", 40);
    table.setColumnWidth("u/min", 40);
    table.setColumnWidth("o/min", 40);
    table.setColumnWidth("nd/min", 50);

    table.setColumnCollapsed("latesLH", true);
    table.setColumnCollapsed("latesSH", true);
    table.setColumnCollapsed("latesWO", true);
    table.setColumnCollapsed("undertimeLH", true);
    table.setColumnCollapsed("undertimeSH", true);
    table.setColumnCollapsed("undertimeWO", true);

    final String[] holidayList = { "legal-holiday", "special-holiday" };
    if (getEmploymentWageEntry().equals("monthly")) {
        employmentWage = utilities.roundOffToTwoDecimalPlaces((employmentWage * 12) / 314);
    }

    for (int i = 0; i < dateList.size(); i++) {
        Object itemId = new Integer(i);
        final ComboBox holidays = dropDown.populateAttendanceHolidayDropDownList(new ComboBox());
        holidays.setEnabled(false);
        holidays.setWidth("120px");
        holidays.setNullSelectionAllowed(false);
        holidays.setData(itemId);

        final CheckBox premium = new CheckBox();
        premium.setData(itemId);
        premium.setImmediate(true);

        final TextField lates = new TextField();
        lates.setWidth("100%");
        lates.setValue("0");
        lates.addStyleName("numerical");
        lates.setEnabled(true);
        lates.setData(itemId);
        lates.setImmediate(true);

        final TextField undertime = new TextField();
        undertime.setWidth("100%");
        undertime.setValue("0");
        undertime.addStyleName("numerical");
        undertime.setEnabled(true);
        undertime.setData(itemId);
        undertime.setImmediate(true);

        final TextField overtime = new TextField();
        overtime.setWidth("100%");
        overtime.setValue("0");
        overtime.addStyleName("numerical");
        overtime.setEnabled(true);
        overtime.setData(itemId);
        overtime.setImmediate(true);

        final TextField nightDifferential = new TextField();
        nightDifferential.setWidth("70%");
        nightDifferential.setValue("0");
        nightDifferential.addStyleName("numerical");
        nightDifferential.setEnabled(true);
        nightDifferential.setData(itemId);
        nightDifferential.setImmediate(true);

        final TextField dutyManager = new TextField();
        dutyManager.setWidth("80%");
        dutyManager.setValue("0");
        dutyManager.addStyleName("numerical");
        dutyManager.setEnabled(true);
        dutyManager.setData(itemId);
        dutyManager.setImmediate(true);

        final ComboBox policy = dropDown.populateAttendancePolicyDropDownList(new ComboBox());
        policy.setWidth("120px");
        policy.setNullSelectionAllowed(true);
        policy.setData(itemId);
        policy.addListener(new Property.ValueChangeListener() {

            @Override
            public void valueChange(Property.ValueChangeEvent event) {
                Object itemId = policy.getData();
                Item item = table.getItem(itemId);
                double additionalWorkingDayOffPay = 0;

                holidays.removeAllItems();
                for (String temp : holidayList) {
                    holidays.addItem(temp);
                }

                premium.setValue(false);
                lates.setValue("0");
                undertime.setValue("0");
                overtime.setValue("0");
                nightDifferential.setValue("0");
                item.getItemProperty("l/min").setValue(0.0);
                item.getItemProperty("u/min").setValue(0.0);
                item.getItemProperty("o/min").setValue(0.0);
                item.getItemProperty("nd/min").setValue(0.0);
                item.getItemProperty("dm/min").setValue(0.0);
                item.getItemProperty("sholiday").setValue(0.0);
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("wdo").setValue(0.0);
                item.getItemProperty("psday").setValue(0.0);
                item.getItemProperty("psday").setValue(0.0);
                item.getItemProperty("latesLH").setValue(0.0);
                item.getItemProperty("latesSH").setValue(0.0);
                item.getItemProperty("latesWO").setValue(0.0);
                item.getItemProperty("undertimeLH").setValue(0.0);
                item.getItemProperty("undertimeSH").setValue(0.0);
                item.getItemProperty("undertimeWO").setValue(0.0);

                if (event.getProperty().getValue() == null) {
                    holidays.setEnabled(false);
                    lates.setEnabled(true);
                    undertime.setEnabled(true);
                    overtime.setEnabled(true);
                    nightDifferential.setEnabled(true);
                    dutyManager.setEnabled(true);
                } else if (event.getProperty().getValue().equals("holiday")) {
                    holidays.setEnabled(true);
                    lates.setEnabled(false);
                    undertime.setEnabled(false);
                    overtime.setEnabled(false);
                    nightDifferential.setEnabled(false);
                    dutyManager.setEnabled(false);
                } else if (event.getProperty().getValue().equals("working-holiday")) {
                    holidays.setEnabled(true);
                    lates.setEnabled(true);
                    undertime.setEnabled(true);
                    overtime.setEnabled(true);
                    nightDifferential.setEnabled(true);
                    dutyManager.setEnabled(true);
                } else if (event.getProperty().getValue().equals("working-day-off")) {
                    holidays.setEnabled(true);
                    lates.setEnabled(true);
                    undertime.setEnabled(true);
                    overtime.setEnabled(true);
                    nightDifferential.setEnabled(true);
                    dutyManager.setEnabled(true);

                    additionalWorkingDayOffPay = computation.processAdditionalWorkingDayOff(getEmploymentWage(),
                            getEmploymentWageEntry());
                    System.out.println("wdo: " + additionalWorkingDayOffPay);
                    if (getBranch().equals("on-call and trainees")) {
                        item.getItemProperty("wdo")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(getEmploymentWage()));
                    } else {
                        item.getItemProperty("wdo")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(additionalWorkingDayOffPay));
                    }
                } else {
                    holidays.setEnabled(false);
                    lates.setEnabled(false);
                    undertime.setEnabled(false);
                    overtime.setEnabled(false);
                    nightDifferential.setEnabled(false);
                    dutyManager.setEnabled(false);
                }
            }
        });
        policy.setImmediate(true);

        holidays.addListener(new ComboBox.ValueChangeListener() {

            @Override
            public void valueChange(Property.ValueChangeEvent event) {
                Object itemId = holidays.getData();
                Item item = table.getItem(itemId);

                String policyStr = item.getItemProperty("policy").toString();
                double additionalHolidayPay = 0;
                double multiplePremiumPay = 0;
                double additionalWorkingDayOffPay = 0;

                premium.setValue(false);
                lates.setValue("0");
                undertime.setValue("0");
                overtime.setValue("0");
                nightDifferential.setValue("0");
                item.getItemProperty("sholiday").setValue(0.0);
                item.getItemProperty("lholiday").setValue(0.0);
                item.getItemProperty("latesLH").setValue(0.0);
                item.getItemProperty("latesSH").setValue(0.0);
                item.getItemProperty("latesWO").setValue(0.0);
                item.getItemProperty("undertimeLH").setValue(0.0);
                item.getItemProperty("undertimeSH").setValue(0.0);
                item.getItemProperty("undertimeWO").setValue(0.0);

                if (policyStr == null) {
                } else {
                    if (policyStr.equals("working-holiday")) {
                        if (event.getProperty().getValue().equals("legal-holiday")) {
                            additionalHolidayPay = computation.processAdditionalHolidayPay(
                                    event.getProperty().getValue().toString(), getEmploymentWage());
                            item.getItemProperty("lholiday")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(additionalHolidayPay));
                            item.getItemProperty("sholiday").setValue(0.0);
                        } else {
                            additionalHolidayPay = computation.processAdditionalHolidayPay(
                                    event.getProperty().getValue().toString(), getEmploymentWage());
                            item.getItemProperty("sholiday")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(additionalHolidayPay));
                            item.getItemProperty("lholiday").setValue(0.0);
                        }
                    } else if (policyStr.equals("holiday")) {
                        if (event.getProperty().getValue().equals("legal-holiday")) {
                            if (getEmploymentWageEntry().equals("daily")) {
                                additionalHolidayPay = computation.processAdditionalHolidayPay(
                                        event.getProperty().getValue().toString(), getEmploymentWage());
                                item.getItemProperty("psday")
                                        .setValue(utilities.roundOffToTwoDecimalPlaces(additionalHolidayPay));
                            } else {
                                item.getItemProperty("psday").setValue(0.0);
                            }
                        } else {
                            item.getItemProperty("psday").setValue(0.0);
                        }
                    } else if (policyStr.equals("working-day-off")) {
                        if (event.getProperty().getValue() == null) {
                            item.getItemProperty("psday").setValue(0.0);
                        } else if (event.getProperty().getValue().equals("legal-holiday")) {
                            additionalWorkingDayOffPay = computation.processAdditionalWorkingDayOff(
                                    getEmploymentWage(), getEmploymentWageEntry());
                            item.getItemProperty("wdo")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(additionalWorkingDayOffPay));
                            multiplePremiumPay = computation.processMultiplePremiumPay(
                                    event.getProperty().getValue().toString(), getEmploymentWage());
                            item.getItemProperty("lholiday").setValue(multiplePremiumPay);
                            item.getItemProperty("sholiday").setValue(0.0);
                        } else {
                            additionalWorkingDayOffPay = computation.processAdditionalWorkingDayOff(
                                    getEmploymentWage(), getEmploymentWageEntry());
                            item.getItemProperty("wdo")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(additionalWorkingDayOffPay));
                            multiplePremiumPay = computation.processMultiplePremiumPay(
                                    event.getProperty().getValue().toString(), getEmploymentWage());
                            item.getItemProperty("sholiday").setValue(multiplePremiumPay);
                            item.getItemProperty("lholiday").setValue(0.0);
                        }
                    }
                }
            }
        });
        holidays.setImmediate(true);

        premium.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(Button.ClickEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);

                lates.setValue("0");
                undertime.setValue("0");
                overtime.setValue("0");
                nightDifferential.setValue("0");
                dutyManager.setValue("0");

                item.getItemProperty("l/min").setValue(0.0);
                item.getItemProperty("u/min").setValue(0.0);
                item.getItemProperty("o/min").setValue(0.0);
                item.getItemProperty("nd/min").setValue(0.0);
                item.getItemProperty("dm/min").setValue(0.0);

                if (event.getButton().booleanValue() == true) {
                    premiumRate = 0.1;
                } else {
                    premiumRate = 0.0;
                }

                item.getItemProperty("wdo")
                        .setValue(utilities.roundOffToTwoDecimalPlaces(
                                Double.parseDouble(item.getItemProperty("wdo").getValue().toString())
                                        + (Double.parseDouble(item.getItemProperty("wdo").getValue().toString())
                                                * premiumRate)));

                item.getItemProperty("lholiday")
                        .setValue(utilities.roundOffToTwoDecimalPlaces(Double
                                .parseDouble(item.getItemProperty("lholiday").getValue().toString())
                                + (Double.parseDouble(item.getItemProperty("lholiday").getValue().toString())
                                        * premiumRate)));

                item.getItemProperty("sholiday")
                        .setValue(utilities.roundOffToTwoDecimalPlaces(Double
                                .parseDouble(item.getItemProperty("sholiday").getValue().toString())
                                + (Double.parseDouble(item.getItemProperty("sholiday").getValue().toString())
                                        * premiumRate)));
            }
        });

        lates.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double lateDeduction;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for lates!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    if (getBranch().equals("on-call and trainees")) {
                        lateDeduction = computation.processEmployeesLatesForOnCall(policyStr, holidayStr,
                                utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                        item.getItemProperty("l/min")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                    } else {
                        if (utilities.convertStringToInteger(event.getText().trim()) > 5) {
                            lateDeduction = computation.processEmployeesLates(policyStr, holidayStr,
                                    utilities.convertStringToInteger(event.getText().trim()),
                                    getEmploymentWage());
                            if (policyStr == null || policyStr.isEmpty()) {
                                item.getItemProperty("l/min")
                                        .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                            } else if (policyStr.equals("working-holiday")
                                    && holidayStr.equals("legal-holiday")) {
                                item.getItemProperty("latesLH")
                                        .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                                item.getItemProperty("latesSH").setValue(0.0);
                                item.getItemProperty("latesWO").setValue(0.0);
                                item.getItemProperty("l/min").setValue(0.0);
                            } else if (policyStr.equals("working-holiday")
                                    && holidayStr.equals("special-holiday")) {
                                item.getItemProperty("latesLH").setValue(0.0);
                                item.getItemProperty("latesSH")
                                        .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction * 0.3));
                                item.getItemProperty("latesWO").setValue(0.0);
                                if (getEmploymentWageEntry().equals("daily")) {
                                    item.getItemProperty("l/min").setValue(lateDeduction);
                                } else {
                                    item.getItemProperty("l/min").setValue(0.0);
                                }
                            } else if (policyStr.equals("working-day-off")) {
                                item.getItemProperty("latesLH").setValue(0.0);
                                item.getItemProperty("latesSH").setValue(0.0);

                                if (getEmploymentWageEntry().equals("daily")) {
                                    item.getItemProperty("latesWO")
                                            .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction * .3));
                                    item.getItemProperty("l/min").setValue(lateDeduction);
                                } else {
                                    item.getItemProperty("latesWO")
                                            .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction * .3));
                                    item.getItemProperty("l/min").setValue(0.0);
                                }
                            }
                        } else {
                            item.getItemProperty("l/min").setValue(0.0);
                        }
                    }

                } else {
                    item.getItemProperty("l/min").setValue(0.0);
                }

            }
        });

        undertime.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double undertimeDeduction;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for undertime!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    if (getBranch().equals("on-call and trainees")) {
                        undertimeDeduction = computation.processEmployeesUndertimeForOnCall(policyStr,
                                holidayStr, utilities.convertStringToInteger(event.getText().trim()),
                                getEmploymentWage());
                        item.getItemProperty("u/min")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                    } else {
                        undertimeDeduction = computation.processEmployeesUndertime(policyStr, holidayStr,
                                utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                        if (policyStr == null || policyStr.isEmpty()) {
                            item.getItemProperty("u/min")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                        } else if (policyStr.equals("working-holiday") && holidayStr.equals("legal-holiday")) {
                            item.getItemProperty("undertimeLH")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                            item.getItemProperty("undertimeSH").setValue(0.0);
                            item.getItemProperty("undertimeWO").setValue(0.0);
                            item.getItemProperty("u/min").setValue(0.0);
                        } else if (policyStr.equals("working-holiday")
                                && holidayStr.equals("special-holiday")) {
                            item.getItemProperty("undertimeLH").setValue(0.0);
                            item.getItemProperty("undertimeSH")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction * 0.3));
                            item.getItemProperty("undertimeWO").setValue(0.0);
                            if (getEmploymentWageEntry().equals("daily")) {
                                item.getItemProperty("u/min").setValue(undertimeDeduction);
                            } else {
                                item.getItemProperty("u/min").setValue(0.0);
                            }

                        } else if (policyStr.equals("working-day-off")) {
                            item.getItemProperty("undertimeLH").setValue(0.0);
                            item.getItemProperty("undertimeSH").setValue(0.0);
                            item.getItemProperty("undertimeWO")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                            item.getItemProperty("u/min").setValue(0.0);
                            if (getEmploymentWageEntry().equals("daily")) {
                                item.getItemProperty("undertimeWO").setValue(
                                        utilities.roundOffToTwoDecimalPlaces(undertimeDeduction * .3));
                                item.getItemProperty("u/min").setValue(undertimeDeduction);
                            } else {
                                item.getItemProperty("undertimeWO").setValue(
                                        utilities.roundOffToTwoDecimalPlaces(undertimeDeduction * .3));
                                item.getItemProperty("u/min").setValue(0.0);
                            }
                        }
                    }

                } else {
                    item.getItemProperty("u/min").setValue(0.0);
                }
            }
        });

        overtime.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double overtimeAddition;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for undertime!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    String branch = getBranch().replaceAll("\\(.*?\\)", "");
                    if (branch.trim().equals("on-call and trainees")) {
                        overtimeAddition = computation.processEmployeesOvertimeForOnCall(policyStr, holidayStr,
                                utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                        item.getItemProperty("o/min")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(overtimeAddition));
                    } else {
                        overtimeAddition = computation.processEmployeesOvertime(policyStr, holidayStr,
                                utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                        item.getItemProperty("o/min").setValue(utilities.roundOffToTwoDecimalPlaces(
                                overtimeAddition + (overtimeAddition * premiumRate)));
                    }

                } else {
                    item.getItemProperty("o/min").setValue(0.0);
                }
            }
        });

        nightDifferential.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double nightDifferentialAddition;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for undertime!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    if (getBranch().equals("on-call and trainees")) {
                        nightDifferentialAddition = computation.processEmployeesNightDifferentialForOnCall(
                                policyStr, holidayStr, utilities.convertStringToInteger(event.getText().trim()),
                                getEmploymentWage());
                        item.getItemProperty("nd/min").setValue(utilities.roundOffToTwoDecimalPlaces(
                                nightDifferentialAddition + (nightDifferentialAddition * premiumRate)));
                    } else {
                        nightDifferentialAddition = computation.processEmployeesNightDifferential(policyStr,
                                holidayStr, utilities.convertStringToInteger(event.getText().trim()),
                                getEmploymentWage());
                        item.getItemProperty("nd/min").setValue(utilities.roundOffToTwoDecimalPlaces(
                                nightDifferentialAddition + (nightDifferentialAddition * premiumRate)));
                    }

                } else {
                    item.getItemProperty("nd/min").setValue(0.0);
                }
            }
        });

        dutyManager.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double dutyManagerAddition;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for Duty Manager!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    if (getBranch().equals("on-call and trainees")) {
                        dutyManagerAddition = computation.processEmployeeDutyManagerForOnCall(policyStr,
                                holidayStr, utilities.convertStringToInteger(event.getText().trim()),
                                getEmploymentWage());
                        item.getItemProperty("dm/min")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(dutyManagerAddition));
                    } else {
                        dutyManagerAddition = computation.processEmployeeDutyManager(policyStr, holidayStr,
                                utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                        item.getItemProperty("dm/min")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(dutyManagerAddition));
                    }

                } else {
                    item.getItemProperty("dm/min").setValue(0.0);
                }
            }
        });

        table.addItem(new Object[] { utilities.convertDateFormat(dateList.get(i).toString()), policy, holidays,
                premium, lates, undertime, overtime, nightDifferential, dutyManager, 0.0, 0.0, 0.0, 0.0, 0.0,
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, //lates from legal & special holiday 
                0.0, 0.0, 0.0 //undertime from legal & special holiday
        }, i);
    }
    table.setPageLength(table.size());

    vlayout.addComponent(table);

    final Button button = new Button();
    button.setCaption("Save Attendance Data");
    vlayout.addComponent(button);

    for (Object listener : button.getListeners(Button.ClickListener.class)) {
        button.removeListener(Button.ClickListener.class, listener);
    }

    button.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            try {
                Collection attendanceTableCollection = table.getContainerDataSource().getItemIds();
                List<Timekeeping> attendanceList = new ArrayList<Timekeeping>();
                for (int i = 0; i < attendanceTableCollection.size(); i++) {
                    String str = table.getItem(i).toString();
                    String[] attStr = str.split(" ");
                    List<String> tkeepList = new ArrayList<String>(Arrays.asList(attStr));

                    Timekeeping t = new Timekeeping();
                    t.setAttendanceDate(utilities.parsingDate(tkeepList.get(0)));
                    t.setPolicy(tkeepList.get(1));
                    t.setHoliday(tkeepList.get(2));
                    t.setPremium(utilities.convertStringToBoolean(tkeepList.get(3)));
                    t.setLates(utilities.convertStringToDouble(tkeepList.get(4)));
                    t.setUndertime(utilities.convertStringToDouble(tkeepList.get(5)));
                    t.setOvertime(utilities.convertStringToDouble(tkeepList.get(6)));
                    t.setNightDifferential(utilities.convertStringToDouble(tkeepList.get(7)));
                    t.setDutyManager(utilities.convertStringToDouble(tkeepList.get(8)));
                    t.setLateDeduction(utilities.convertStringToDouble(tkeepList.get(9)));
                    t.setUndertimeDeduction(utilities.convertStringToDouble(tkeepList.get(10)));
                    t.setOvertimePaid(utilities.convertStringToDouble(tkeepList.get(11)));
                    t.setNightDifferentialPaid(utilities.convertStringToDouble(tkeepList.get(12)));
                    t.setDutyManagerPaid(utilities.convertStringToDouble(tkeepList.get(13)));
                    t.setLegalHolidayPaid(utilities.convertStringToDouble(tkeepList.get(14)));
                    t.setSpecialHolidayPaid(utilities.convertStringToDouble(tkeepList.get(15)));
                    t.setWorkingDayOffPaid(utilities.convertStringToDouble(tkeepList.get(16)));
                    t.setNonWorkingHolidayPaid(utilities.convertStringToDouble(tkeepList.get(17)));
                    t.setLatesLegalHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(18)));
                    t.setLatesSpecialHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(19)));
                    t.setLatesWorkingDayOffDeduction(utilities.convertStringToDouble(tkeepList.get(20)));
                    t.setUndertimeLegalHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(21)));
                    t.setUndertimeSpecialHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(22)));
                    t.setUndertimeWorkingDayOffDeduction(utilities.convertStringToDouble(tkeepList.get(23)));
                    attendanceList.add(t);
                }

                ProcessPayrollComputation processPayroll = new ProcessPayrollComputation(employeeId,
                        getBranchId());
                processPayroll.initVariables();
                processPayroll.initVariablesForComputation(attendanceList);
                boolean result = processPayroll.processPayrollComputation(payrollDate, payrollPeriod,
                        attendancePeriodFrom, attendancePeriodTo, 0);
                if (result) {
                    close();
                } else {
                    getWindow().showNotification("SQL ERROR");
                }
            } catch (Exception e) {
                e.getMessage();
            }
        }

    });

    return vlayout;
}

From source file:com.openhris.timekeeping.EditAttendanceTableContainerWindow.java

VerticalLayout generateAttendanceTable() {
    VerticalLayout vlayout = new VerticalLayout();
    vlayout.setSizeFull();//from  w  ww  .ja v a  2  s.c  o m
    vlayout.setSpacing(true);

    if (getEmploymentWageEntry().equals("monthly")) {
        employmentWage = utilities.roundOffToTwoDecimalPlaces((employmentWage * 12) / 314);
    }

    final Table table = new Table();
    table.removeAllItems();
    table.setEnabled(true);
    table.setWidth("100%");
    table.setImmediate(true);
    table.setColumnCollapsingAllowed(true);

    table.addContainerProperty("edit", CheckBox.class, null);
    table.addContainerProperty("date", String.class, null);
    table.addContainerProperty("policy", String.class, null);
    table.addContainerProperty("holidays", String.class, null);
    table.addContainerProperty("premium", CheckBox.class, null);
    table.addContainerProperty("lates", TextField.class, null);
    table.addContainerProperty("undertime", TextField.class, null);
    table.addContainerProperty("overtime", TextField.class, null);
    table.addContainerProperty("night differential", TextField.class, null);
    table.addContainerProperty("l/min", Double.class, null);
    table.addContainerProperty("u/min", Double.class, null);
    table.addContainerProperty("o/min", Double.class, null);
    table.addContainerProperty("nd/min", Double.class, null);
    table.addContainerProperty("lholiday", Double.class, null);
    table.addContainerProperty("sholiday", Double.class, null);
    table.addContainerProperty("wdo", Double.class, null);
    table.addContainerProperty("psday", Double.class, null); //paid non-working holiday
    table.addContainerProperty("latesLH", Double.class, null);
    table.addContainerProperty("latesSH", Double.class, null);
    table.addContainerProperty("latesWO", Double.class, null);
    table.addContainerProperty("undertimeLH", Double.class, null);
    table.addContainerProperty("undertimeSH", Double.class, null);
    table.addContainerProperty("undertimeWO", Double.class, null);

    table.setColumnAlignment("edit", Table.ALIGN_CENTER);
    table.setColumnAlignment("date", Table.ALIGN_CENTER);
    table.setColumnAlignment("policy", Table.ALIGN_CENTER);
    table.setColumnAlignment("premium", Table.ALIGN_CENTER);
    table.setColumnAlignment("lates", Table.ALIGN_CENTER);
    table.setColumnAlignment("undertime", Table.ALIGN_CENTER);
    table.setColumnAlignment("overtime", Table.ALIGN_CENTER);
    table.setColumnAlignment("night differential", Table.ALIGN_CENTER);
    table.setColumnAlignment("l/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("u/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("o/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("nd/min", Table.ALIGN_RIGHT);
    table.setColumnAlignment("lholiday", Table.ALIGN_RIGHT);
    table.setColumnAlignment("sholiday", Table.ALIGN_RIGHT);
    table.setColumnAlignment("wdo", Table.ALIGN_RIGHT);
    table.setColumnAlignment("psday", Table.ALIGN_RIGHT);
    table.setColumnAlignment("latesLH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("latesSH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("latesWO", Table.ALIGN_RIGHT);
    table.setColumnAlignment("undertimeLH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("undertimeSH", Table.ALIGN_RIGHT);
    table.setColumnAlignment("undertimeWO", Table.ALIGN_RIGHT);

    table.setColumnCollapsed("latesLH", true);
    table.setColumnCollapsed("latesSH", true);
    table.setColumnCollapsed("latesWO", true);
    table.setColumnCollapsed("undertimeLH", true);
    table.setColumnCollapsed("undertimeSH", true);
    table.setColumnCollapsed("undertimeWO", true);

    final String[] holidayList = { "legal-holiday", "special-holiday" };
    for (int i = 0; i < getDateList().size(); i++) {
        Object itemId = new Integer(i);

        final CheckBox edit = new CheckBox();
        edit.setData(i);
        edit.setEnabled(UserAccessControl.isEditAttendance());
        edit.setImmediate(true);

        final CheckBox premium = new CheckBox();
        premium.setData(itemId);
        premium.setEnabled(false);
        premium.setImmediate(true);

        final TextField lates = new TextField();
        lates.setWidth("50px");
        lates.setValue("0");
        lates.setEnabled(true);
        lates.setData(itemId);
        lates.setEnabled(false);
        lates.setImmediate(true);

        final TextField undertime = new TextField();
        undertime.setWidth("50px");
        undertime.setValue("0");
        undertime.setEnabled(true);
        undertime.setData(itemId);
        undertime.setEnabled(false);
        undertime.setImmediate(true);

        final TextField overtime = new TextField();
        overtime.setWidth("50px");
        overtime.setValue("0");
        overtime.setEnabled(true);
        overtime.setData(itemId);
        overtime.setEnabled(false);
        overtime.setImmediate(true);

        final TextField nightDifferential = new TextField();
        nightDifferential.setWidth("50px");
        nightDifferential.setValue("0");
        nightDifferential.setEnabled(true);
        nightDifferential.setData(itemId);
        nightDifferential.setEnabled(false);
        nightDifferential.setImmediate(true);

        edit.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(Button.ClickEvent event) {
                premium.setEnabled(event.getButton().booleanValue());
                lates.setEnabled(event.getButton().booleanValue());
                undertime.setEnabled(event.getButton().booleanValue());
                overtime.setEnabled(event.getButton().booleanValue());
                nightDifferential.setEnabled(event.getButton().booleanValue());
            }
        });

        premium.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(Button.ClickEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);

                lates.setValue("0");
                undertime.setValue("0");
                overtime.setValue("0");
                nightDifferential.setValue("0");

                item.getItemProperty("l/min").setValue(0.0);
                item.getItemProperty("u/min").setValue(0.0);
                item.getItemProperty("o/min").setValue(0.0);
                item.getItemProperty("nd/min").setValue(0.0);

                if (event.getButton().booleanValue() == true) {
                    premiumRate = 0.1;
                } else {
                    premiumRate = 0.0;
                }

                item.getItemProperty("wdo")
                        .setValue(utilities.roundOffToTwoDecimalPlaces(
                                Double.parseDouble(item.getItemProperty("wdo").getValue().toString())
                                        + (Double.parseDouble(item.getItemProperty("wdo").getValue().toString())
                                                * premiumRate)));

                item.getItemProperty("lholiday")
                        .setValue(utilities.roundOffToTwoDecimalPlaces(Double
                                .parseDouble(item.getItemProperty("lholiday").getValue().toString())
                                + (Double.parseDouble(item.getItemProperty("lholiday").getValue().toString())
                                        * premiumRate)));

                item.getItemProperty("sholiday")
                        .setValue(utilities.roundOffToTwoDecimalPlaces(Double
                                .parseDouble(item.getItemProperty("sholiday").getValue().toString())
                                + (Double.parseDouble(item.getItemProperty("sholiday").getValue().toString())
                                        * premiumRate)));
            }
        });

        lates.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double lateDeduction;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for lates!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    if (utilities.convertStringToInteger(event.getText().trim()) > 5) {
                        lateDeduction = computation.processEmployeesLates(policyStr, holidayStr,
                                utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                        if (policyStr == null || policyStr.isEmpty()) {
                            item.getItemProperty("l/min")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                        } else if (policyStr.equals("working-holiday") && holidayStr.equals("legal-holiday")) {
                            item.getItemProperty("latesLH")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                            item.getItemProperty("latesSH").setValue(0.0);
                            item.getItemProperty("latesWO").setValue(0.0);
                            item.getItemProperty("l/min").setValue(0.0);
                        } else if (policyStr.equals("working-holiday")
                                && holidayStr.equals("special-holiday")) {
                            item.getItemProperty("latesLH").setValue(0.0);
                            item.getItemProperty("latesSH")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                            item.getItemProperty("latesWO").setValue(0.0);
                            item.getItemProperty("l/min").setValue(0.0);
                        } else if (policyStr.equals("working-day-off")) {
                            item.getItemProperty("latesLH").setValue(0.0);
                            item.getItemProperty("latesSH").setValue(0.0);
                            item.getItemProperty("latesWO")
                                    .setValue(utilities.roundOffToTwoDecimalPlaces(lateDeduction));
                            item.getItemProperty("l/min").setValue(0.0);
                        }
                    } else {
                        item.getItemProperty("l/min").setValue(0.0);
                    }
                } else {
                    item.getItemProperty("l/min").setValue(0.0);
                }

            }
        });

        undertime.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double undertimeDeduction;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for undertime!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    undertimeDeduction = computation.processEmployeesUndertime(policyStr, holidayStr,
                            utilities.convertStringToInteger(event.getText().trim()), getEmploymentWage());
                    if (policyStr == null || policyStr.isEmpty()) {
                        item.getItemProperty("u/min")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                    } else if (policyStr.equals("working-holiday") && holidayStr.equals("legal-holiday")) {
                        item.getItemProperty("undertimeLH")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                        item.getItemProperty("undertimeSH").setValue(0.0);
                        item.getItemProperty("undertimeWO").setValue(0.0);
                        item.getItemProperty("u/min").setValue(0.0);
                    } else if (policyStr.equals("working-holiday") && holidayStr.equals("special-holiday")) {
                        item.getItemProperty("undertimeLH").setValue(0.0);
                        item.getItemProperty("undertimeSH")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                        item.getItemProperty("undertimeWO").setValue(0.0);
                        item.getItemProperty("u/min").setValue(0.0);
                    } else if (policyStr.equals("working-day-off")) {
                        item.getItemProperty("undertimeLH").setValue(0.0);
                        item.getItemProperty("undertimeSH").setValue(0.0);
                        item.getItemProperty("undertimeWO")
                                .setValue(utilities.roundOffToTwoDecimalPlaces(undertimeDeduction));
                        item.getItemProperty("u/min").setValue(0.0);
                    }
                } else {
                    item.getItemProperty("u/min").setValue(0.0);
                }
            }
        });

        overtime.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double overtimeAddition;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for undertime!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    overtimeAddition = computation.processEmployeesOvertime(policyStr, holidayStr,
                            Integer.parseInt(event.getText().trim()), getEmploymentWage());
                    item.getItemProperty("o/min").setValue(utilities
                            .roundOffToTwoDecimalPlaces(overtimeAddition + (overtimeAddition * premiumRate)));
                } else {
                    item.getItemProperty("o/min").setValue(0.0);
                }
            }
        });

        nightDifferential.addListener(new FieldEvents.TextChangeListener() {

            @Override
            public void textChange(FieldEvents.TextChangeEvent event) {
                Object itemId = lates.getData();
                Item item = table.getItem(itemId);
                String policyStr = item.getItemProperty("policy").toString();
                String holidayStr = item.getItemProperty("holidays").toString();
                double nightDifferentialAddition;

                boolean checkIfInputIsInteger = utilities.checkInputIfInteger(event.getText().trim());
                if (!checkIfInputIsInteger) {
                    getWindow().showNotification("Enter numeric format for undertime!",
                            Window.Notification.TYPE_WARNING_MESSAGE);
                    return;
                }

                if (!event.getText().isEmpty()) {
                    nightDifferentialAddition = computation.processEmployeesNightDifferential(policyStr,
                            holidayStr, Integer.parseInt(event.getText().trim()), getEmploymentWage());
                    item.getItemProperty("nd/min").setValue(utilities.roundOffToTwoDecimalPlaces(
                            nightDifferentialAddition + (nightDifferentialAddition * premiumRate)));
                } else {
                    item.getItemProperty("nd/min").setValue(0.0);
                }
            }
        });

        List<Timekeeping> timekeepingListByRowData = timekeepingService.getTimekeepingRowData(
                utilities.convertDateFormat(getDateList().get(i).toString()), getPayrollId());

        for (Timekeeping t : timekeepingListByRowData) {
            String policy;
            String holiday;
            if (!t.getPolicy().equals("null")) {
                policy = t.getPolicy();
            } else {
                policy = "";
            }

            if (!t.getHoliday().equals("null")) {
                holiday = t.getHoliday();
            } else {
                holiday = "";
            }

            premium.setValue(t.isPremium());

            lates.setValue(t.getLates());
            undertime.setValue(t.getUndertime());
            overtime.setValue(t.getOvertime());
            nightDifferential.setValue(t.getNightDifferential());
            table.addItem(
                    new Object[] { edit, utilities.convertDateFormat(getDateList().get(i).toString()), policy,
                            holiday, premium, lates, undertime, overtime, nightDifferential,
                            t.getLateDeduction(), t.getUndertimeDeduction(), t.getOvertimePaid(),
                            t.getNightDifferentialPaid(), t.getLegalHolidayPaid(), t.getSpecialHolidayPaid(),
                            t.getWorkingDayOffPaid(), t.getNonWorkingHolidayPaid(),
                            t.getLatesLegalHolidayDeduction(), t.getLatesSpecialHolidayDeduction(),
                            t.getLatesWorkingDayOffDeduction(), t.getUndertimeLegalHolidayDeduction(),
                            t.getUndertimeSpecialHolidayDeduction(), t.getUndertimeWorkingDayOffDeduction() },
                    new Integer(i));
        }
    }
    table.setPageLength(table.size());

    for (Object listener : table.getListeners(ItemClickEvent.class)) {
        table.removeListener(ItemClickEvent.class, listener);
    }

    table.addListener(new ItemClickEvent.ItemClickListener() {

        @Override
        public void itemClick(ItemClickEvent event) {
            final Object itemId = event.getItemId();
            final Item item = table.getItem(itemId);

            Boolean editRow = Boolean.valueOf(item.getItemProperty("edit").getValue().toString());

            if (event.getPropertyId().equals("policy")) {
                if (editRow) {
                    Window sub = new AttendancePolicyWindow(holidayList, item, getEmploymentWageEntry(),
                            getEmploymentWage());
                    if (sub.getParent() == null) {
                        getApplication().getMainWindow().addWindow(sub);
                    }
                } else {
                    getWindow().showNotification("Click Edit!", Window.Notification.TYPE_WARNING_MESSAGE);
                }
            }
        }
    });

    vlayout.addComponent(table);

    final Button saveButton = new Button();
    saveButton.setWidth("200px");
    saveButton.setCaption("UPDATE ATTENDANCE DATA");
    saveButton.setEnabled(UserAccessControl.isEditAttendance());

    for (Object listener : saveButton.getListeners(Button.ClickListener.class)) {
        saveButton.removeListener(Button.ClickListener.class, listener);
    }

    GridLayout glayout = new GridLayout(2, 1);
    glayout.setSizeFull();
    glayout.setSpacing(true);

    saveButton.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            try {
                Collection attendanceTableCollection = table.getContainerDataSource().getItemIds();
                List<Timekeeping> attendanceList = new ArrayList<>();
                Iterator iterator = attendanceTableCollection.iterator();
                while (iterator.hasNext()) {
                    String str = table.getItem(iterator.next()).toString();
                    String[] attStr = str.split(" ");
                    List<String> tkeepList = new ArrayList<>(Arrays.asList(attStr));

                    Timekeeping t = new Timekeeping();
                    t.setAttendanceDate(utilities.parsingDate(tkeepList.get(1)));
                    t.setPolicy(tkeepList.get(2));
                    t.setHoliday(tkeepList.get(3));
                    t.setPremium(utilities.convertStringToBoolean(tkeepList.get(4)));
                    t.setLates(utilities.convertStringToDouble(tkeepList.get(5)));
                    t.setUndertime(utilities.convertStringToDouble(tkeepList.get(6)));
                    t.setOvertime(utilities.convertStringToDouble(tkeepList.get(7)));
                    t.setNightDifferential(utilities.convertStringToDouble(tkeepList.get(8)));
                    t.setLateDeduction(utilities.convertStringToDouble(tkeepList.get(9)));
                    t.setUndertimeDeduction(utilities.convertStringToDouble(tkeepList.get(10)));
                    t.setOvertimePaid(utilities.convertStringToDouble(tkeepList.get(11)));
                    t.setNightDifferentialPaid(utilities.convertStringToDouble(tkeepList.get(12)));
                    t.setLegalHolidayPaid(utilities.convertStringToDouble(tkeepList.get(13)));
                    t.setSpecialHolidayPaid(utilities.convertStringToDouble(tkeepList.get(14)));
                    t.setWorkingDayOffPaid(utilities.convertStringToDouble(tkeepList.get(15)));
                    t.setNonWorkingHolidayPaid(utilities.convertStringToDouble(tkeepList.get(16)));
                    t.setLatesLegalHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(17)));
                    t.setLatesSpecialHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(18)));
                    t.setLatesWorkingDayOffDeduction(utilities.convertStringToDouble(tkeepList.get(19)));
                    t.setUndertimeLegalHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(20)));
                    t.setUndertimeSpecialHolidayDeduction(utilities.convertStringToDouble(tkeepList.get(21)));
                    t.setUndertimeWorkingDayOffDeduction(utilities.convertStringToDouble(tkeepList.get(22)));
                    attendanceList.add(t);
                }

                ProcessPayrollComputation processPayroll = new ProcessPayrollComputation(getEmployeeId(),
                        getBranchId());
                processPayroll.initVariables();
                processPayroll.initVariablesForComputation(attendanceList);
                boolean result = processPayroll.processPayrollComputation(payrollDate, payrollPeriod,
                        attendancePeriodFrom, attendancePeriodTo, getPayrollId());
                if (result) {
                    close();
                } else {
                    getWindow().showNotification("SQL ERROR");
                }
            } catch (Exception e) {
                e.getMessage();
            }
        }

    });
    glayout.addComponent(saveButton, 0, 0);
    glayout.setComponentAlignment(saveButton, Alignment.MIDDLE_LEFT);
    //        vlayout.addComponent(saveButton);

    Button printButton = new Button("PRINT ATTENDANCE");
    printButton.setWidth("200px");
    printButton.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            OpenHrisReports reports = new OpenHrisReports(0, null);
            String fileName = "IndividualAttendanceReport_";
            reports.deleteFile(fileName);
            Window reportWindow = new IndividualAttendanceReport(getPayrollId(), getApplication());
        }
    });
    glayout.addComponent(printButton, 1, 0);
    glayout.setComponentAlignment(printButton, Alignment.MIDDLE_RIGHT);

    vlayout.addComponent(glayout);

    return vlayout;
}

From source file:com.rdonasco.config.web.ConfigApplication.java

License:Apache License

@Override
public void init() {
    Window mainWindow = new Window("rdonasco Config");
    setMainWindow(mainWindow);//from  w w  w.  j a  va 2s  . co  m
    final ConfigDataView controlledView = getConfigDataViewController().getControlledView();
    //      controlledView.setSizeFull();
    final VerticalLayout mainWindowLayout = (VerticalLayout) mainWindow.getContent();
    Button logoutButton = new Button("Refresh");
    logoutButton.addListener(new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(Button.ClickEvent event) {
            try {
                getConfigDataViewController().refreshView();
            } catch (WidgetException ex) {
                LOG.log(Level.WARNING, ex.getMessage(), ex);
            }
        }
    });
    setTheme("config");
    mainWindowLayout.setMargin(true);
    mainWindowLayout.setSpacing(true);
    mainWindowLayout.addStyleName("mainWindow");
    mainWindowLayout.setSizeFull();

    mainWindowLayout.addComponent(logoutButton);
    mainWindowLayout.addComponent(controlledView);
    mainWindowLayout.setExpandRatio(controlledView, 1);
}

From source file:com.siemens.ct.osgi.vaadin.pm.bundleview.BundleView.java

License:Open Source License

@SuppressWarnings("serial")
@Override//from ww w.  j  a  v  a2 s.c o  m
public Component getView(Application application) {
    if (view == null) {
        VerticalLayout verticalLayout = new VerticalLayout();
        verticalLayout.setMargin(true);
        verticalLayout.setSpacing(true);

        table = new Table();
        table.addContainerProperty("Bundle Symbolic Name", String.class, new ThemeResource("icons/bundle.png"));
        table.addContainerProperty("Version", String.class, null);
        table.addContainerProperty("State", String.class, null);
        table.addContainerProperty("Active", CheckBox.class, null);
        table.setWidth("100%");
        table.setPageLength(8);
        table.setSortContainerPropertyId("Bundle Symbolic Name");
        table.setSortAscending(true);
        table.setImmediate(true);

        refreshTable();
        verticalLayout.addComponent(table);

        HorizontalLayout horizontalLayout = new HorizontalLayout();
        horizontalLayout.setSpacing(true);

        Button refreshButton = new Button("Refresh Table");
        refreshButton.addListener(new ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                refreshTable();
            }
        });
        horizontalLayout.addComponent(refreshButton);

        Button selectAllButton = new Button("Select All");
        selectAllButton.addListener(new ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                for (Bundle bundle : bundles) {
                    try {
                        bundle.start();
                    } catch (BundleException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    refreshTable();
                }
            }
        });
        horizontalLayout.addComponent(selectAllButton);

        Button deselectAllButton = new Button("Deselect All");
        deselectAllButton.addListener(new ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                for (Bundle bundle : bundles) {
                    try {
                        bundle.stop();
                    } catch (BundleException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    refreshTable();
                }
            }
        });
        horizontalLayout.addComponent(deselectAllButton);

        verticalLayout.addComponent(horizontalLayout);
        view = verticalLayout;
    }
    return view;
}

From source file:com.siemens.ct.osgi.vaadin.pm.main.MainApplication.java

License:Open Source License

private void addActionContribution(final IActionContribution actionContribution) {
    final Application application = this;
    Button button = new Button(actionContribution.getText());
    button.setIcon(new ThemeResource(actionContribution.getIcon()));
    button.addListener(new ClickListener() {
        private static final long serialVersionUID = 1L;

        @Override// ww  w . j  a  va  2 s  .co m
        public void buttonClick(ClickEvent event) {
            actionContribution.execute(application);
        }
    });
    getToolbar().addComponent(button);
    buttonActionMap.put(actionContribution, button);

    @SuppressWarnings("serial")
    MenuItem menuItem = actionMenu.addItem(actionContribution.getText(), new Command() {
        @Override
        public void menuSelected(MenuItem selectedItem) {
            actionContribution.execute(application);
        }
    });
    menuItem.setIcon(new ThemeResource(actionContribution.getIcon()));
    menuActionMap.put(actionContribution, menuItem);
}

From source file:com.test.vaadin.webvaadin.MyVaadinApplication.java

License:Apache License

@Override
public void init() {
    window = new Window("My Vaadin Application");
    setMainWindow(window);/*from  ww  w.  j a v  a 2 s  . c  o  m*/
    Button button = new Button("Click Me 500 Ledion");
    button.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            window.addComponent(new Label("Thank you for clicking 5"));
        }
    });
    window.addComponent(button);

}

From source file:com.thingtrack.myToolbar.MyVaadinApplication.java

License:Apache License

@Override
public void init() {
    setTheme("konekti");

    mainWindow = new Window("My dynamic toolbar");
    mainWindow.setStyleName("background");

    toolbarLayout = new CssLayout() {

        int brickCounter = 0;

        @Override//from  w  w  w .  jav  a2  s  .  com
        protected String getCss(Component c) {

            // colorize every third rendered brick
            if (c instanceof Brick) {
                brickCounter++;
                if (brickCounter % 3 == 0) {
                    // make every third brick colored and italic
                    return "color: #ff6611; font-style: italic;";
                }
            }
            return null;
        }

        public void removeComponent(Component c) {

            brickCounter--;
            super.removeComponent(c);
        };
    };

    toolbarLayout.setStyleName("toolbar_layout");
    toolbarLayout.setWidth("100%");

    mainWindow.addComponent(toolbarLayout);

    setMainWindow(mainWindow);

    //Buttons
    HorizontalLayout buttonLayout = new HorizontalLayout();
    mainWindow.addComponent(buttonLayout);

    Button btnAddToolbar = new Button("Add Toolbar");
    btnAddToolbar.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {

            //               toolbarLayout.addComponent(new NavigationToolbar());
            //               toolbarLayout.addComponent(new Brick());
            //               toolbarLayout.addComponent(new SimplifiedNavigationToolbar());
            CssLayout layout = new CssLayout();
            layout.setStyleName("toolbar");
            layout.addComponent(new Button("Botn 1"));
            layout.addComponent(new Button("Botn 2"));
            layout.addComponent(new Button("Botn 3"));
            toolbarLayout.addComponent(layout);

        }
    });

    buttonLayout.addComponent(btnAddToolbar);

    Button btnBoxToolbar = new Button("Box Toolbar");
    btnBoxToolbar.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            //toolbarLayout2.addToolbar(new BoxToolbar());
            toolbarLayout.addComponent(new BoxToolbar());

        }
    });

    buttonLayout.addComponent(btnBoxToolbar);

    Button btnRemoveToolbar = new Button("Remove Toolbar");
    btnRemoveToolbar.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            //               if (toolBarPanel.getToolbarLayout().getToolbars().length == 0)
            //                  return;
            //               
            //               Component toolbar = toolBarPanel.getToolbarLayout().getToolbars()[toolBarPanel.getToolbarLayout().getToolbars().length - 1];
            //               
            //               toolbarLayout.removeComponent((CustomComponent) toolbar);

            if (toolbarLayout.getComponentCount() == 0)
                return;

            toolbarLayout.removeComponent(toolbarLayout.getComponent(toolbarLayout.getComponentCount() - 1));
            //               
        }
    });

    buttonLayout.addComponent(btnRemoveToolbar);
}