Reports Viewing Restriction

I want to limit how this module is used in my set up,i know i can use permission to limit the who can access.The things is
i have different departments like Restaurant,Bar,Garden And recreation.

I want the restaurant department to only access the report that is related to their operation without necessarily knowing what was sold in bar or garden.
Is this achievable

Yes but you cant restrict individual reports in the main reports module, you would need to use a report entity screen widget on a custom entity screen. You would make a custom entity screen for each department and map the screen accordingly and then make a widget on each screen corresponding to the department.
Most likely you would make a new dummy entity of say admin and make the screens for that entity type.