From 13f58300dd99b14127758c25c4ec1555848acad8 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Thu, 18 Jul 2024 08:59:30 +0800 Subject: [PATCH 1/3] 13 --- .../product/ProWorkorderScheduleController.cs | 43 +++++++++++++++ DOAN.Model/MES/base/BaseDevice.cs | 5 -- DOAN.Model/MES/base/BaseRelStationDevice.cs | 53 +++++++++++++++++++ DOAN.Model/MES/base/Dto/BaseDeviceDto.cs | 2 +- .../MES/dev/Dto/DeviceTaskExecuteDto.cs | 3 ++ DOAN.Service/MES/base/BaseDeviceService.cs | 9 +++- .../MES/dev/DeviceTaskExecuteService.cs | 10 ++++ .../product/IService/IProWorkorderSchedule.cs | 8 +++ .../MES/product/ProWorkorderSchedule.cs | 48 +++++++++++++++++ 9 files changed, 173 insertions(+), 8 deletions(-) create mode 100644 DOAN.Model/MES/base/BaseRelStationDevice.cs diff --git a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs index c42186f..5268528 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs @@ -8,6 +8,7 @@ using MiniExcelLibs; using DOAN.Model.System.Dto; using DOAN.Model; using Microsoft.AspNetCore.Mvc; +using Aliyun.OSS; namespace DOAN.Admin.WebApi.Controllers @@ -38,5 +39,47 @@ 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/base/BaseDevice.cs b/DOAN.Model/MES/base/BaseDevice.cs index c4e0811..3a36df4 100644 --- a/DOAN.Model/MES/base/BaseDevice.cs +++ b/DOAN.Model/MES/base/BaseDevice.cs @@ -13,11 +13,6 @@ namespace DOAN.Model.MES.base_ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } - /// - /// 工位 - /// - [SugarColumn(ColumnName = "fk_work_station")] - public int? FkWorkStation { get; set; } /// /// 设备编号 diff --git a/DOAN.Model/MES/base/BaseRelStationDevice.cs b/DOAN.Model/MES/base/BaseRelStationDevice.cs new file mode 100644 index 0000000..16ef67d --- /dev/null +++ b/DOAN.Model/MES/base/BaseRelStationDevice.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + + +namespace DOAN.Model.MES.base_ +{ + /// + /// 工位与设备关联表 + /// + [SugarTable("base_rel_station_device")] + public class BaseRelStationDevice + { + /// + /// 工位id + /// + [SugarColumn(ColumnName = "fk_station_id")] + public int? FkStationId { get; set; } + + /// + /// 设备id + /// + [SugarColumn(ColumnName = "fk_device_id")] + public int? FkDeviceId { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + } +} \ No newline at end of file diff --git a/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs b/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs index d887969..21a75be 100644 --- a/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs +++ b/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs @@ -30,7 +30,7 @@ namespace DOAN.Model.MES.base_.Dto [Required(ErrorMessage = "主键不能为空")] public int Id { get; set; } - public int? FkWorkStation { get; set; } + public string DeviceCode { get; set; } diff --git a/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs b/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs index df86b77..ada0050 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/base/BaseDeviceService.cs b/DOAN.Service/MES/base/BaseDeviceService.cs index c912d07..0d8ed78 100644 --- a/DOAN.Service/MES/base/BaseDeviceService.cs +++ b/DOAN.Service/MES/base/BaseDeviceService.cs @@ -39,6 +39,7 @@ namespace DOAN.Service.MES.base_ var response = Queryable() .Where(predicate.ToExpression()) + .ToPage(parm); return response; @@ -50,8 +51,12 @@ namespace DOAN.Service.MES.base_ /// public List GetList_nobind(int id) { - var response= Context.Queryable().Where(it => (it.Status==1&&it.FkWorkStation == null) || (it.Status == 1 && it.FkWorkStation == id)) - .ToList().Adapt>(); + var response= Context.Queryable() + .Where(it => (it.Status==1&&it.FkWorkStation == null) || (it.Status == 1 && it.FkWorkStation == id)) + .ToList() + .Adapt>(); + + return response; } diff --git a/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs b/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs index 4ca3145..8fa260c 100644 --- a/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs +++ b/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs @@ -55,7 +55,17 @@ namespace DOAN.Service.MES.dev .OrderByDescending(x => x.Id) .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..c8a3a44 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,12 @@ 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..5ce52c7 100644 --- a/DOAN.Service/MES/product/ProWorkorderSchedule.cs +++ b/DOAN.Service/MES/product/ProWorkorderSchedule.cs @@ -10,6 +10,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using DOAN.Repository; +using DOAN.Model.MES.base_.Dto; +using Mapster; +using Org.BouncyCastle.Asn1.Bsi; @@ -57,5 +60,50 @@ 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.FkStationId == WorkStationID); + return Context.Queryable(query) + .LeftJoin((q, p) => q.FkDeviceId == p.Id) + .Select((q, p) => p) + .ToList() + .Adapt>(); + + } + } } \ No newline at end of file From 900582f9bd0dc3bd729bf36abd1047897f3355e2 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Thu, 18 Jul 2024 09:05:05 +0800 Subject: [PATCH 2/3] Revert "13" This reverts commit 13f58300dd99b14127758c25c4ec1555848acad8. --- .../product/ProWorkorderScheduleController.cs | 43 --------------- DOAN.Model/MES/base/BaseDevice.cs | 5 ++ DOAN.Model/MES/base/BaseRelStationDevice.cs | 53 ------------------- DOAN.Model/MES/base/Dto/BaseDeviceDto.cs | 2 +- .../MES/dev/Dto/DeviceTaskExecuteDto.cs | 3 -- DOAN.Service/MES/base/BaseDeviceService.cs | 9 +--- .../MES/dev/DeviceTaskExecuteService.cs | 10 ---- .../product/IService/IProWorkorderSchedule.cs | 8 --- .../MES/product/ProWorkorderSchedule.cs | 48 ----------------- 9 files changed, 8 insertions(+), 173 deletions(-) delete mode 100644 DOAN.Model/MES/base/BaseRelStationDevice.cs diff --git a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs index 5268528..c42186f 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderScheduleController.cs @@ -8,7 +8,6 @@ using MiniExcelLibs; using DOAN.Model.System.Dto; using DOAN.Model; using Microsoft.AspNetCore.Mvc; -using Aliyun.OSS; namespace DOAN.Admin.WebApi.Controllers @@ -39,47 +38,5 @@ 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/base/BaseDevice.cs b/DOAN.Model/MES/base/BaseDevice.cs index 3a36df4..c4e0811 100644 --- a/DOAN.Model/MES/base/BaseDevice.cs +++ b/DOAN.Model/MES/base/BaseDevice.cs @@ -13,6 +13,11 @@ namespace DOAN.Model.MES.base_ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } + /// + /// 工位 + /// + [SugarColumn(ColumnName = "fk_work_station")] + public int? FkWorkStation { get; set; } /// /// 设备编号 diff --git a/DOAN.Model/MES/base/BaseRelStationDevice.cs b/DOAN.Model/MES/base/BaseRelStationDevice.cs deleted file mode 100644 index 16ef67d..0000000 --- a/DOAN.Model/MES/base/BaseRelStationDevice.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - - -namespace DOAN.Model.MES.base_ -{ - /// - /// 工位与设备关联表 - /// - [SugarTable("base_rel_station_device")] - public class BaseRelStationDevice - { - /// - /// 工位id - /// - [SugarColumn(ColumnName = "fk_station_id")] - public int? FkStationId { get; set; } - - /// - /// 设备id - /// - [SugarColumn(ColumnName = "fk_device_id")] - public int? FkDeviceId { get; set; } - - /// - /// 创建人 - /// - [SugarColumn(ColumnName = "cREATED_BY")] - public string CreatedBy { get; set; } - - /// - /// 创建时间 - /// - [SugarColumn(ColumnName = "cREATED_TIME")] - public DateTime? CreatedTime { get; set; } - - /// - /// 更新人 - /// - [SugarColumn(ColumnName = "uPDATED_BY")] - public string UpdatedBy { get; set; } - - /// - /// 更新时间 - /// - [SugarColumn(ColumnName = "uPDATED_TIME")] - public DateTime? UpdatedTime { get; set; } - - } -} \ No newline at end of file diff --git a/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs b/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs index 21a75be..d887969 100644 --- a/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs +++ b/DOAN.Model/MES/base/Dto/BaseDeviceDto.cs @@ -30,7 +30,7 @@ namespace DOAN.Model.MES.base_.Dto [Required(ErrorMessage = "主键不能为空")] public int Id { get; set; } - + public int? FkWorkStation { get; set; } public string DeviceCode { get; set; } diff --git a/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs b/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs index ada0050..df86b77 100644 --- a/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs +++ b/DOAN.Model/MES/dev/Dto/DeviceTaskExecuteDto.cs @@ -124,9 +124,6 @@ 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/base/BaseDeviceService.cs b/DOAN.Service/MES/base/BaseDeviceService.cs index 0d8ed78..c912d07 100644 --- a/DOAN.Service/MES/base/BaseDeviceService.cs +++ b/DOAN.Service/MES/base/BaseDeviceService.cs @@ -39,7 +39,6 @@ namespace DOAN.Service.MES.base_ var response = Queryable() .Where(predicate.ToExpression()) - .ToPage(parm); return response; @@ -51,12 +50,8 @@ namespace DOAN.Service.MES.base_ /// public List GetList_nobind(int id) { - var response= Context.Queryable() - .Where(it => (it.Status==1&&it.FkWorkStation == null) || (it.Status == 1 && it.FkWorkStation == id)) - .ToList() - .Adapt>(); - - + var response= Context.Queryable().Where(it => (it.Status==1&&it.FkWorkStation == null) || (it.Status == 1 && it.FkWorkStation == id)) + .ToList().Adapt>(); return response; } diff --git a/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs b/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs index 8fa260c..4ca3145 100644 --- a/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs +++ b/DOAN.Service/MES/dev/DeviceTaskExecuteService.cs @@ -55,17 +55,7 @@ namespace DOAN.Service.MES.dev .OrderByDescending(x => x.Id) .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 c8a3a44..ac434a2 100644 --- a/DOAN.Service/MES/product/IService/IProWorkorderSchedule.cs +++ b/DOAN.Service/MES/product/IService/IProWorkorderSchedule.cs @@ -1,5 +1,4 @@ using DOAN.Model; -using DOAN.Model.MES.base_.Dto; using DOAN.Model.MES.product; using DOAN.Model.MES.product.Dto; using System; @@ -14,12 +13,5 @@ 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 5ce52c7..6acda01 100644 --- a/DOAN.Service/MES/product/ProWorkorderSchedule.cs +++ b/DOAN.Service/MES/product/ProWorkorderSchedule.cs @@ -10,9 +10,6 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using DOAN.Repository; -using DOAN.Model.MES.base_.Dto; -using Mapster; -using Org.BouncyCastle.Asn1.Bsi; @@ -60,50 +57,5 @@ 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.FkStationId == WorkStationID); - return Context.Queryable(query) - .LeftJoin((q, p) => q.FkDeviceId == p.Id) - .Select((q, p) => p) - .ToList() - .Adapt>(); - - } - } } \ No newline at end of file From 8f16fd10d142ec4e291137b8b711bfcf1434e9b6 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Thu, 18 Jul 2024 09:16:01 +0800 Subject: [PATCH 3/3] =?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