I want to filter orders based on dates. My code is,
if ( filterObject != null ) {
if ( !AgileUtil.isEmpty( filterObject.getCustid() ) ) {
query.append( "AND ORD.CUSTID = '" ).append( filterObject.getCustid() ).append( "' " );
}
if ( !AgileUtil.isEmpty( filterObject.getPid() ) ) {
query.append( "AND ORD.OID IN ( SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.PID = '" )
.append( filterObject.getPid() )
.append( "' ) " );
}
if ( filterObject.getFromDate() != null ) {
//AppConstants.DATEFORMAT.format( obj.getCreated() );
query.append( "AND ORD.OID IN(SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.CREATED > FROMDATE '" )
.append( filterObject.getFromDate() )
.append( "' " );
}
if ( filterObject.getToDate() != null ) {
query.append( "AND ORD.OID IN(SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.CREATED < TODATE '" )
.append( filterObject.getToDate() )
.append( "' " );
}
if ( ( filterObject.getFromDate() != null ) && ( filterObject.getToDate() != null ) ) {
query.append( "AND ORD.OID IN(SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.CREATED BETWEEN FROMDATE AND TODATE '" )
.append( filterObject.getFromDate() );
}
if ( filterObject.getAmount() != null ) {
query.append( "AND ORD.TOTAL = " ).append( filterObject.getAmount() );
}
}
Now the main question in front of me is how can I convert date like 31/08/2015
to mysql format 0000-00-00
and pass it to filterObject.getFromDate()
,filterObject.getToDate()
for comparison this date with table column 'CREATED' in database.