快乐的昕的电脑
2025-10-17 170fd4e77d7c1891151acb05dff4dcc79080404b
逻辑优化
已修改1个文件
22 ■■■■ 文件已修改
Services/WomdaaManager.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Services/WomdaaManager.cs
@@ -137,14 +137,30 @@
        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;