From 08703dd053ad24ec80646c0a1e20fc171082a52c Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 15 Dec 2025 09:05:10 +0800 Subject: [PATCH] =?UTF-8?q?2025-12-15=201=E3=80=81=E6=8A=A5=E4=BB=B7?= =?UTF-8?q?=E5=8F=96=E5=AD=90=E7=89=A9=E6=96=99=EF=BC=88=E5=8D=8A=E6=88=90?= =?UTF-8?q?=E5=93=81=EF=BC=89BOM=E6=97=B6=E6=8C=89=E5=AD=90=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=9A=84=E7=89=A9=E6=96=99=E7=B1=BB=E5=9E=8B=E6=9D=A5?= =?UTF-8?q?=E5=8F=96BOM=EF=BC=8C=E9=A1=B6=E7=BA=A7=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A"Manufacturing";=202=E3=80=81=E5=A6=82?= =?UTF-8?q?=E6=9E=9CBOM=E7=B1=BB=E5=9E=8B=E6=98=AF=20Purchase=EF=BC=8C?= =?UTF-8?q?=E4=B8=94=E6=B2=A1=E6=9C=89=E5=AD=90=E7=89=A9=E6=96=99=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=B0=86=E7=89=A9=E6=96=99=E8=87=AA=E8=BA=AB=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=BA=E5=AD=90=E7=89=A9=E6=96=99=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quote/mapper/QuoteDetailBomTreeMapper.java | 8 ++++++++ .../impl/QuoteDetailBomTreeServiceImpl.java | 15 ++++++++++++--- .../mapper/quote/QuoteDetailBomTreeMapper.xml | 11 ++++++++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/spring/modules/quote/mapper/QuoteDetailBomTreeMapper.java b/src/main/java/com/spring/modules/quote/mapper/QuoteDetailBomTreeMapper.java index 6602d6b1..7a1b3e48 100644 --- a/src/main/java/com/spring/modules/quote/mapper/QuoteDetailBomTreeMapper.java +++ b/src/main/java/com/spring/modules/quote/mapper/QuoteDetailBomTreeMapper.java @@ -31,4 +31,12 @@ public interface QuoteDetailBomTreeMapper extends BaseMapper PartInformationEntity queryPart(@Param("site") String site,@Param("partNo") String partNo); PartInformationEntity queryPLMPart(@Param("site") String site,@Param("partNo") String partNo); + + /** + * 根据物料编码查询物料类型 + * @param site 站点 + * @param partNo 物料编码 + * @return 物料类型(Manufactured/Manufactured Recipe/Purchased等) + */ + String queryPartType(@Param("site") String site, @Param("partNo") String partNo); } 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 0c66f303..1d942a24 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 @@ -72,13 +72,22 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl componentParts = baseMapper.queryBomComponentPart(bom); - // 判断BOM Type是否是Purse Purse 需要将自己当成自己的子物料,用于计算成本 - if ("Purchase".equals(bom.getBomType())) { + // 判断BOM Type是否是Purchase,且没有子物料时,需要将自己当成自己的子物料,用于计算成本 + if ("Purchase".equals(bom.getBomType()) && componentParts.isEmpty()) { QuoteDetailBom purchase = getPurchaseComponentPart(detail, bom, componentParts.size()+1); componentParts.add(purchase); } diff --git a/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml b/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml index 1b54437d..669983c9 100644 --- a/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml +++ b/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml @@ -184,12 +184,21 @@ select top 1 site, part_no, status, - ifs_part_no + ifs_part_no, + part_type from part p where p.site = #{site} and p.plm_part_no = #{partNo} and temporary_part_flag != 'Y' + + +