From 925496e5c702e9b861e3482e267d3bdb7cca8dd1 Mon Sep 17 00:00:00 2001 From: yuejiayang <146344614+YangLei105@users.noreply.github.com> Date: Tue, 7 Jan 2025 17:50:13 +0800 Subject: [PATCH] =?UTF-8?q?2025.1.7=20=E8=AF=A2=E4=BB=B7=E5=8D=95=E6=96=B0?= =?UTF-8?q?=E5=8A=A0=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InquiryApplicationServiceImpl.java | 105 +++++++++++++----- .../quote/mapper/QuoteDetailBomMapper.java | 2 + .../mapper/inquiry/InquiryDetailMapper.xml | 16 +-- .../mapper/quote/QuoteDetailBomMapper.xml | 42 +++++++ 4 files changed, 130 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/inquiry/service/impl/InquiryApplicationServiceImpl.java b/src/main/java/com/xujie/sys/modules/inquiry/service/impl/InquiryApplicationServiceImpl.java index bb46527e..5c29be98 100644 --- a/src/main/java/com/xujie/sys/modules/inquiry/service/impl/InquiryApplicationServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/inquiry/service/impl/InquiryApplicationServiceImpl.java @@ -14,6 +14,8 @@ import com.xujie.sys.modules.inquiry.service.InquiryApplicationService; import com.xujie.sys.modules.inquiry.mapper.InquiryApplicationMapper; import com.xujie.sys.modules.pms.data.EamProjectPartInfoData; import com.xujie.sys.modules.quote.entity.Quote; +import com.xujie.sys.modules.quote.entity.QuoteDetailBom; +import com.xujie.sys.modules.quote.mapper.QuoteDetailBomMapper; import com.xujie.sys.modules.quote.mapper.QuoteMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.mail.MessagingException; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -46,6 +49,12 @@ public class InquiryApplicationServiceImpl extends ServiceImpl inquiryDetailDataList = inquiryDetailMapper.searchInquiryDetailInfo(inquiryDetailData); - for (InquiryDetailData detailData : inquiryDetailDataList) { - List detailDataList = inquiryApplicationMapper.rfqGetFullBOM(detailData); - Quote quoteData = new Quote(); - quoteData.setInsideInquiryNo(inquiryApplicationData.getRfqNo()); -// List salesQuotationList = quoteMapper.queryQuoteList(quoteData); - // 如果detailDataList只有一条数据 - if (detailDataList.size() > 1) { - inquiryApplicationData.setBomStatus("BOM制作完成"); - break; - } - // 如果是循环的最后一条数据 - if (detailData.equals(inquiryDetailDataList.get(inquiryDetailDataList.size() - 1))) { - inquiryApplicationData.setBomStatus("BOM制作中"); + if (!inquiryDetailDataList.isEmpty()) { + int hasBom = 0; + for (InquiryDetailData detailData : inquiryDetailDataList) { + List quoteList = inquiryDetailMapper.searchQuotationRecordInfo(detailData); + for (Quote quote : quoteList) { + QuoteDetailBom quoteDetailBom = new QuoteDetailBom(); + quoteDetailBom.setQuoteId(quote.getId()); + List detailDataList = quoteDetailBomMapper.queryQuoteDetailBom2(quoteDetailBom); + if (!detailDataList.isEmpty()) { + hasBom++; + } + } + Quote quoteData = new Quote(); + quoteData.setInsideInquiryNo(inquiryApplicationData.getRfqNo()); + quoteData.setCreateBy("admin"); + List salesQuotationList = quoteMapper.queryQuoteList(quoteData); + // 如果Bom有数据 + if (hasBom > 0) { + if (inquiryApplicationData.getStatus().equals("C")){ + inquiryApplicationData.setBomStatus("BOM制作完成"); + } else { + List statusQuoteList = new ArrayList<>(); + for (Quote quote : salesQuotationList) { + statusQuoteList.add(quote.getStatus()); + } + if (!statusQuoteList.contains("下达")) { + inquiryApplicationData.setBomStatus("TP计算中"); + } else { + for (int i = 0; i < statusQuoteList.size(); i++) { + String s = statusQuoteList.get(i); + if (s.equals("下达")) { + // 当前循环是否是最后一个 + if (i == statusQuoteList.size() - 1) { + inquiryApplicationData.setBomStatus("报价单审批中"); + + for (int j = 0; j < salesQuotationList.size(); j++) { + Quote quote = salesQuotationList.get(j); + InquiryDetailData inquiryDetailData1 = new InquiryDetailData(); + inquiryDetailData1.setApplicationNo(quote.getQuoteVersionNo()); + inquiryDetailData1.setPage(1); + inquiryDetailData1.setLimit(1); + List quoteAuthData = (List) inquiryDetailServiceImpl.searchAllInquiryQuoteInfo(inquiryDetailData1).getList(); + + if (quoteAuthData.isEmpty() || !quoteAuthData.get(0).getAllAuthFlag().equals("全部审批")) { + break; + } + + // 如果是最后一个循环 + if (j == salesQuotationList.size() - 1) { + inquiryApplicationData.setBomStatus("报价单审批成功"); + } + } + } + } else { + inquiryApplicationData.setBomStatus("报价单部分审批中"); + break; // 结束外层循环 + } + } + } + } + break; + } + // 如果是循环的最后一条数据 + if (detailData.equals(inquiryDetailDataList.get(inquiryDetailDataList.size() - 1))) { + inquiryApplicationData.setBomStatus("BOM制作中"); + } } -// else { -// if (!salesQuotationList.isEmpty()){ -// for (Quote quote : salesQuotationList) { -// if (quote.getStatus().equals("下达")){ -// inquiryApplicationData.setBomStatus("报价单审核中"); -// // 结束循环 -// break; -// } -// // 如果是最后一个循环 -// if (quote.equals(salesQuotationList.get(salesQuotationList.size() - 1))){ -// inquiryApplicationData.setBomStatus("TP计算中"); -// } -// } -// } -// } + } else { + inquiryApplicationData.setBomStatus("BOM制作中"); } } page.setRecords(list); diff --git a/src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailBomMapper.java b/src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailBomMapper.java index 64a8cbae..6e9ee27c 100644 --- a/src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailBomMapper.java +++ b/src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailBomMapper.java @@ -12,5 +12,7 @@ import java.util.List; public interface QuoteDetailBomMapper extends BaseMapper { List queryQuoteDetailBom(QuoteDetailBom quoteDetailBom); + List queryQuoteDetailBom2(QuoteDetailBom quoteDetailBom); + List queryQuoteDetailBomByIds(@Param("ids") List ids,@Param("quoteDetailId") Long quoteDetailId); } diff --git a/src/main/resources/mapper/inquiry/InquiryDetailMapper.xml b/src/main/resources/mapper/inquiry/InquiryDetailMapper.xml index 34402224..c63ea8e2 100644 --- a/src/main/resources/mapper/inquiry/InquiryDetailMapper.xml +++ b/src/main/resources/mapper/inquiry/InquiryDetailMapper.xml @@ -5,14 +5,16 @@ + +