| | |
| | | Db.Insertable<MesAnchors>(eAnchors) |
| | | .ExecuteCommand(); |
| | | |
| | | // 新增逻辑:送检时间有值时,判断最新首检单是否合格,合格则写入调机完成时间 |
| | | |
| | | |
| | | // 新增逻辑:送检时间有值时,判断最新首检单是否合格,合格则写入调机完成时间为当前时间 |
| | | if (!string.IsNullOrEmpty(entity.MaShoutTime)) |
| | | { |
| | | // 查找该工单号下最新的首检单 |
| | | var sjRecord = Db.Queryable<MesQaItemsDetect02>() |
| | | .Where(x => x.Aufnr == womdaa.Daa001 && x.Ftype == "首检") |
| | | .OrderBy(x => x.CreateDate, OrderByType.Desc) |
| | | .First(); |
| | | |
| | | if (sjRecord != null && sjRecord.FcheckResu == "合格" && sjRecord.FcheckDate.HasValue) |
| | | //送检呼叫时间必须大于或等于调机开始时间,以此来筛选首检单 |
| | | if (DateTime.TryParse(entity.MaShoutTime, out var sjTime) && DateTime.TryParse(entity.MaStartTime, out var startTime)) |
| | | { |
| | | entity.MaEndTime = sjRecord.FcheckDate.Value.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | if (sjTime >= startTime) |
| | | { |
| | | // 查找该工单号下最新的首检单 |
| | | var sjRecord = Db.Queryable<MesQaItemsDetect02>() |
| | | .Where(x => x.Aufnr == womdaa.Daa001 && x.Ftype == "首检") |
| | | .OrderBy(x => x.CreateDate, OrderByType.Desc) |
| | | .First(); |
| | | |
| | | if (sjRecord != null && sjRecord.FcheckResu == "合格") |
| | | { |
| | | // 使用QualifiedInspection方法更新工单状态 |
| | | QualifiedInspection(new OrderMachineDto |
| | | { |
| | | OrderId = entity.OrderId, |
| | | orderNo = entity.OrderNo, |
| | | machineNo = entity.MachineNo |
| | | }); |
| | | //将送检时间写入开工时间 |
| | | entity.StartTime = entity.MaShoutTime; |
| | | entity.MaEndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | // 如果有调机完成时间则更新 |
| | | .SetColumnsIF(entity.MaEndTime != null, |
| | | s => s.MaEndTime == entity.MaEndTime) |
| | | // 如果有开工时间则更新 |
| | | .SetColumnsIF(entity.StartTime != null, |
| | | s => s.StartTime == entity.StartTime) |
| | | // 如果标记为1则更新备注信息 |
| | | .SetColumnsIF(entity.Flag == 1, |
| | | s => s.remark == "于" + entity.MaShoutTime + "时间有一次送检") |