Guatemala Contracts Module Documentation: Difference between revisions

From IHRIS Wiki
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Use Case/Description==
==Use Case/Description Temporary Employees==
===Temporary Employees===
For temporary employees we have the contract+total_amount that we want to calculate from the salary.  The process for assigning a temporary employee a position is three steps.
For temporary employees we have the contract+total_amount that we want to calculate from the salary.  The process for assigning a temporary employee a position is three steps.
#Create a contract
===Assigning a new position===
#Create a position
#Assign the contract and position to a person
#Assign the contract and position to a person
##Search for/create the person who is the temporary employee
##Search for/create the person who is the temporary employee
##If the person already has a position, we should "Change Position"
##Assign the person a position
##If the person does not have a position we should "Set Position"
###If the person already has a position, we should "Change Position"
###If the person does not have a position we should "Set Position"
##The position is selected by the user
##Set salary information 
##*Monthly Salary Amount
##Set the contract information
##*Start Date
##*End Date
##*Contratista
##*Contract Type
##*etc...
##The user 'saves' the associated position information
###the total amount of the selected contract is calculated based on the most recent salary
 
===Changing the Salary===
The current contract should be closed and a new contract should be created.
#User search for desired employee
#User select to "Change Salary"
#New salary information is saved
##Old salary end_date is set to new salary start date if it has not already been set
##A new contract is created copying the details of the old contract except dates, and total amount?
##The new contract's  total_amount is calculated to new salary
##Old contract end_date is set to new salary start date if it has not already been set (THIS MAY BE AN ISSUE if the contract already has a different end date)
 
===Renewing a Contract===
A new contract should be created and assigned to the existing position.
#User searches for the desired temporary employee
#User select "Renew Contract"
#User enters new contract information
#*start date
#*end date
#User saves contract
#*old contract details except dates and total_amount are copied into new contract
#*total_amount is calculated based on the most recent salary
 
In the following we want to add a place for contract that is like salary
[[File:guat_pos_salary.png]]
 
==Use Case/Description Permanent Employees==
Permanent employees are tracked according to a separate partida mechanism, "Permanent Partida"
===Assigning a new position===
#Create a Partida_Perm (permanent partida)
#Create A Position
#Create a new employee or search for an existing employee
#Assign the person a position
#*If the person already has a position, we should "Change Position"
#*If the person does not have a position we should "Set Position"
##User selects the position to associate to the person
##User select the permanent partida to assign to the person
##User sets the salary information
##User saves the associated position information
===Assigning a new permanent partida===
On an (at least) annual basis, a new partida permanent is assigned to the employee.  In this case the new partida_perm is created and a new person_position form is created to track this.
#Create a Partida_Perm (permanent partida)
#Search for employee
#Click on "Update Permanent Partida" under the current position information#User selects the new permanent partida
#User Saves the partida
##A new person_position object is created and populated with the existing person_position information except the partida_perm
##The partida_perm field of the person_position is set to be the selected partida_perm


===Permanent Employees===
==Data Model==
==Data Model==


Line 15: Line 70:
  digraph "Contract Module" {
  digraph "Contract Module" {
   
   
  phase_status_doc [label="phase_status_doc\nfile(FILE)\nnotes(MLINE)" shape=box]
   person [shape=box]
   person [shape=box]
   person_position [shape=box]
   person_position [shape=box]
  position [shape=box]
   salary [shape=box]
   salary [shape=box]
   contract [ shape=box]
   contract [ shape=box]
  position [shape=box]
   phase_status[shape=box]
   phase_status[shape=box]
   phase_status_decision [shape=box]
   phase_status_decision [shape=box]
Line 30: Line 85:
   partida_temp [shape=box label="partida_temp\nyear"]
   partida_temp [shape=box label="partida_temp\nyear"]
   partida_perm [shape=box label="partida_perm\nincremental counter"]
   partida_perm [shape=box label="partida_perm\nincremental counter"]
  phase_status_doc [label="phase_status_doc\nfile(FILE)\nnotes(MLINE)" shape=box]


 
   person->person_position [color=red]
   person->person_position
   person_position->salary [color=red]
   person_position->salary [color=red]
   person_position->position
   person_position->position
   contract->partida_temp
   contract->partida_temp
   person_position->partida_perm
   person_position->partida_perm
   person_position->contract
   person_position->contract [color=red]
   contract->phase_status [color=red]
   contract->phase_status [color=red]
   contract->contract_type
   contract->contract_type
Line 52: Line 107:
</graphviz>
</graphviz>


[[Guatemala Contracts Module Documentation Alt]]
[[Guatemala Contracts Module Documentation Alt2]]
[[Guatemala Contracts Module Documentation Alt3]]
[[Category:Guatemala]]
[[Category:Guatemala]]

Latest revision as of 11:11, 20 November 2013

Use Case/Description Temporary Employees

For temporary employees we have the contract+total_amount that we want to calculate from the salary. The process for assigning a temporary employee a position is three steps.

Assigning a new position

  1. Assign the contract and position to a person
    1. Search for/create the person who is the temporary employee
    2. Assign the person a position
      1. If the person already has a position, we should "Change Position"
      2. If the person does not have a position we should "Set Position"
    3. The position is selected by the user
    4. Set salary information
      • Monthly Salary Amount
    5. Set the contract information
      • Start Date
      • End Date
      • Contratista
      • Contract Type
      • etc...
    6. The user 'saves' the associated position information
      1. the total amount of the selected contract is calculated based on the most recent salary

Changing the Salary

The current contract should be closed and a new contract should be created.

  1. User search for desired employee
  2. User select to "Change Salary"
  3. New salary information is saved
    1. Old salary end_date is set to new salary start date if it has not already been set
    2. A new contract is created copying the details of the old contract except dates, and total amount?
    3. The new contract's total_amount is calculated to new salary
    4. Old contract end_date is set to new salary start date if it has not already been set (THIS MAY BE AN ISSUE if the contract already has a different end date)

Renewing a Contract

A new contract should be created and assigned to the existing position.

  1. User searches for the desired temporary employee
  2. User select "Renew Contract"
  3. User enters new contract information
    • start date
    • end date
  4. User saves contract
    • old contract details except dates and total_amount are copied into new contract
    • total_amount is calculated based on the most recent salary

In the following we want to add a place for contract that is like salary

Use Case/Description Permanent Employees

Permanent employees are tracked according to a separate partida mechanism, "Permanent Partida"

Assigning a new position

  1. Create a Partida_Perm (permanent partida)
  2. Create A Position
  3. Create a new employee or search for an existing employee
  4. Assign the person a position
    • If the person already has a position, we should "Change Position"
    • If the person does not have a position we should "Set Position"
    1. User selects the position to associate to the person
    2. User select the permanent partida to assign to the person
    3. User sets the salary information
    4. User saves the associated position information

Assigning a new permanent partida

On an (at least) annual basis, a new partida permanent is assigned to the employee. In this case the new partida_perm is created and a new person_position form is created to track this.

  1. Create a Partida_Perm (permanent partida)
  2. Search for employee
  3. Click on "Update Permanent Partida" under the current position information#User selects the new permanent partida
  4. User Saves the partida
    1. A new person_position object is created and populated with the existing person_position information except the partida_perm
    2. The partida_perm field of the person_position is set to be the selected partida_perm

Data Model

<graphviz border='frame' format='png'>

digraph "Contract Module" {


  person [shape=box]
  person_position [shape=box]
  salary [shape=box]
  contract [ shape=box]
  position [shape=box]
  phase_status[shape=box]
  phase_status_decision [shape=box]
  phase_status_stage [shape=box]
  contract_status [shape=box]
  contract_type [shape=box]
  resolution [shape=box label="resolution\ndate(DATE_YMD)\nunidadejectora(MAP)\nfile(FILE)"]
  unidadejectora [shape=box]
  partida_temp [shape=box label="partida_temp\nyear"]
  partida_perm [shape=box label="partida_perm\nincremental counter"]
  phase_status_doc [label="phase_status_doc\nfile(FILE)\nnotes(MLINE)" shape=box]
  person->person_position [color=red]
  person_position->salary [color=red]
  person_position->position
  contract->partida_temp
  person_position->partida_perm
  person_position->contract [color=red]
  contract->phase_status [color=red]
  contract->contract_type
  contract->contract_status
  contract->resolution
  resolution->unidadejectora
  partida_temp->unidadejectora
  partida_perm->unidadejectora
  phase_status->phase_status_doc [color=red]
  phase_status->phase_status_stage
  phase_status->person [label=approver]
  phase_status->phase_status_decision

} </graphviz>

Guatemala Contracts Module Documentation Alt Guatemala Contracts Module Documentation Alt2 Guatemala Contracts Module Documentation Alt3