From 31cfb24520caf29a7e969fc9f0956e2673e48021 Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Wed, 19 Mar 2025 11:25:58 +0800 Subject: [PATCH] 20250319 --- .../inquiry/data/InquiryApplicationData.java | 2 + .../quote/service/impl/QuoteServiceImpl.java | 40 ++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/inquiry/data/InquiryApplicationData.java b/src/main/java/com/xujie/sys/modules/inquiry/data/InquiryApplicationData.java index 7779831d..27d33813 100644 --- a/src/main/java/com/xujie/sys/modules/inquiry/data/InquiryApplicationData.java +++ b/src/main/java/com/xujie/sys/modules/inquiry/data/InquiryApplicationData.java @@ -38,6 +38,8 @@ public class InquiryApplicationData extends QueryPage implements Serializable { private String priorityLevel; + private String quoteVersionNo; + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date requiredCompletionDate; diff --git a/src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteServiceImpl.java b/src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteServiceImpl.java index 1fac87d6..8f9d7c8d 100644 --- a/src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteServiceImpl.java @@ -228,6 +228,30 @@ public class QuoteServiceImpl extends ServiceImpl implements public List batchSaveQuoteByQuotation(QuotationInformationVo quotation) { List ids = new ArrayList<>();// 获取保存成功的报价单ID + // 处理驳回询价单再次报价 + InquiryApplicationData data = inquiryApplicationService.getById(quotation.getRfqId()); + String quoteNo = ""; + String versionNo = ""; + String quoteVersionNo = ""; + if ("D".equals(data.getStatus()) && StringUtils.hasText(data.getQuoteVersionNo())){ + // 查询 原报价单号 + Quote one = lambdaQuery() + .eq(Quote::getSite, data.getSite()) + .eq(Quote::getQuoteVersionNo, data.getQuoteVersionNo()) + .one(); + String str = one.getVersionNo().replace("A", ""); + int value = 0; + try { + value = Integer.parseInt(str); + }catch (Exception e){ + throw new RuntimeException("程序异常"); + } + value ++; + quoteNo = one.getQuoteNo(); + versionNo = "A"+String.format("%03d",value); + quoteVersionNo = one.getQuoteNo()+"-"+versionNo; + } + // 将询价单数据保存到报价单 Quote quote = new Quote(); // 1、获取bu和site @@ -242,11 +266,15 @@ public class QuoteServiceImpl extends ServiceImpl implements quote.setCreateDate(new Date()); quote.setQuoteDate(new Date()); quote.setCustomerInquiryNo(quotation.getCustomerInquiryNo()); + quote.setQuoteNo(quoteNo); + quote.setVersionNo(versionNo); + quote.setQuoteVersionNo(quoteVersionNo); // 2、获取报价单号 - String quoteNo = baseMapper.queryQuoteNo(quote); - quote.setQuoteNo("BJ" + quoteNo); - quote.setVersionNo("A001"); - quote.setQuoteVersionNo(quote.getQuoteNo() + "-" + quote.getVersionNo()); + if (StringUtils.isEmpty(quoteNo)){ + quote.setQuoteNo("BJ" + baseMapper.queryQuoteNo(quote)); + quote.setVersionNo("A001"); + quote.setQuoteVersionNo(quote.getQuoteNo() + "-" + quote.getVersionNo()); + } quote.setCreateDate(new Date()); // 3、 默认数据 quote.setCostModel("UFIDA"); @@ -257,7 +285,7 @@ public class QuoteServiceImpl extends ServiceImpl implements // 将询价明细数据保存到报价明细 for (QuotationInformationVo quotationInformationVo : quotation.getInquiryPartDataList()) { - //3、保存报价明细 + // 3、保存报价明细 // 多个明细,可以放到循环当中 QuoteDetail detail = new QuoteDetail(); detail.setQuoteId(quote.getId()); @@ -327,10 +355,10 @@ public class QuoteServiceImpl extends ServiceImpl implements groupDetail.setCostModel("2020"); QuoteDetail quoteDetail2 = quoteGroupDetailService.saveQuoteGroupDetail(groupDetail); } - // 更新询价单状态 A = 已报价 inquiryApplicationService.lambdaUpdate() .set(InquiryApplicationData::getStatus, "A") + .set(InquiryApplicationData::getQuoteVersionNo,quote.getQuoteVersionNo()) .eq(InquiryApplicationData::getId, quotation.getRfqId()) .update();