Example 54 : Searching for parcel data created since a particular date

Printer-friendly version

This example demonstrates searching for the details about parcels using the API 3.x search() function.

package com.metapack.dm.test;
 
import com.metapack.deliverymanager.client.SearchCondition;
import com.metapack.deliverymanager.client.SearchOrderBy;
import com.metapack.deliverymanager.client.SearchParams;
import com.metapack.deliverymanager.client.SearchResult;
import com.metapack.deliverymanager.client.webservices.ConsignmentSearchService;
 
public class Example54 extends ExampleBase{
 
	public void run() throws Exception {
 
		 ConsignmentSearchService service = createConsignmentSearchService();
 
		 SearchParams srchparams = new SearchParams();
 
		 //These are the fields to be selected and returned.
		 String[] selectFields = {"consignment.code",
				 "consignment.createddate",
				 "parcel.code",
				 "product.code",
				 "carrier.name",
				 "warehouse.name",
				 "parcel.index",
				 "consignment.transactiontype",
				 "consignment.weight",
				 "consignment.status",
				 "consignment.recipientaddresstype",
				 "parcel.status"};
 
		 //These are the fields that determine the order by in the query 
		 SearchOrderBy orderbyBean = new SearchOrderBy();
		 orderbyBean.setField("consignment.code");
		 orderbyBean.setDescending(false);
 
		 SearchOrderBy orderbyBean2 = new SearchOrderBy();
		 orderbyBean2.setField("consignment.createddate");
		 orderbyBean2.setDescending(true);
 
		 SearchOrderBy[] orderByArr=new SearchOrderBy[2];
		 orderByArr[0]=orderbyBean;
		 orderByArr[1]=orderbyBean2;
 
		 srchparams.setSelectFields(selectFields);
		 srchparams.setOrderByFields(orderByArr);
		 //the "distinct" flag is set to "true" to avoid duplicated rows if that is the case.
		 srchparams.setDistinct(true);
 
		 //Finally some conditions are added to the search:
		 SearchCondition condBean = new SearchCondition(
				 "consignment.createddate",
				 "2010-06-30T16:51:15+0100",
				 "GREATEROREQUALSTHAN");
 
		 SearchCondition[] condArr = new SearchCondition[1];
		 condArr[0]=condBean;
 
		 srchparams.setConditions(condArr);
 
		 srchparams.setPageNumber(1);
		 srchparams.setPageSize(20);
 
		 SearchResult result =service.search(srchparams);
 
		 System.out.println( "Page count: " + result.getPageCount()
					+ "\n total count " + result.getTotalCount());
 
		 for (int i=0;i< result.getRecords().length;i++){
			 String [] row =result.getRecords()[i];
 
			 for(int j=0;j<row.length;j++){
				 System.out.println( row[j]);
			 }
 
			 System.out.println("\n");
		 }
	}
}