|
|
@@ -209,7 +209,7 @@ namespace Business.Quartz
|
|
|
RecID = help.NextId(),
|
|
|
Domain = "1001",
|
|
|
WorkOrd = item.WorkOrd,
|
|
|
- Remark = "工单关联工序数据维护错误",
|
|
|
+ Remark = "工单的工序数据维护错误",
|
|
|
CreatTime = DateTime.Now
|
|
|
});
|
|
|
continue;
|
|
|
@@ -223,14 +223,38 @@ namespace Business.Quartz
|
|
|
RecID = help.NextId(),
|
|
|
Domain = "1001",
|
|
|
WorkOrd = item.WorkOrd,
|
|
|
- Remark = "工单关联产线数据维护错误",
|
|
|
+ Remark = "工单的产线数据维护错误",
|
|
|
+ CreatTime = DateTime.Now
|
|
|
+ });
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //校验每个层级是否维护了工作日历
|
|
|
+ bool flag = false;
|
|
|
+ foreach (var rut in routingDtos)
|
|
|
+ {
|
|
|
+ var lineCals = calendars.Where(p => p.ProdLine == rut.Line).ToList();
|
|
|
+ if (lineCals.Select(p=>p.WeekDay).Distinct().Count() !=7)
|
|
|
+ {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (flag)
|
|
|
+ {
|
|
|
+ //记录排产异常原因
|
|
|
+ scheduleExceptions.Add(new ScheduleExceptionMaster
|
|
|
+ {
|
|
|
+ RecID = help.NextId(),
|
|
|
+ Domain = "1001",
|
|
|
+ WorkOrd = item.WorkOrd,
|
|
|
+ Remark = "工单产线的工作日历数据维护错误",
|
|
|
CreatTime = DateTime.Now
|
|
|
});
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
//产线排产
|
|
|
- LineSchedule(item, routingDtos.OrderBy(p=>p.level).ToList(), periodSequenceDtls, scheduleMasters, scheduleExceptions);
|
|
|
+ LineSchedule(item, routingDtos.OrderBy(p => p.level).ToList(), periodSequenceDtls, scheduleMasters);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -241,8 +265,7 @@ namespace Business.Quartz
|
|
|
/// <param name="routingDtos">每层级工序对应的产线信息,从小到大排序</param>
|
|
|
/// <param name="periodsDet">生产周期</param>
|
|
|
/// <param name="scheduleResults">排产结果</param>
|
|
|
- /// <param name="scheduleExceptions">排产异常记录</param>
|
|
|
- public void LineSchedule(WorkOrdMaster workOrd,List<WorkOrdRoutingDto> routingDtos,List<PeriodSequenceDet> periodsDet, List<ScheduleResultOpMaster> scheduleResults, List<ScheduleExceptionMaster> scheduleExceptions)
|
|
|
+ public void LineSchedule(WorkOrdMaster workOrd,List<WorkOrdRoutingDto> routingDtos,List<PeriodSequenceDet> periodsDet, List<ScheduleResultOpMaster> scheduleResults)
|
|
|
{
|
|
|
//生产周期
|
|
|
List<PeriodSequenceDet> curSequences = new List<PeriodSequenceDet>();
|