MySQL:- Fetch records between two specific months and years
Try this :

    SELECT material_status, COUNT(*) c
    FROM purchase_order
    WHERE date_created 
         between str_to_date(CONCAT(YEAR(CURDATE()),'-04-01'),'%Y-%m-%d')
            AND DATE_ADD(str_to_date(concat(YEAR(CURDATE()),'-04-01'),'%Y-%m-%d'),INTERVAL 1 YEAR)
     AND material_status='Closed'
     GROUP BY 1;


But: BETWEEN is inclusive.  If date_created is really a DATE, then this includes 4/1/2017, but not the rest of 4/2017. Use last_day() function on to date, i.e. 

last_day( str_to_date(CONCAT(YEAR(CURDATE()),'-04-01'),'%Y-%m-%d'))