From bb75510a6b622aa8bca50c70ccceb956776db73b Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Sat, 20 Dec 2025 11:50:27 +0800 Subject: [PATCH] =?UTF-8?q?2025-12-20=20=E6=8A=A5=E4=BB=B7=E6=97=B6?= =?UTF-8?q?=E7=9A=84estimatedMaterialCost=E4=BB=8E=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/QuoteDetailBomTreeService.java | 3 +- .../impl/QuoteDetailBomTreeServiceImpl.java | 29 +++++++++++++++---- .../service/impl/QuoteDetailServiceImpl.java | 4 +-- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/spring/modules/quote/service/QuoteDetailBomTreeService.java b/src/main/java/com/spring/modules/quote/service/QuoteDetailBomTreeService.java index 76981fcf..eb3656d0 100644 --- a/src/main/java/com/spring/modules/quote/service/QuoteDetailBomTreeService.java +++ b/src/main/java/com/spring/modules/quote/service/QuoteDetailBomTreeService.java @@ -33,7 +33,8 @@ public interface QuoteDetailBomTreeService extends IService * 根据物料编码查询预估材料成本 * @param site 站点 * @param partNo 物料编码 + * @param status 物料状态 (Y=正式物料调用IFS接口, N=非正式物料查询数据库) * @return 预估材料成本(estimated_material_cost) */ - BigDecimal queryEstimatedMaterialCost(String site, String partNo); + BigDecimal queryEstimatedMaterialCost(String site, String partNo, String status); } diff --git a/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java b/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java index 5cd48a64..593d1bc6 100644 --- a/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java +++ b/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java @@ -497,16 +497,29 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl().eq("username", username)); if (ifsUser == null || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsUsername()) || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsPassword())) { - log.warn("用户 {} 未维护IFS账号,使用数据库查询estimatedMaterialCost", username); + log.warn("queryEstimatedMaterialCost - User {} has no IFS account configured, fallback to database query", username); BigDecimal cost = baseMapper.queryEstimatedMaterialCost(site, partNo); - return cost != null ? cost : BigDecimal.ZERO; + BigDecimal result = cost != null ? cost : BigDecimal.ZERO; + log.info("queryEstimatedMaterialCost - Fallback result from database: {}", result); + return result; } Server ifsCon = ifsServer.getIfsServer(ifsUser.getIfsUsername(), ifsUser.getIfsPassword()); @@ -514,19 +527,23 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl map = baseSearchBean.getInventoryEstimatedMaterialCostByPartNo(ifsCon, part); + log.info("queryEstimatedMaterialCost - IFS API response: {}", map); if (Objects.equals(map.get("resultCode"), "200")) { InventoryPartUnitCostSumVo unitCostSumVo = JSONObject.parseObject(map.get("obj"), InventoryPartUnitCostSumVo.class); BigDecimal estimatedCost = new BigDecimal(unitCostSumVo.getInventoryValue()); - log.info("物料 {} 从IFS获取预估材料成本: {}", partNo, estimatedCost); + log.info("queryEstimatedMaterialCost - Successfully retrieved estimated material cost from IFS: {}", estimatedCost); return estimatedCost; } else { - log.warn("物料 {} 从IFS获取预估材料成本失败: {}", partNo, map.get("resultMsg")); + log.warn("queryEstimatedMaterialCost - Failed to retrieve from IFS, resultCode={}, resultMsg={}", + map.get("resultCode"), map.get("resultMsg")); return BigDecimal.ZERO; } } catch (Exception e) { - log.error("物料 {} 获取预估材料成本异常: {}", partNo, e.getMessage()); + log.error("queryEstimatedMaterialCost - Exception occurred for partNo={}: {}", partNo, e.getMessage(), e); return BigDecimal.ZERO; } } diff --git a/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailServiceImpl.java b/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailServiceImpl.java index 6cbd4537..ace0a1b2 100644 --- a/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailServiceImpl.java +++ b/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailServiceImpl.java @@ -271,9 +271,9 @@ public class QuoteDetailServiceImpl extends ServiceImpl