快乐的昕的电脑
2025-10-17 000aa71c48e6bda6a37278b914c16be14e50153a
逻辑优化
已修改1个文件
15 ■■■■ 文件已修改
Services/WomdaaManager.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Services/WomdaaManager.cs
@@ -123,26 +123,25 @@
            vOrderBycl.CurrentCjNum = 0;
        }
        // 查询报工记录,获取最后一次报工时间
        // 查询报工记录,获取最后一条报工记录(按报工时间降序排列,取第一条)
        var lastReport = Db.Queryable<MesReporting>()
            .Where(r => r.BillNo != null && r.BillNo.Contains(query.orderNo))
            .OrderBy(r => r.BgDate, OrderByType.Desc)
            .First();
        if (lastReport == null)
        if (lastReport == null || !lastReport.BgDate.HasValue)
        {
            // 没有报工记录,初始采集数为开工采数
            // 没有报工记录或报工时间无效,初始采集数为开工采数
            vOrderBycl.InitCjNum = vOrderBycl.StartCjNum;
        }
        else
        {
            // 有报工记录,初始采集数为上一次报工时间后最近一条齿轮数采表的采集数量
            var afterReportNum = numericalList
                .Where(x =>
                    DateTime.TryParse(x.CjTiem, out var cjTiemDt) &&
                    lastReport.BgDate.HasValue &&
                    cjTiemDt > lastReport.BgDate.Value)
                .OrderBy(x => DateTime.Parse(x.CjTiem))
                .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;