@Override
protected FilterInfo getDefaultFilterForQuery()
{
return new FilterInfo();
}
@Override
protected IQueryExecutor getQueryExecutor(IMetaDataPK arg0, EntityViewInfo arg1)
{
//查询
FilterInfo filter = new FilterInfo();
Object objDateFrom = planDateFrom.getValue();//开始时间
if(objDateFrom!=null)
{
Calendar c = Calendar.getInstance();
c.setTime((Date)objDateFrom);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
filter.getFilterItems().add(new FilterItemInfo("planDate",c.getTime(),CompareType.GREATER_EQUALS));
}
Object objDateTo = planDateTo.getValue();//结束时间
if(objDateTo!=null)
{
Calendar c = Calendar.getInstance();
c.setTime((Date)objDateTo);
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
filter.getFilterItems().add(new FilterItemInfo("planDate",c.getTime(),CompareType.LESS_EQUALS));
}
//模糊查询:单号,车牌,司机,接收方
String queryStr = planSearch.getText();
if(queryStr!=null && queryStr.length()!=0)
{
FilterInfo filter2 = new FilterInfo();
queryStr = "%" + queryStr + "%";
filter2.getFilterItems().add(new FilterItemInfo("number", queryStr, CompareType.LIKE));
filter2.getFilterItems().add(new FilterItemInfo("truckLicence.name", queryStr, CompareType.LIKE));
filter2.getFilterItems().add(new FilterItemInfo("driver.name", queryStr, CompareType.LIKE));
filter2.getFilterItems().add(new FilterItemInfo("entrys.otherLicence", queryStr, CompareType.LIKE));
filter2.getFilterItems().add(new FilterItemInfo("entrys.otherDriver", queryStr, CompareType.LIKE));
filter2.getFilterItems().add(new FilterItemInfo("cmpanyOrgUnit.name", queryStr, CompareType.LIKE));
filter2.setMaskString("#0 or #1 or #2 or #3 or #4 or #5");
try
{
filter.mergeFilter(filter2, "and");
}
catch (BOSException e)
{
e.printStackTrace();
}
}
//排除未确认和全部派车的,显示待派车和部分派车
filter.getFilterItems().add(new FilterItemInfo("billState",1,CompareType.NOTEQUALS));
filter.getFilterItems().add(new FilterItemInfo("billState",4,CompareType.NOTEQUALS));
//排除数量-已派车收运数量=0的派车计划分录
Set<String> planIdSet = getPlanEntryIdSet();
if(planIdSet.size()>0)
{
filter.getFilterItems().add(new FilterItemInfo("entrys.id",planIdSet,CompareType.INCLUDE));
}
EntityViewInfo evi = (EntityViewInfo) arg1.clone();
IQueryExecutor executor = null;
try
{
FilterInfo filter1 = evi.getFilter();
if(filter1==null || filter1.getFilterItems().size()==0)
{
evi.setFilter(filter);
}else
{
filter1.mergeFilter(filter, "and");
evi.setFilter(filter1);
}
executor = super.getQueryExecutor(arg0, evi);
System.out.println(executor.getSQL());
}
catch (BOSException e)
{
e.printStackTrace();
}
return executor;
}
给列表界面添加过滤条件
最新推荐文章于 2021-10-20 16:38:44 发布