Rotating Shift api completed

This commit is contained in:
gozareshgir
2026-01-19 13:41:36 +03:30
parent 2ce63d1e0f
commit 4463fdc177
4 changed files with 48 additions and 43 deletions

View File

@@ -79,7 +79,7 @@ public interface ICheckoutApplication
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RotatingShiftOfCheckoutDto> GetRotatingShift(long id);
Task<RotatingShiftOfCheckoutDto> GetRotatingShiftApi(long id);
#endregion
}

View File

@@ -731,59 +731,46 @@ public class CheckoutApplication : ICheckoutApplication
}
public async Task<RotatingShiftOfCheckoutDto> GetRotatingShift(long id)
public async Task<RotatingShiftOfCheckoutDto> GetRotatingShiftApi(long id)
{
var result = new ComputingViewModel();
var checkout = GetDetails(id);
var workingHours = _workingHoursTempRepository.GetByContractIdConvertToShiftwork4(checkout.ContractId);
var typeOfWorkingHours = "";
if (checkout.HasRollCall)
{
var result = await _rollCallMandatoryRepository.RotatingShiftReport(checkout.WorkshopId, checkout.EmployeeId, checkout.ContractStartGr, checkout.ContractEndGr, workingHours.ShiftWork, true, workingHours, false);
var items = result.RotatingResultList.Select(x => new RotatingShiftListDto()
{
MorningShiftSpan = x.MorningString,
EveningShiftSpan = x.EveningString,
NightShiftSpan = x.NightString,
result = await _rollCallMandatoryRepository.RotatingShiftReport(checkout.WorkshopId, checkout.EmployeeId, checkout.ContractStartGr, checkout.ContractEndGr, workingHours.ShiftWork, true, workingHours, false);
typeOfWorkingHours = "دارای حضورغیاب";
IsMorningShift = x.IsMorningShift,
IsEveningShift = x.IsEveningShift,
IsNightShift = x.IsNightShift,
ShiftDate = x.RotatingDate
}).ToList();
return new RotatingShiftOfCheckoutDto()
{
FullName = checkout.EmployeeFullName,
YearAndMonth = $"{checkout.Month} {checkout.Year}",
HasRotatingShift = result.RotatingStatus == "نوبت کاری ندارد",
RotatingShiftStatus = result.RotatingStatus,
TypeOfWorkingHours = "دارای حضورغیاب",
RotatingShiftList = items
};
}
else
{
var ConvertYear = checkout.ContractStart.Substring(0, 4);
var ConvertMonth = checkout.ContractStart.Substring(5, 2);
//var contract = _contractApplication.GetDetails(checkout.ContractId);
var workshop = _workshopRepository.GetDetails(checkout.WorkshopId);
//var separation = _contractApplication.contractSeparation(ConvertYear, ConvertMonth,
// contract.ContractStartGr, contract.ContractEndGr, contract.EmployeeId, contract.WorkshopIds);
//workingHours.ContractStartGr = separation.ContractStartGr;
//workingHours.ContractEndGr = separation.ContractEndGr;
//workingHours.ContarctStart = separation.ContarctStart;
//workingHours.ContractEnd = separation.ContractEnd;
//workingHours.GetWorkDate = contract.GetWorkDate;
//workingHours.GetWorkDateHide = contract.GetWorkDate;
//workingHours.WorkshopId = contract.WorkshopIds;
//workingHours.EmployeeId = contract.EmployeeId;
var result = await _rollCallMandatoryRepository.RotatingShiftReport(checkout.WorkshopId, checkout.EmployeeId, checkout.ContractStartGr, checkout.ContractEndGr, workingHours.ShiftWork, false, workingHours, workshop.WorkshopHolidayWorking);
var workshop = _workshopRepository.GetDetails(checkout.WorkshopId);
result = await _rollCallMandatoryRepository.RotatingShiftReport(checkout.WorkshopId, checkout.EmployeeId, checkout.ContractStartGr, checkout.ContractEndGr, workingHours.ShiftWork, false, workingHours, workshop.WorkshopHolidayWorking);
typeOfWorkingHours = "بدون حضورغیاب";
}
var items = result.RotatingResultList.Select(x => new RotatingShiftListDto()
{
MorningShiftSpan = x.MorningString,
EveningShiftSpan = x.EveningString,
NightShiftSpan = x.NightString,
return new RotatingShiftOfCheckoutDto();
IsMorningShift = x.IsMorningShift,
IsEveningShift = x.IsEveningShift,
IsNightShift = x.IsNightShift,
ShiftDate = x.RotatingDate
}).ToList();
return new RotatingShiftOfCheckoutDto()
{
FullName = checkout.EmployeeFullName,
YearAndMonth = $"{checkout.Month} {checkout.Year}",
HasRotatingShift = result.RotatingStatus != "نوبت کاری ندارد",
RotatingShiftStatus = result.RotatingStatus,
TypeOfWorkingHours = typeOfWorkingHours,
RotatingShiftList = items
};
}
#endregion
}

View File

@@ -1607,6 +1607,11 @@ public class RollCallMandatoryRepository : RepositoryBase<long, RollCall>, IRoll
#region Entities
if (string.IsNullOrWhiteSpace(command.ContarctStart) || string.IsNullOrWhiteSpace(command.ContractEnd))
{
command.ContarctStart = command.ContractStartGr.ToFarsi();
command.ContractEnd = command.ContractEndGr.ToFarsi();
}
var sdate = command.ContarctStart.ToEnglishNumber();
var edate = command.ContractEnd.ToEnglishNumber();
var syear = Convert.ToInt32(sdate.Substring(0, 4));

View File

@@ -21,10 +21,23 @@ public class CheckoutController : AdminBaseController
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
[HttpGet("GetList")]
[HttpGet]
public async Task<ActionResult<PagedResult<CheckoutDto>>> GetList(CheckoutSearchModelDto searchModel)
{
return await _checkoutApplication.GetList(searchModel);
}
/// <summary>
/// دریافت نوبت کاری
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("RotatingShift")]
public async Task<RotatingShiftOfCheckoutDto> GetRotatingShift(long id)
{
var result =await _checkoutApplication.GetRotatingShiftApi(id);
return result;
}
}