/** * Get Tree ID for role * * @return AD_Tree_ID as int */ private int getTreeID() { int AD_Role_ID = m_context.getAD_Role_ID(); // Load Menu Structure ---------------------- int AD_Tree_ID = QueryUtil.getSQLValue( null, "SELECT COALESCE(r.AD_Tree_Menu_ID, ci.AD_Tree_Menu_ID)" + "FROM AD_ClientInfo ci" + " INNER JOIN AD_Role r ON (ci.AD_Client_ID=r.AD_Client_ID) " + "WHERE AD_Role_ID=?", AD_Role_ID); if (AD_Tree_ID <= 0) AD_Tree_ID = 10; // Menu return AD_Tree_ID; } // getTreeID
public List<IServerExtension> getExtensions(IProgressMonitor monitor) throws CoreException, ProvisionException { try { /* * To discovery the server adapter, there are three methods: * 1. Looking at the site.xml (if it exists). This is the legacy method * 2. Looking for the org.eclipse.wst.server.core.serverAdapter property in a p2 * update site (that may not have a site.xml). The property is necessary to identify * the InstallableUnit as a server type. Otherwise, all the InstallableUnits will show * up regardless of whether it is a server or not * 3. If the user created the p2 update site using a category.xml file (migrating old site.xml * to use category.xml) */ BundleContext bd = org.eclipse.wst.server.discovery.internal.Activator.getDefault() .getBundle() .getBundleContext(); IProvisioningAgent agent = ExtensionUtility.getAgent(bd); URI url2 = new URI(url); // Method 1: Looking at the site.xml UpdateSiteMetadataRepositoryFactory mrf = new UpdateSiteMetadataRepositoryFactory(); mrf.setAgent(ExtensionUtility.getAgent(bd)); // If the site.xml does not exist, the load will throw a // org.eclipse.equinox.p2.core.ProvisionException List<IServerExtension> list = new ArrayList<IServerExtension>(); try { IMetadataRepository repo = mrf.load(url2, IRepositoryManager.REPOSITORIES_ALL, monitor); IQuery<IInstallableUnit> query = QueryUtil.createMatchQuery( "id ~=/*org.eclipse.wst.server.core.serverAdapter/"); //$NON-NLS-1$ list = getInstallableUnits(repo, query, url2, monitor); } catch (ProvisionException pe) { Trace.trace(Trace.WARNING, "Error getting update site information", pe); // $NON-NLS-1$ } // Call Method 2 if there are no results from Method 1 (e.g. if the site.xml exists without // specifying any server adapters there or no site.xml exists) if (list.isEmpty()) { IMetadataRepositoryManager manager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME); manager.addRepository(url2); // Need to query for all IUs IQuery<IInstallableUnit> query = QueryUtil.createIUAnyQuery(); IMetadataRepository repo = manager.loadRepository(url2, monitor); List<IServerExtension> list2 = getInstallableUnits(repo, query, url2, monitor); int size = list2.size(); for (int i = 0; i < size; i++) { Extension e = (Extension) list2.get(i); IInstallableUnit[] iuArr = e.getIUs(); if (iuArr != null && iuArr.length > 0) { if (iuArr[0] != null) { if (iuArr[0].getProperty(SERVER_ADAPTER_ID) != null) { list.add(e); } } } } } // Call Method 3 if no results from Method 2. Creating the p2 update site using the // category.xml will generate // a provider property with org.eclipse.wst.server.core.serverAdapter if (list.isEmpty()) { IMetadataRepositoryManager manager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME); manager.addRepository(url2); IQuery<IInstallableUnit> query = QueryUtil.createMatchQuery( "id ~=/*org.eclipse.wst.server.core.serverAdapter/"); //$NON-NLS-1$ IMetadataRepository repo = manager.loadRepository(url2, monitor); list = getInstallableUnits(repo, query, url2, monitor); } return list; } catch (ProvisionException e) { Trace.trace(Trace.WARNING, "Error getting update info", e); // $NON-NLS-1$ throw e; } catch (Exception e) { Trace.trace(Trace.WARNING, "Error getting update info", e); // $NON-NLS-1$ return new ArrayList<IServerExtension>(0); } }
/** Business logic to execute. */ public final Response executeCommand( Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request, HttpServletResponse response, HttpSession userSession, ServletContext context) { Connection conn = null; PreparedStatement pstmt = null; try { conn = ConnectionManager.getConnection(context); // fires the GenericEvent.CONNECTION_CREATED event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.CONNECTION_CREATED, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, null)); Object[] pars = (Object[]) inputPar; DetailPurchaseDocRowVO voTemplate = (DetailPurchaseDocRowVO) pars[0]; VariantsMatrixVO matrixVO = (VariantsMatrixVO) pars[1]; Object[][] cells = (Object[][]) pars[2]; BigDecimal currencyDecimals = (BigDecimal) pars[3]; Map attribute2dbField = new HashMap(); attribute2dbField.put("companyCodeSys01DOC07", "COMPANY_CODE_SYS01"); attribute2dbField.put("docTypeDOC07", "DOC_TYPE"); attribute2dbField.put("docYearDOC07", "DOC_YEAR"); attribute2dbField.put("docNumberDOC07", "DOC_NUMBER"); attribute2dbField.put("rowNumberDOC07", "ROW_NUMBER"); attribute2dbField.put("itemCodeItm01DOC07", "ITEM_CODE_ITM01"); attribute2dbField.put("supplierItemCodePur02DOC07", "SUPPLIER_ITEM_CODE_PUR02"); attribute2dbField.put("vatCodeItm01DOC07", "VAT_CODE_ITM01"); attribute2dbField.put("valuePur04DOC07", "VALUE_PUR04"); attribute2dbField.put("valueDOC07", "VALUE"); attribute2dbField.put("qtyDOC07", "QTY"); attribute2dbField.put("discountValueDOC07", "DISCOUNT_VALUE"); attribute2dbField.put("discountPercDOC07", "DISCOUNT_PERC"); attribute2dbField.put("vatValueDOC07", "VAT_VALUE"); attribute2dbField.put("vatDescriptionDOC07", "VAT_DESCRIPTION"); attribute2dbField.put("startDatePur04DOC07", "START_DATE_PUR04"); attribute2dbField.put("endDatePur04DOC07", "END_DATE_PUR04"); attribute2dbField.put("umCodePur02DOC07", "UM_CODE_PUR02"); attribute2dbField.put("decimalsReg02DOC07", "DECIMALS_REG02"); attribute2dbField.put("minPurchaseQtyPur02DOC07", "MIN_PURCHASE_QTY_PUR02"); attribute2dbField.put("multipleQtyPur02DOC07", "MULTIPLE_QTY_PUR02"); attribute2dbField.put("valueReg01DOC07", "VALUE_REG01"); attribute2dbField.put("deductibleReg01DOC07", "DEDUCTIBLE_REG01"); attribute2dbField.put("taxableIncomeDOC07", "TAXABLE_INCOME"); attribute2dbField.put("progressiveHie02DOC07", "PROGRESSIVE_HIE02"); attribute2dbField.put("deliveryDateDOC07", "DELIVERY_DATE"); attribute2dbField.put("inQtyDOC07", "IN_QTY"); attribute2dbField.put("orderQtyDOC07", "ORDER_QTY"); attribute2dbField.put("invoiceQtyDOC07", "INVOICE_QTY"); attribute2dbField.put("variantTypeItm06DOC07", "VARIANT_TYPE_ITM06"); attribute2dbField.put("variantCodeItm11DOC07", "VARIANT_CODE_ITM11"); attribute2dbField.put("variantTypeItm07DOC07", "VARIANT_TYPE_ITM07"); attribute2dbField.put("variantCodeItm12DOC07", "VARIANT_CODE_ITM12"); attribute2dbField.put("variantTypeItm08DOC07", "VARIANT_TYPE_ITM08"); attribute2dbField.put("variantCodeItm13DOC07", "VARIANT_CODE_ITM13"); attribute2dbField.put("variantTypeItm09DOC07", "VARIANT_TYPE_ITM09"); attribute2dbField.put("variantCodeItm14DOC07", "VARIANT_CODE_ITM14"); attribute2dbField.put("variantTypeItm10DOC07", "VARIANT_TYPE_ITM10"); attribute2dbField.put("variantCodeItm15DOC07", "VARIANT_CODE_ITM15"); DetailPurchaseDocRowVO vo = null; VariantsMatrixColumnVO colVO = null; VariantsMatrixRowVO rowVO = null; Response res = null; for (int i = 0; i < cells.length; i++) { rowVO = (VariantsMatrixRowVO) matrixVO.getRowDescriptors().get(i); if (matrixVO.getColumnDescriptors().size() == 0) { if (cells[i][0] != null) { vo = (DetailPurchaseDocRowVO) voTemplate.clone(); if (!containsVariant(matrixVO, "ITM11_VARIANTS_1")) { // e.g. color but not no size... vo.setVariantCodeItm11DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm06DOC07(ApplicationConsts.JOLLY); } else { vo.setVariantCodeItm11DOC07(rowVO.getVariantCodeITM11()); vo.setVariantTypeItm06DOC07(rowVO.getVariantTypeITM06()); } if (!containsVariant(matrixVO, "ITM12_VARIANTS_2")) { vo.setVariantCodeItm12DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm07DOC07(ApplicationConsts.JOLLY); } else { vo.setVariantCodeItm12DOC07(rowVO.getVariantCodeITM11()); vo.setVariantTypeItm07DOC07(rowVO.getVariantTypeITM06()); } if (!containsVariant(matrixVO, "ITM13_VARIANTS_3")) { vo.setVariantCodeItm13DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm08DOC07(ApplicationConsts.JOLLY); } else { vo.setVariantCodeItm13DOC07(rowVO.getVariantCodeITM11()); vo.setVariantTypeItm08DOC07(rowVO.getVariantTypeITM06()); } if (!containsVariant(matrixVO, "ITM14_VARIANTS_4")) { vo.setVariantCodeItm14DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm09DOC07(ApplicationConsts.JOLLY); } else { vo.setVariantCodeItm14DOC07(rowVO.getVariantCodeITM11()); vo.setVariantTypeItm09DOC07(rowVO.getVariantTypeITM06()); } if (!containsVariant(matrixVO, "ITM15_VARIANTS_5")) { vo.setVariantCodeItm15DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm10DOC07(ApplicationConsts.JOLLY); } else { vo.setVariantCodeItm15DOC07(rowVO.getVariantCodeITM11()); vo.setVariantTypeItm10DOC07(rowVO.getVariantTypeITM06()); } vo.setQtyDOC07((BigDecimal) cells[i][0]); PurchaseUtils.updateTotals(vo, currencyDecimals.intValue()); /* vo.setVariantCodeItm12DOC07(ApplicationConsts.JOLLY); vo.setVariantCodeItm13DOC07(ApplicationConsts.JOLLY); vo.setVariantCodeItm14DOC07(ApplicationConsts.JOLLY); vo.setVariantCodeItm15DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm07DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm08DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm09DOC07(ApplicationConsts.JOLLY); vo.setVariantTypeItm10DOC07(ApplicationConsts.JOLLY); */ vo.setInQtyDOC07(new BigDecimal(0)); vo.setOrderQtyDOC07(vo.getQtyDOC07()); if (vo.getInvoiceQtyDOC07() == null) vo.setInvoiceQtyDOC07(new BigDecimal(0)); vo.setRowNumberDOC07( progBean.getInternalProgressive("DOC07_PURCHASE_ITEMS", "ROW_NUMBER", conn)); // insert into DOC07... res = QueryUtil.insertTable( conn, userSessionPars, vo, "DOC07_PURCHASE_ITEMS", attribute2dbField, "Y", "N", context, true); if (res.isError()) { conn.rollback(); return res; } } // end if on not null } else for (int k = 0; k < matrixVO.getColumnDescriptors().size(); k++) { colVO = (VariantsMatrixColumnVO) matrixVO.getColumnDescriptors().get(k); if (cells[i][k] != null) { vo = (DetailPurchaseDocRowVO) voTemplate.clone(); vo.setQtyDOC07((BigDecimal) cells[i][k]); PurchaseUtils.updateTotals(vo, currencyDecimals.intValue()); vo.setVariantCodeItm11DOC07(rowVO.getVariantCodeITM11()); vo.setVariantTypeItm06DOC07(rowVO.getVariantTypeITM06()); vo.setVariantCodeItm12DOC07( colVO.getVariantCodeITM12() == null ? ApplicationConsts.JOLLY : colVO.getVariantCodeITM12()); vo.setVariantCodeItm13DOC07( colVO.getVariantCodeITM13() == null ? ApplicationConsts.JOLLY : colVO.getVariantCodeITM13()); vo.setVariantCodeItm14DOC07( colVO.getVariantCodeITM14() == null ? ApplicationConsts.JOLLY : colVO.getVariantCodeITM14()); vo.setVariantCodeItm15DOC07( colVO.getVariantCodeITM15() == null ? ApplicationConsts.JOLLY : colVO.getVariantCodeITM15()); vo.setVariantTypeItm07DOC07( colVO.getVariantTypeITM07() == null ? ApplicationConsts.JOLLY : colVO.getVariantTypeITM07()); vo.setVariantTypeItm08DOC07( colVO.getVariantTypeITM08() == null ? ApplicationConsts.JOLLY : colVO.getVariantTypeITM08()); vo.setVariantTypeItm09DOC07( colVO.getVariantTypeITM09() == null ? ApplicationConsts.JOLLY : colVO.getVariantTypeITM09()); vo.setVariantTypeItm10DOC07( colVO.getVariantTypeITM10() == null ? ApplicationConsts.JOLLY : colVO.getVariantTypeITM10()); vo.setInQtyDOC07(new BigDecimal(0)); vo.setOrderQtyDOC07(vo.getQtyDOC07()); if (vo.getInvoiceQtyDOC07() == null) vo.setInvoiceQtyDOC07(new BigDecimal(0)); vo.setRowNumberDOC07( progBean.getInternalProgressive("DOC07_PURCHASE_ITEMS", "ROW_NUMBER", conn)); // insert into DOC07... res = QueryUtil.insertTable( conn, userSessionPars, vo, "DOC07_PURCHASE_ITEMS", attribute2dbField, "Y", "N", context, true); if (res.isError()) { conn.rollback(); return res; } } // end if on not null } // end inner for } // end outer for // recalculate totals... PurchaseDocPK pk = new PurchaseDocPK( vo.getCompanyCodeSys01DOC07(), vo.getDocTypeDOC07(), vo.getDocYearDOC07(), vo.getDocNumberDOC07()); Response docResponse = docBean.loadPurchaseDoc( conn, pk, userSessionPars, request, response, userSession, context); if (docResponse.isError()) { conn.rollback(); return docResponse; } DetailPurchaseDocVO docVO = (DetailPurchaseDocVO) ((VOResponse) docResponse).getVo(); Response totalResponse = totalBean.calcDocTotals( conn, docVO, userSessionPars, request, response, userSession, context); if (totalResponse.isError()) { conn.rollback(); return totalResponse; } pstmt = conn.prepareStatement( "update DOC06_PURCHASE set TAXABLE_INCOME=?,TOTAL_VAT=?,TOTAL=?,DOC_STATE=? where COMPANY_CODE_SYS01=? and DOC_TYPE=? and DOC_YEAR=? and DOC_NUMBER=?"); pstmt.setBigDecimal(1, docVO.getTaxableIncomeDOC06()); pstmt.setBigDecimal(2, docVO.getTotalVatDOC06()); pstmt.setBigDecimal(3, docVO.getTotalDOC06()); pstmt.setString(4, ApplicationConsts.HEADER_BLOCKED); pstmt.setString(5, vo.getCompanyCodeSys01DOC07()); pstmt.setString(6, vo.getDocTypeDOC07()); pstmt.setBigDecimal(7, vo.getDocYearDOC07()); pstmt.setBigDecimal(8, vo.getDocNumberDOC07()); pstmt.execute(); Response answer = new VOResponse(vo); // fires the GenericEvent.BEFORE_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.BEFORE_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); conn.commit(); // fires the GenericEvent.AFTER_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.AFTER_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); return answer; } catch (Throwable ex) { Logger.error( userSessionPars.getUsername(), this.getClass().getName(), "executeCommand", "Error while inserting new purchase order rows", ex); try { conn.rollback(); } catch (Exception ex3) { } return new ErrorResponse(ex.getMessage()); } finally { try { pstmt.close(); } catch (Exception ex2) { } try { ConnectionManager.releaseConnection(conn, context); } catch (Exception ex1) { } } }
/** Business logic to execute. */ public final Response executeCommand( Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request, HttpServletResponse response, HttpSession userSession, ServletContext context) { String serverLanguageId = ((JAIOUserSessionParameters) userSessionPars).getServerLanguageId(); Connection conn = null; try { conn = ConnectionManager.getConnection(context); // fires the GenericEvent.CONNECTION_CREATED event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.CONNECTION_CREATED, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, null)); String sql = "select WAR04_WAREHOUSE_MOTIVES.QTY_SIGN,WAR04_WAREHOUSE_MOTIVES.ITEM_TYPE,WAR02_WAREHOUSE_MOVEMENTS.PROGRESSIVE,WAR02_WAREHOUSE_MOVEMENTS.COMPANY_CODE_SYS01," + "WAR02_WAREHOUSE_MOVEMENTS.WAREHOUSE_CODE_WAR01,WAR02_WAREHOUSE_MOVEMENTS.ITEM_CODE_ITM01,WAR02_WAREHOUSE_MOVEMENTS.PROGRESSIVE_HIE01," + "SYS10_LOC.DESCRIPTION,WAR02_WAREHOUSE_MOVEMENTS.MOVEMENT_DATE,WAR02_WAREHOUSE_MOVEMENTS.USERNAME,WAR02_WAREHOUSE_MOVEMENTS.NOTE," + "WAR02_WAREHOUSE_MOVEMENTS.DELTA_QTY,WAR02_WAREHOUSE_MOVEMENTS.WAREHOUSE_MOTIVE_WAR04,SYS10_WAR04.DESCRIPTION,SYS10_ITM01.DESCRIPTION," + "WAR01_WAREHOUSES.DESCRIPTION," + "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM06,WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM11," + "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM07,WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM12," + "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM08,WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM13," + "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM09,WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM14," + "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM10,WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM15 " + " from " + "WAR04_WAREHOUSE_MOTIVES,WAR02_WAREHOUSE_MOVEMENTS,SYS10_TRANSLATIONS SYS10_LOC,SYS10_TRANSLATIONS SYS10_WAR04," + "SYS10_TRANSLATIONS SYS10_ITM01,WAR01_WAREHOUSES,ITM01_ITEMS where " + "WAR02_WAREHOUSE_MOVEMENTS.WAREHOUSE_MOTIVE_WAR04=WAR04_WAREHOUSE_MOTIVES.WAREHOUSE_MOTIVE and " + "WAR04_WAREHOUSE_MOTIVES.PROGRESSIVE_SYS10=SYS10_WAR04.PROGRESSIVE and " + "SYS10_WAR04.LANGUAGE_CODE=? and " + "WAR02_WAREHOUSE_MOVEMENTS.PROGRESSIVE_HIE01=SYS10_LOC.PROGRESSIVE and " + "SYS10_LOC.LANGUAGE_CODE=? and " + "WAR02_WAREHOUSE_MOVEMENTS.COMPANY_CODE_SYS01=ITM01_ITEMS.COMPANY_CODE_SYS01 and " + "WAR02_WAREHOUSE_MOVEMENTS.ITEM_CODE_ITM01=ITM01_ITEMS.ITEM_CODE and " + "ITM01_ITEMS.PROGRESSIVE_SYS10=SYS10_ITM01.PROGRESSIVE and " + "SYS10_ITM01.LANGUAGE_CODE=? and " + "WAR02_WAREHOUSE_MOVEMENTS.COMPANY_CODE_SYS01=WAR01_WAREHOUSES.COMPANY_CODE_SYS01 and " + "WAR02_WAREHOUSE_MOVEMENTS.WAREHOUSE_CODE_WAR01=WAR01_WAREHOUSES.WAREHOUSE_CODE "; Map attribute2dbField = new HashMap(); attribute2dbField.put("qtySignWAR04", "WAR04_WAREHOUSE_MOTIVES.QTY_SIGN"); attribute2dbField.put("itemTypeWAR04", "WAR04_WAREHOUSE_MOTIVES.ITEM_TYPE"); attribute2dbField.put("progressiveWAR02", "WAR02_WAREHOUSE_MOVEMENTS.PROGRESSIVE"); attribute2dbField.put( "companyCodeSys01WAR02", "WAR02_WAREHOUSE_MOVEMENTS.COMPANY_CODE_SYS01"); attribute2dbField.put( "warehouseCodeWar01WAR02", "WAR02_WAREHOUSE_MOVEMENTS.WAREHOUSE_CODE_WAR01"); attribute2dbField.put("itemCodeItm01WAR02", "WAR02_WAREHOUSE_MOVEMENTS.ITEM_CODE_ITM01"); attribute2dbField.put("progressiveHie01WAR02", "WAR02_WAREHOUSE_MOVEMENTS.PROGRESSIVE_HIE01"); attribute2dbField.put("locationDescriptionSYS10", "SYS10_LOC.DESCRIPTION"); attribute2dbField.put("movementDateWAR02", "WAR02_WAREHOUSE_MOVEMENTS.MOVEMENT_DATE"); attribute2dbField.put("usernameWAR02", "WAR02_WAREHOUSE_MOVEMENTS.USERNAME"); attribute2dbField.put("noteWAR02", "WAR02_WAREHOUSE_MOVEMENTS.NOTE"); attribute2dbField.put("deltaQtyWAR02", "WAR02_WAREHOUSE_MOVEMENTS.DELTA_QTY"); attribute2dbField.put( "warehouseMotiveWar04WAR02", "WAR02_WAREHOUSE_MOVEMENTS.WAREHOUSE_MOTIVE_WAR04"); attribute2dbField.put("motiveDescriptionSYS10", "SYS10_WAR04.DESCRIPTION"); attribute2dbField.put("itemDescriptionSYS10", "SYS10_ITM01.DESCRIPTION"); attribute2dbField.put("descriptionWAR01", "WAR01_WAREHOUSES.DESCRIPTION"); attribute2dbField.put( "variantTypeItm06WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM06"); attribute2dbField.put( "variantCodeItm11WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM11"); attribute2dbField.put( "variantTypeItm07WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM07"); attribute2dbField.put( "variantCodeItm12WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM12"); attribute2dbField.put( "variantTypeItm08WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM08"); attribute2dbField.put( "variantCodeItm13WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM13"); attribute2dbField.put( "variantTypeItm09WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM09"); attribute2dbField.put( "variantCodeItm14WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM14"); attribute2dbField.put( "variantTypeItm10WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_TYPE_ITM10"); attribute2dbField.put( "variantCodeItm15WAR02", "WAR02_WAREHOUSE_MOVEMENTS.VARIANT_CODE_ITM15"); ArrayList values = new ArrayList(); values.add(serverLanguageId); values.add(serverLanguageId); values.add(serverLanguageId); GridParams gridParams = (GridParams) inputPar; // read from WAR02 table... Response answer = QueryUtil.getQuery( conn, userSessionPars, sql, values, attribute2dbField, MovementVO.class, "Y", "N", context, gridParams, true); // fires the GenericEvent.BEFORE_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.BEFORE_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); return answer; } catch (Throwable ex) { Logger.error( userSessionPars.getUsername(), this.getClass().getName(), "executeCommand", "Error while fetching warehouse movements list", ex); return new ErrorResponse(ex.getMessage()); } finally { try { ConnectionManager.releaseConnection(conn, context); } catch (Exception ex1) { } } }
/** * Before Save. Truncate Dates * * @param newRecord new * @return true */ @Override protected boolean beforeSave(boolean newRecord) { Timestamp startdate = getStartDate(); Timestamp enddate = getEndDate(); if (enddate != null && startdate.after(enddate)) { s_log.saveError("Error", Msg.getMsg(getCtx(), "CalPeriodInvalidDate")); return false; } // Truncate Dates startdate = TimeUtil.getDay(startdate); setStartDate(startdate); if (enddate != null) enddate = TimeUtil.getDay(enddate); else enddate = TimeUtil.getMonthLastDay(getStartDate()); // Adding the time component of 23:59:59 to the end date enddate = new Timestamp(enddate.getTime() + 86399000); setEndDate(enddate); MPeriod[] periods = getAllPeriodsInYear(getC_Year_ID(), "S", getCtx(), get_Trx()); MPeriod[] allperiods = getAllPeriodsInCalendar(getC_Calendar_ID(), "S", getCtx(), get_Trx()); // Check for non-negative period number if (getPeriodNo() < 0) { s_log.saveError("Error", Msg.getMsg(getCtx(), "CalNegPeriodNo")); return false; } // Check for standard period if (isStandardPeriod() == true) { // Check Period number is in ascending order Timestamp nextPeriodStartDate = null; Timestamp prevPeriodStartDate = null; // Get the next standard period number Start Date in this year String sql = "SELECT StartDate FROM C_Period WHERE " + "C_Period.IsActive='Y' AND PeriodType='S' " + "AND C_Period.C_Year_ID =? " + "AND C_Period.C_Period_ID <> ?" + "AND C_Period.PeriodNo " + " > ? ORDER BY C_Period.PeriodNo ASC"; Object[][] result = null; result = QueryUtil.executeQuery(get_Trx(), sql, getC_Year_ID(), getC_Period_ID(), getPeriodNo()); if (result.length != 0) nextPeriodStartDate = (Timestamp) result[0][0]; // Get the previous standard period number Start Date in this year sql = "SELECT StartDate FROM C_Period WHERE " + "C_Period.IsActive='Y' AND PeriodType='S' " + "AND C_Period.C_Year_ID =? " + "AND C_Period.C_Period_ID <> ?" + "AND C_Period.PeriodNo " + "< ? ORDER BY C_Period.PeriodNo DESC"; result = QueryUtil.executeQuery(get_Trx(), sql, getC_Year_ID(), getC_Period_ID(), getPeriodNo()); if (result.length != 0) prevPeriodStartDate = (Timestamp) result[0][0]; if ((prevPeriodStartDate != null && TimeUtil.max(prevPeriodStartDate, startdate) == prevPeriodStartDate)) { s_log.saveError("Error", Msg.getMsg(getCtx(), "CalPeriodAsc")); return false; } if ((nextPeriodStartDate != null && TimeUtil.max(nextPeriodStartDate, startdate) == startdate)) { s_log.saveError("Error", Msg.getMsg(getCtx(), "CalPeriodAsc")); return false; } // Check if the Standard Period is overlapping other periods. for (MPeriod period : allperiods) { if ((TimeUtil.isValid(period.getStartDate(), period.getEndDate(), startdate) == true || TimeUtil.isValid(period.getStartDate(), period.getEndDate(), enddate) == true) && period.getC_Period_ID() != getC_Period_ID()) { s_log.saveError("Error", Msg.getMsg(getCtx(), "CalPeriodOverlap")); return false; } } } // Check for adjusting period else { boolean startflag = false; boolean endflag = false; for (MPeriod period : periods) { if (TimeUtil.isValid(period.getStartDate(), period.getEndDate(), startdate) == true) startflag = true; if (TimeUtil.isValid(period.getStartDate(), period.getEndDate(), enddate) == true) endflag = true; if (startflag == true && endflag == true) break; } if (startflag == false || endflag == false) { s_log.saveError("Error", Msg.getMsg(getCtx(), "CalAdjPeriod")); return false; } } return true; } // beforeSave
/** Business logic to execute. */ public final Response executeCommand( Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request, HttpServletResponse response, HttpSession userSession, ServletContext context) { Connection conn = null; try { conn = ConnectionManager.getConnection(context); // fires the GenericEvent.CONNECTION_CREATED event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.CONNECTION_CREATED, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, null)); CallOutTaskVO vo = null; ArrayList list = (ArrayList) inputPar; Map attribute2dbField = new HashMap(); attribute2dbField.put("callOutCodeSch10SCH12", "CALL_OUT_CODE_SCH10"); attribute2dbField.put("companyCodeSys01SCH12", "COMPANY_CODE_SYS01"); attribute2dbField.put("taskCodeReg07SCH12", "TASK_CODE_REG07"); Response res = null; for (int i = 0; i < list.size(); i++) { vo = (CallOutTaskVO) list.get(i); // insert into SCH12... res = QueryUtil.insertTable( conn, userSessionPars, vo, "SCH12_CALL_OUT_TASKS", attribute2dbField, "Y", "N", context, true); if (res.isError()) { conn.rollback(); return res; } } Response answer = new VOListResponse(list, false, list.size()); // fires the GenericEvent.BEFORE_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.BEFORE_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); conn.commit(); // fires the GenericEvent.AFTER_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.AFTER_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); return answer; } catch (Throwable ex) { Logger.error( userSessionPars.getUsername(), this.getClass().getName(), "executeCommand", "Error while inserting new call-out tasks", ex); try { conn.rollback(); } catch (Exception ex3) { } return new ErrorResponse(ex.getMessage()); } finally { try { ConnectionManager.releaseConnection(conn, context); } catch (Exception ex1) { } } }
/** Business logic to execute. */ public VOListResponse loadItemVariants(GridParams pars, String serverLanguageId, String username) throws Throwable { PreparedStatement pstmt = null; Connection conn = null; try { if (this.conn == null) conn = getConn(); else conn = this.conn; String tableName = (String) pars.getOtherGridParams().get(ApplicationConsts.TABLE_NAME); ItemPK pk = (ItemPK) pars.getOtherGridParams().get(ApplicationConsts.ITEM_PK); String productVariant = (String) productVariants.get(tableName); String variantType = (String) variantTypes.get(tableName); String variantTypeJoin = (String) variantTypeJoins.get(tableName); String variantCodeJoin = (String) variantCodeJoins.get(tableName); String sql = "select " + tableName + "." + variantTypeJoin + "," + tableName + ".VARIANT_CODE,A.DESCRIPTION,B.DESCRIPTION, " + tableName + ".PROGRESSIVE_SYS10," + variantType + ".PROGRESSIVE_SYS10 " + "from " + tableName + "," + variantType + ",SYS10_COMPANY_TRANSLATIONS A,SYS10_COMPANY_TRANSLATIONS B " + "where " + tableName + ".COMPANY_CODE_SYS01=? and " + tableName + ".COMPANY_CODE_SYS01=" + variantType + ".COMPANY_CODE_SYS01 and " + tableName + "." + variantTypeJoin + "=" + variantType + ".VARIANT_TYPE and " + tableName + ".COMPANY_CODE_SYS01=A.COMPANY_CODE_SYS01 and " + tableName + ".PROGRESSIVE_SYS10=A.PROGRESSIVE and A.LANGUAGE_CODE=? and " + variantType + ".COMPANY_CODE_SYS01=B.COMPANY_CODE_SYS01 and " + variantType + ".PROGRESSIVE_SYS10=B.PROGRESSIVE and B.LANGUAGE_CODE=? and " + tableName + ".ENABLED='Y' and " + variantType + ".ENABLED='Y' and " + // and not "+tableName+"."+variantTypeJoin+"=? and "+ "not " + tableName + ".VARIANT_CODE=? " + "order by " + tableName + "." + variantTypeJoin + "," + tableName + ".CODE_ORDER"; Map attribute2dbField = new HashMap(); attribute2dbField.put("variantType", tableName + "." + variantTypeJoin); attribute2dbField.put("variantCode", tableName + ".VARIANT_CODE"); attribute2dbField.put("variantDesc", "A.DESCRIPTION"); attribute2dbField.put("variantTypeDesc", "B.DESCRIPTION"); attribute2dbField.put("variantProgressiveSys10", tableName + ".PROGRESSIVE_SYS10"); attribute2dbField.put("variantTypeProgressiveSys10", variantType + ".PROGRESSIVE_SYS10"); ArrayList values = new ArrayList(); values.add(pk.getCompanyCodeSys01ITM01()); values.add(serverLanguageId); values.add(serverLanguageId); // values.add(ApplicationConsts.JOLLY); values.add(ApplicationConsts.JOLLY); // read from ITMxxx table... Response answer = QueryUtil.getQuery( conn, new UserSessionParameters(username), sql, values, attribute2dbField, ItemVariantVO.class, "Y", "N", null, pars, 50, true); if (!answer.isError()) { java.util.List vos = ((VOListResponse) answer).getRows(); HashMap map = new HashMap(); ItemVariantVO vo = null; for (int i = 0; i < vos.size(); i++) { vo = (ItemVariantVO) vos.get(i); vo.setCompanyCodeSys01(pk.getCompanyCodeSys01ITM01()); vo.setItemCodeItm01(pk.getItemCodeITM01()); vo.setTableName(tableName); map.put(vo.getVariantType() + "." + vo.getVariantCode(), vo); } pstmt = conn.prepareStatement( "select " + productVariant + "." + variantTypeJoin + "," + productVariant + "." + variantCodeJoin + " " + "from " + productVariant + " " + "where " + productVariant + ".COMPANY_CODE_SYS01=? and " + productVariant + ".ITEM_CODE_ITM01=? and " + productVariant + ".ENABLED='Y' "); pstmt.setString(1, pk.getCompanyCodeSys01ITM01()); pstmt.setString(2, pk.getItemCodeITM01()); ResultSet rset = pstmt.executeQuery(); while (rset.next()) { vo = (ItemVariantVO) map.get(rset.getString(1) + "." + rset.getString(2)); if (vo != null) vo.setSelected(Boolean.TRUE); } rset.close(); pstmt.close(); } if (answer.isError()) throw new Exception(answer.getErrorMessage()); else return (VOListResponse) answer; } catch (Throwable ex) { Logger.error( username, this.getClass().getName(), "getItemVariants", "Error while fetching item variants list", ex); throw new Exception(ex.getMessage()); } finally { try { pstmt.close(); } catch (Exception ex2) { } try { if (this.conn == null && conn != null) { // close only local connection conn.commit(); conn.close(); } } catch (Exception exx) { } } }
/** Business logic to execute. */ public final Response executeCommand( Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request, HttpServletResponse response, HttpSession userSession, ServletContext context) { String serverLanguageId = ((JAIOUserSessionParameters) userSessionPars).getServerLanguageId(); PreparedStatement pstmt = null; Connection conn = null; try { conn = ConnectionManager.getConnection(context); // fires the GenericEvent.CONNECTION_CREATED event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.CONNECTION_CREATED, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, null)); GridParams pars = (GridParams) inputPar; BigDecimal rootProgressiveHIE01 = (BigDecimal) pars.getOtherGridParams().get(ApplicationConsts.ROOT_PROGRESSIVE_HIE01); BigDecimal progressiveHIE01 = (BigDecimal) pars.getOtherGridParams().get(ApplicationConsts.PROGRESSIVE_HIE01); BigDecimal progressiveHIE02 = (BigDecimal) pars.getOtherGridParams().get(ApplicationConsts.PROGRESSIVE_HIE02); Boolean productsOnly = (Boolean) pars.getOtherGridParams().get(ApplicationConsts.PRODUCTS_ONLY); Boolean compsOnly = (Boolean) pars.getOtherGridParams().get(ApplicationConsts.COMPONENTS_ONLY); HierarchyLevelVO vo = (HierarchyLevelVO) pars.getOtherGridParams().get(ApplicationConsts.TREE_FILTER); if (vo != null) { progressiveHIE01 = vo.getProgressiveHIE01(); progressiveHIE02 = vo.getProgressiveHie02HIE01(); } // retrieve companies list... ArrayList companiesList = ((JAIOUserSessionParameters) userSessionPars).getCompanyBa().getCompaniesList("ITM01"); String companies = ""; for (int i = 0; i < companiesList.size(); i++) companies += "'" + companiesList.get(i).toString() + "',"; companies = companies.substring(0, companies.length() - 1); String sql = "select ITM01_ITEMS.COMPANY_CODE_SYS01,ITM01_ITEMS.ITEM_CODE,SYS10_TRANSLATIONS.DESCRIPTION,ITM01_ITEMS.PROGRESSIVE_HIE02,ITM01_ITEMS.MIN_SELLING_QTY_UM_CODE_REG02," + "ITM01_ITEMS.PROGRESSIVE_HIE01,ITM01_ITEMS.SERIAL_NUMBER_REQUIRED,REG02_MEASURE_UNITS.DECIMALS " + " from ITM01_ITEMS,SYS10_TRANSLATIONS,REG02_MEASURE_UNITS where " + "ITM01_ITEMS.PROGRESSIVE_HIE02=? and " + "ITM01_ITEMS.PROGRESSIVE_SYS10=SYS10_TRANSLATIONS.PROGRESSIVE and " + "SYS10_TRANSLATIONS.LANGUAGE_CODE=? and " + "ITM01_ITEMS.COMPANY_CODE_SYS01 in (" + companies + ") and " + "ITM01_ITEMS.ENABLED='Y' and " + "ITM01_ITEMS.MIN_SELLING_QTY_UM_CODE_REG02=REG02_MEASURE_UNITS.UM_CODE "; if (productsOnly != null && productsOnly.booleanValue()) sql += " and ITM01_ITEMS.MANUFACTURE_CODE_PRO01 is not null "; if (compsOnly != null && compsOnly.booleanValue()) sql += " and ITM01_ITEMS.MANUFACTURE_CODE_PRO01 is null "; if (rootProgressiveHIE01 == null || !rootProgressiveHIE01.equals(progressiveHIE01)) { // retrieve all subnodes of the specified node... pstmt = conn.prepareStatement( "select HIE01_LEVELS.PROGRESSIVE,HIE01_LEVELS.PROGRESSIVE_HIE01,HIE01_LEVELS.LEV from HIE01_LEVELS " + "where ENABLED='Y' and PROGRESSIVE_HIE02=? and PROGRESSIVE>=? " + "order by LEV,PROGRESSIVE_HIE01,PROGRESSIVE"); pstmt.setBigDecimal(1, progressiveHIE02); pstmt.setBigDecimal(2, progressiveHIE01); ResultSet rset = pstmt.executeQuery(); HashSet currentLevelNodes = new HashSet(); HashSet newLevelNodes = new HashSet(); String nodes = ""; int currentLevel = -1; while (rset.next()) { if (currentLevel != rset.getInt(3)) { // next level... currentLevel = rset.getInt(3); currentLevelNodes = newLevelNodes; newLevelNodes = new HashSet(); } if (rset.getBigDecimal(1).equals(progressiveHIE01)) { newLevelNodes.add(rset.getBigDecimal(1)); nodes += rset.getBigDecimal(1) + ","; } else if (currentLevelNodes.contains(rset.getBigDecimal(2))) { newLevelNodes.add(rset.getBigDecimal(1)); nodes += rset.getBigDecimal(1) + ","; } } rset.close(); pstmt.close(); if (nodes.length() > 0) nodes = nodes.substring(0, nodes.length() - 1); sql += " and PROGRESSIVE_HIE01 in (" + nodes + ")"; } Map attribute2dbField = new HashMap(); attribute2dbField.put("companyCodeSys01ITM01", "ITM01_ITEMS.COMPANY_CODE_SYS01"); attribute2dbField.put("itemCodeITM01", "ITM01_ITEMS.ITEM_CODE"); attribute2dbField.put("descriptionSYS10", "SYS10_TRANSLATIONS.DESCRIPTION"); attribute2dbField.put("progressiveHie02ITM01", "ITM01_ITEMS.PROGRESSIVE_HIE02"); attribute2dbField.put( "minSellingQtyUmCodeReg02ITM01", "ITM01_ITEMS.MIN_SELLING_QTY_UM_CODE_REG02"); attribute2dbField.put("progressiveHie01ITM01", "ITM01_ITEMS.PROGRESSIVE_HIE01"); attribute2dbField.put("serialNumberRequiredITM01", "ITM01_ITEMS.SERIAL_NUMBER_REQUIRED"); attribute2dbField.put("decimalsREG02", "REG02_MEASURE_UNITS.DECIMALS"); ArrayList values = new ArrayList(); values.add(progressiveHIE02); values.add(serverLanguageId); // read from ITM01 table... Response answer = QueryUtil.getQuery( conn, userSessionPars, sql, values, attribute2dbField, GridItemVO.class, "Y", "N", context, pars, 50, true); // fires the GenericEvent.BEFORE_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.BEFORE_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); return answer; } catch (Throwable ex) { Logger.error( userSessionPars.getUsername(), this.getClass().getName(), "executeCommand", "Error while fetching items list", ex); return new ErrorResponse(ex.getMessage()); } finally { try { pstmt.close(); } catch (Exception ex2) { } try { ConnectionManager.releaseConnection(conn, context); } catch (Exception ex1) { } } }
/** Business logic to execute. */ public VOListResponse loadOutDeliveryNotesForSaleDoc( GridParams pars, String serverLanguageId, String username, ArrayList companiesList) throws Throwable { PreparedStatement pstmt = null; Connection conn = null; try { if (this.conn == null) conn = getConn(); else conn = this.conn; // retrieve companies list... String companies = ""; for (int i = 0; i < companiesList.size(); i++) companies += "'" + companiesList.get(i).toString() + "',"; companies = companies.substring(0, companies.length() - 1); String sql = "select DOC08_DELIVERY_NOTES.COMPANY_CODE_SYS01,DOC08_DELIVERY_NOTES.DOC_TYPE," + "DOC08_DELIVERY_NOTES.DOC_YEAR,DOC08_DELIVERY_NOTES.DOC_NUMBER,DOC08_DELIVERY_NOTES.DOC_DATE, " + "DOC08_DELIVERY_NOTES.DESTINATION_CODE_REG18,DOC08_DELIVERY_NOTES.DESCRIPTION," + "DOC08_DELIVERY_NOTES.DOC_SEQUENCE " + " from DOC08_DELIVERY_NOTES where " + "DOC08_DELIVERY_NOTES.COMPANY_CODE_SYS01 in (" + companies + ") and " + "DOC08_DELIVERY_NOTES.ENABLED='Y' and " + "DOC08_DELIVERY_NOTES.DOC_TYPE=? and " + "DOC08_DELIVERY_NOTES.DOC_STATE=? and " + "(DOC08_DELIVERY_NOTES.COMPANY_CODE_SYS01,DOC08_DELIVERY_NOTES.DOC_TYPE,DOC08_DELIVERY_NOTES.DOC_YEAR,DOC08_DELIVERY_NOTES.DOC_NUMBER) " + " in (select DOC10_OUT_DELIVERY_NOTE_ITEMS.COMPANY_CODE_SYS01,DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_TYPE,DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_YEAR,DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_NUMBER " + " from DOC10_OUT_DELIVERY_NOTE_ITEMS where " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.COMPANY_CODE_SYS01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_TYPE_DOC01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_YEAR_DOC01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_NUMBER_DOC01=? "; DetailSaleDocVO docVO = (DetailSaleDocVO) pars.getOtherGridParams().get(ApplicationConsts.SALE_DOC_VO); // invoice document... if (docVO.getDocNumberDOC01() == null) sql += " and DOC10_OUT_DELIVERY_NOTE_ITEMS.QTY-DOC10_OUT_DELIVERY_NOTE_ITEMS.INVOICE_QTY>0)"; else sql += ")"; Map attribute2dbField = new HashMap(); attribute2dbField.put("companyCodeSys01DOC08", "DOC08_DELIVERY_NOTES.COMPANY_CODE_SYS01"); attribute2dbField.put("docTypeDOC08", "DOC08_DELIVERY_NOTES.DOC_TYPE"); attribute2dbField.put("docYearDOC08", "DOC08_DELIVERY_NOTES.DOC_YEAR"); attribute2dbField.put("docNumberDOC08", "DOC08_DELIVERY_NOTES.DOC_NUMBER"); attribute2dbField.put("docDateDOC08", "DOC08_DELIVERY_NOTES.DOC_DATE"); attribute2dbField.put( "destinationCodeReg18DOC08", "DOC08_DELIVERY_NOTES.DESTINATION_CODE_REG18"); attribute2dbField.put("descriptionDOC08", "DOC08_DELIVERY_NOTES.DESCRIPTION"); attribute2dbField.put("docSequenceDOC08", "DOC08_DELIVERY_NOTES.DOC_SEQUENCE"); ArrayList values = new ArrayList(); values.add(ApplicationConsts.OUT_DELIVERY_NOTE_DOC_TYPE); values.add(ApplicationConsts.CLOSED); values.add(docVO.getCompanyCodeSys01DOC01()); values.add(docVO.getDocTypeDoc01DOC01()); values.add(docVO.getDocYearDoc01DOC01()); values.add(docVO.getDocNumberDoc01DOC01()); // read from DOC08 table... Response res = QueryUtil.getQuery( conn, new UserSessionParameters(username), sql, values, attribute2dbField, OutDeliveryNotesVO.class, "Y", "N", null, pars, true); if (res.isError()) throw new Exception(res.getErrorMessage()); // check if the invoice document has been already created and there exists delivery notes // linked to it... if (docVO.getDocNumberDOC01() != null) { pstmt = conn.prepareStatement( "select DOC08_DELIVERY_NOTES.DOC_NUMBER from DOC08_DELIVERY_NOTES where " + "DOC08_DELIVERY_NOTES.COMPANY_CODE_SYS01 in (" + companies + ") and " + "DOC08_DELIVERY_NOTES.ENABLED='Y' and " + "DOC08_DELIVERY_NOTES.DOC_TYPE=? and " + "DOC08_DELIVERY_NOTES.DOC_STATE=? and " + "(DOC08_DELIVERY_NOTES.COMPANY_CODE_SYS01,DOC08_DELIVERY_NOTES.DOC_TYPE,DOC08_DELIVERY_NOTES.DOC_YEAR,DOC08_DELIVERY_NOTES.DOC_NUMBER) " + " in (select DOC10_OUT_DELIVERY_NOTE_ITEMS.COMPANY_CODE_SYS01,DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_TYPE,DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_YEAR,DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_NUMBER " + " from DOC10_OUT_DELIVERY_NOTE_ITEMS,DOC02_SELLING_ITEMS where " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.COMPANY_CODE_SYS01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_TYPE_DOC01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_YEAR_DOC01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.DOC_NUMBER_DOC01=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.COMPANY_CODE_SYS01=DOC02_SELLING_ITEMS.COMPANY_CODE_SYS01 and " + " DOC02_SELLING_ITEMS.DOC_TYPE=? and " + " DOC02_SELLING_ITEMS.DOC_YEAR=? and " + " DOC02_SELLING_ITEMS.DOC_NUMBER=? and " + " DOC10_OUT_DELIVERY_NOTE_ITEMS.ITEM_CODE_ITM01=DOC02_SELLING_ITEMS.ITEM_CODE_ITM01)"); pstmt.setString(1, ApplicationConsts.OUT_DELIVERY_NOTE_DOC_TYPE); pstmt.setString(2, ApplicationConsts.CLOSED); pstmt.setString(3, docVO.getCompanyCodeSys01DOC01()); pstmt.setString(4, docVO.getDocTypeDoc01DOC01()); pstmt.setBigDecimal(5, docVO.getDocYearDoc01DOC01()); pstmt.setBigDecimal(6, docVO.getDocNumberDoc01DOC01()); pstmt.setString(7, docVO.getDocTypeDOC01()); pstmt.setBigDecimal(8, docVO.getDocYearDOC01()); pstmt.setBigDecimal(9, docVO.getDocNumberDOC01()); HashSet docNumberDOC08s = new HashSet(); ResultSet rset = pstmt.executeQuery(); while (rset.next()) docNumberDOC08s.add(rset.getBigDecimal(1)); rset.close(); java.util.List rows = ((VOListResponse) res).getRows(); OutDeliveryNotesVO vo = null; for (int i = 0; i < rows.size(); i++) { vo = (OutDeliveryNotesVO) rows.get(i); if (docNumberDOC08s.contains(vo.getDocNumberDOC08())) vo.setSelected(Boolean.TRUE); } } Response answer = res; if (answer.isError()) throw new Exception(answer.getErrorMessage()); else return (VOListResponse) answer; } catch (Throwable ex) { Logger.error( username, this.getClass().getName(), "executeCommand", "Error while fetching out delivery notes list, related to the specified sale document", ex); throw new Exception(ex.getMessage()); } finally { try { pstmt.close(); } catch (Exception exx) { } try { if (this.conn == null && conn != null) { // close only local connection conn.commit(); conn.close(); } } catch (Exception exx) { } } }
@Override public Iterator<TitanRelation> execute(final VertexCentricQuery query) { if (query.getVertex().isNew()) return Iterators.emptyIterator(); final EdgeSerializer edgeSerializer = graph.getEdgeSerializer(); FittedSliceQuery sq = edgeSerializer.getQuery(query); final boolean fittedQuery = sq.isFitted(); final InternalVertex v = query.getVertex(); final boolean needsFiltering = !sq.isFitted() || !deletedRelations.isEmpty(); if (needsFiltering && sq.hasLimit()) sq = new FittedSliceQuery(sq, QueryUtil.updateLimit(sq.getLimit(), 1.1)); Iterable<TitanRelation> result = null; double limitMultiplier = 1.0; int previousDiskSize = 0; boolean finished; do { finished = true; Iterable<Entry> iter = null; if (v instanceof CacheVertex) { CacheVertex cv = (CacheVertex) v; iter = ((CacheVertex) v) .loadRelations( sq, new Retriever<SliceQuery, List<Entry>>() { @Override public List<Entry> get(SliceQuery query) { return graph.edgeQuery(v.getID(), query, txHandle); } }); } else { iter = graph.edgeQuery(v.getID(), sq, txHandle); } result = Iterables.transform( iter, new Function<Entry, TitanRelation>() { @Nullable @Override public TitanRelation apply(@Nullable Entry entry) { return edgeSerializer.readRelation(v, entry); } }); if (needsFiltering) { result = Iterables.filter( result, new Predicate<TitanRelation>() { @Override public boolean apply(@Nullable TitanRelation relation) { // Filter out updated and deleted relations return (relation == ((InternalRelation) relation).it() && !deletedRelations.containsKey(Long.valueOf(relation.getID()))) && (fittedQuery || query.matches(relation)); } }); } // Determine termination if (needsFiltering && query.hasLimit()) { if (!IterablesUtil.sizeLargerOrEqualThan(result, query.getLimit())) { int currentDiskSize = IterablesUtil.size(iter); if (currentDiskSize > previousDiskSize) { finished = false; previousDiskSize = currentDiskSize; limitMultiplier *= 2; sq = new FittedSliceQuery( sq, QueryUtil.updateLimit(sq.getLimit(), limitMultiplier)); } } } } while (!finished); return result.iterator(); }
/** Business logic to execute. */ public final Response executeCommand( Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request, HttpServletResponse response, HttpSession userSession, ServletContext context) { String serverLanguageId = ((JAIOUserSessionParameters) userSessionPars).getServerLanguageId(); Connection conn = null; try { conn = ConnectionManager.getConnection(context); // fires the GenericEvent.CONNECTION_CREATED event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.CONNECTION_CREATED, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, null)); String sql = "select SCH01_EMPLOYEES.COMPANY_CODE_SYS01,SCH01_EMPLOYEES.PROGRESSIVE_REG04,SCH01_EMPLOYEES.EMPLOYEE_CODE," + "REG07_TASKS.TASK_CODE,REG04_SUBJECTS.NAME_1,REG04_SUBJECTS.NAME_2,SYS10_TRANSLATIONS.DESCRIPTION,SCH01_EMPLOYEES.PHONE_NUMBER,SCH01_EMPLOYEES.OFFICE " + "from SCH01_EMPLOYEES,SYS10_TRANSLATIONS,REG07_TASKS,REG04_SUBJECTS where " + "SCH01_EMPLOYEES.COMPANY_CODE_SYS01=REG07_TASKS.COMPANY_CODE_SYS01 and " + "SCH01_EMPLOYEES.TASK_CODE_REG07=REG07_TASKS.TASK_CODE and " + "REG07_TASKS.PROGRESSIVE_SYS10=SYS10_TRANSLATIONS.PROGRESSIVE and " + "SYS10_TRANSLATIONS.LANGUAGE_CODE=? and " + "SCH01_EMPLOYEES.COMPANY_CODE_SYS01=REG04_SUBJECTS.COMPANY_CODE_SYS01 and " + "SCH01_EMPLOYEES.PROGRESSIVE_REG04=REG04_SUBJECTS.PROGRESSIVE and " + "SCH01_EMPLOYEES.ENABLED='Y'"; GridParams gridParams = (GridParams) inputPar; if (gridParams.getOtherGridParams().get(ApplicationConsts.COMPANY_CODE_SYS01) != null) { sql += " and SCH01_EMPLOYEES.COMPANY_CODE_SYS01='" + gridParams.getOtherGridParams().get(ApplicationConsts.COMPANY_CODE_SYS01) + "'"; } else { // retrieve companies list... ArrayList companiesList = ((JAIOUserSessionParameters) userSessionPars).getCompanyBa().getCompaniesList("SCH01"); String companies = ""; for (int i = 0; i < companiesList.size(); i++) companies += "'" + companiesList.get(i).toString() + "',"; companies = companies.substring(0, companies.length() - 1); sql += " and SCH01_EMPLOYEES.COMPANY_CODE_SYS01 in (" + companies + ")"; } Map attribute2dbField = new HashMap(); attribute2dbField.put("companyCodeSys01SCH01", "SCH01_EMPLOYEES.COMPANY_CODE_SYS01"); attribute2dbField.put("progressiveReg04SCH01", "SCH01_EMPLOYEES.PROGRESSIVE_REG04"); attribute2dbField.put("name_1REG04", "REG04_SUBJECTS.NAME_1"); attribute2dbField.put("name_2REG04", "REG04_SUBJECTS.NAME_2"); attribute2dbField.put("phoneNumberSCH01", "SCH01_EMPLOYEES.PHONE_NUMBER"); attribute2dbField.put("officeSCH01", "SCH01_EMPLOYEES.OFFICE"); attribute2dbField.put("employeeCodeSCH01", "SCH01_EMPLOYEES.EMPLOYEE_CODE"); attribute2dbField.put("descriptionSYS10", "SYS10_TRANSLATIONS.DESCRIPTION"); attribute2dbField.put("taskCodeReg07SCH01", "REG07_TASKS.TASK_CODE"); ArrayList values = new ArrayList(); values.add(serverLanguageId); if (gridParams.getOtherGridParams().get(ApplicationConsts.TASK_CODE_REG07) != null) { sql += " and SCH01_EMPLOYEES.TASK_CODE_REG07='" + gridParams.getOtherGridParams().get(ApplicationConsts.TASK_CODE_REG07) + "'"; } // read from SCH01 table... Response answer = QueryUtil.getQuery( conn, userSessionPars, sql, values, attribute2dbField, GridEmployeeVO.class, "Y", "N", context, gridParams, 50, true); // fires the GenericEvent.BEFORE_COMMIT event... EventsManager.getInstance() .processEvent( new GenericEvent( this, getRequestName(), GenericEvent.BEFORE_COMMIT, (JAIOUserSessionParameters) userSessionPars, request, response, userSession, context, conn, inputPar, answer)); return answer; } catch (Throwable ex) { Logger.error( userSessionPars.getUsername(), this.getClass().getName(), "executeCommand", "Error while fetching employees list", ex); return new ErrorResponse(ex.getMessage()); } finally { try { ConnectionManager.releaseConnection(conn, context); } catch (Exception ex1) { } } }