Search in sources :

Example 56 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class CAbstractBOMTree method handleActionEvent.

private void handleActionEvent() {
    Integer value = (Integer) lookup.getValue();
    if (value == null || value.intValue() == 0) {
        return;
    } else {
        nodeDescription.setText("");
    }
    int poID = value.intValue();
    PO po = null;
    if (BOMWrapper.BOM_TYPE_PRODUCT.equals(type())) {
        po = new MProduct(Env.getCtx(), poID, MProduct.Table_Name);
    } else if (BOMWrapper.BOM_TYPE_ORDER.equals(type())) {
        po = new MPPOrder(Env.getCtx(), poID, null);
    }
    model = BOMTreeFactory.get(type(), po, reasoner);
    configureTree();
    contentPane.add(new JScrollPane(model.getTree()), JSplitPane.LEFT);
    contentPane.setDividerLocation(0.25d);
}
Also used : JScrollPane(javax.swing.JScrollPane) MProduct(org.compiere.model.MProduct) MPPOrder(org.eevolution.model.MPPOrder) PO(org.compiere.model.PO)

Example 57 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class Generator method genTable.

/**
	 * Creates the nodes for the request tables in the XML-tree.
	 * 
	 * @param tableName
	 * @param whereClause
	 * @param completeXML
	 * @param ctx
	 * @param wi
	 */
private void genTable(String tableName, String whereClause, boolean completeXML, Properties ctx, WebInfo wi) {
    String l_szTrxName = null;
    StringBuffer tmpCode = new StringBuffer();
    String dataTableName = tableName;
    String l_whereClause = replaceSessionElements(wi, whereClause);
    tmpCode.append("<" + tableName + ">\n");
    // For the different AD_Ref_List tables
    if (whereClause.indexOf("AD_Reference") > -1) {
        dataTableName = "AD_Ref_List";
    }
    int[] l_nIDs = PO.getAllIDs(dataTableName, l_whereClause, l_szTrxName);
    int[] l_nTableIDs = MTable.getAllIDs("AD_Table", "TableName='" + dataTableName + "'", l_szTrxName);
    if (l_nTableIDs.length > 0) {
        MTable table = MTable.get(ctx, l_nTableIDs[0]);
        PO l_Object = null;
        // If the table should contain complete xml use the PO function get_xmlString
        if (completeXML) {
            for (int i = 0; i < l_nIDs.length; i++) {
                l_Object = table.getPO(l_nIDs[i], l_szTrxName);
                l_Object.get_xmlString(tmpCode);
            }
        // else only append ID and DisplayName
        } else {
            String sql = MLookupFactory.getLookup_TableDirEmbed(Language.getLanguage("en"), dataTableName + "_ID", dataTableName);
            sql = sql.concat(" AND " + l_whereClause);
            PreparedStatement pstm = DB.prepareStatement(sql, l_szTrxName);
            ResultSet rs = null;
            try {
                rs = pstm.executeQuery();
            } catch (Exception e) {
            }
            for (int i = 0; i < l_nIDs.length; i++) {
                l_Object = table.getPO(l_nIDs[i], l_szTrxName);
                tmpCode.append("<" + dataTableName + " AD_Table_ID=\"" + table.get_ID() + "\" Record_ID=\"" + l_Object.get_ID() + "\">\n");
                tmpCode.append("<" + dataTableName + "_ID>");
                tmpCode.append(l_Object.get_ID());
                tmpCode.append("</" + dataTableName + "_ID>\n");
                // Only AD_Ref_List works with value as reference
                if (dataTableName.equals("AD_Ref_List")) {
                    tmpCode.append("<Value>");
                    tmpCode.append("<![CDATA[" + l_Object.get_Value("Value") + "]]>\n");
                    tmpCode.append("</Value>\n");
                }
                // for these two table the BPartner is needed
                if (dataTableName.equals("AD_User") || dataTableName.equals("C_Project")) {
                    tmpCode.append("<C_BPartner_ID>");
                    tmpCode.append(l_Object.get_Value("C_BPartner_ID"));
                    tmpCode.append("</C_BPartner_ID>\n");
                }
                tmpCode.append("<DisplayName>\n");
                try {
                    if (rs.next()) {
                        tmpCode.append("<![CDATA[" + rs.getString(1) + "]]>\n");
                    }
                } catch (SQLException e) {
                    tmpCode.append("<![CDATA[" + e.getMessage() + "]]\n");
                }
                tmpCode.append("</DisplayName>\n");
                tmpCode.append("</" + dataTableName + ">\n");
            }
            try {
                rs.close();
                pstm.close();
            } catch (Exception e) {
            }
        }
    }
    tmpCode.append("</" + tableName + ">\n");
    xmlCode.append(tmpCode);
}
Also used : MTable(org.compiere.model.MTable) SQLException(java.sql.SQLException) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement) SQLException(java.sql.SQLException) PO(org.compiere.model.PO)

Example 58 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class MWFActivity method isSOTrx.

//	getAttributeValue
/**
	 * 	Is SO Trx
	 *	@return SO Trx or of not found true
	 */
public boolean isSOTrx() {
    PO po = getPO();
    if (po.get_ID() == 0)
        return true;
    //	Is there a Column?
    int index = po.get_ColumnIndex("IsSOTrx");
    if (index < 0) {
        if (po.get_TableName().startsWith("M_"))
            return false;
        return true;
    }
    //	we have a column
    try {
        Boolean IsSOTrx = (Boolean) po.get_Value(index);
        return IsSOTrx.booleanValue();
    } catch (Exception e) {
        log.log(Level.SEVERE, "", e);
    }
    return true;
}
Also used : Savepoint(java.sql.Savepoint) SQLException(java.sql.SQLException) AdempiereException(org.adempiere.exceptions.AdempiereException) PO(org.compiere.model.PO)

Example 59 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class MWFActivity method getSummary.

//	toStringX
/**
	 * 	Get Document Summary
	 *	@return PO Summary
	 */
public String getSummary() {
    PO po = getPO();
    if (po == null)
        return null;
    StringBuffer sb = new StringBuffer();
    String[] keyColumns = po.get_KeyColumns();
    if ((keyColumns != null) && (keyColumns.length > 0))
        sb.append(Msg.getElement(getCtx(), keyColumns[0])).append(" ");
    int index = po.get_ColumnIndex("DocumentNo");
    if (index != -1)
        sb.append(po.get_Value(index)).append(": ");
    index = po.get_ColumnIndex("SalesRep_ID");
    Integer sr = null;
    if (index != -1)
        sr = (Integer) po.get_Value(index);
    else {
        index = po.get_ColumnIndex("AD_User_ID");
        if (index != -1)
            sr = (Integer) po.get_Value(index);
    }
    if (sr != null) {
        MUser user = MUser.get(getCtx(), sr.intValue());
        if (user != null)
            sb.append(user.getName()).append(" ");
    }
    //
    index = po.get_ColumnIndex("C_BPartner_ID");
    if (index != -1) {
        Integer bp = (Integer) po.get_Value(index);
        if (bp != null) {
            MBPartner partner = MBPartner.get(getCtx(), bp.intValue());
            if (partner != null)
                sb.append(partner.getName()).append(" ");
        }
    }
    return sb.toString();
}
Also used : MBPartner(org.compiere.model.MBPartner) MUser(org.compiere.model.MUser) Savepoint(java.sql.Savepoint) PO(org.compiere.model.PO)

Example 60 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class ScanBar method getSource.

protected LinkedHashMap<Integer, ArrayList<Object>> getSource() {
    if (source != null)
        return source;
    PO po = getParent();
    int C_Order_ID = po.get_ValueAsInt(MOrder.COLUMNNAME_C_Order_ID);
    if (C_Order_ID > 0) {
        StringBuilder whereClause = new StringBuilder();
        whereClause.append(MOrderLine.COLUMNNAME_C_Order_ID).append("=? AND ");
        whereClause.append("(").append(MOrderLine.COLUMNNAME_QtyOrdered).append("-");
        whereClause.append(MOrderLine.COLUMNNAME_QtyDelivered).append(")>0");
        List<MOrderLine> orderLines = new Query(Env.getCtx(), MOrderLine.Table_Name, whereClause.toString(), null).setClient_ID().setParameters(C_Order_ID).list();
        source = new LinkedHashMap<Integer, ArrayList<Object>>();
        for (MOrderLine line : orderLines) {
            if (line.getQtyOrdered().subtract(line.getQtyDelivered()).signum() > 0) {
                ArrayList<Object> parameters = new ArrayList<Object>();
                parameters.add(ID, line.getC_OrderLine_ID());
                parameters.add(PRODUCT_ID, line.getM_Product_ID());
                parameters.add(QTY_ORDERED, line.getQtyOrdered().subtract(line.getQtyDelivered()));
                parameters.add(QTY_PICKED, line.getQtyOrdered().subtract(line.getQtyDelivered()));
                source.put(line.get_ID(), parameters);
            }
        }
    } else {
        StringBuilder whereClause = new StringBuilder();
        whereClause.append(getTable().getKeyColumns()[0]).append("=? ");
        List<PO> lines = new Query(Env.getCtx(), getTable().getTableName(), whereClause.toString(), null).setClient_ID().setParameters(getRecord_ID()).list();
        source = new LinkedHashMap<Integer, ArrayList<Object>>();
        for (PO line : lines) {
            if (line.get_ValueAsInt(MProduct.COLUMNNAME_M_Product_ID) > 0) {
                ArrayList<Object> parameters = new ArrayList<Object>();
                parameters.add(ID, line.get_ID());
                parameters.add(PRODUCT_ID, line.get_ValueAsInt(MProduct.COLUMNNAME_M_Product_ID));
                parameters.add(QTY_ORDERED, line.get_Value(MInOutLine.COLUMNNAME_PickedQty));
                parameters.add(QTY_PICKED, line.get_Value(MInOutLine.COLUMNNAME_PickedQty));
                source.put(line.get_ID(), parameters);
            }
        }
    }
    return source;
}
Also used : Query(org.compiere.model.Query) ArrayList(java.util.ArrayList) MOrderLine(org.compiere.model.MOrderLine) PO(org.compiere.model.PO)

Aggregations

PO (org.compiere.model.PO)75 MTable (org.compiere.model.MTable)18 AdempiereException (org.adempiere.exceptions.AdempiereException)17 SQLException (java.sql.SQLException)16 Properties (java.util.Properties)13 BigDecimal (java.math.BigDecimal)11 Query (org.compiere.model.Query)8 Element (org.w3c.dom.Element)7 ArrayList (java.util.ArrayList)6 MEXPFormat (org.compiere.model.MEXPFormat)6 ADLoginRequest (pl.x3E.adInterface.ADLoginRequest)6 POInfo (org.compiere.model.POInfo)5 Trx (org.compiere.util.Trx)5 ModelCRUD (pl.x3E.adInterface.ModelCRUD)5 PreparedStatement (java.sql.PreparedStatement)4 ResultSet (java.sql.ResultSet)4 XFireFault (org.codehaus.xfire.fault.XFireFault)4 DataField (pl.x3E.adInterface.DataField)4 DataRow (pl.x3E.adInterface.DataRow)4 ParseException (java.text.ParseException)3