[rules-users] Finding the approver for an employee (1) Is this a good problem for rules? (2) How you would do it?

Wolfgang Laun wolfgang.laun at gmail.com
Thu Jan 13 06:33:00 EST 2011


I find that the problem statement is not precise enough. See my questions
inline.

2011/1/13 dc tech <dctech1000 at gmail.com>

>
> *BACKGROUND*
> We have departments setup in a hierarchical structure (i.e. parent
> departments)
> An employee can belong to one and only one department.
>

"can belong"? Should be "belongs", I think.


> An employee can  be the manager of one or more departments; a manager  may
> or not belong to that department.
> A department can have many employees and many managers.
>

I assume that higher level departments may also have employees, not just
managers.

>
> *PROBLEM*
> Find the approver for an employee's expenses.
> An approver is a 'higher level' manager relative to employee in the
> organizational hierarchy.
> Note that since the manager is employee as well, this includes the problem
> of finding the manager of a manager.
>
> *RULES*
> 1. The approver  the nearest manager to the employee (traversing up the
> department hierarchy)
> Typical cases then are:
> - for a non-manager employee, the approver is the manager of the employee's
> department
> - for a manager who manages a single department and belongs to that
> department, the approver is the manager of the parent unit
>
> 2. The approver for a manager cannot the manager himself or a peer manager
> (in the same department).
>

Is this a correct interpretation: "peer manager" is another manager *of* the
same department; being *in* the same dptmt does not matter. More precisely,
a "peer manager" of X is one from the union of all managers managing any of
the departments managed by X.


>
> 3. An approver cannot report to the employee
> This sometimes happens when the manager is an employee in one department
> but manager for a department a few levels up in the hierarchy
>
> 3a. An approver cannot be the peer to someone who reports to the manager
>

I don't see "who is who" in this sentence. "peer" in the sense it was used
before?

-W



>
>
>
> *SAMPLE DATA*
> A              (manager Hillary)
>    A1         (manager John  and Jane )
>        A11
>        A12   (manager Mike; employees John and Mike)
>        A13
>    A2          (manager Kate)
>        A21    (manager Jessica, employee Janet)
>        A22    (manager Erica, employee Jane)
>
> 1. Approver for Janet is Jessica
> 2. Approver for Jessica is Kate
> 3.Approver for John  is Hillary (cannot be Mike, John himself or Jane)
> 4. Approver for Jane is Erica via A22 (no reporting relationship).
>
> *ALGORITHMIC SOLUTION*
> Define the department  reporting vector  starting from the employee
> department
>     e.g. for (1) it would be A21 -> A2 -> A and
>            for (3) it would be A12 -> A1 -> A
> Then for each, define managers and then employees
>         (1) : A21( jessica/ janet )    -> A2: ( Kate)  -> A(  Hillary)
>         (2):  A12 (Mike/  John, Mike)   -> A1 (John, Jane)  -> A (Hillary)
> Then starting from the top (i.e. A), move down looking for the employee (in
> manager or employee list)
> If  the employee is found in  the manager list, approver is the manager of
> the parent department
> If the employee is found in the employee list, the approver is the manager
> of this unit (not the parent)
> (I may have missed a few rules in the algorithmic solution)
>
>
> *RULE BASED SOLUTION?*
> Is this a good problem for rule bases solution?
> I started to model this and will post my solution if I can come up with
> something useful but would absolutely welcome your inputs.
>
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110113/bec15a37/attachment.html 


More information about the rules-users mailing list