| | |
| | | this.transactionTemplate = new TransactionTemplate(transactionManager); |
| | | } |
| | | |
| | | /** 将已自然结束的设备事实转为待补采测试,并关闭其开放接收区间。 */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void reconcileNaturalEnd() |
| | |
| | | } |
| | | } |
| | | |
| | | /** 恢复等待中的历史补采;完整性未确认时继续保持完成确认中。 */ |
| | | @Override |
| | | public void resumePendingBackfill() |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /** 记录自然结束并释放租约;测试完成状态由后续补采完整性门禁确认。 */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void endNaturally(Long testId, String reason) |
| | |
| | | "receptionStatus", "ENDED", "reason", reason == null ? "NATURAL_FINISH" : reason))); |
| | | } |
| | | |
| | | /** 补采全部来源历史,只有完整性和异常检查通过后才写入检测完成。 */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | protected void backfill(TTest test) |
| | | { |
| | |
| | | |
| | | private boolean checkIntegrity(TTest test, Date checkedAt) |
| | | { |
| | | // 序号只在同一来源、同一接收区间内比较;区间边界和暂停间隔不构成缺口。 |
| | | boolean complete = true; |
| | | for (TTestReceptionInterval interval : mapper.selectTestReceptionIntervals(test.getTestId())) |
| | | { |