Browse Source

2025-04-09

master
qiezi 9 months ago
parent
commit
27148b3893
  1. 3
      src/main/java/com/spring/modules/quote/mapper/QuoteDetailBomTreeMapper.java
  2. 6
      src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java
  3. 10
      src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml

3
src/main/java/com/spring/modules/quote/mapper/QuoteDetailBomTreeMapper.java

@ -1,6 +1,7 @@
package com.spring.modules.quote.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.quote.entity.QuoteDetail;
import com.spring.modules.quote.entity.QuoteDetailBom;
import com.spring.modules.quote.entity.QuoteDetailBomTree;
@ -26,4 +27,6 @@ public interface QuoteDetailBomTreeMapper extends BaseMapper<QuoteDetailBomTree>
QuoteDetailRouting queryPartBomRouting(QuoteDetail detail);
BigDecimal getPartCost(@Param("site") String site,@Param("partNo") String partNo);
PartInformationEntity queryPart(@Param("site") String site,@Param("partNo") String partNo);
}

6
src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java

@ -53,6 +53,12 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl<QuoteDetailBomTre
// 1通过PartNoSite和BuNo 查询BOM信息 失效日期日期为空 替代为* 和Routing (存在BOM的物料)
if (parentId.equals(0L)){
detail.setBomType("Manufacturing");
}else {
// 最上级已经是正式料号,需要判断其他是否是正式料号
PartInformationEntity part = baseMapper.queryPart(detail.getSite(),detail.getPartNo());
if (Objects.nonNull(part) && "Y".equals(part.getStatus())){
detail.setPartNo(part.getPartNo());
}
}
QuoteDetailBomTree bom = baseMapper.queryPartBom(detail);
if (Objects.isNull(bom)){

10
src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml

@ -178,4 +178,14 @@
<select id="getPartCost" resultType="java.math.BigDecimal">
select isnull(dbo.get_part_unitCost(#{site}, #{partNo}),0)
</select>
<select id="queryPart" resultType="com.spring.modules.part.entity.PartInformationEntity">
select top 1 site,
part_no,
status,
ifs_part_no
from part p
where p.site = #{site}
and p.plm_part_no = #{partNo}
</select>
</mapper>
Loading…
Cancel
Save