Browse Source

20240919

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

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

@ -126,23 +126,42 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl<QuoteDetailBomTre
@Transactional
public void changeQuoteDetailBomTree(QuoteDetailBomTree tree) {
// 获得选中的树
QuoteDetailBomTree bomTree = getById(tree.getId());
// 获得对应的QuoteDetail
QuoteDetail detail = quoteDetailService.getById(bomTree.getQuoteDetailId());
// 获得节点的所有ids
List<Long> ids = getAllChildIds(detail, bomTree.getId());
ids.add(bomTree.getId());
// 删除子节点内容
lambdaUpdate().in(QuoteDetailBomTree::getId,ids).remove();
quoteDetailBomService.lambdaUpdate().in(QuoteDetailBom::getTreeId,ids).remove();
quoteDetailRoutingService.lambdaUpdate().in(QuoteDetailRouting::getTreeId,ids).remove();
// 替换BOM树
detail.setPartNo(tree.getPartNo());
detail.setSite(tree.getSite());
detail.setBuNo(tree.getBuNo());
detail.setEngChgLevel(tree.getEngChgLevel());
detail.setAlternativeNo(tree.getAlternativeNo());
initQuoteDetailBomTree(detail, bomTree.getParentId());
if (Objects.nonNull(tree.getId())){
QuoteDetailBomTree bomTree = getById(tree.getId());
// 获得对应的QuoteDetail
QuoteDetail detail = quoteDetailService.getById(bomTree.getQuoteDetailId());
// 获得节点的所有ids
List<Long> ids = getAllChildIds(detail, bomTree.getId());
ids.add(bomTree.getId());
// 删除子节点内容
lambdaUpdate().in(QuoteDetailBomTree::getId,ids).remove();
quoteDetailBomService.lambdaUpdate().in(QuoteDetailBom::getTreeId,ids).remove();
quoteDetailRoutingService.lambdaUpdate().in(QuoteDetailRouting::getTreeId,ids).remove();
// 替换BOM树
detail.setPartNo(tree.getPartNo());
detail.setSite(tree.getSite());
detail.setBuNo(tree.getBuNo());
detail.setEngChgLevel(tree.getEngChgLevel());
detail.setAlternativeNo(tree.getAlternativeNo());
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) {

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

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

Loading…
Cancel
Save