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