Index: ssts-reports/src/test/java/com/forgon/disinfectsystem/reportforms/modules/recyclingdelay/handler/UseRecordRecyclingDelayHandlerFindTousseInstancesTest.java =================================================================== diff -u -r41245 -r41285 --- ssts-reports/src/test/java/com/forgon/disinfectsystem/reportforms/modules/recyclingdelay/handler/UseRecordRecyclingDelayHandlerFindTousseInstancesTest.java (.../UseRecordRecyclingDelayHandlerFindTousseInstancesTest.java) (revision 41245) +++ ssts-reports/src/test/java/com/forgon/disinfectsystem/reportforms/modules/recyclingdelay/handler/UseRecordRecyclingDelayHandlerFindTousseInstancesTest.java (.../UseRecordRecyclingDelayHandlerFindTousseInstancesTest.java) (revision 41285) @@ -171,29 +171,27 @@ assertEquals("请选择开始时间和结束时间", exception.getMessage()); } + @Test + public void testFindTousseInstances_EndDayBeforeStart() { + String startDay = "2023-01-01 00:00:00"; + String endDay = "2022-12-31 23:59:59"; + + Exception exception = assertThrows(RuntimeException.class, () -> { + handler.findTousseInstances(startDay, endDay, null, null, null, null); + }); + + assertEquals("请选择正确的开始时间和结束时间", exception.getMessage()); + } + /** - * 测试时间范围超过31天 + * 时间可以超过31天了 */ @Test public void testFindTousseInstances_DateRangeExceeds31Days() { String startDay = "2023-01-01 00:00:00"; String endDay = "2023-02-02 00:00:00"; // 超过31天 - - try (MockedStatic mockedForgonDateUtils = Mockito.mockStatic(ForgonDateUtils.class)) { - mockedForgonDateUtils.when(() -> ForgonDateUtils.safelyParseDate(anyString(), anyString())) - .thenAnswer(invocation -> { - String dateStr = invocation.getArgument(0); - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr); - }); - - Exception exception = assertThrows(RuntimeException.class, () -> { - handler.findTousseInstances(startDay, endDay, null, null, null, null); - }); - - assertEquals("请选择正确的开始时间和结束日期且相差不超过31天", exception.getMessage()); - } catch (Exception e) { - fail("Unexpected exception: " + e.getMessage()); - } + handler.findTousseInstances(startDay, endDay, null, null, null, null); + verify(jdbcTemplate).query(anyString(), any(BeanPropertyRowMapper.class)); } /** Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/modules/recyclingdelay/handler/UseRecordRecyclingDelayHandlerImpl.java =================================================================== diff -u -r41245 -r41285 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/modules/recyclingdelay/handler/UseRecordRecyclingDelayHandlerImpl.java (.../UseRecordRecyclingDelayHandlerImpl.java) (revision 41245) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/modules/recyclingdelay/handler/UseRecordRecyclingDelayHandlerImpl.java (.../UseRecordRecyclingDelayHandlerImpl.java) (revision 41285) @@ -108,8 +108,8 @@ private void validateParam(Date start, Date end, String operation, String doctorName, String tousseName, String departCode) { // 开始时间和结束时间相差不能大于31天且开始时间在结束时间之前 - if(start == null || end == null || start.after(end) || end.getTime() - start.getTime() > 31L * 24 * 60 * 60 * 1000) { - throw new RuntimeException("请选择正确的开始时间和结束日期且相差不超过31天"); + if(start == null || end == null || start.after(end)) { + throw new RuntimeException("请选择正确的开始时间和结束时间"); } SqlUtils.checkInputParam(operation); SqlUtils.checkInputParam(doctorName);