| | |
| | | else |
| | | { |
| | | // 有报工记录,初始采集数为上一次报工时间后最近一条齿轮数采表的采集数量 |
| | | var afterReportNum = numericalList |
| | | // 1. 精确匹配报工时间 |
| | | var exactMatch = numericalList |
| | | .Select(x => new { Item = x, ParsedTime = DateTime.TryParse(x.CjTiem, out var dt) ? dt : (DateTime?)null }) |
| | | .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value > lastReport.BgDate.Value) |
| | | .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value == lastReport.BgDate.Value) |
| | | .OrderBy(x => x.ParsedTime) |
| | | .Select(x => x.Item) |
| | | .FirstOrDefault(); |
| | | |
| | | vOrderBycl.InitCjNum = afterReportNum?.CjNum ?? vOrderBycl.StartCjNum; |
| | | if (exactMatch != null) |
| | | { |
| | | vOrderBycl.InitCjNum = exactMatch.CjNum ?? vOrderBycl.StartCjNum; |
| | | } |
| | | else |
| | | { |
| | | // 2. 找报工时间之后的第一条 |
| | | var afterReportNum = numericalList |
| | | .Select(x => new { Item = x, ParsedTime = DateTime.TryParse(x.CjTiem, out var dt) ? dt : (DateTime?)null }) |
| | | .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value > lastReport.BgDate.Value) |
| | | .OrderBy(x => x.ParsedTime) |
| | | .Select(x => x.Item) |
| | | .FirstOrDefault(); |
| | | |
| | | vOrderBycl.InitCjNum = afterReportNum?.CjNum ?? vOrderBycl.StartCjNum; |
| | | } |
| | | } |
| | | |
| | | var startCjNum = vOrderBycl.StartCjNum; |