Notice: Undefined index: user_id in /home/staffi7/wm.staff-india.com/inc/header.php on line 69

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/staffi7/wm.staff-india.com/inc/header.php on line 73

Error: Could not retrieve Internal Task details.

HR Manager | Staff-India

Notice: Undefined index: user_id in /home/staffi7/wm.staff-india.com/inc/top_nav.php on line 5

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/staffi7/wm.staff-india.com/inc/top_nav.php on line 9

Error: Could not retrieve Internal Task details.

Task Details

Rebuild the Leave function in WM

Assigned To:
  1. Nigel (nigel.pi@staff-india.com)
Assign By Ross (MD. Abdul Razzak Chowdhury) On 2024-05-18
100%
Deadline:- 235 Days Over from Deadline. You Have Missed The Deadline 235 Days Ago

Task Details :-

Hi Nigel,

Steve & I have agreed that rather than rebuilding WM itself, you should rebuild the leave function only from scratch according to our needs. Do this on a test server first and once we check and approve, we can replace this on the live server. 

As discussed with you recently, we need to adjust the Leave system to balance things with our updated employment contract. Our previous leave system was based on the Apr-March financial year but needs to be changed to the Jan-Dec calendar year. We also need to add leave categories to each leave to specify which category the leave is taken under - Sick Leave, Casual Leave, Earned Leave, etc. 

We then need to be able to set leave allowance for each type automatically, however, we need the option to edit this manually whenever required. The default allowances are as follows:

Sick Leave - Total 14 days per year (from 1st January to 31st December). The needs to be adjusted automatically based on the time the employee joins. For example, employees who have joined before 1st January 2024 can take 14 days of Sick leave in 2024. But if someone joins in July 2024 for example, he can take up to 7 days sick leave until 31st December and vice versa. So the formula is = (14/12) * no of months till Dec (if joins after January)

Casual Leave = Total 10 days per year (from 1st January to 31st December). The calculation is the same as sick leaves where if someone joins after January, it calculates the allowance automatically based on his joining date.

Earned Leave = (Total weekdays in the previous year - no of public holidays) / 18. Earned leave allowances are not available until someone completes 1 year of employment with us. However, we need to be able to adjust this manually.

Finally, we need the leaves to be shown in hour format (hh:mm:ss), not in day format as it shows currently. 

These are required for now, we may need some further adjustments later once this is done. Feel free to reach out to me if you need further explanations on anything. 

 

 

Task Current Status :-

Task Complete

Sub Task(s):

No Sub-task Added.

Task QA

Selected File:
Drag Your File Here
Or Click Here to pick

Comments  (9)

    Nigel 14-05-2024 15:18:22

    Done from my side with modifications

    Nigel 01-05-2024 22:16:52

    I have updated the leave system:

    Create Leave: https://wm.staff-india.com/employee_leave_create.php

    All Leaves: https://wm.staff-india.com/employee_leave_index.php

    My Leaves: https://wm.staff-india.com/employee_leave_my.php

    Please check those and give me feedback

    Ross 01-05-2024 15:10:14

    Hi Nigel,

     

    Update me on the status of this task, please. Have you had any progress and if you are working on this? 

    Nigel 20-02-2024 19:46:05

    Okay Sure

    Ross 20-02-2024 19:44:53

    Thanks, I will discuss this with Steve and get back to you. We may have a meeting together to discuss this further. 

    Nigel 20-02-2024 19:40:37

    But I must emphasize one thing: before building any proper software, the UX, the data flow, and the database structure are very, very important. So, rather than just building any software, we should focus on these aspects first and allocate time to ensure they are proper.

    I want to create a dynamic and proper management system where everything can be seamlessly managed in one place with just a few simple clicks. This approach ensures not only the efficiency of the system but also a user-friendly experience for all users involved.

    Thanks

    Nigel 20-02-2024 19:29:36

    It won't take to re-build (Only The Leave System Funtionality) more then a month. As I have already worked some portion in BlueOrange and already did the basic user creation part. So, Implementing the Leave System won't take so long there if I do regularly work on that.

    And if the concern is about coding structure, my core strength is on PHP Laravel. So, I have that much of confidence that, the structure that I follow, any developer who have that much of core concept of programming they will able to adopt the system very easily.

    Ross 20-02-2024 19:23:56

    Hi Nigel,

    Thanks for explaining this in detail. I do agree that the codes have become complex after being developed by multiple developers in the past. I do not mind rebuilding this but I have some concerns over this. 
    1. How long it may take to rebuild this Leave System functionality?

    2. Can we rebuild this in a proper and standard way so that anyone can understand the coding easily in the future and make adjustments whenever required even if you are not here?

    Looking forward to hearing back from you soon.

    Thanks

    Nigel 19-02-2024 20:24:04

    Dear Ross Bhai,

    I appreciate your detailed requirements for the leave system adjustments. After a thorough evaluation of our current system, I want to bring to your attention some critical aspects that may impact the successful implementation of the requested functionalities.

    1. Database Structure:

       Our current database lacks a well-defined structure and relationships. This makes it challenging to implement dynamic functionalities seamlessly. Without proper relationships and normalization, managing leave categories, allowances, and the required date-based calculations becomes an intricate task.

     

    2. Security Concerns:

       The existing system does not adhere to robust security standards. This poses a significant risk to sensitive employee data, especially when introducing complex functionalities such as dynamic leave allowances and manual adjustments. A restructured system would allow us to implement industry-standard security measures for better data protection.

    3. Code Maintainability:

       The current codebase is convoluted and lacks clear organization. This not only hinders development but also poses challenges for maintenance and updates. A well-structured and modular codebase would significantly enhance our ability to implement and maintain new features efficiently.

    Considering these challenges, I propose that we embark on a comprehensive re-development of the leave management system. This approach will allow us to:

    - Implement a clean and organized database structure with proper relationships.

    - Integrate robust security measures to protect sensitive employee information.

    - Develop a modular and maintainable codebase for future enhancements and updates.

     

    I understand the importance of the requested functionalities, and a redevelopment will ensure a more sustainable and scalable solution. This investment will not only address the current requirements but also provide a solid foundation for future enhancements.

    I would be more than willing to discuss this proposal further and provide additional insights. Your understanding and support in this matter are highly appreciated.