From bd3a8aaa4b9c2eaeb600b7506a0020fa80ab48d0 Mon Sep 17 00:00:00 2001 From: yinq Date: Mon, 23 Jun 2025 14:21:42 +0800 Subject: [PATCH] =?UTF-8?q?=20=E7=94=9F=E4=BA=A7=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=8A=A0=E5=B7=A5=E6=97=B6=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.Model/domain/ProdPLanInfo.cs | 6 +++ SlnMesnac.Model/domain/ProdPlanErpInfo.cs | 16 +++++++ .../service/Impl/ProdPlanInfoServiceImpl.cs | 43 +++++++++++++++---- 3 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 SlnMesnac.Model/domain/ProdPlanErpInfo.cs diff --git a/SlnMesnac.Model/domain/ProdPLanInfo.cs b/SlnMesnac.Model/domain/ProdPLanInfo.cs index 2310f2c..e3825df 100644 --- a/SlnMesnac.Model/domain/ProdPLanInfo.cs +++ b/SlnMesnac.Model/domain/ProdPLanInfo.cs @@ -147,5 +147,11 @@ namespace SlnMesnac.Model.domain /// [SugarColumn(ColumnName = "import_flag")] public string ImportFlag { get; set; } + + /// + /// 工时 + /// + [SugarColumn(IsIgnore = true)] + public string WorkingHours { get; set; } } } diff --git a/SlnMesnac.Model/domain/ProdPlanErpInfo.cs b/SlnMesnac.Model/domain/ProdPlanErpInfo.cs new file mode 100644 index 0000000..e171ad7 --- /dev/null +++ b/SlnMesnac.Model/domain/ProdPlanErpInfo.cs @@ -0,0 +1,16 @@ +using SqlSugar; +using System; + +namespace SlnMesnac.Model.domain +{ + [SugarTable("prod_plan_erp_info"), TenantAttribute("mes")] + public class ProdPlanErpInfo + { + [SugarColumn(ColumnName = "obj_id", IsPrimaryKey = true, IsIdentity = true)] + public long ObjId { get; set; } // obj_id + [SugarColumn(ColumnName = "seqNo")] + public string SeqNo { get; set; } // seqNo + [SugarColumn(ColumnName = "workingHours")] + public string WorkingHours { get; set; } // workingHours + } +} \ No newline at end of file diff --git a/SlnMesnac.Repository/service/Impl/ProdPlanInfoServiceImpl.cs b/SlnMesnac.Repository/service/Impl/ProdPlanInfoServiceImpl.cs index b1a136c..939b887 100644 --- a/SlnMesnac.Repository/service/Impl/ProdPlanInfoServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/ProdPlanInfoServiceImpl.cs @@ -28,14 +28,41 @@ namespace SlnMesnac.Repository.service.Impl /// public List GetRecordStaffAttendancesByConditions(string? orderCode, string? planCode, string? materialCode, string? stationCode, string? planStatus) { - List recordStaffAttendances = new List(); - List planInfoList = _rep.AsQueryable().WhereIF(!string.IsNullOrEmpty(orderCode), x => x.OrderCode == orderCode) - .WhereIF(!string.IsNullOrEmpty(planCode), x => x.PlanCode == planCode) - .WhereIF(!string.IsNullOrEmpty(materialCode), x => x.MaterialCode == materialCode) - .WhereIF(!string.IsNullOrEmpty(stationCode), x => x.StationCode == stationCode) - .WhereIF(!string.IsNullOrEmpty(planStatus), x => x.PlanStatus == planStatus || x.PlanStatus == "4") - .OrderByDescending(x => x.ObjId) - .ToList(); + var query = _rep.Context.Queryable() + .LeftJoin((ppi, ppei) => ppi.PlanCode == ppei.SeqNo) + .WhereIF(!string.IsNullOrEmpty(orderCode), (ppi, ppei) => ppi.OrderCode == orderCode) + .WhereIF(!string.IsNullOrEmpty(planCode), (ppi, ppei) => ppi.PlanCode == planCode) + .WhereIF(!string.IsNullOrEmpty(materialCode), (ppi, ppei) => ppi.MaterialCode == materialCode) + .WhereIF(!string.IsNullOrEmpty(stationCode), (ppi, ppei) => ppi.StationCode == stationCode) + .WhereIF(!string.IsNullOrEmpty(planStatus), (ppi, ppei) => ppi.PlanStatus == planStatus || ppi.PlanStatus == "4") + .Select((ppi, ppei) => new ProdPLanInfo + { + ObjId = ppi.ObjId, + PlanCode = ppi.PlanCode, + OrderCode = ppi.OrderCode, + MaterialCode = ppi.MaterialCode, + MaterialName = ppi.MaterialName, + StationCode = ppi.StationCode, + TeamCode = ppi.TeamCode, + PlanAmount = ppi.PlanAmount, + CompleteAmount = ppi.CompleteAmount, + BeginTime = ppi.BeginTime, + EndTime = ppi.EndTime, + CompFlag = ppi.CompFlag, + CreatedBy = ppi.CreatedBy, + CreatedTime = ppi.CreatedTime, + UpdatedBy = ppi.UpdatedBy, + UpdatedTime = ppi.UpdatedTime, + DeviceCode = ppi.DeviceCode, + PlanBeginTime = ppi.PlanBeginTime, + PlanEndTime = ppi.PlanEndTime, + PlanStatus = ppi.PlanStatus, + Classes = ppi.Classes, + ProcessCode = ppi.ProcessCode, + ImportFlag = ppi.ImportFlag, + WorkingHours = ppei.WorkingHours + }); + List planInfoList = query.ToList(); return planInfoList; }