Search in sources :

Example 56 with MTable

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

the class QueryTest method testIterate.

public void testIterate() throws Exception {
    Iterator<MTable> it = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()).setParameters(new Object[] { "C_Invoice", "M_InOut" }).setOrderBy("TableName").iterate();
    int i = 0;
    while (it.hasNext()) {
        MTable t = it.next();
        if (i == 0) {
            assertEquals("Invalid object " + i, "C_Invoice", t.getTableName());
        } else if (i == 1) {
            assertEquals("Invalid object " + i, "M_InOut", t.getTableName());
        } else {
            assertFalse("More objects retrived than expected", true);
        }
        i++;
    }
}
Also used : MTable(org.compiere.model.MTable) Query(org.compiere.model.Query)

Example 57 with MTable

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

the class TrifonTest method testMProductCreation.

public void testMProductCreation() {
    boolean singleCommit = true;
    MTable mTable = MTable.get(Env.getCtx(), MInvoice.Table_Name);
    System.out.println("XML presentation... is: " + mTable.get_xmlDocument(false));
    MColumn[] mcolumn = mTable.getColumns(true);
    for (int i = 0; i < mcolumn.length; i++) {
        System.out.println("Name............ is: " + mcolumn[i].getName());
        System.out.println("ColumnName...... is: " + mcolumn[i].getColumnName());
        System.out.println("Desc............ is: " + mcolumn[i].getDescription());
        System.out.println("Length.......... is: " + mcolumn[i].getFieldLength());
        System.out.println("Reference_ID.... is: " + mcolumn[i].getAD_Reference_ID());
        X_AD_Reference reference = new X_AD_Reference(Env.getCtx(), mcolumn[i].getAD_Reference_ID(), getTrxName());
        System.out.println("ReferenceName... is: " + reference.getName());
        System.out.println("..............................");
    }
    assertTrue(this.getClass().getName(), true);
}
Also used : MColumn(org.compiere.model.MColumn) MTable(org.compiere.model.MTable) X_AD_Reference(org.compiere.model.X_AD_Reference)

Example 58 with MTable

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

the class QueryTest method testFirst.

public void testFirst() throws Exception {
    MTable t = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()).setParameters(new Object[] { "C_Invoice", "M_InOut" }).setOrderBy("TableName").first();
    assertEquals("Invalid object", "C_Invoice", t.getTableName());
}
Also used : MTable(org.compiere.model.MTable) Query(org.compiere.model.Query)

Example 59 with MTable

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

the class QueryTest method testScroll.

public void testScroll() throws Exception {
    POResultSet<MTable> rs = new Query(getCtx(), "AD_Table", "TableName IN (?,?)", getTrxName()).setParameters(new Object[] { "C_Invoice", "M_InOut" }).setOrderBy("TableName").scroll();
    try {
        int i = 0;
        while (rs.hasNext()) {
            MTable t = rs.next();
            if (i == 0) {
                assertEquals("Invalid object " + i, "C_Invoice", t.getTableName());
            } else if (i == 1) {
                assertEquals("Invalid object " + i, "M_InOut", t.getTableName());
            } else {
                assertFalse("More objects retrived than expected", true);
            }
            i++;
        }
    } finally {
        DB.close(rs);
        rs = null;
    }
}
Also used : MTable(org.compiere.model.MTable) Query(org.compiere.model.Query)

Example 60 with MTable

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

the class ReportEngine method get.

/**************************************************************************
	 * 	Get Report Engine for process info 
	 *	@param ctx context
	 *	@param pi process info with AD_PInstance_ID
	 *	@return report engine or null
	 */
public static ReportEngine get(Properties ctx, ProcessInfo pi) {
    int AD_Client_ID = pi.getAD_Client_ID();
    //
    int AD_Table_ID = 0;
    int AD_ReportView_ID = 0;
    String TableName = null;
    String whereClause = "";
    int AD_PrintFormat_ID = 0;
    boolean IsForm = false;
    int Client_ID = -1;
    //	Get AD_Table_ID and TableName
    String sql = "SELECT rv.AD_ReportView_ID,rv.WhereClause," + " t.AD_Table_ID,t.TableName, pf.AD_PrintFormat_ID, pf.IsForm, pf.AD_Client_ID " + "FROM AD_PInstance pi" + " INNER JOIN AD_Process p ON (pi.AD_Process_ID=p.AD_Process_ID)" + " INNER JOIN AD_ReportView rv ON (p.AD_ReportView_ID=rv.AD_ReportView_ID)" + " INNER JOIN AD_Table t ON (rv.AD_Table_ID=t.AD_Table_ID)" + " LEFT OUTER JOIN AD_PrintFormat pf ON (p.AD_ReportView_ID=pf.AD_ReportView_ID AND pf.AD_Client_ID IN (0,?)) " + //	#2
    "WHERE pi.AD_PInstance_ID=? " + //	own first
    "ORDER BY pf.AD_Client_ID DESC, pf.IsDefault DESC";
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
        pstmt = DB.prepareStatement(sql, null);
        pstmt.setInt(1, AD_Client_ID);
        pstmt.setInt(2, pi.getAD_PInstance_ID());
        rs = pstmt.executeQuery();
        //	Just get first
        if (rs.next()) {
            //	required
            AD_ReportView_ID = rs.getInt(1);
            whereClause = rs.getString(2);
            if (rs.wasNull())
                whereClause = "";
            whereClause = Env.parseContext(ctx, 0, whereClause, false);
            //
            AD_Table_ID = rs.getInt(3);
            //	required for query
            TableName = rs.getString(4);
            //	required
            AD_PrintFormat_ID = rs.getInt(5);
            //	required
            IsForm = "Y".equals(rs.getString(6));
            Client_ID = rs.getInt(7);
        }
    } catch (SQLException e1) {
        log.log(Level.SEVERE, "(1) - " + sql, e1);
    } finally {
        DB.close(rs, pstmt);
        rs = null;
        pstmt = null;
    }
    //	Nothing found
    if (AD_ReportView_ID == 0) {
        //	Check Print format in Report Directly
        sql = "SELECT t.AD_Table_ID,t.TableName, pf.AD_PrintFormat_ID, pf.IsForm " + "FROM AD_PInstance pi" + " INNER JOIN AD_Process p ON (pi.AD_Process_ID=p.AD_Process_ID)" + " INNER JOIN AD_PrintFormat pf ON (p.AD_PrintFormat_ID=pf.AD_PrintFormat_ID)" + " INNER JOIN AD_Table t ON (pf.AD_Table_ID=t.AD_Table_ID) " + "WHERE pi.AD_PInstance_ID=?";
        try {
            pstmt = DB.prepareStatement(sql, null);
            pstmt.setInt(1, pi.getAD_PInstance_ID());
            rs = pstmt.executeQuery();
            if (rs.next()) {
                whereClause = "";
                AD_Table_ID = rs.getInt(1);
                //	required for query
                TableName = rs.getString(2);
                //	required
                AD_PrintFormat_ID = rs.getInt(3);
                //	required
                IsForm = "Y".equals(rs.getString(4));
                Client_ID = AD_Client_ID;
            }
        } catch (SQLException e1) {
            log.log(Level.SEVERE, "(2) - " + sql, e1);
        } finally {
            DB.close(rs, pstmt);
            rs = null;
            pstmt = null;
        }
        if (AD_PrintFormat_ID == 0) {
            log.log(Level.SEVERE, "Report Info NOT found AD_PInstance_ID=" + pi.getAD_PInstance_ID() + ",AD_Client_ID=" + AD_Client_ID);
            return null;
        }
    }
    //  Create Query from Parameters
    MQuery query = null;
    if (//	Form = one record
    IsForm && pi.getRecord_ID() != 0 && //	Not temporary table - teo_sarca, BF [ 2828886 ]
    !TableName.startsWith("T_")) {
        MTable table = MTable.get(ctx, AD_Table_ID);
        String columnKey = null;
        if (table.isSingleKey())
            columnKey = table.getKeyColumns()[0];
        else
            columnKey = TableName + "_ID";
        query = MQuery.getEqualQuery(columnKey, pi.getRecord_ID());
    } else {
        query = MQuery.get(ctx, pi.getAD_PInstance_ID(), TableName);
    }
    //  Add to static where clause from ReportView
    if (whereClause.length() != 0)
        query.addRestriction(whereClause);
    //	Get Print Format
    MPrintFormat format = null;
    Object so = pi.getSerializableObject();
    if (so instanceof MPrintFormat)
        format = (MPrintFormat) so;
    if (format == null && AD_PrintFormat_ID != 0) {
        //	We have a PrintFormat with the correct Client
        if (Client_ID == AD_Client_ID)
            format = MPrintFormat.get(ctx, AD_PrintFormat_ID, false);
        else
            format = MPrintFormat.copyToClient(ctx, AD_PrintFormat_ID, AD_Client_ID);
    }
    if (format != null && format.getItemCount() == 0) {
        log.info("No Items - recreating:  " + format);
        format.delete(true);
        format = null;
    }
    //	Create Format
    if (format == null && AD_ReportView_ID != 0)
        format = MPrintFormat.createFromReportView(ctx, AD_ReportView_ID, pi.getTitle());
    if (format == null)
        return null;
    format.setTranslationLanguage(format.getLanguage());
    //
    PrintInfo info = new PrintInfo(pi);
    info.setAD_Table_ID(AD_Table_ID);
    //	FR [ 295 ]
    ReportEngine re = new ReportEngine(ctx, format, query, info, pi.getTransactionName());
    //	Set Process Information
    re.setProcessInfo(pi);
    return re;
}
Also used : MTable(org.compiere.model.MTable) SQLException(java.sql.SQLException) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement) MQuery(org.compiere.model.MQuery) PrintInfo(org.compiere.model.PrintInfo)

Aggregations

MTable (org.compiere.model.MTable)67 PO (org.compiere.model.PO)18 ResultSet (java.sql.ResultSet)16 SQLException (java.sql.SQLException)16 PreparedStatement (java.sql.PreparedStatement)15 MColumn (org.compiere.model.MColumn)15 Query (org.compiere.model.Query)13 ArrayList (java.util.ArrayList)10 Properties (java.util.Properties)9 AdempiereException (org.adempiere.exceptions.AdempiereException)7 ADLoginRequest (pl.x3E.adInterface.ADLoginRequest)7 XFireFault (org.codehaus.xfire.fault.XFireFault)5 POInfo (org.compiere.model.POInfo)5 Trx (org.compiere.util.Trx)5 DataField (pl.x3E.adInterface.DataField)5 DataRow (pl.x3E.adInterface.DataRow)5 ModelCRUD (pl.x3E.adInterface.ModelCRUD)5 List (java.util.List)4 ParserConfigurationException (javax.xml.parsers.ParserConfigurationException)4 POSaveFailedException (org.adempiere.pipo.exception.POSaveFailedException)4