2015-04-17 45 views
2

我正在分派Adempiere項目,並在使用list()方法而不是特定班級列表創建列表時使用補丁進行工作,而我正在獲取通用PO列表。可以在補丁上工作是造成此錯誤的原因。Adempiere Fork,列表生成錯誤

下面是代碼

@Override 
protected String doIt() throws Exception { 


    int orgId = Env.getAD_Org_ID(getCtx()); 
    int clientID=Env.getAD_Client_ID(getCtx()); 

    List<MEmployee> EmployeeList = new ArrayList<MEmployee>(); 

    EmployeeList = getEmployeeList(p_MemberGroupId,orgId); 
    String msg = ""; 
    for (MEmployee employee : EmployeeList) { 

    } 

    return null; 
} 


private List<MEmployee> getEmployeeList(int EmployeeGroupID, int orgId) { 

    List<MEmployee> employeeList = new ArrayList<MEmployee>(); 

    StringBuffer employeeWhereClause = new StringBuffer(); 



     employeeWhereClause.append(MEmployeeGroup.COLUMNNAME_E2_HR_PAGRP_ID) 
       .append(" = ").append(EmployeeGroupID) 
       .append(" and ") 
       .append(MEmployee.COLUMNNAME_AD_Org_ID) 
       .append(" = ") 
       .append(orgId) 
       .append(" and ") 
       .append(X_E2_HR_PAEM0.COLUMNNAME_Status) 
       .append(" not in ") 
       .append(" ('"+MEmployee.EMPSTATUS_OnHold+"','"+MEmployee.EMPSTATUS_Left+"') "); 

     employeeList = new Query(getCtx(), MEmployee.Table_Name, employeeWhereClause.toString(), get_TrxName()) 
           .setClient_ID() 
           .setOnlyActiveRecords(Boolean.TRUE) 
           .list(); 
    return employeeList; 
} 

在這裏我得到通用PO列表,而不是MEmployee類型列表。

回答

0

我找到了這個問題的答案,基本上員工表可以說ABC_Emp 和我的ABC_Emp模型類生成,並且MEmployee擴展這個X_ABC_Emp並實現DocAction類,因此它不生成列表。

我做什麼,是不是使用MEmployee我使用的模型類 X_ABC_Emp代替,並試圖列表生成,和它的工作。我不知道爲什麼MEmployee擴展X_ABC_Emp的原因不是 ,但是這很好地解決了我的問題。

+0

這可能不是完美的答案,這是什麼讓它工作... – JavaDragon