Przeglądaj źródła

排产BUG修复。

tangdi 2 lat temu
rodzic
commit
abf27a0cc6

+ 9 - 3
MicroServices/Business/Business.Application/Quartz/ProductionScheduleAppService.cs

@@ -325,7 +325,8 @@ namespace Business.Quartz
                             OrdQty = dto.ProductQty,
                             WorkOrds = workOrd.WorkOrd,
                             Op = item.Op,
-                            IsActive = true
+                            IsActive = true,
+                            Status = ""
                         });
                         //记录排产记录
                         curScheduleRsts.Add(new ScheduleResultOpMaster
@@ -354,7 +355,11 @@ namespace Business.Quartz
                         decimal workTime = Math.Ceiling(residueQty / item.Rate * 60);
                         //获取当天的工作时间段
                         List<LineWorkPointDto> workPoints = DealWorkDayToLevels(workStartTime, mLCalendars.First(p => p.WeekDay == (int)workStartTime.DayOfWeek), mlqtyWorkDtls);
-                        var curPoint = workPoints.First(p => p.StartPoint >= workStartTime && workStartTime <= p.EndPoint);
+                        var curPoint = workPoints.Find(p => p.StartPoint <= workStartTime && workStartTime <= p.EndPoint);
+                        if (curPoint == null)
+                        {
+                            continue;
+                        }
                         TimeSpan span = curPoint.EndPoint - workStartTime;
                         //当天工作时间段的有效生产时间
                         decimal effMins = (decimal)span.TotalMinutes;
@@ -391,7 +396,8 @@ namespace Business.Quartz
                             OrdQty = residueQty,
                             WorkOrds = workOrd.WorkOrd,
                             Op = item.Op,
-                            IsActive = true
+                            IsActive = true,
+                            Status = ""
                         });
                         //记录排产记录
                         curScheduleRsts.Add(new ScheduleResultOpMaster