Package clips.report.panels

Source Code of clips.report.panels.DiseaseReportPanel

/*
* DiseaseReportPanel.java
*
* Created on August 19, 2008, 4:20 PM
*/

package clips.report.panels;

import beans.report.DiseaseReportMaps;
import cli_fmw.delegate.DelegateLine2;
import clips.delegate.report.DiseaseReportLocal;
import cli_fmw.delegate.report.ReportLocal;
import cli_fmw.delegate.report.ReportSearchLocal;
import cli_fmw.main.ContentStateListener;
import cli_fmw.main.PageContainer;
import cli_fmw.main.PageException;
import cli_fmw.main.Persistentable;
import cli_fmw.report.panels.model.delegate.DelegateTextModel;
import cli_fmw.utils.MessageBox;
import cli_fmw.main.ClipsException;
import cli_fmw.report.panels.model.delegate.DelegateListComboBoxModel;
import cli_fmw.report.panels.model.delegate.DelegateComboboxModel;
import cli_fmw.utils.table_config_states.StateSaver;
import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.Iterator;

/**
*
* @author  finder
*/
public class DiseaseReportPanel extends PanelWinthSubTabs implements ContentStateListener, Persistentable {
  static final long              serialVersionUID = 1L;
 
  DiseaseReportLocal              curReport;
 
  // delegate models
  DelegateTextModel<DiseaseReportLocal>    reportNameModel;
  DelegateComboboxModel<DiseaseReportLocal>  typeModel;
  DelegateListComboBoxModel<DiseaseReportLocal>reportsModel;
  DelegateTextModel<DiseaseReportLocal>    okudModel;
  DelegateTextModel<DiseaseReportLocal>    formNumberModel;
  DelegateTextModel<DiseaseReportLocal>    resolutionDateModel;
  DelegateTextModel<DiseaseReportLocal>    targetDeaprtamentsModel;
  DelegateTextModel<DiseaseReportLocal>    targetDatesModel;
       
  DiseaseLinesPanel              linesPanel;
  static int                  reportCount = 1;
 
  //TableEditPanel                reportTableEditPanel;

  public DiseaseReportPanel(PageContainer container) throws ClipsException {
    super(container);
        initComponents();
    initModels();
    /*linesPanel = new DiseaseLinesPanel(curReport);
    rootTabbedPane.addTab("Ряды", linesPanel);*/
    setPanelReport(null, false);
    StateSaver.attachTo(this);
  }
 
  void initModels(){
    try {     
      reportNameModel = new DelegateTextModel<DiseaseReportLocal>(reportNameField, null) {
        static final long              serialVersionUID = 1L;
        @Override
        public void setModelTextChecked(String text) throws ClipsException {
          getObject().setName(text);
        }

        @Override
        public String getModelTextChecked() throws ClipsException {
          return getObject().getName();
        }
      };
     
      typeModel = new DelegateComboboxModel<DiseaseReportLocal>(typeComboBox, false) {
        static final long              serialVersionUID = 1L;
        @Override
        public void onContentStateChanged() {
        }
       
        @Override
        public int getSizeImp() {
          return DiseaseReportMaps.getReportTypes().length;
        }

        @Override
        public Object getElementAtImp(int index) {
          return DiseaseReportMaps.getReportTypes()[index];
        }
       
        @Override
        public Object getSelectedItemImp() throws ClipsException {
          return getElementAtImp(getObject().getType());
        }

        @Override
        public void setSelectedItemImp(Object anId) throws ClipsException {
          getObject().setType(getid(anId));
        }
       
      };
     
      ArrayList<ReportLocal>      reports = new ReportSearchLocal(getAuditManager()).getReports();
      for (Iterator<ReportLocal> it = reports.iterator(); it.hasNext();) {
        ReportLocal reportLocal = it.next();
        if (reportLocal.isSpecialReport()) {
          it.remove();
        }
      }
      reportsModel = new DelegateListComboBoxModel<DiseaseReportLocal>(reports, reportsComboBox, false) {
        static final long              serialVersionUID = 1L;
        @Override
        public Object getSelectedItemImp() throws ClipsException {
          return getObject().getReport();
        }
        @Override
        public void setSelectedItemImp(Object anItem) throws ClipsException {
          getObject().setReport((ReportLocal) anItem);
        }
      };
         
      okudModel = new DelegateTextModel<DiseaseReportLocal>(okudTextField, null) {
        static final long              serialVersionUID = 1L;
        @Override
        public void setModelTextChecked(String text) throws ClipsException {
          getObject().setOkudFormCode(text);
        }

        @Override
        protected String getModelTextChecked() throws ClipsException {
          return getObject().getOkudFormCode();
        }
      };
     
      formNumberModel = new DelegateTextModel<DiseaseReportLocal>(formNumberTextField, null) {
        static final long              serialVersionUID = 1L;
        @Override
        protected void setModelTextChecked(String text) throws ClipsException {
          getObject().setFormNumber(text);
        }

        @Override
        protected String getModelTextChecked() throws ClipsException {
          return getObject().getFormNumber();
        }
      };
     
      resolutionDateModel = new DelegateTextModel<DiseaseReportLocal>(resolutionDateTextField, null) {
        static final long              serialVersionUID = 1L;
        @Override
        protected void setModelTextChecked(String text) throws ClipsException {
          getObject().setResolutionDateNumber(text);
        }

        @Override
        protected String getModelTextChecked() throws ClipsException {
          return getObject().getResolutionDateNumber();
        }
      };
     
      targetDeaprtamentsModel = new DelegateTextModel<DiseaseReportLocal>(targetDeaprtamentsTextArea, null) {
        static final long              serialVersionUID = 1L;
        @Override
        protected void setModelTextChecked(String text) throws ClipsException {
          getObject().setTargetDeaprtaments(text);
        }

        @Override
        protected String getModelTextChecked() throws ClipsException {
          return getObject().getTargetDeaprtaments();
        }
      };
     
      targetDatesModel = new DelegateTextModel<DiseaseReportLocal>(targetDatesTextArea, null) {
        static final long              serialVersionUID = 1L;
        @Override
        protected void setModelTextChecked(String text) throws ClipsException {
          getObject().setTargetDates(text);
        }

        @Override
        protected String getModelTextChecked() throws ClipsException {
          return getObject().getTargetDates();
        }
      };
     
    } catch (ClipsException ex) {
      MessageBox.showException(ex);
    }
  }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jPanel8 = new javax.swing.JPanel();
        jPanel13 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        okudTextField = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        formNumberTextField = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        resolutionDateTextField = new javax.swing.JTextField();
        jPanel9 = new javax.swing.JPanel();
        jSplitPane1 = new javax.swing.JSplitPane();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        targetDeaprtamentsTextArea = new javax.swing.JTextArea();
        jLabel2 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        jScrollPane5 = new javax.swing.JScrollPane();
        targetDatesTextArea = new javax.swing.JTextArea();
        jLabel3 = new javax.swing.JLabel();
        jPanel10 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        reportNameField = new javax.swing.JTextField();
        jPanel11 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        typeComboBox = new javax.swing.JComboBox();
        jPanel12 = new javax.swing.JPanel();
        reportsComboBox = new javax.swing.JComboBox();
        jLabel5 = new javax.swing.JLabel();

        setLayout(new java.awt.BorderLayout());

        jPanel1.setLayout(new java.awt.BorderLayout());

        jPanel8.setLayout(new java.awt.BorderLayout());

        jLabel6.setText("Код формы по ОКУД");

        okudTextField.setText("okud");

        jLabel7.setText("Номер формы");

        formNumberTextField.setText("formcode");

        jLabel8.setText("Дата и номер постановления");

        resolutionDateTextField.setText("resolutionDate");

        javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
        jPanel13.setLayout(jPanel13Layout);
        jPanel13Layout.setHorizontalGroup(
            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel13Layout.createSequentialGroup()
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel13Layout.createSequentialGroup()
                        .addComponent(jLabel6)
                        .addGap(5, 5, 5)
                        .addComponent(okudTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(4, 4, 4)
                        .addComponent(jLabel7)
                        .addGap(5, 5, 5)
                        .addComponent(formNumberTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel13Layout.createSequentialGroup()
                        .addComponent(jLabel8)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(resolutionDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(255, Short.MAX_VALUE))
        );
        jPanel13Layout.setVerticalGroup(
            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel13Layout.createSequentialGroup()
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel13Layout.createSequentialGroup()
                        .addGap(5, 5, 5)
                        .addComponent(jLabel6))
                    .addGroup(jPanel13Layout.createSequentialGroup()
                        .addGap(5, 5, 5)
                        .addComponent(jLabel7))
                    .addComponent(formNumberTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(okudTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(resolutionDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel8)))
        );

        jPanel8.add(jPanel13, java.awt.BorderLayout.PAGE_START);

        jPanel9.setLayout(new java.awt.BorderLayout());

        jSplitPane1.setDividerLocation(390);

        jPanel2.setLayout(new java.awt.BorderLayout());

        targetDeaprtamentsTextArea.setColumns(20);
        targetDeaprtamentsTextArea.setLineWrap(true);
        targetDeaprtamentsTextArea.setRows(5);
        jScrollPane1.setViewportView(targetDeaprtamentsTextArea);

        jPanel2.add(jScrollPane1, java.awt.BorderLayout.CENTER);

        jLabel2.setText("Представляют:");
        jPanel2.add(jLabel2, java.awt.BorderLayout.PAGE_START);

        jSplitPane1.setLeftComponent(jPanel2);

        jPanel4.setLayout(new java.awt.BorderLayout());

        jScrollPane5.setPreferredSize(new java.awt.Dimension(100, 87));

        targetDatesTextArea.setColumns(10);
        targetDatesTextArea.setLineWrap(true);
        targetDatesTextArea.setRows(5);
        jScrollPane5.setViewportView(targetDatesTextArea);

        jPanel4.add(jScrollPane5, java.awt.BorderLayout.CENTER);

        jLabel3.setText("Сроки прeдставления:");
        jPanel4.add(jLabel3, java.awt.BorderLayout.PAGE_START);

        jSplitPane1.setRightComponent(jPanel4);

        jPanel9.add(jSplitPane1, java.awt.BorderLayout.CENTER);

        jPanel8.add(jPanel9, java.awt.BorderLayout.CENTER);

        jPanel1.add(jPanel8, java.awt.BorderLayout.CENTER);

        jPanel10.setLayout(new java.awt.GridLayout(0, 1, 0, 2));

        jPanel5.setLayout(new java.awt.BorderLayout(2, 2));

        jLabel1.setText("Имя отчета");
        jPanel5.add(jLabel1, java.awt.BorderLayout.WEST);
        jPanel5.add(reportNameField, java.awt.BorderLayout.CENTER);

        jPanel10.add(jPanel5);

        jPanel11.setLayout(new java.awt.BorderLayout(2, 2));

        jLabel4.setText("Тип отчета");
        jPanel11.add(jLabel4, java.awt.BorderLayout.WEST);

        typeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jPanel11.add(typeComboBox, java.awt.BorderLayout.CENTER);

        jPanel10.add(jPanel11);

        jPanel12.setLayout(new java.awt.BorderLayout(2, 2));

        reportsComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jPanel12.add(reportsComboBox, java.awt.BorderLayout.CENTER);

        jLabel5.setText("Шаблон отчета");
        jPanel12.add(jLabel5, java.awt.BorderLayout.LINE_START);

        jPanel10.add(jPanel12);

        jPanel1.add(jPanel10, java.awt.BorderLayout.PAGE_START);

        add(jPanel1, java.awt.BorderLayout.CENTER);
    }// </editor-fold>//GEN-END:initComponents



    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField formNumberTextField;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel10;
    private javax.swing.JPanel jPanel11;
    private javax.swing.JPanel jPanel12;
    private javax.swing.JPanel jPanel13;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JTextField okudTextField;
    private javax.swing.JTextField reportNameField;
    private javax.swing.JComboBox reportsComboBox;
    private javax.swing.JTextField resolutionDateTextField;
    private javax.swing.JTextArea targetDatesTextArea;
    private javax.swing.JTextArea targetDeaprtamentsTextArea;
    private javax.swing.JComboBox typeComboBox;
    // End of variables declaration//GEN-END:variables

 
  boolean setPanelReport(DiseaseReportLocal report, boolean queryUser){
    if (curReport != null){
      curReport.removeContentStateListener(this);
    }
    try {
      curReport = report;
      clearAllSubPage();
      if (report != null) {
        addSubTab(new PanelTableEdit(getContainer(), report));
      }
    } catch (ClipsException ex) {
      MessageBox.showException(ex);
    }
    reportNameModel.setObject(curReport);
    reportsModel.setObject(curReport);
    typeModel.setObject(curReport);
    okudModel.setObject(curReport);
    formNumberModel.setObject(curReport);
    resolutionDateModel.setObject(curReport);
    targetDeaprtamentsModel.setObject(curReport);
    targetDatesModel.setObject(curReport);
    updateButtons();
    return true;
  }
 
  @Override
  public void contentStateChanged() {
    EventQueue.invokeLater(new Runnable() {
      @Override
      public void run() {
        updateButtons();
      }
    });
  }
 
  void updateButtons(){
//    boolean      removeReportButtonEn = false, addButtonEn = false;
  /*  if (curReport != null){
      removeReportButtonEn = true;
      addRowButtonEn = true;
      moveUpButtonEn = canMoveLines(true);
      moveDownButtonEn = canMoveLines(false);
    }*/
    //removeReportButton.setEnabled(removeReportButtonEn);
  }

  @Override
  public String getPageTitle() {
    return "Заголовок";
  }

  @Override
  public DelegateLine2 getDelegate() {
    return curReport;
  }

  @Override
  public boolean isDirty() {
    throw new UnsupportedOperationException("Not supported yet.");
  }

  @Override
  public void save() throws ClipsException {
    /*if (reportTableEditPanel != null) {
      reportTableEditPanel.onTableChange();
    }*/
  }

  @Override
  public void restore() {
    DiseaseReportLocal rep = curReport;
    setPanelReport(null, true);
    setPanelReport(rep, false);
  }

  @Override
  public void beforeClose() {
    setPanelReport(null, false);
    super.beforeClose();
  }


}
TOP

Related Classes of clips.report.panels.DiseaseReportPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.