| | |
| | | VOrdrerBycl.CurrentCjNum = 0; |
| | | } |
| | | |
| | | // 查询最后一条报工记录 |
| | | var lastReport = Db.Queryable<MesReporting>() |
| | | .Where(r => r.BillNo != null && r.BillNo.Contains(query.orderNo)) |
| | | .OrderBy(r => r.Id, OrderByType.Desc) |
| | | .First(); |
| | | |
| | | if (lastReport == null || !lastReport.BgDate.HasValue) |
| | | { |
| | | // 没有报工记录,初始采集数为开工采数 |
| | | VOrdrerBycl.InitCjNum = VOrdrerBycl.StartCjNum; |
| | | } |
| | | else |
| | | { |
| | | // 有报工记录,初始采集数为上一次报工时间后最近一条齿轮数采表的采集数量 |
| | | 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(); |
| | | |
| | | VOrdrerBycl.InitCjNum = afterReportNum?.CjNum ?? VOrdrerBycl.StartCjNum; |
| | | } |
| | | |
| | | // 报工时采集数就是主界面的当前采数 |
| | | // VOrdrerBycl.CurrentCjNum 已赋值,无需额外处理 |
| | | |
| | | return VOrdrerBycl; |
| | | } |
| | | |