我在分叉 Adempiere 项目之后工作,并且在使用 list() 方法从表创建列表时处理补丁,而不是特定的类列表,我得到的是通用 PO 列表。处理补丁是否会导致此错误。
这是代码
@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 类型列表。