Browse Source

20240919

java8
qiezi 1 year ago
parent
commit
e4232cc6c9
  1. 19
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java
  2. 2
      src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml

19
src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java

@ -126,9 +126,12 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl<QuoteDetailBomTre
@Transactional @Transactional
public void changeQuoteDetailBomTree(QuoteDetailBomTree tree) { public void changeQuoteDetailBomTree(QuoteDetailBomTree tree) {
// 获得选中的树 // 获得选中的树
if (Objects.nonNull(tree.getId())){
QuoteDetailBomTree bomTree = getById(tree.getId()); QuoteDetailBomTree bomTree = getById(tree.getId());
// 获得对应的QuoteDetail // 获得对应的QuoteDetail
QuoteDetail detail = quoteDetailService.getById(bomTree.getQuoteDetailId()); QuoteDetail detail = quoteDetailService.getById(bomTree.getQuoteDetailId());
// 获得节点的所有ids // 获得节点的所有ids
List<Long> ids = getAllChildIds(detail, bomTree.getId()); List<Long> ids = getAllChildIds(detail, bomTree.getId());
ids.add(bomTree.getId()); ids.add(bomTree.getId());
@ -136,6 +139,7 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl<QuoteDetailBomTre
lambdaUpdate().in(QuoteDetailBomTree::getId,ids).remove(); lambdaUpdate().in(QuoteDetailBomTree::getId,ids).remove();
quoteDetailBomService.lambdaUpdate().in(QuoteDetailBom::getTreeId,ids).remove(); quoteDetailBomService.lambdaUpdate().in(QuoteDetailBom::getTreeId,ids).remove();
quoteDetailRoutingService.lambdaUpdate().in(QuoteDetailRouting::getTreeId,ids).remove(); quoteDetailRoutingService.lambdaUpdate().in(QuoteDetailRouting::getTreeId,ids).remove();
// 替换BOM树 // 替换BOM树
detail.setPartNo(tree.getPartNo()); detail.setPartNo(tree.getPartNo());
detail.setSite(tree.getSite()); detail.setSite(tree.getSite());
@ -143,6 +147,21 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl<QuoteDetailBomTre
detail.setEngChgLevel(tree.getEngChgLevel()); detail.setEngChgLevel(tree.getEngChgLevel());
detail.setAlternativeNo(tree.getAlternativeNo()); detail.setAlternativeNo(tree.getAlternativeNo());
initQuoteDetailBomTree(detail, bomTree.getParentId()); initQuoteDetailBomTree(detail, bomTree.getParentId());
}else {
QuoteDetail detail = new QuoteDetail();
detail.setQuoteId(tree.getQuoteId());
detail.setQuoteNo(tree.getQuoteNo());
detail.setId(tree.getQuoteDetailId());
detail.setItemNo(tree.getQuoteDetailItemNo());
detail.setVersionNo(tree.getVersionNo());
detail.setPartNo(tree.getPartNo());
detail.setSite(tree.getSite());
detail.setBuNo(tree.getBuNo());
detail.setEngChgLevel(tree.getEngChgLevel());
detail.setAlternativeNo(tree.getAlternativeNo());
initQuoteDetailBomTree(detail, 0L);
}
} }
public List<QuoteDetailBomTree> getAllNodes(QuoteDetail detail) { public List<QuoteDetailBomTree> getAllNodes(QuoteDetail detail) {

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

@ -120,7 +120,9 @@
where bom.site = #{site} where bom.site = #{site}
and bom.part_no = #{partNo} and bom.part_no = #{partNo}
and bom.bu_no = #{buNo} and bom.bu_no = #{buNo}
<if test="bomType != null and bomType != ''">
and bom.bom_type = #{bomType} and bom.bom_type = #{bomType}
</if>
and bom.eng_chg_level = #{engChgLevel} and bom.eng_chg_level = #{engChgLevel}
order by bom.alternative_no order by bom.alternative_no
</select> </select>

Loading…
Cancel
Save