Files
Training-Team2-Zenvy-Jan26/Trenser.Zenvy/Trenser.Zenvy/models/Payroll.h
T
Princy Jerin b9b83ad429 Add View Payslip feature for employees
<UserStory> EMP010 : View Payslip </UserStory>

<Changes>
- Added Timestamp support to Payroll and Payslip models
- Implemented getPayslipForMonth flow from Controller to Service
- Enabled payslip retrieval based on year and month
- Updated menus to allow payslip viewing
- Enhanced MenuHelper with a unified viewPayslip helper
- Added date-based filtering using Timestamp utilities
</Changes>

<Review>
Smitha Mohan
</Review>
2026-04-16 12:34:18 +05:30

60 lines
1.9 KiB
C++

#pragma once
#include <string>
#include <memory>
#include "Timestamp.h"
class Payroll
{
private:
static int m_uid;
std::string m_id;
std::string m_employeeId;
double m_basicSalary;
double m_houseRentAllowance;
double m_foodAllowance;
double m_employeePFContribution;
double m_employerPFContribution;
util::Timestamp m_timestamp;
public:
Payroll()
: m_id("PR" + std::to_string(++m_uid)),
m_basicSalary(0.0),
m_houseRentAllowance(0.0),
m_foodAllowance(0.0),
m_employeePFContribution(0.0),
m_employerPFContribution(0.0) {}
Payroll(double basicSalary,
double houseRentAllowance,
double foodAllowance,
double employeePFContribution,
double employerPFContribution)
: m_id("PR" + std::to_string(++m_uid)),
m_basicSalary(basicSalary),
m_houseRentAllowance(houseRentAllowance),
m_foodAllowance(foodAllowance),
m_employeePFContribution(employeePFContribution),
m_employerPFContribution(employerPFContribution) {}
Payroll(const std::string& id,
const std::string& employeeId,
double basicSalary,
double houseRentAllowance,
double foodAllowance,
double employeePFContribution,
double employerPFContribution);
const std::string& getId() const;
const std::string& getEmployeeId() const;
void setEmployeeId(const std::string&);
double getBasicSalary() const;
double getHouseRentAllowance() const;
double getFoodAllowance() const;
double getEmployeePFContribution() const;
double getEmployerPFContribution() const;
void setBasicSalary(double);
void setHouseRentAllowance(double);
void setFoodAllowance(double);
void setEmployeePFContribution(double);
void setEmployerPFContribution(double);
std::string serialize() const;
static std::shared_ptr<Payroll> deserialize(const std::string&);
static std::string getHeaders();
};