From dccef1b8d1c0d0c2525f204d97682fc3f9a44c23 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Sat, 11 Oct 2025 09:40:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes):=E4=BC=98=E5=8C=96=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=9C=8D=E5=8A=A1=E4=B8=AD=E7=9A=84processId?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改getPlanDetailTableNameByProcessId方法默认返回半制品表- 新增parseProcessId辅助方法用于安全解析processId - 替换workHourReportList方法中的processId解析方式 - 添加NumberFormatException异常处理- 保留team原有WorkReportList方法解析逻辑 --- .../service/impl/ProdReportServiceImpl.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java index 963f234f..c008f8b9 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java @@ -86,12 +86,11 @@ public class ProdReportServiceImpl implements IProdReportService { * @return 生产计划明细数据库表名 */ public String getPlanDetailTableNameByProcessId(Long processId) { - if (StringUtils.isNull(processId)) { - return null; - } - String tableName; - if (processId == 17L) { + if (StringUtils.isNull(processId)) { + // 默认返回半制品表 + tableName = DatabaseConstants.TABLE_NAME_PROD_PLAN_INFO_PREFIX + "_2"; + }else if (processId == 17L) { tableName = DatabaseConstants.TABLE_NAME_PROD_PRODUCT_PLAN_DETAIL_PREFIX + "_3"; } else if (processId == 18L) { tableName = DatabaseConstants.TABLE_NAME_PROD_PRODUCT_PLAN_DETAIL_PREFIX + "_4"; @@ -154,7 +153,7 @@ public class ProdReportServiceImpl implements IProdReportService { @Override public TableDataInfo workHourReportList(Map hashMap, PageQuery pageQuery) { - Long processId = Long.parseLong(String.valueOf(hashMap.get("processId"))); + Long processId = parseProcessId(String.valueOf(hashMap.get("processId"))); String detailTable = getPlanDetailTableNameByProcessId(processId); String planTable = getPlanInfoTableNameByProcessId(processId); Page page = prodReportMapper.workHourReportList(hashMap, pageQuery.build(), detailTable, planTable); @@ -163,12 +162,26 @@ public class ProdReportServiceImpl implements IProdReportService { @Override public List workHourReportList(Map hashMap) { - Long processId = Long.parseLong(String.valueOf(hashMap.get("processId"))); + Long processId = parseProcessId(String.valueOf(hashMap.get("processId"))); String detailTable = getPlanDetailTableNameByProcessId(processId); String planTable = getPlanInfoTableNameByProcessId(processId); return prodReportMapper.workHourReportList(hashMap, detailTable, planTable); } + // 新增辅助方法用于安全解析 processId + private Long parseProcessId(Object processIdObj) { + if (processIdObj == null) { + return null; // 或者根据业务需要返回默认值如 16L + } + + try { + return Long.parseLong(String.valueOf(processIdObj)); + } catch (NumberFormatException e) { + // 可以记录日志 + return null; // 或者根据业务需要返回默认值 + } + } + @Override public TableDataInfo teamWorkReportList(Map hashMap, PageQuery pageQuery) { Long processId = Long.parseLong(String.valueOf(hashMap.get("processId")));