Browse Source

2024-12-12

master
qiezi 1 year ago
parent
commit
d899fc079f
  1. 3
      src/main/java/com/spring/modules/quotation/vo/QuotationInformationVo.java
  2. 2
      src/main/java/com/spring/modules/quote/service/QuoteDetailToolService.java
  3. 23
      src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java
  4. 23
      src/main/java/com/spring/modules/quote/service/impl/QuoteDetailToolServiceImpl.java
  5. 10
      src/main/java/com/spring/modules/quote/service/impl/QuoteServiceImpl.java

3
src/main/java/com/spring/modules/quotation/vo/QuotationInformationVo.java

@ -6,6 +6,7 @@ import com.spring.modules.quotation.entity.QuotationInformationEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ -89,4 +90,6 @@ public class QuotationInformationVo extends QuotationInformationEntity {
private String nodeCreateBy;
private BigDecimal qty;
}

2
src/main/java/com/spring/modules/quote/service/QuoteDetailToolService.java

@ -26,4 +26,6 @@ public interface QuoteDetailToolService extends IService<QuoteDetailTool> {
void saveToolByRouting(QuoteDetailRouting routing);
void saveQuoteDetailOtherTool(QuoteDetailRouting routing);
void saveQuoteDetailOtherTool(QuoteDetail detail);
}

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

@ -46,15 +46,20 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl<QuoteDetailBomTre
quoteDetailRoutingService.saveQuoteDetailRouting(routing);
}
if (parentId.equals(0L)){
// 处理工具
// 1清空工具信息
quoteDetailToolService.lambdaUpdate()
.eq(QuoteDetailTool::getQuoteDetailId, detail.getId())
.remove();
// 2根据routing 生成工具信息
quoteDetailToolService.saveToolByRouting(routing);
// 3插入一条其他工具信息
quoteDetailToolService.saveQuoteDetailOtherTool(routing);
if (Objects.nonNull(routing)){
// 处理工具
// 1清空工具信息
quoteDetailToolService.lambdaUpdate()
.eq(QuoteDetailTool::getQuoteDetailId, detail.getId())
.remove();
// 2根据routing 生成工具信息
quoteDetailToolService.saveToolByRouting(routing);
// 3插入一条其他工具信息
quoteDetailToolService.saveQuoteDetailOtherTool(routing);
}else {
quoteDetailToolService.saveQuoteDetailOtherTool(detail);
}
}
List<QuoteDetailBom> componentParts = baseMapper.queryBomComponentPart(bom);
log.info("BOM子物料:{}",componentParts);

23
src/main/java/com/spring/modules/quote/service/impl/QuoteDetailToolServiceImpl.java

@ -3,6 +3,7 @@ package com.spring.modules.quote.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.spring.modules.quote.entity.QuoteDetail;
import com.spring.modules.quote.entity.QuoteDetailRouting;
import com.spring.modules.quote.entity.QuoteDetailTest;
import com.spring.modules.quote.entity.QuoteDetailTool;
import com.spring.modules.quote.mapper.QuoteDetailToolMapper;
import com.spring.modules.quote.service.QuoteDetailToolService;
@ -105,4 +106,26 @@ public class QuoteDetailToolServiceImpl extends ServiceImpl<QuoteDetailToolMappe
tool.setItemNo(0);
save(tool);
}
@Override
public void saveQuoteDetailOtherTool(QuoteDetail detail) {
QuoteDetailTool tool = new QuoteDetailTool();
tool.setQuoteDetailId(detail.getId());
tool.setQuoteId(detail.getQuoteId());
tool.setQuoteNo(detail.getQuoteNo());
tool.setSite(detail.getSite());
tool.setBuNo(detail.getBuNo());
tool.setVersionNo(detail.getVersionNo());
tool.setQuoteDetailItemNo(detail.getItemNo());
tool.setToolNo("*");
tool.setToolDesc("其他");
tool.setToolQty(BigDecimal.ZERO);
tool.setUnitCost(BigDecimal.ZERO);
tool.setExpectedServiceLife(BigDecimal.ZERO);
tool.setQuoteUnitCost(BigDecimal.ZERO);
tool.setCreateBy(detail.getCreateBy());
tool.setCreateDate(detail.getCreateDate());
tool.setItemNo(0);
save(tool);
}
}

10
src/main/java/com/spring/modules/quote/service/impl/QuoteServiceImpl.java

@ -199,15 +199,19 @@ public class QuoteServiceImpl extends ServiceImpl<QuoteMapper, Quote> implements
public List<Long> batchSaveQuoteByQuotation(List<QuotationInformationVo> list) {
List<Long> ids = new ArrayList<>();// 获取保存成功的报价单ID
for (QuotationInformationVo quotation : list) {
if (quotation.getQty().compareTo(BigDecimal.ZERO) <= 0) {
throw new RuntimeException("数量不能小于等于0");
}
Quote quote = new Quote();
// 1获取bu和site
quote.setStatus("草稿");
quote.setBuNo("*");
quote.setSite(quotation.getSite());
//
quote.setProjectNo(quotation.getProjectId());
quote.setCustomerNo(quotation.getCustomerNo());
quote.setQuoter(quotation.getQuoter());
quote.setPurchase(quotation.getTracker());
quote.setInsideInquiryNo(quotation.getQuotationNo());
quote.setActive("Y");
quote.setCreateBy(quotation.getCreateBy());
@ -237,8 +241,8 @@ public class QuoteServiceImpl extends ServiceImpl<QuoteMapper, Quote> implements
detail.setPartDesc(quotation.getPartName());
detail.setInternalInquiryNo(quote.getInsideInquiryNo());
detail.setQty(BigDecimal.ONE);
// detail.setQty(BigDecimal.ONE);
detail.setQty(quotation.getQty());
detail.setActive("Y");
detail.setStatus("草稿");
detail.setCreateBy(quote.getCreateBy());

Loading…
Cancel
Save