public ToolsDlgPatient(String command, Point pt) {
      Map<Object, ImageIcon> icons = new HashMap<Object, ImageIcon>();
      icons.put(
          "Patientenbezogene Nachricht erstellen", SystemConfig.hmSysIcons.get("patnachrichten"));
      icons.put("(e)Mail für Patient erstellen (Alt+M)", SystemConfig.hmSysIcons.get("email"));
      icons.put("SMS für Patient erstellen (Alt+S)", SystemConfig.hmSysIcons.get("sms"));
      icons.put(
          "Zusatzinformationen zum aktuellen Patient (Alt+I)", SystemConfig.hmSysIcons.get("info"));
      // create a list with some test data
      JList list =
          new JList(
              new Object[] {
                "Patientenbezogene Nachricht erstellen",
                "(e)Mail für Patient erstellen (Alt+M)",
                "SMS für Patient erstellen (Alt+S)",
                "Zusatzinformationen zum aktuellen Patient (Alt+I)"
              });
      list.setCellRenderer(new IconListRenderer(icons));
      Reha.toolsDlgRueckgabe = -1;
      ToolsDialog tDlg = new ToolsDialog(Reha.thisFrame, "Werkzeuge: aktueller Patient", list);
      tDlg.setPreferredSize(
          new Dimension(
              300,
              200
                  + ((Boolean) SystemConfig.hmPatientenWerkzeugDlgIni.get("ToolsDlgShowButton")
                      ? 25
                      : 0)));
      tDlg.setLocation(pt.x - 200, pt.y + 30);
      tDlg.pack();
      tDlg.setModal(true);
      tDlg.activateListener();
      tDlg.setVisible(true);
      switch (Reha.toolsDlgRueckgabe) {
        case 0:
          doPatNachricht();
          return;
        case 1:
          if (!Rechte.hatRecht(Rechte.Patient_email, true)) {
            return;
          }
          break;
        case 2:
          if (!Rechte.hatRecht(Rechte.Patient_sms, true)) {
            return;
          }
          // new SMS(null);
          break;
        case 3:
          doPatFragebogen();
          if (!Rechte.hatRecht(Rechte.Patient_zusatzinfo, true)) {

            return;
          }
          break;
        case 4:
          break;
      }
      tDlg = null;
    }
 /** **************************** */
 private void regleButtons(String enable) {
   for (int i = 0; i < buts.length; i++) {
     buts[i].setEnabled((enable.substring(i, i + 1).equals("1") ? true : false));
   }
   if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)) {
     buts[5].setEnabled(false);
     buts[6].setEnabled(false);
   }
 }
  /** **************************** */
  private void doBenutzerWahl() {
    if (jcmb.getSelectedIndex() == 0) {
      tfs[0].setText("");
      pws[0].setText("");
      pws[1].setText("");
      aktuelleRechte = "";
      userid = "";
      this.internal.setTitle(elternTitel);
      regleButtons("1101000");
    } else {
      tfs[0].setText(jcmb.getSelectedItem().toString());
      pws[0].setText(jcmb.getValue().toString());
      pws[1].setText(jcmb.getValue().toString());

      //// System.out.println(ParameterLaden.pKollegen.get(jcmb.getSelectedIndex()-1).get(0));
      aktuelleRechte = ParameterLaden.pKollegen.get(jcmb.getSelectedIndex() - 1).get(2);
      if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)
          && rechteTools.Rechte.testeRecht(aktuelleRechte, rechteTools.Rechte.BenutzerSuper_user)) {
        JOptionPane.showMessageDialog(
            null,
            "SuperUser-Rechte können nur von einem Benutzer mit SuperUser-Rechten geändert werden");
        jcmb.setSelectedIndex(0);
        tfs[0].setText("");
        pws[0].setText("");
        pws[1].setText("");
        aktuelleRechte = "";
        userid = "";
        regleButtons("1101000");
        return;
      }
      if (jchb.isSelected()) {
        this.internal.setTitle(elternTitel + " [PW:" + jcmb.getValue().toString() + "]");
      } else {
        this.internal.setTitle(elternTitel);
      }
      userid = ParameterLaden.pKollegen.get(jcmb.getSelectedIndex() - 1).get(4);
      regleButtons("1101000");
      aktualisiereTree(false);
    }
  }
Exemple #4
0
    public ToolsDlgGutachten(String command, Point pt) {
      Map<Object, ImageIcon> icons = new HashMap<Object, ImageIcon>();
      icons.put("Stammdaten in neues Gutachten übertragen", SystemConfig.hmSysIcons.get("neu"));
      icons.put("ASP-Patienten-Information", SystemConfig.hmSysIcons.get("info2"));
      icons.put("ASP-Verordnung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("ASP-Anwesenheitsliste", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("ASP-Zustimmung des Patienten", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("IRENA-Patienten-Information", SystemConfig.hmSysIcons.get("info2"));
      icons.put("IRENA-Verordnung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("IRENA-Anwesenheitsliste", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("IRENA-Zustimmung des Patienten", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("IRENA-Beginnmitteilung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("BfA - Reha-Verlängerung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("DRV-Wiedereingliederung Pat./AG-Infos", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("DRV-Wiedereingliederung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("DRV-Wiedereingliederung Beginn > 2 Wo.", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("BfA - AHB-Aufnahmemitteilung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("ASP-Rechnungsformular", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("IRENA-Rechnungsformular", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("Reha-Anwesenheitsbescheinigung", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("GKV-Verlängerungsantrag", SystemConfig.hmSysIcons.get("pdf"));
      icons.put("LVA-Entlassmitteilung", SystemConfig.hmSysIcons.get("neu"));

      JList list =
          new JList(
              new Object[] {
                "Stammdaten in neues Gutachten übertragen",
                "ASP-Patienten-Information",
                "ASP-Verordnung",
                "ASP-Anwesenheitsliste",
                "ASP-Zustimmung des Patienten",
                "IRENA-Patienten-Information",
                "IRENA-Verordnung",
                "IRENA-Anwesenheitsliste",
                "IRENA-Zustimmung des Patienten",
                "IRENA-Beginnmitteilung",
                "BfA - Reha-Verlängerung",
                "DRV-Wiedereingliederung Pat./AG-Infos",
                "DRV-Wiedereingliederung",
                "DRV-Wiedereingliederung Beginn > 2 Wo.",
                "BfA - AHB-Aufnahmemitteilung",
                "ASP-Rechnungsformular",
                "IRENA-Rechnungsformular",
                "Reha-Anwesenheitsbescheinigung",
                "GKV-Verlängerungsantrag",
                "LVA-Entlassmitteilung"
              });

      list.setCellRenderer(new IconListRenderer(icons));
      Reha.toolsDlgRueckgabe = -1;
      ToolsDialog tDlg = new ToolsDialog(Reha.thisFrame, "Werkzeuge: Gutachten / E-Bericht", list);
      tDlg.setPreferredSize(
          new Dimension(
              300,
              200
                  + ((Boolean) SystemConfig.hmPatientenWerkzeugDlgIni.get("ToolsDlgShowButton")
                      ? 25
                      : 0)));
      tDlg.setLocation(pt.x - 70, pt.y + 30);
      tDlg.pack();
      tDlg.setModal(true);
      tDlg.activateListener();
      tDlg.setVisible(true);
      switch (Reha.toolsDlgRueckgabe) {
        case 0:
          if (!Rechte.hatRecht(Rechte.Gutachten_copy, true)) {
            return;
          }
          doBerichtCopy();
          break;
        case 1:
          // ASP-Patienteninformation
          doPdfStarten(90);
          break;
        case 2:
          // ASP-Verordnung
          doPdfStarten(1);
          break;
        case 3:
          // ASP-Anwesenheitsliste
          doPdfStarten(2);
          break;
        case 4:
          // ASP-Zustimmungserklärung
          doPdfStarten(3);
          break;
        case 5:
          // Irena-Patienteninformation
          doPdfStarten(91);
          break;
        case 6:
          // Irena-Verordnung
          doPdfStarten(4);
          break;
        case 7:
          // Irena-Anwesenheitsliste
          doPdfStarten(5);
          break;
        case 8:
          // Irena-Zustimmungserklärung
          doPdfStarten(6);
          break;
        case 9:
          // Irena-Beginnmitteilung
          doPdfStarten(7);
          break;
        case 10:
          // BfA-Rehaverlängerung
          doPdfStarten(8);
          break;
        case 11:
          // DRV-Wiedereingliederung Pat/AG Info
          doPdfStarten(9);
          break;
        case 12:
          // DRV-Wiedereingliederung
          doPdfStarten(10);
          break;
        case 13:
          // DRV-Wiedereingliederung Beginn später als 2 Wo.
          doPdfStarten(16);
          break;
        case 14:
          // BfA-AHB-Aufnahmemitteilung
          doPdfStarten(11);
          break;
        case 15:
          // ASP-Rechnung
          doPdfStarten(12);
          break;
        case 16:
          // IRENA-Rechnung
          doPdfStarten(13);
          break;
        case 17:
          // Reha-Anwesenheitsbescheinigung
          doPdfStarten(14);
          break;
        case 18:
          doPdfStarten(15);
          break;
        case 19:
          // LVA-Entlassmitteilung
          try {
            new LadeProg(
                Reha.proghome
                    + "LVAEntlass.jar "
                    + " "
                    + Reha.proghome
                    + "ini/"
                    + Reha.aktIK
                    + "/rehajava.ini"
                    + " "
                    + Reha.thisClass.patpanel.vecaktrez.get(1)
                    + " "
                    + Reha.proghome
                    + "ini/"
                    + Reha.aktIK
                    + "/fremdprog.ini");
          } catch (Exception ex) {
            ex.printStackTrace();
          }
          break;
      }

      tDlg = null;
    }
Exemple #5
0
  @Override
  public void actionPerformed(ActionEvent arg0) {
    String cmd = arg0.getActionCommand();
    if (cmd.equals("gutneu")) {
      if (!Rechte.hatRecht(Rechte.Gutachten_anlegen, true)) {
        return;
      }
      final JComponent comp = ((JComponent) arg0.getSource());
      new SwingWorker<Void, Void>() {
        @Override
        protected Void doInBackground() throws Exception {
          try {
            JRtaTextField tf = new JRtaTextField("nix", false);
            // System.out.println("in GutachtenWahl");
            GutachtenWahl gwahl =
                new GutachtenWahl(
                    (Point) comp.getLocationOnScreen(), tf, "Neues Gutachten erstellen");
            // System.out.println("Aufruf des Focus***********");
            gwahl.setzeFocus();
            gwahl.setVisible(true);
            // gwahl.setModal(true);

            // System.out.println("Der Rückgabewert der Auswahl = "+tf.getText() );
            if (tf.getText().equalsIgnoreCase("ebericht")) {
              Reha.thisClass.progLoader.GutachenFenster(
                  1, Reha.thisClass.patpanel.aktPatID, -1, "E-Bericht", true, "", -1);
              // ProgLoader.GutachenFenster(1,Reha.thisClass.patpanel.aktPatID
              // ,-1,"E-Bericht",true,"" );
              return null;
            }
            if (tf.getText().equalsIgnoreCase("nachsorge")) {
              Reha.thisClass.progLoader.GutachenFenster(
                  1, Reha.thisClass.patpanel.aktPatID, -1, "Nachsorge", true, "", -1);
              // ProgLoader.GutachenFenster(1,Reha.thisClass.patpanel.aktPatID
              // ,-1,"Nachsorge",true,"" );
              return null;
            }
            gwahl = null;
          } catch (Exception ex) {
            ex.printStackTrace();
          }

          return null;
        }
      }.execute();
      return;
    }
    if (cmd.equals("gutedit")) {
      if (!Rechte.hatRecht(Rechte.Gutachten_editvoll, true)) {
        return;
      }
      doBerichtEdit();
      return;
    }
    if (cmd.equals("gutdelete")) {
      if (aktPanel.equals("leerPanel")) {
        JOptionPane.showMessageDialog(
            null,
            "Oh Herr laß halten...\n\n"
                + "....und welches der nicht vorhandenen Gutachten möchten Sie bitteschön löschen....");
        return;
      }
      if (!Rechte.hatRecht(Rechte.Gutachten_delete, true)) {
        return;
      }
      int currow = tabbericht.getSelectedRow();
      // int anzrow = tabbericht.getRowCount();
      if (currow == -1) {
        JOptionPane.showMessageDialog(null, "Kein Gutachten zum -> löschen <- ausgewählt");
        return;
      }
      String berichtid = (String) tabbericht.getValueAt(currow, 0);
      int frage =
          JOptionPane.showConfirmDialog(
              null,
              "Wollen Sie das Gutachten mit der ID:" + berichtid + " wirklich löschen?",
              "Wichtige Benutzeranfrage",
              JOptionPane.YES_NO_OPTION);
      if (frage == JOptionPane.NO_OPTION) {
        return;
      }
      String sqlcmd = "delete from berhist where berichtid='" + berichtid + "'";
      new ExUndHop().setzeStatement(sqlcmd);
      sqlcmd = "delete from bericht2 where berichtid='" + berichtid + "'";
      new ExUndHop().setzeStatement(sqlcmd);
      sqlcmd = "delete from bericht2ktl where berichtid='" + berichtid + "'";
      new ExUndHop().setzeStatement(sqlcmd);

      currow = TableTool.loescheRow(tabbericht, Integer.valueOf(currow));
      int uebrig = tabbericht.getRowCount();

      anzahlGutachten.setText("Anzahl Gutachten: " + Integer.toString(uebrig));
      Reha.thisClass.patpanel.getTab().setTitleAt(4, macheHtmlTitel(uebrig, "Gutachten"));
      if (uebrig <= 0) {
        holeGutachten(Reha.thisClass.patpanel.patDaten.get(29), "");
      } else {
      }

      return;
    }
    if (cmd.equals("guttools")) {
      new ToolsDlgGutachten("", gutbut[3].getLocationOnScreen());
      return;
    }
  }
  /** ***************************************** */
  @SuppressWarnings("unchecked")
  private void doSave() {
    String aktuelleruser = tfs[0].getText();
    if (!String.valueOf(pws[0].getPassword()).equals(String.valueOf(pws[1].getPassword()))) {
      JOptionPane.showMessageDialog(null, "Passwort und Passwortwiederholung sind nicht identisch");
      return;
    }
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerRechte_set, true)) {
      return;
    }
    int lang = getNodeCount();
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < lang; i++) {
      JXRechteTreeTableNode node = holeNode(i);
      //// System.out.println(node.rechte.bildnummer);
      if (node.rechte.bildnummer >= 0) {
        buf.append(Integer.toString(node.rechte.bildnummer));
      }
    }
    String pw = buf.toString();
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)
        && rechteTools.Rechte.testeRecht(pw, rechteTools.Rechte.BenutzerSuper_user)) {
      JOptionPane.showMessageDialog(
          null,
          "SuperUser-Rechte können nur von einem Benutzer mit SuperUser-Rechten vergeben werden");
      return;
    }

    Verschluesseln man = Verschluesseln.getInstance();
    man.init(Verschluesseln.getPassword().toCharArray(), man.getSalt(), man.getIterations());
    String encrypted = man.encrypt(pw);

    if (!neu) {
      //// System.out.println("Username = "******"Passwort = "+String.valueOf(pws[0].getPassword()));
      //// System.out.println("Rechte   = "+String.valueOf(pw));

      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + userid
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
      jcmb.setNewValueAtCurrentPosition(0, tfs[0].getText());
      jcmb.setNewValueAtCurrentPosition(1, String.valueOf(pws[1].getPassword()));
      jcmb.setNewValueAtCurrentPosition(2, buf.toString());
      if (Reha.aktUser.equals(jcmb.getSelectedItem().toString().trim())) {
        Reha.progRechte = buf.toString();
      }
    } else {
      // neuen Benutzer anlegen erst noch entwickeln;
      if (tfs[0].getText().equals("") || String.valueOf(pws[0].getPassword()).trim().equals("")) {
        JOptionPane.showMessageDialog(null, "Benutzername und Passwort darf nicht leer sein");
        jcmb.setSelectedIndex(0);
        doEditsEinAus(false);
        return;
      }
      int id = SqlInfo.holeId("rehalogin", "password");
      Vector<String> vec = new Vector<String>();
      vec.add(tfs[0].getText());
      vec.add(String.valueOf(pws[0].getPassword()));
      vec.add(buf.toString());
      vec.add("");
      vec.add(Integer.toString(id));
      jcmb.addNewVector((Vector<String>) vec.clone());
      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + Integer.toString(id)
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
    }
    ParameterLaden.Passwort();
    jcmb.removeActionListener(al);
    jcmb.setDataVectorWithStartElement(ParameterLaden.pKollegen, 0, 1, "./.");
    jcmb.addActionListener(al);
    jcmb.setSelectedItem(aktuelleruser);
  }
  private JXPanel getButtonTeil() {
    //                                   1            2  3   4        5
    FormLayout lay =
        new FormLayout(
            "fill:0:grow(0.5),80dlu,3dlu,80dlu,fill:0:grow(0.5)",
            //       1             2   3   4  5   6  7   8  9  10  11  12 13  14 15  16  17  18   19
            "fill:0:grow(0.33),p,20dlu,p,1dlu,p,1dlu,p,1dlu,p,25dlu,p,5dlu,p,5dlu,p,15dlu,p,fill:0:grow(0.66)");
    CellConstraints cc = new CellConstraints();
    JXPanel jpan = new JXPanel();
    jpan.setLayout(lay);

    JLabel lab = new JLabel("Benutzer auswählen");
    jpan.add(lab, cc.xy(2, 2, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    jcmb = new JRtaComboBox();
    jcmb.setDataVectorWithStartElement(ParameterLaden.pKollegen, 0, 1, "./.");
    jcmb.setActionCommand("benutzerwahl");
    jcmb.addActionListener(al);
    jpan.add(jcmb, cc.xy(4, 2));

    lab = new JLabel("Benutzername");
    jpan.add(lab, cc.xy(2, 4, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    tfs[0] = new JRtaTextField("nix", false);
    tfs[0].setEnabled(false);
    jpan.add(tfs[0], cc.xy(4, 4));

    lab = new JLabel("Passwortanzeige");
    jpan.add(lab, cc.xy(2, 6, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    jchb = new JRtaCheckBox("im Klartext anzeigen");
    jpan.add(jchb, cc.xy(4, 6));
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)) {
      jchb.setSelected(false);
      jchb.setEnabled(false);
    }
    jchb.setActionCommand("klartext");
    jchb.addActionListener(al);

    lab = new JLabel("Passwort");
    jpan.add(lab, cc.xy(2, 8, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    pws[0] = new JPasswordField();
    pws[0].setEnabled(false);
    jpan.add(pws[0], cc.xy(4, 8));

    lab = new JLabel("Passwort wiederholen");
    jpan.add(lab, cc.xy(2, 10, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    pws[1] = new JPasswordField();
    pws[1].setEnabled(false);
    jpan.add(pws[1], cc.xy(4, 10));

    jpan.add((buts[0] = ButtonTools.macheButton("neuer Benutzer", "neu", al)), cc.xy(2, 12));
    jpan.add((buts[1] = ButtonTools.macheButton("Benutzer ändern", "edit", al)), cc.xy(4, 12));
    jpan.add((buts[2] = ButtonTools.macheButton("Benutzer speichern", "save", al)), cc.xy(2, 14));
    jpan.add((buts[3] = ButtonTools.macheButton("Benutzer löschen", "delete", al)), cc.xy(4, 14));
    jpan.add(
        (buts[4] = ButtonTools.macheButton("Vorgang abbrechen", "dobreak", al)), cc.xyw(2, 16, 3));

    jpan.add(
        (buts[5] = ButtonTools.macheButton("Rechte exportieren", "doexport", al)), cc.xy(2, 18));
    jpan.add(
        (buts[6] = ButtonTools.macheButton("Rechte importieren", "doimport", al)), cc.xy(4, 18));
    buts[5].setForeground(Color.BLUE);
    buts[6].setForeground(Color.RED);
    regleButtons("1101000");
    return jpan;
  }