b9b83ad429
<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>
60 lines
1.9 KiB
C++
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();
|
|
}; |