void printButton_actionPerformed(ActionEvent e) { DetailSaleDocVO vo = (DetailSaleDocVO) headerFormPanel.getVOModel().getValueObject(); HashMap params = new HashMap(); params.put("COMPANY_CODE", vo.getCompanyCodeSys01DOC01()); params.put("DOC_TYPE", vo.getDocTypeDOC01()); params.put("DOC_YEAR", vo.getDocYearDOC01()); params.put("DOC_NUMBER", vo.getDocNumberDOC01()); HashMap map = new HashMap(); map.put(ApplicationConsts.COMPANY_CODE_SYS01, vo.getCompanyCodeSys01DOC01()); map.put(ApplicationConsts.FUNCTION_CODE_SYS06, headerFormPanel.getFunctionId()); map.put(ApplicationConsts.EXPORT_PARAMS, params); Response res = ClientUtils.getData("getJasperReport", map); if (!res.isError()) { JasperPrint print = (JasperPrint) ((VOResponse) res).getVo(); JRViewer viewer = new JRViewer(print); JFrame frame = new JFrame(); frame.setSize(MDIFrame.getInstance().getSize()); frame.setContentPane(viewer); frame.setTitle(this.getTitle()); frame.setIconImage(MDIFrame.getInstance().getIconImage()); frame.setVisible(true); } else JOptionPane.showMessageDialog( ClientUtils.getParentFrame(this), res.getErrorMessage(), ClientSettings.getInstance().getResources().getResource("print document"), JOptionPane.ERROR_MESSAGE); }
/** Retrieve item types and fill in the item types combo box. */ private void init() { Response res = ClientUtils.getData("loadItemTypes", new GridParams()); Domain d = new Domain("ITEM_TYPES"); if (!res.isError()) { ItemTypeVO vo = null; list = ((VOListResponse) res).getRows(); for (int i = 0; i < list.size(); i++) { vo = (ItemTypeVO) list.get(i); d.addDomainPair(vo.getProgressiveHie02ITM02(), vo.getDescriptionSYS10()); } } controlHierarchy.setDomain(d); controlHierarchy .getComboBox() .addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == e.SELECTED) { ItemTypeVO typeVO = (ItemTypeVO) list.get(controlHierarchy.getSelectedIndex()); treePanel.setCompanyCode(typeVO.getCompanyCodeSys01ITM02()); treePanel.setProgressiveHIE02((BigDecimal) controlHierarchy.getValue()); DetailSupplierVO vo = (DetailSupplierVO) supplierPanel.getVOModel().getValueObject(); treePanel.setCompanyCode(vo.getCompanyCodeSys01REG04()); treePanel.reloadTree(); itemsGrid.clearData(); } } }); if (d.getDomainPairList().length == 1) controlHierarchy.getComboBox().setSelectedIndex(0); else controlHierarchy.getComboBox().setSelectedIndex(-1); }
/** * Method invoked when pressing import all items button: it add all items to the supplier items * collection. */ void impAllItemsButton_actionPerformed(ActionEvent e) { DetailSupplierVO vo = (DetailSupplierVO) supplierPanel.getVOModel().getValueObject(); SupplierItemVO itemVO = new SupplierItemVO(); itemVO.setCompanyCodeSys01PUR02(vo.getCompanyCodeSys01REG04()); itemVO.setProgressiveReg04PUR02(vo.getProgressiveREG04()); itemVO.setProgressiveHie02PUR02((BigDecimal) controlHierarchy.getValue()); Response res = ClientUtils.getData("importAllItemsToSupplier", itemVO); if (!res.isError()) itemsGrid.reloadData(); }
void confirmButton_actionPerformed(ActionEvent e) { // view close dialog... if (JOptionPane.showConfirmDialog( ClientUtils.getParentFrame(this), ClientSettings.getInstance().getResources().getResource("close credit note?"), ClientSettings.getInstance().getResources().getResource("credit note closing"), JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { Response res = ClientUtils.getData("closeSaleDoc", controller.getPk()); if (!res.isError()) { confirmButton.setEnabled(false); headerFormPanel.setMode(Consts.READONLY); headerFormPanel.executeReload(); if (getInvoices() != null) getInvoices().reloadCurrentBlockOfData(); } else JOptionPane.showMessageDialog( ClientUtils.getParentFrame(this), res.getErrorMessage(), ClientSettings.getInstance().getResources().getResource("credit note closing"), JOptionPane.ERROR_MESSAGE); } }
/** Load data from server and construct panel content. */ public final void reloadData(DocumentsFrame frame) { try { // remove all panel content... clearData(); frame.getGrid().getOtherGridParams().put(ApplicationConsts.PROPERTIES_FILTER, filters); // retrieve customized input controls list... GridParams gridParams = new GridParams(); DefaultMutableTreeNode node = frame.getHierarTreePanel().getSelectedNode(); if (node != null) { HierarchyLevelVO vo = (HierarchyLevelVO) node.getUserObject(); HierarchyLevelVO root = (HierarchyLevelVO) ((DefaultMutableTreeNode) node.getRoot()).getUserObject(); gridParams .getOtherGridParams() .put(ApplicationConsts.PROGRESSIVE_HIE01, vo.getProgressiveHIE01()); gridParams .getOtherGridParams() .put(ApplicationConsts.ROOT_PROGRESSIVE_HIE01, root.getProgressiveHIE01()); } else gridParams.getOtherGridParams().remove(ApplicationConsts.PROGRESSIVE_HIE01); gridParams .getOtherGridParams() .put( ApplicationConsts.PROGRESSIVE_HIE02, frame.getHierarTreePanel().getProgressiveHIE02()); gridParams.getOtherGridParams().put(ApplicationConsts.LOAD_ANCIENTS, Boolean.TRUE); Response res = ClientUtils.getData("loadLevelProperties", gridParams); if (res.isError()) { JOptionPane.showMessageDialog( ClientUtils.getParentFrame(this), ClientSettings.getInstance().getResources().getResource("Error while loading data") + ":\n" + res.getErrorMessage(), ClientSettings.getInstance().getResources().getResource("Loading Data Error"), JOptionPane.ERROR_MESSAGE); return; } ArrayList rows = ((VOListResponse) res).getRows(); if (rows.size() > 0) { // adding customized input controls... LevelPropertyVO inputControlInfo = null; int row = 0; int col = 0; LabelControl labelControl = null; TextControl textControl = null; DateControl dateControl = null; NumericControl numericControl = null; for (int i = 0; i < rows.size(); i++) { inputControlInfo = (LevelPropertyVO) rows.get(i); labelControl = new LabelControl(); labelControl.setText(inputControlInfo.getDescriptionSYS10()); innerPanel.add( labelControl, new GridBagConstraints( col++, row, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); if (inputControlInfo.getPropertyTypeDOC21().equals(ApplicationConsts.TYPE_TEXT)) { textControl = new TextControl(); textControl.setMaxCharacters(255); textControl.setLinkLabel(labelControl); innerPanel.add( textControl, new GridBagConstraints( col, row, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 15), 0, 0)); textControl.addFocusListener(new ControlFocusListener(inputControlInfo, textControl)); } else if (inputControlInfo.getPropertyTypeDOC21().equals(ApplicationConsts.TYPE_DATE)) { dateControl = new DateControl(); dateControl.setLinkLabel(labelControl); innerPanel.add( dateControl, new GridBagConstraints( col, row, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 15), 0, 0)); dateControl.addFocusListener(new ControlFocusListener(inputControlInfo, dateControl)); } else if (inputControlInfo.getPropertyTypeDOC21().equals(ApplicationConsts.TYPE_NUM)) { numericControl = new NumericControl(); numericControl.setDecimals(5); numericControl.setLinkLabel(labelControl); innerPanel.add( numericControl, new GridBagConstraints( col, row, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 15), 0, 0)); numericControl.addFocusListener( new ControlFocusListener(inputControlInfo, numericControl)); } col++; if (col >= 2) { innerPanel.add( new JPanel(), new GridBagConstraints( col, row, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0)); row++; col = 0; } } row++; innerPanel.add( new JPanel(), new GridBagConstraints( col, row, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); innerPanel.add( new JPanel(), new GridBagConstraints( 0, row, 1, 1, 0.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(5, 5, 5, 5), 0, 0)); this.revalidate(); this.repaint(); } } catch (Exception ex) { ex.printStackTrace(); } }
/** * Method called by the Form panel to update existing data. * * @param oldPersistentObject original value object, previous to the changes * @param persistentObject value object to save * @return an ErrorResponse value object in case of errors, VOResponse if the operation is * successfully completed */ public Response updateRecord(ValueObject oldPersistentObject, ValueObject persistentObject) throws Exception { // mapping between attributes and database fields... Map attribute2dbField = new HashMap(); attribute2dbField.put("empCode", "EMP_CODE"); attribute2dbField.put("firstName", "FIRST_NAME"); attribute2dbField.put("lastName", "LAST_NAME"); attribute2dbField.put("deptCode", "DEPT_CODE"); attribute2dbField.put("taskCode", "TASK_CODE"); attribute2dbField.put("sex", "SEX"); attribute2dbField.put("hireDate", "HIRE_DATE"); attribute2dbField.put("salary", "SALARY"); attribute2dbField.put("note", "NOTE"); HashSet pk = new HashSet(); pk.add("empCode"); Response res = QueryUtil.updateTable( conn, pk, oldPersistentObject, persistentObject, "EMP", attribute2dbField, "Y", "N", true); if (res.isError()) conn.rollback(); else conn.commit(); return res; /* // an alternative way: you can define your own business logic to store data at hand... PreparedStatement stmt = null; try { stmt = conn.prepareStatement("update EMP set EMP_CODE=?,FIRST_NAME=?,LAST_NAME=?,DEPT_CODE=?,TASK_CODE=?,SEX=?,HIRE_DATE=?,SALARY=?,NOTE=? where EMP_CODE=?"); EmpVO vo = (EmpVO)persistentObject; stmt.setString(1,vo.getEmpCode()); stmt.setString(2,vo.getFirstName()); stmt.setString(3,vo.getLastName()); stmt.setString(4,vo.getDeptCode()); stmt.setString(5,vo.getTaskCode()); stmt.setString(6,vo.getSex()); stmt.setDate(7,vo.getHireDate()); stmt.setBigDecimal(8,vo.getSalary()); stmt.setString(9,vo.getNote()); stmt.setString(10,vo.getEmpCode()); stmt.execute(); gridFrame.reloadData(); return new VOResponse(vo); } catch (SQLException ex) { ex.printStackTrace(); return new ErrorResponse(ex.getMessage()); } finally { try { stmt.close(); conn.commit(); } catch (SQLException ex1) { } } */ }
/** * Method called by the Form panel to insert new data. * * @param newValueObject value object to save * @return an ErrorResponse value object in case of errors, VOResponse if the operation is * successfully completed */ public Response insertRecord(ValueObject newPersistentObject) throws Exception { // mapping between attributes and database fields... Map attribute2dbField = new HashMap(); attribute2dbField.put("empCode", "EMP_CODE"); attribute2dbField.put("firstName", "FIRST_NAME"); attribute2dbField.put("lastName", "LAST_NAME"); attribute2dbField.put("deptCode", "DEPT_CODE"); attribute2dbField.put("taskCode", "TASK_CODE"); attribute2dbField.put("sex", "SEX"); attribute2dbField.put("hireDate", "HIRE_DATE"); attribute2dbField.put("salary", "SALARY"); attribute2dbField.put("note", "NOTE"); Response res = QueryUtil.insertTable(conn, newPersistentObject, "EMP", attribute2dbField, "Y", "N", true); if (res.isError()) { conn.rollback(); return res; } else { // insert 7 records in WORKING_DAYS, one for each day of week... PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement("insert into WORKING_DAYS(EMP_CODE,DAY) values(?,?)"); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.SUNDAY); pstmt.execute(); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.MONDAY); pstmt.execute(); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.TUESDAY); pstmt.execute(); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.WEDNESDAY); pstmt.execute(); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.THURSDAY); pstmt.execute(); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.FRIDAY); pstmt.execute(); pstmt.setString(1, ((EmpVO) newPersistentObject).getEmpCode()); pstmt.setInt(2, Calendar.SATURDAY); pstmt.execute(); conn.commit(); frame .getGrid() .getOtherGridParams() .put("empCode", ((EmpVO) newPersistentObject).getEmpCode()); frame.getGrid().reloadData(); return res; } catch (Exception ex) { conn.rollback(); return new ErrorResponse(ex.getMessage()); } finally { try { pstmt.close(); } catch (Exception ex1) { } } } /* // an alternative way: you can define your own business logic to store data at hand... PreparedStatement stmt = null; try { stmt = conn.prepareStatement("insert into EMP(EMP_CODE,FIRST_NAME,LAST_NAME,DEPT_CODE,TASK_CODE,SEX,HIRE_DATE,SALARY,NOTE) values(?,?,?,?,?,?,?,?,?)"); EmpVO vo = (EmpVO)newPersistentObject; stmt.setString(1,vo.getEmpCode()); stmt.setString(2,vo.getFirstName()); stmt.setString(3,vo.getLastName()); stmt.setString(4,vo.getDeptCode()); stmt.setString(5,vo.getTaskCode()); stmt.setString(6,vo.getSex()); stmt.setDate(7,vo.getHireDate()); stmt.setBigDecimal(8,vo.getSalary()); stmt.setString(9,vo.getNote()); stmt.execute(); pk = vo.getEmpCode(); gridFrame.reloadData(); return new VOResponse(vo); } catch (SQLException ex) { ex.printStackTrace(); return new ErrorResponse(ex.getMessage()); } finally { try { stmt.close(); conn.commit(); } catch (SQLException ex1) { } } */ }