I'm sorry, but I have to inform you that there is no "correct" or "wrong" in class designs. You can do "wrong" UML by drawing strange unicorns into the diagram, but whether your design is good enough depends on a large amount of different factors. It's not as easy as simply telling us one requirement and expect to be able to derive a design from that.
The two designs you have are possible candidates. Another obvious one is similar to your second one, in that you create base classes for annual and monthly (instead of general and branch).
However, since your reports seem to have two unique dimensions (general/branch and monthly/annual) a tree-based design may be unsuitable. For example, your
Monthly_branch and your
Monthly_general classes are kind of related, but the design cannot express that any better than saying they are
Reports. This may or may not be a problem in your specific use case though.
In general, making good designs (whereas "good" is defined by the design's implications down the road of project development) requires a lot of experience. As a starting point try to come up with at least half a dozen more design variations for your problem. There are countless ways to design a class model, and finding the best one for the job will always require you to be able to have a large set of candidates to pick from.