Refactor leave remark generation logic in LeaveReportController to handle single and multi-day leave requests more accurately

This commit is contained in:
Suphonchai Phoonsawat 2026-03-31 11:32:17 +07:00
parent 932d5e75c7
commit 47c0cfc62a

View file

@ -2091,20 +2091,68 @@ namespace BMA.EHR.Leave.Service.Controllers
case "LV-005": case "LV-005":
remarkStr += leaveReq.Type.Name; remarkStr += leaveReq.Type.Name;
var leaveRange = leaveReq.LeaveRange == null ? "" : leaveReq.LeaveRange.ToUpper(); var leaveRange = leaveReq.LeaveRange == null ? "" : leaveReq.LeaveRange.ToUpper();
if (leaveRange == "MORNING")
remarkStr += "ครึ่งวันเช้า";
else if (leaveRange == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
if(leaveReq.LeaveStartDate.Date == leaveReq.LeaveEndDate.Date)
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRange != leaveRangeEnd)
{ {
if (leaveRangeEnd == "MORNING") if (leaveRange == "MORNING")
remarkStr += " - ครึ่งวันเช้า"; remarkStr += "ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON") else if (leaveRange == "AFTERNOON")
remarkStr += " - ครึ่งวันบ่าย"; remarkStr += "ครึ่งวันบ่าย";
// var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
// if (leaveRangeEnd == "MORNING")
// remarkStr += "ครึ่งวันเช้า";
// else if (leaveRangeEnd == "AFTERNOON")
// remarkStr += "ครึ่งวันบ่าย";
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRange != leaveRangeEnd)
{
if (leaveRangeEnd == "MORNING")
remarkStr += " - ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON")
remarkStr += " - ครึ่งวันบ่าย";
}
} }
else
{
if(dd.date == leaveReq.LeaveStartDate.Date)
{
if (leaveRange == "MORNING")
remarkStr += "ครึ่งวันเช้า";
else if (leaveRange == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
}
else if(dd.date == leaveReq.LeaveEndDate.Date)
{
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRangeEnd == "MORNING")
remarkStr += "ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
}
else
{
remarkStr += "เต็มวัน";
}
}
// if (leaveRange == "MORNING")
// remarkStr += "ครึ่งวันเช้า";
// else if (leaveRange == "AFTERNOON")
// remarkStr += "ครึ่งวันบ่าย";
// var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
// if (leaveRange != leaveRangeEnd)
// {
// if (leaveRangeEnd == "MORNING")
// remarkStr += " - ครึ่งวันเช้า";
// else if (leaveRangeEnd == "AFTERNOON")
// remarkStr += " - ครึ่งวันบ่าย";
// }
break; break;
default: default:
remarkStr += leaveReq.Type.Name; remarkStr += leaveReq.Type.Name;
@ -2421,26 +2469,72 @@ namespace BMA.EHR.Leave.Service.Controllers
case "LV-005": case "LV-005":
remarkStr += leaveReq.Type.Name; remarkStr += leaveReq.Type.Name;
var leaveRange = leaveReq.LeaveRange == null ? "" : leaveReq.LeaveRange.ToUpper(); var leaveRange = leaveReq.LeaveRange == null ? "" : leaveReq.LeaveRange.ToUpper();
if (leaveRange == "MORNING") if(leaveReq.LeaveStartDate.Date == leaveReq.LeaveEndDate.Date)
remarkStr += "ครึ่งวันเช้า"; {
else if (leaveRange == "AFTERNOON") if (leaveRange == "MORNING")
remarkStr += "ครึ่งวันบ่าย"; remarkStr += "ครึ่งวันเช้า";
else if (leaveRange == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
// var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper(); // var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
// if (leaveRangeEnd == "MORNING") // if (leaveRangeEnd == "MORNING")
// remarkStr += "ครึ่งวันเช้า";
// else if (leaveRangeEnd == "AFTERNOON")
// remarkStr += "ครึ่งวันบ่าย";
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRange != leaveRangeEnd)
{
if (leaveRangeEnd == "MORNING")
remarkStr += " - ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON")
remarkStr += " - ครึ่งวันบ่าย";
}
}
else
{
if(dd.date == leaveReq.LeaveStartDate.Date)
{
if (leaveRange == "MORNING")
remarkStr += "ครึ่งวันเช้า";
else if (leaveRange == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
}
else if(dd.date == leaveReq.LeaveEndDate.Date)
{
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRangeEnd == "MORNING")
remarkStr += "ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
}
else
{
remarkStr += "เต็มวัน";
}
}
// if (leaveRange == "MORNING")
// remarkStr += "ครึ่งวันเช้า"; // remarkStr += "ครึ่งวันเช้า";
// else if (leaveRangeEnd == "AFTERNOON") // else if (leaveRange == "AFTERNOON")
// remarkStr += "ครึ่งวันบ่าย"; // remarkStr += "ครึ่งวันบ่าย";
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRange != leaveRangeEnd) // // var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
{ // // if (leaveRangeEnd == "MORNING")
if (leaveRangeEnd == "MORNING") // // remarkStr += "ครึ่งวันเช้า";
remarkStr += " - ครึ่งวันเช้า"; // // else if (leaveRangeEnd == "AFTERNOON")
else if (leaveRangeEnd == "AFTERNOON") // // remarkStr += "ครึ่งวันบ่าย";
remarkStr += " - ครึ่งวันบ่าย";
} // var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
// if (leaveRange != leaveRangeEnd)
// {
// if (leaveRangeEnd == "MORNING")
// remarkStr += " - ครึ่งวันเช้า";
// else if (leaveRangeEnd == "AFTERNOON")
// remarkStr += " - ครึ่งวันบ่าย";
// }
break; break;
default: default:
remarkStr += leaveReq.Type.Name; remarkStr += leaveReq.Type.Name;