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);
}
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);
}
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;
}
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();
}
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;
}
Aggregations