工单排产

This commit is contained in:
qianhao.xu 2024-07-18 09:16:01 +08:00
parent 900582f9bd
commit 8f16fd10d1
5 changed files with 104 additions and 0 deletions

View File

@ -38,5 +38,41 @@ namespace DOAN.Admin.WebApi.Controllers
return SUCCESS(response);
}
/// <summary>
/// 获取工序
/// </summary>
/// <param name="WorkRouteID">工一路线id</param>
/// <returns>工艺路线绑定的工序列表</returns>
[HttpGet("get_work_process")]
public IActionResult GetworkProcess(int WorkRouteID)
{
var response = _ProWorkorderSchedule.GetworkProcess(WorkRouteID);
return SUCCESS(response);
}
/// <summary>
/// 获取工位
/// </summary>
/// <param name="WorkRouteID">工序id</param>
/// <returns>工序绑定的工位列表</returns>
[HttpGet("get_work_station")]
public IActionResult GetworkStation(int WorkProcessID)
{
var response = _ProWorkorderSchedule.GetworkStation(WorkProcessID);
return SUCCESS(response);
}
/// <summary>
/// 获取设备
/// </summary>
/// <param name="WorkRouteID">工序id</param>
/// <returns>工序绑定的工位列表</returns>
[HttpGet("get_work_device")]
public IActionResult GetWorkDevice(int WorkStationID)
{
var response = _ProWorkorderSchedule.GetWorkDevice(WorkStationID);
return SUCCESS(response);
}
}
}

View File

@ -124,6 +124,9 @@ namespace DOAN.Model.MES.dev.Dto
[ExcelColumnName("任务执行——结束时间")]
public DateTime? EndTime { get; set; }
//耗时
public double ConsumeTime { get; set; }
[ExcelColumn(Name = "状态")]
[ExcelColumnName("状态")]
public int? Status { get; set; }

View File

@ -56,6 +56,18 @@ namespace DOAN.Service.MES.dev
.Where(predicate.ToExpression())
.ToPage<DeviceTaskExecute, DeviceTaskExecuteDto>(parm);
foreach (DeviceTaskExecuteDto item in response.Result)
{
if (item.StartTime > DateTime.MinValue && item.EndTime > DateTime.MinValue)
{
TimeSpan timeDifference = item.EndTime.Value - item.StartTime.Value;
double minutes = timeDifference.TotalMinutes;
double roundedMinutes = Math.Round(minutes, 1);
item.ConsumeTime = roundedMinutes;
}
}
return response;
}

View File

@ -1,4 +1,5 @@
using DOAN.Model;
using DOAN.Model.MES.base_.Dto;
using DOAN.Model.MES.product;
using DOAN.Model.MES.product.Dto;
using System;
@ -13,5 +14,14 @@ namespace DOAN.Service.MES.product.IService
public interface IProWorkorderSchedule : IBaseService<ProWorkorder>
{
PagedInfo<ProWorkorderDto> GetList(ProWorkorderQueryDto parm);
List<BaseWorkProcessesDto> GetworkProcess(int WorkRouteId);
List<BaseWorkStationDto> GetworkStation(int WorkProcessID);
List<BaseDeviceDto> GetWorkDevice(int WorkStationID);
}
}

View File

@ -10,6 +10,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DOAN.Repository;
using DOAN.Model.MES.base_.Dto;
using Mapster;
@ -57,5 +59,46 @@ namespace DOAN.Service.MES.product
return response;
}
/// <summary>
/// 获取工序
/// </summary>
/// <param name="WorkRouteId"></param>
/// <returns></returns>
public List<BaseWorkProcessesDto> GetworkProcess(int WorkRouteId)
{
var query = Context.Queryable<BaseRelWorkRouteProcesses>().Where(it => it.FkWorkRoute == WorkRouteId);
return Context.Queryable(query)
.LeftJoin<BaseWorkProcesses>((q, p) => q.FkWorkProcesses == p.Id)
.Select((q, p) => p)
.ToList()
.Adapt<List<BaseWorkProcessesDto>>();
}
/// <summary>
/// 获取工位
/// </summary>
/// <param name="WorkProcessID"></param>
/// <returns></returns>
public List<BaseWorkStationDto> GetworkStation(int WorkProcessID)
{
return Context.Queryable<BaseWorkStation>()
.Where(it => it.FkWorkProcesses == WorkProcessID)
.ToList()
.Adapt<List<BaseWorkStationDto>>();
}
/// <summary>
/// 获取设备
/// </summary>
/// <param name="WorkProcessID"></param>
/// <returns></returns>
public List<BaseDeviceDto> GetWorkDevice(int WorkStationID)
{
var query = Context.Queryable<BaseDevice>().Where(it => it.FkWorkStation == WorkStationID).ToList()
.Adapt<List<BaseDeviceDto>>();
return query;
}
}
}