From 665411be7ab2b03801cd2b628195f320e62db8e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Sun, 31 May 2026 12:54:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A6=E5=8F=91=E8=BE=A8=E8=AF=86=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E8=A1=A8=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/SKController.cs | 46 ++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index e886069..db13f1b 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -1623,7 +1623,11 @@ namespace APT.PP.WebApi.Controllers.Api { try { - var dtNow = DateTime.Now; + var dtNow = DateTime.Now; + if (filter.Parameter1 != null) + { + dtNow = DateTime.Parse(filter.Parameter1); + } var year = dtNow.Year; var month = dtNow.Month; var day = dtNow.Day; @@ -1645,7 +1649,7 @@ namespace APT.PP.WebApi.Controllers.Api var baseFilter = new BaseFilter(filter.GetOrgId()); baseFilter.IgnoreDataRule = true; baseFilter.SelectField = new string[] { "ID", "START_DATE", "END_DATE" }; //指定字段,包括导航属性 - Expression> expression = i => i.END_DATE.Value.Date == DateTime.Now.Date && i.STATUS == PFStandardStatus.Archived; + Expression> expression = i => i.END_DATE.Value.Date == dtNow.Date && i.STATUS == PFStandardStatus.Archived; List planTemps = this.GetOrderEntities(expression, baseFilter, "Nav_Requires").ToList(); var planIds = planTemps.Select(t => t.ID).ToList(); var newFilter = new BaseFilter(filter.GetOrgId()); @@ -2009,15 +2013,22 @@ namespace APT.PP.WebApi.Controllers.Api } } //车间级和班组级汇总给车间安全员 - var shopClass = departs.Where(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 15).ToList(); - if (shopClass.Any()) - { - var tempIds = shopClass.Select(t => t.ID).ToList(); - var classTempInfos = departs.Where(t => t.PARENT_ID != null && tempIds.Contains((Guid)t.PARENT_ID) && t.DEPARTMENT_TYPE == 20).ToList(); - if (tempIds.Any()) + var shopClass = departs.Where(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 15).ToList(); + var shopIds = shopClass.Select(t=>t.ID).ToList(); + //可能只有班组,获取所有班组的车间 + var classDept = departs.Where(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 20).ToList(); + if (classDept != null && classDept.Any()) + { + var classIds = classDept.Select(t => t.ID).ToList(); + var tempShopIds = departs.Where(t => classIds.Contains(t.ID) && t.PARENT_ID!=null).Select(m=>(Guid)m.PARENT_ID).ToList(); + shopIds.AddRange(tempShopIds); + } + shopIds = shopIds.Distinct().ToList(); + //var classTempInfos = departs.Where(t => t.PARENT_ID != null && shopIds.Contains((Guid)t.PARENT_ID) && t.DEPARTMENT_TYPE == 20).ToList(); + if (shopIds.Any()) { //每个车间汇总班组和车间 - foreach (var de in tempIds) + foreach (var de in shopIds) { //车间 var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == de && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); @@ -2069,21 +2080,25 @@ namespace APT.PP.WebApi.Controllers.Api var exsisRecird = identityResults.FirstOrDefault(t => t.IDENTIFY_EVALUATION_PLAN_ID == plan && t.APPLY_DEPARTMENT_ID == user.DEPARTMENT_ID && t.APPLY_USER_ID == user.ID && t.ISCOMPANY == SKIsStoreEnum.No); if (exsisRecird == null) { - var classIds = classTempInfos.Where(t => t.PARENT_ID == de).Select(t => t.ID).ToList(); + var classIds = departs.Where(t => t.PARENT_ID == de).Select(t => t.ID).ToList(); //departListIds.AddRange(classIds); var deTemp = ides.FirstOrDefault(t => t.APPLY_DEPARTMENT_ID == de); + if (deTemp == null) + { + deTemp = ides.FirstOrDefault(t => t.APPLY_DEPARTMENT_ID!=null &&classIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)); + } T_SK_RISK_IDENTIFY_RESULT result = new T_SK_RISK_IDENTIFY_RESULT(); result.ORG_ID = filter.OrgId; result.APPLY_DEPARTMENT_ID = user?.DEPARTMENT_ID; result.APPLY_USER_ID = user.ID; - result.IDENTIFY_ID = deTemp.ID; + result.IDENTIFY_ID = deTemp?.ID; result.IDENTIFY_EVALUATION_PLAN_ID = plan; result.YEAR = DateTime.Now.Year.ToString(); result.ISAUTO = true; result.ISCOMPANY = SKIsStoreEnum.No; - result.CONTENTS = deTemp.CONTENTS; - result.START_DATE = planTemp.START_DATE; - result.END_DATE = planTemp.END_DATE; + result.CONTENTS = deTemp?.CONTENTS; + result.START_DATE = planTemp?.START_DATE; + result.END_DATE = planTemp?.END_DATE; result.REQUIRE_ID = requre?.ID; results.Add(result); if (planTemp != null && planTemp.Nav_Requires != null && planTemp.Nav_Requires.Any()) @@ -2203,7 +2218,6 @@ namespace APT.PP.WebApi.Controllers.Api } } } - } } } } @@ -5182,7 +5196,7 @@ namespace APT.PP.WebApi.Controllers.Api if (set.MONTH == month && set.DATA == day) { setList.Add(set); - } + } break; case SKPLANCHECKFREQUENCYEnum.HalfYear: if ((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day))