@Override public List<WorkOrder> searchWOForBilling(final Map<String,Object> criteriaMap){
  logger.debug("-------------------------Inside searchWOForBilling-----------------------");
  final List<WorkOrder> filteredList=new ArrayList<WorkOrder>();
  criteriaMap.put(ACTION_FLAG,"searchWOForBilling");
  for (  final WorkOrder workorder : searchWO(criteriaMap))   if (!isWOValidforBill(workorder.getId()))   filteredList.add(workorder);
  return filteredList;
}

@ Override public List < WorkOrder > searchWOForBilling ( final Map < String , Object > criteriaMap ) { logger . debug ( "-------------------------Inside searchWOForBilling-----------------------" ) ; final List < WorkOrder > filteredList = new ArrayList < WorkOrder > ( ) ; criteriaMap . put ( ACTION_FLAG , "searchWOForBilling" ) ; for ( final WorkOrder workorder : searchWO ( criteriaMap ) ) if ( ! isWOValidforBill ( workorder . getId ( ) ) ) filteredList . add ( workorder ) ; return filteredList ; }
this method will search list of wo ' s for the given criteria and eligible for mb . criteriamap will have : contractor_id , create_date , tender_no , workorder_no , project_code filter : 1 ) an existing bill with status in " new " or " approval pending " or " rejected will not be retrieved 2 ) work orders for which the final bill is generated will not be retrieved for selection in the search result set . 2 ) work orders with existing bill with status " approved " with no existing bill can be retrieved for selection
