From 8f16fd10d142ec4e291137b8b711bfcf1434e9b6 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Thu, 18 Jul 2024 09:16:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=8E=92=E4=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/ProWorkorderScheduleController.cs | 36 ++++++++++++++++ .../MES/dev/Dto/DeviceTaskExecuteDto.cs | 3 ++ .../MES/dev/DeviceTaskExecuteService.cs | 12 ++++++ .../product/IService/IProWorkorderSchedule.cs | 10 +++++ .../MES/product/ProWorkorderSchedule.cs | 43 +++++++++++++++++++ 5 files changed, 104 insertions(+) diff --git a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs index c42186f..9a3df01 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs @@ -38,5 +38,41 @@ namespace DOAN.Admin.WebApi.Controllers return SUCCESS(response); } + /// + /// 获取工序 + /// + /// 工一路线id + /// 工艺路线绑定的工序列表 + [HttpGet("get_work_process")] + public IActionResult GetworkProcess(int WorkRouteID) + { + var response = _ProWorkorderSchedule.GetworkProcess(WorkRouteID); + return SUCCESS(response); + } + + /// + /// 获取工位 + /// + /// 工序id + /// 工序绑定的工位列表 + [HttpGet("get_work_station")] + public IActionResult GetworkStation(int WorkProcessID) + { + var response = _ProWorkorderSchedule.GetworkStation(WorkProcessID); + return SUCCESS(response); + } + + /// + /// 获取设备 + /// + /// 工序id + /// 工序绑定的工位列表 + [HttpGet("get_work_device")] + public IActionResult GetWorkDevice(int WorkStationID) + { + var response = _ProWorkorderSchedule.GetWorkDevice(WorkStationID); + return SUCCESS(response); + } + } } diff --git a/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs b/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs index df86b77..0bed670 100644 --- a/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs +++ b/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs @@ -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; } diff --git a/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs b/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs index 4ca3145..2ef4416 100644 --- a/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs +++ b/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs @@ -56,6 +56,18 @@ namespace DOAN.Service.MES.dev .Where(predicate.ToExpression()) .ToPage(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; } diff --git a/DOAN.Service/MES/product/IService/IProWorkorderSchedule.cs b/DOAN.Service/MES/product/IService/IProWorkorderSchedule.cs index ac434a2..47554b7 100644 --- a/DOAN.Service/MES/product/IService/IProWorkorderSchedule.cs +++ b/DOAN.Service/MES/product/IService/IProWorkorderSchedule.cs @@ -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 { PagedInfo GetList(ProWorkorderQueryDto parm); + + + + List GetworkProcess(int WorkRouteId); + + List GetworkStation(int WorkProcessID); + + + List GetWorkDevice(int WorkStationID); } } diff --git a/DOAN.Service/MES/product/ProWorkorderSchedule.cs b/DOAN.Service/MES/product/ProWorkorderSchedule.cs index 6acda01..7038996 100644 --- a/DOAN.Service/MES/product/ProWorkorderSchedule.cs +++ b/DOAN.Service/MES/product/ProWorkorderSchedule.cs @@ -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; } + /// + /// 获取工序 + /// + /// + /// + public List GetworkProcess(int WorkRouteId) + { + var query = Context.Queryable().Where(it => it.FkWorkRoute == WorkRouteId); + return Context.Queryable(query) + .LeftJoin((q, p) => q.FkWorkProcesses == p.Id) + .Select((q, p) => p) + .ToList() + .Adapt>(); + } + + /// + /// 获取工位 + /// + /// + /// + public List GetworkStation(int WorkProcessID) + { + return Context.Queryable() + .Where(it => it.FkWorkProcesses == WorkProcessID) + .ToList() + .Adapt>(); + + } + /// + /// 获取设备 + /// + /// + /// + public List GetWorkDevice(int WorkStationID) + { + var query = Context.Queryable().Where(it => it.FkWorkStation == WorkStationID).ToList() + .Adapt>(); + + return query; + } + } } \ No newline at end of file