// 费用类型编码
String expenseTypeStr = entry.getString("expenseType");
verifyFieldNotNull("expenseType", expenseTypeStr);
GeneralAsstActTypeGroupInfo quyuGroup = (GeneralAsstActTypeGroupInfo) BillProertiesConvertor
.getValueObject("09", GeneralAsstActTypeGroupInfo.class,
null, ctx);
// 判断是否存在合同号类别
verifyFieldNotNull("quyuGroup", quyuGroup);
String pk = quyuGroup.getId().toString();
FilterItemInfo item = new FilterItemInfo("group", pk, CompareType.EQUALS);
String longNumber = expenseTypeStr.replace(".", "!");
GeneralAsstActTypeInfo expenseTypeInfo = (GeneralAsstActTypeInfo) getValueObject(
longNumber, GeneralAsstActTypeInfo.class, item, ctx);
verifyFieldNotNull("expenseType", expenseTypeInfo);
info.setExpenseType(expenseTypeInfo);//自有属性
info.put("expenseType",expenseTypeInfo);//dep添加的字段用put添加值
//根据长编码过滤自定义核算项目方法
public GeneralAsstActTypeInfo getValueObject(
String longNumber, Class z,
FilterItemInfo cuFilter, Context ctx) throws BOSException{
if ((longNumber == null) || (longNumber.equals(""))) {
return null;
}
EntityViewInfo viewInfo = new EntityViewInfo();
FilterInfo filter = new FilterInfo();
if (cuFilter != null) {
filter.getFilterItems().add(cuFilter);
}
FilterItemInfo billidFilter = new FilterItemInfo("longNumber",
longNumber, CompareType.EQUALS);
filter.getFilterItems().add(billidFilter);
viewInfo.setFilter(filter);
GeneralAsstActTypeCollection col = GeneralAsstActTypeFactory.getLocalInstance(ctx).getGeneralAsstActTypeCollection(viewInfo);
if (col != null && col.size()>0) {
return col.get(0);
}
return null;
}