From 8b0d4a04099b3cbcdbbb9badf0bfe5d8cf974077 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Tue, 18 Jun 2024 09:04:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=A4=A7=E5=B1=8F=E6=80=BB?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MES/dev/DeviceDataAnalysisController.cs | 12 +++++++ ZR.Model/MES/dev/DeviceInspect.cs | 2 +- .../dev/Dto/DeviceStatusAnalysisResultDto.cs | 31 ++++++++++++++++++ ZR.Service/MES/dev/DeviceAccountService.cs | 20 ++++++++---- .../MES/dev/DeviceDataAnalysisService.cs | 32 +++++++++++++++++++ ZR.Service/MES/dev/DeviceInspectService.cs | 1 + .../IService/IDeviceDataAnalysisServcie.cs | 3 +- 7 files changed, 93 insertions(+), 8 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/MES/dev/DeviceDataAnalysisController.cs b/ZR.Admin.WebApi/Controllers/MES/dev/DeviceDataAnalysisController.cs index 7c4b5e2..6230fd4 100644 --- a/ZR.Admin.WebApi/Controllers/MES/dev/DeviceDataAnalysisController.cs +++ b/ZR.Admin.WebApi/Controllers/MES/dev/DeviceDataAnalysisController.cs @@ -117,6 +117,18 @@ namespace DOAN.WebApi.Controllers.MES.dev return SUCCESS(response); } + /// + /// 获取大屏总数 + /// + /// + /// + [HttpPost("getAllTotal")] + public IActionResult GetAllTotal() + { + + var response = deviceDataAnalysisServcie.GetAllTotal(); + return SUCCESS(response); + } } diff --git a/ZR.Model/MES/dev/DeviceInspect.cs b/ZR.Model/MES/dev/DeviceInspect.cs index 57d5ccc..d678f3d 100644 --- a/ZR.Model/MES/dev/DeviceInspect.cs +++ b/ZR.Model/MES/dev/DeviceInspect.cs @@ -27,7 +27,7 @@ namespace ZR.Model.MES.dev /// /// 检查项状态 /// - public int Status { get; set; } + public int? Status { get; set; } /// /// 描述 diff --git a/ZR.Model/MES/dev/Dto/DeviceStatusAnalysisResultDto.cs b/ZR.Model/MES/dev/Dto/DeviceStatusAnalysisResultDto.cs index a627bbd..2263d94 100644 --- a/ZR.Model/MES/dev/Dto/DeviceStatusAnalysisResultDto.cs +++ b/ZR.Model/MES/dev/Dto/DeviceStatusAnalysisResultDto.cs @@ -112,6 +112,37 @@ namespace ZR.Model.MES.dev.Dto public PersonnelResponse_Series SeriesData { get; set; } } + public class FullScreenTotal + { + /// + /// 设备可用数量 + /// + public int UseDeviceTotal { get; set; } + /// + /// 设备停机中 + /// + public int UnUseDeviceTotal { get; set; } + + /// + /// 累计任务数 + /// + public int TaskTotal { get; set; } + + /// + /// 累计任务完成数 + /// + public int FinishTaskTotal { get; set; } + + /// + /// 累计报修数 + /// + public int RepairTotal { get; set; } + + /// + /// 累计维护数 + /// + public int FinishRepairTotal { get; set; } + } public class PersonnelResponse_Series { diff --git a/ZR.Service/MES/dev/DeviceAccountService.cs b/ZR.Service/MES/dev/DeviceAccountService.cs index 7d54e77..87991fc 100644 --- a/ZR.Service/MES/dev/DeviceAccountService.cs +++ b/ZR.Service/MES/dev/DeviceAccountService.cs @@ -10,6 +10,7 @@ using System.Linq; using ZR.Model.MES.dev; using ZR.Model.MES.dev.Dto; using ZR.Service.MES.dev.IService; +using System.ComponentModel; namespace ZR.Service.MES.dev { @@ -65,23 +66,30 @@ namespace ZR.Service.MES.dev public PagedInfo GetList_Route(DeviceAccountQueryDto2 parm) { + var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.DeviceName), (a, r) => a.DeviceName.Contains(parm.DeviceName)) .AndIF(!string.IsNullOrEmpty(parm.DeviceSpecification), (a, r) => a.DeviceSpecification.Contains(parm.DeviceSpecification)) .And((a, r) => a.Status == 1) .AndIF(parm.FkDeviceType > 0, (a, r) => a.FkDeviceType == parm.FkDeviceType) - .AndIF(parm.Flag == 1, (a, r) => r.FkRouteInspectionPlanId == parm.fkRouteInspectionPlanId) - .AndIF(parm.Flag == 0, (a, r) => r.FkRouteInspectionPlanId != parm.fkRouteInspectionPlanId || r.FkRouteInspectionPlanId == null) + .And((a, r) => r.FkRouteInspectionPlanId == parm.fkRouteInspectionPlanId) ; - var response = Context.Queryable() + var temp = Context.Queryable() .LeftJoin((a, r) => a.Id == r.FkDeviceAccountId) - .Where(predicate.ToExpression()) - .Select((a, r) => a) + .Where(predicate.ToExpression()).Select((a, r) => a); + if (parm.Flag == 0) + { + int[] exist= temp.Select(a => a.Id).ToArray(); + temp=Context.Queryable().Where(it => !exist.Contains(it.Id)); + } + + + var reponse = temp .ToPage(parm); - return response; + return reponse; } diff --git a/ZR.Service/MES/dev/DeviceDataAnalysisService.cs b/ZR.Service/MES/dev/DeviceDataAnalysisService.cs index 344e543..13920ad 100644 --- a/ZR.Service/MES/dev/DeviceDataAnalysisService.cs +++ b/ZR.Service/MES/dev/DeviceDataAnalysisService.cs @@ -578,5 +578,37 @@ namespace ZR.Service.MES.dev lastMondayMidnight = inputDateTime.Date.AddDays(-daysToSubtract).AddDays(-7).Date; // Last Monday midnight lastSundayMidnight = lastMondayMidnight.AddDays(6).AddHours(23).AddMinutes(59).AddSeconds(59); // Last Sunday midnight } + + /// + /// 获取大屏总数 + /// + /// + /// + public FullScreenTotal GetAllTotal() + { + FullScreenTotal screenTotal = new FullScreenTotal(); + //设备可用数 + screenTotal.UseDeviceTotal = Context.Queryable().Where(it => it.Status == 1).Count(); + + + //设备停机数 + screenTotal.UnUseDeviceTotal = Context.Queryable().Where(it => it.Status == 0).Count(); + + // 累计任务数 + screenTotal.TaskTotal = Context.Queryable().Count(); + + //累计任务完成数 + screenTotal.FinishTaskTotal= Context.Queryable().Where(it => it.Status == 0).Count(); + + //累计报修数 + screenTotal.RepairTotal = Context.Queryable().Count(); + + //累计维护数 + screenTotal.FinishRepairTotal = Context.Queryable().Where(it=>it.Status==2).Count(); + + return screenTotal; + + + } } } diff --git a/ZR.Service/MES/dev/DeviceInspectService.cs b/ZR.Service/MES/dev/DeviceInspectService.cs index 2aa67ce..798d068 100644 --- a/ZR.Service/MES/dev/DeviceInspectService.cs +++ b/ZR.Service/MES/dev/DeviceInspectService.cs @@ -92,6 +92,7 @@ namespace ZR.Service.MES.dev /// public DeviceInspect AddDeviceInspect(DeviceInspect model) { + return Context.Insertable(model).ExecuteReturnEntity(); } diff --git a/ZR.Service/MES/dev/IService/IDeviceDataAnalysisServcie.cs b/ZR.Service/MES/dev/IService/IDeviceDataAnalysisServcie.cs index 9c33588..b4549db 100644 --- a/ZR.Service/MES/dev/IService/IDeviceDataAnalysisServcie.cs +++ b/ZR.Service/MES/dev/IService/IDeviceDataAnalysisServcie.cs @@ -21,7 +21,8 @@ namespace ZR.Service.MES.dev.IService TaskLineResultDto TaskLinebyDay(DeviceDefaultDto devicedefault); PersonnelResponseResultDto PersonResponse(DeviceDefaultDto devicedefault); + FullScreenTotal GetAllTotal(); + - } }