question: @ 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 ; }
target:  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