From a7674084e42b33c7e01bf205ba899aa11b690bfb Mon Sep 17 00:00:00 2001 From: zhou-hongcheng <1064771933@qq.com> Date: Mon, 16 Mar 2026 10:02:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ShiftManageDomainService.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java index 6c40bf5f5..da8ffeb51 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/service/ShiftManageDomainService.java @@ -906,13 +906,30 @@ public class ShiftManageDomainService { } } - public Date stringToDate(String dateStr) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - try { - return sdf.parse(dateStr); - } catch (ParseException e) { - throw new RuntimeException(e); + public Date stringToDate(String dateStr) { + if (dateStr == null || dateStr.trim().isEmpty()) { + return null; } + // 去除首尾空格 + dateStr = dateStr.trim(); + // 定义可能的格式 + String[] patterns = { + "yyyy-MM-dd HH:mm:ss", // 完整时间 + "yyyy-MM-dd HH:mm", // 到分钟 + "yyyy-MM-dd", // 只有日期 (报错的这个) + "yyyy/MM/dd HH:mm:ss", + "yyyy/MM/dd" + }; + for (String pattern : patterns) { + try { + SimpleDateFormat sdf = new SimpleDateFormat(pattern); + // 设置严格解析,避免将 2026-03-0112:00:00 这种错误数据解析成功 + sdf.setLenient(false); + return sdf.parse(dateStr); + } catch (ParseException e) { + } + } + throw new RuntimeException("无法解析的日期格式: " + dateStr + ",支持格式:yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss"); } /** PO 转 DO,含 children 递归转换 */