সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (SDLC) পর্যায় ও অংশসমূহ HRM and Payroll Project

⌘K
  1. Home
  2. সফটওয়্যার ডেভেলপমেন্ট লা...
  3. 4. ডাটাবেজ ডিজাইন (Databa...
  4. ধাপ ৩. ১ : ডেটাবেজ ডিজাইন...
  5. 03. অতিরিক্ত কাজের সময় ব্যবস্থাপনা (Overtime Management)

03. অতিরিক্ত কাজের সময় ব্যবস্থাপনা (Overtime Management)

স্টেপ ১: Overtime Policies Creation (ওভারটাইম নীতিমালা তৈরি)

1. overtime_policies টেবিল:
এই টেবিলে ওভারটাইমের হার বেতন অথবা বেতন গ্রেড অনুযায়ী শতাংশ হিসেবেও নির্ধারণ করা যায়।

Field NameData TypeDescription
policy_idINT (PK)প্রতিটি নীতিমালার জন্য ইউনিক আইডি
company_idINT (FK)কোম্পানির আইডি
policy_nameVARCHAR(100)ওভারটাইম নীতিমালার নাম
calculation_basisENUMহিসাবের ভিত্তি (Basic Salary, Monthly Salary)
rate_typeENUMরেটের ধরণ (Percentage of Salary, Fixed Rate)
rateDECIMAL(5,2)ওভারটাইমের হার (যদি Percentage of Salary হয়)
fixed_rate_per_hourDECIMAL(10,2)প্রতি ঘণ্টার জন্য নির্দিষ্ট হার (যদি Fixed Rate হয়)
applicable_daysENUMপ্রযোজ্য দিন (Weekdays, Weekends, Holidays)
effective_dateDATEনীতিমালার কার্যকরী তারিখ
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: company_id companies টেবিলের সাথে সংযুক্ত থাকবে। calculation_basis এবং rate_type অনুযায়ী ওভারটাইমের হার বেতন বা মাসিক বেতনের নির্দিষ্ট শতাংশের উপর নির্ভরশীল হবে।

Demo Data:

policy_idcompany_idpolicy_namecalculation_basisrate_typeratefixed_rate_per_hourapplicable_dayseffective_datecreated_atupdated_at
11Standard OTBasic SalaryPercentage of Salary1.50NULLWeekdays2023-01-012023-01-01 10:00:002023-01-01 10:00:00
21Holiday OTMonthly SalaryFixed RateNULL350.00Holidays2023-01-012023-01-01 10:00:002023-01-01 10:00:00

বিঃদ্রঃ এখানে Standard OT নীতিমালার জন্য ওভারটাইম হার বেসিক বেতনের ১.৫০% এবং Holiday OT এর জন্য প্রতি ঘণ্টায় ৩৫০ টাকা নির্দিষ্ট করা হয়েছে।


স্টেপ ২: Employee Overtime Records (কর্মীর ওভারটাইম রেকর্ড)

2. employee_overtime_records টেবিল:
এই টেবিলটি কর্মীদের অতিরিক্ত কাজের সময়ের রেকর্ড সংরক্ষণ করে, যেখানে কাজের শুরু ও শেষ সময় এবং মোট ঘণ্টা উল্লেখ করা থাকে।

Field NameData TypeDescription
overtime_idINT (PK)প্রতিটি ওভারটাইম রেকর্ডের জন্য ইউনিক আইডি
employee_idINT (FK)কর্মীর আইডি
policy_idINT (FK)ওভারটাইম নীতিমালা আইডি
start_timeTIMESTAMPঅতিরিক্ত কাজের শুরুর সময়
end_timeTIMESTAMPঅতিরিক্ত কাজের শেষ সময়
total_hoursDECIMAL(5,2)মোট কাজের ঘন্টা
dateDATEকাজের তারিখ
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

Demo Data:

overtime_idemployee_idpolicy_idstart_timeend_timetotal_hoursdatecreated_atupdated_at
110112023-06-10 18:00:002023-06-10 20:00:002.002023-06-102023-06-10 20:10:002023-06-10 20:10:00
210222023-06-11 09:00:002023-06-11 13:00:004.002023-06-112023-06-11 13:10:002023-06-11 13:10:00

রিলেশন: employee_id employees টেবিলের সাথে এবং policy_id overtime_policies টেবিলের সাথে সংযুক্ত থাকবে।


স্টেপ ৩: Overtime Payment Calculations (ওভারটাইম বেতন গণনা)

3. overtime_payments টেবিল:
এই টেবিলটি কর্মীদের অতিরিক্ত কাজের জন্য প্রদানকৃত অর্থ সংরক্ষণ করবে। এখানে প্রতি ঘণ্টা এবং মোট ঘণ্টার উপর ভিত্তি করে বেতন পরিমাণ উল্লেখ করা হয়।

Field NameData TypeDescription
payment_idINT (PK)প্রতিটি ওভারটাইম পরিশোধের জন্য ইউনিক আইডি
overtime_idINT (FK)ওভারটাইম রেকর্ড আইডি
employee_idINT (FK)কর্মীর আইডি
total_overtime_hoursDECIMAL(5,2)মোট অতিরিক্ত কাজের ঘন্টা
total_overtime_payDECIMAL(10,2)মোট ওভারটাইম বেতন
payment_dateDATEওভারটাইম পরিশোধের তারিখ
payment_methodENUMপরিশোধের পদ্ধতি (Bank Transfer, Cash, Check)
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

Demo Data:

payment_idovertime_idemployee_idtotal_overtime_hourstotal_overtime_paypayment_datepayment_methodcreated_atupdated_at
111012.00600.002023-06-12Bank Transfer2023-06-12 10:00:002023-06-12 10:00:00
221024.001400.002023-06-12Cash2023-06-12 10:00:002023-06-12 10:00:00

রিলেশন: overtime_id employee_overtime_records টেবিলের সাথে সংযুক্ত থাকবে এবং employee_id employees টেবিলের সাথে সংযুক্ত থাকবে।


Summary

এই Overtime Management ডিজাইনটি প্রতিটি কোম্পানির জন্য কর্মীদের বেতনের উপর ভিত্তি করে ওভারটাইম রেট নির্ধারণ করার সুযোগ দেয়। এতে overtime_policies টেবিলে বেতন ভিত্তিক হার নির্ধারণ এবং তা থেকে employee_overtime_recordsovertime_payments টেবিলে নির্ভুলভাবে ওভারটাইম গণনা করা সম্ভব হবে।

How can we help?