namespace Yw.Application
|
{
|
/// <summary>
|
/// RepairTaskForm
|
/// </summary>
|
[Route("Repair/Task/Form/Std")]
|
[ApiDescriptionSettings("Repair", Name = "维修单(Std)", Order = 8900)]
|
public class RepairTaskForm_MobileController : IDynamicApiController
|
{
|
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
/// <summary>
|
///
|
/// </summary>
|
public RepairTaskForm_MobileController(IHttpContextAccessor httpContextAccessor)
|
{
|
_httpContextAccessor = httpContextAccessor;
|
}
|
private readonly Service.RepairTaskForm _service = new();
|
|
/// <summary>
|
/// 通过 ID 获取详细
|
/// </summary>
|
[Route("GetDetailByID@V1.0")]
|
[HttpGet]
|
public RepairTaskFormDetailDto GetDetailByID([FromQuery][Required] IDInput input)
|
{
|
var taskForm = _service.GetByID(input.ID);
|
if (taskForm == null)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 数据不存在");
|
}
|
var equipment = new Yw.Service.Equipment().GetByID(taskForm.EquipmentID);
|
var taskLogList = new Service.RepairTaskLog().GetByFormID(input.ID);
|
var taskFileList = new Service.RepairTaskLogFile().GetByFormID(input.ID);
|
var vm = new RepairTaskFormDetailDto(taskForm, equipment, taskLogList, taskFileList);
|
if (taskForm.RequestID.HasValue)
|
{
|
var requestForm = new Service.RepairRequestForm().GetByID(taskForm.RequestID.Value);
|
var requestFileList = new Service.RepairRequestFile().GetByFormID(taskForm.RequestID.Value);
|
var requestLogList = new Service.RepairRequestLog().GetByFormID(taskForm.RequestID.Value);
|
vm.RequestForm = new RepairTaskRequestFormDetailDto(requestForm, equipment, requestFileList, requestLogList);
|
}
|
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过 ID 获取已派单详细
|
/// </summary>
|
[Route("GetMyAssignedDetailByID@V1.0")]
|
[HttpGet]
|
public RepairTaskFormAssignedDetailDto GetAssignedDetailByID([FromQuery][Required] IDInput input)
|
{
|
var taskForm = _service.GetByID(input.ID);
|
if (taskForm == null)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 数据不存在");
|
}
|
if (taskForm.FormStatus != eTaskStatus.Assigned)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"ID:{input.ID} 表单状态错误");
|
}
|
var equipment = new Yw.Service.Equipment().GetByID(taskForm.EquipmentID);
|
var taskLogList = new Service.RepairTaskLog().GetByFormID(input.ID);
|
var taskFileList = new Service.RepairTaskLogFile().GetByFormID(input.ID);
|
var vm = new RepairTaskFormAssignedDetailDto(taskForm, equipment, taskLogList, taskFileList);
|
if (taskForm.RequestID.HasValue)
|
{
|
var requestForm = new Service.RepairRequestForm().GetByID(taskForm.RequestID.Value);
|
var requestFileList = new Service.RepairRequestFile().GetByFormID(taskForm.RequestID.Value);
|
var requestLogList = new Service.RepairRequestLog().GetByFormID(taskForm.RequestID.Value);
|
vm.RequestForm = new RepairTaskRequestFormDetailDto(requestForm, equipment, requestFileList, requestLogList);
|
}
|
|
return vm;
|
}
|
|
|
/// <summary>
|
/// 通过 ID 获取我的进行中详细
|
/// </summary>
|
[Route("GetProgressDetailByID@V1.0")]
|
[HttpGet]
|
public RepairTaskFormProgressDetailDto GetProgressDetailByID([FromQuery][Required] IDInput input)
|
{
|
var taskForm = _service.GetByID(input.ID);
|
if (taskForm == null)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 数据不存在");
|
}
|
if (taskForm.FormStatus < eTaskStatus.Received || taskForm.FormStatus >= eTaskStatus.Finished)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"ID:{input.ID} 表单状态错误");
|
}
|
var equipment = new Yw.Service.Equipment().GetByID(taskForm.EquipmentID);
|
var taskLogList = new Service.RepairTaskLog().GetByFormID(input.ID);
|
var taskFileList = new Service.RepairTaskLogFile().GetByFormID(input.ID);
|
var vm = new RepairTaskFormProgressDetailDto(taskForm, equipment, taskLogList, taskFileList);
|
if (taskForm.RequestID.HasValue)
|
{
|
var requestForm = new Service.RepairRequestForm().GetByID(taskForm.RequestID.Value);
|
var requestFileList = new Service.RepairRequestFile().GetByFormID(taskForm.RequestID.Value);
|
var requestLogList = new Service.RepairRequestLog().GetByFormID(taskForm.RequestID.Value);
|
vm.RequestForm = new RepairTaskRequestFormDetailDto(requestForm, equipment, requestFileList, requestLogList);
|
}
|
|
return vm;
|
}
|
|
|
/// <summary>
|
/// 通过 ID 获取我的已完成详细(手机)
|
/// </summary>
|
[Route("GetMyHasFinishedDetailByID@V1.0")]
|
[HttpGet]
|
public RepairTaskFormHasFinishedDetailDto GetHasFinishedDetailByID([FromQuery][Required] IDInput input)
|
{
|
var taskForm = _service.GetByID(input.ID);
|
if (taskForm == null)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 数据不存在");
|
}
|
if (taskForm.FormStatus < eTaskStatus.Finished)
|
{
|
throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"ID:{input.ID} 表单状态错误");
|
}
|
var equipment = new Yw.Service.Equipment().GetByID(taskForm.EquipmentID);
|
var taskLogList = new Service.RepairTaskLog().GetByFormID(input.ID);
|
var taskFileList = new Service.RepairTaskLogFile().GetByFormID(input.ID);
|
var vm = new RepairTaskFormHasFinishedDetailDto(taskForm, equipment, taskLogList, taskFileList);
|
if (taskForm.RequestID.HasValue)
|
{
|
var requestForm = new Service.RepairRequestForm().GetByID(taskForm.RequestID.Value);
|
var requestFileList = new Service.RepairRequestFile().GetByFormID(taskForm.RequestID.Value);
|
var requestLogList = new Service.RepairRequestLog().GetByFormID(taskForm.RequestID.Value);
|
vm.RequestForm = new RepairTaskRequestFormDetailDto(requestForm, equipment, requestFileList, requestLogList);
|
}
|
|
return vm;
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
}
|