|
|
|
@ -827,9 +827,9 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
} |
|
|
|
} |
|
|
|
//涂色标、涂色带、涂箭头的报价集合
|
|
|
|
//涂色标、涂色带、涂箭头的报价集合
|
|
|
|
Map<String, List<PriceSheetVO>> coatingDescPriceSheetMap = priceSheetList.stream().filter(priceSheet -> { |
|
|
|
Map<String, List<PriceSheetVO>> coatingDescPriceSheetMap = priceSheetList.stream().filter(priceSheet -> { |
|
|
|
String coatingDesc = priceSheet.getCoating_desc(); |
|
|
|
String coatingDesc = priceSheet.getCoatingDesc(); |
|
|
|
return coatingDesc != null && !coatingDesc.trim().isEmpty() && ("涂色标".equals(coatingDesc) || "涂色带".equals(coatingDesc) || "涂箭头".equals(coatingDesc)); |
|
|
|
return coatingDesc != null && !coatingDesc.trim().isEmpty() && ("涂色标".equals(coatingDesc) || "涂色带".equals(coatingDesc) || "涂箭头".equals(coatingDesc)); |
|
|
|
}).collect(Collectors.groupingBy(PriceSheetVO::getCoating_desc, Collectors.toList())); |
|
|
|
}).collect(Collectors.groupingBy(PriceSheetVO::getCoatingDesc, Collectors.toList())); |
|
|
|
// 如果没有任何报价记录
|
|
|
|
// 如果没有任何报价记录
|
|
|
|
if (coatingDescPriceSheetMap.isEmpty()) { |
|
|
|
if (coatingDescPriceSheetMap.isEmpty()) { |
|
|
|
//结算异常:无报价记录结算结果
|
|
|
|
//结算异常:无报价记录结算结果
|
|
|
|
@ -1759,7 +1759,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent) && StringUtils.equals(sheet.getWono(), ypCode); |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent) && StringUtils.equals(sheet.getWono(), ypCode); |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAu_ag_price(), price); |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAuAgPrice(), price); |
|
|
|
} |
|
|
|
} |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
@ -1788,7 +1788,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode) && StringUtils.equals(sheet.getWono(), ypCode); |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode) && StringUtils.equals(sheet.getWono(), ypCode); |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAu_ag_price(), price); |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAuAgPrice(), price); |
|
|
|
} |
|
|
|
} |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
@ -1817,7 +1817,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent); |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent); |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAu_ag_price(), price); |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAuAgPrice(), price); |
|
|
|
} |
|
|
|
} |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
@ -1845,7 +1845,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode); |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getGxinfo(), psName) && StringUtils.equals(sheet.getPrtno(), partCode); |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAu_ag_price(), price); |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAuAgPrice(), price); |
|
|
|
} |
|
|
|
} |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
@ -1874,9 +1874,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
String prodIdent = statementVO.getProductIdent(); |
|
|
|
String prodIdent = statementVO.getProductIdent(); |
|
|
|
String ypCode = statementVO.getYpCode(); |
|
|
|
String ypCode = statementVO.getYpCode(); |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent) && StringUtils.equals(sheet.getWono(), ypCode) |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent) && StringUtils.equals(sheet.getWono(), ypCode) && StringUtils.equals(sheet.getStandardProcessCode(), standardProcessCode); |
|
|
|
// TODO 报价单标准工艺代码没加
|
|
|
|
|
|
|
|
&& StringUtils.equals(sheet.getWono(), standardProcessCode); |
|
|
|
|
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1903,9 +1901,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
String ocCode = statementVO.getOcCode(); |
|
|
|
String ocCode = statementVO.getOcCode(); |
|
|
|
String prodIdent = statementVO.getProductIdent(); |
|
|
|
String prodIdent = statementVO.getProductIdent(); |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent) |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getPrtlotno(), prodIdent) && StringUtils.equals(sheet.getStandardProcessCode(), standardProcessCode); |
|
|
|
// TODO 报价单标准工艺代码没加
|
|
|
|
|
|
|
|
&& StringUtils.equals(sheet.getWono(), standardProcessCode); |
|
|
|
|
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
if (match && ruleTieredPricing(statementVO, sheet)) { |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
return setSettlementInfo(statementVO, sheet); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1933,11 +1929,9 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
String ocCode = statementVO.getOcCode(); |
|
|
|
String ocCode = statementVO.getOcCode(); |
|
|
|
List<PriceSheetVO> colorPriceSheetVOS = new ArrayList<>(); |
|
|
|
List<PriceSheetVO> colorPriceSheetVOS = new ArrayList<>(); |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
for (PriceSheetVO sheet : priceSheetList) { |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) |
|
|
|
boolean match = StringUtils.equals(sheet.getSplycode(), ocCode) && StringUtils.equals(sheet.getStandardProcessCode(), standardProcessCode); |
|
|
|
// TODO 报价单标准工艺代码没加
|
|
|
|
|
|
|
|
&& StringUtils.equals(sheet.getWono(), standardProcessCode); |
|
|
|
|
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
if (match && price != null && price.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAu_ag_price(), price); |
|
|
|
match = PriceMatcher.isContainsPrice(sheet.getAuAgPrice(), price); |
|
|
|
} |
|
|
|
} |
|
|
|
if (match) { |
|
|
|
if (match) { |
|
|
|
if (hasColorCount(statementVO)) { |
|
|
|
if (hasColorCount(statementVO)) { |
|
|
|
@ -2003,9 +1997,9 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper, |
|
|
|
} |
|
|
|
} |
|
|
|
//涂色标、涂色带、涂箭头的报价集合
|
|
|
|
//涂色标、涂色带、涂箭头的报价集合
|
|
|
|
Map<String, List<PriceSheetVO>> coatingDescPriceSheetMap = priceSheetList.stream().filter(priceSheet -> { |
|
|
|
Map<String, List<PriceSheetVO>> coatingDescPriceSheetMap = priceSheetList.stream().filter(priceSheet -> { |
|
|
|
String coatingDesc = priceSheet.getCoating_desc(); |
|
|
|
String coatingDesc = priceSheet.getCoatingDesc(); |
|
|
|
return coatingDesc != null && !coatingDesc.trim().isEmpty() && ("涂色标".equals(coatingDesc) || "涂色带".equals(coatingDesc) || "涂箭头".equals(coatingDesc)); |
|
|
|
return coatingDesc != null && !coatingDesc.trim().isEmpty() && ("涂色标".equals(coatingDesc) || "涂色带".equals(coatingDesc) || "涂箭头".equals(coatingDesc)); |
|
|
|
}).collect(Collectors.groupingBy(PriceSheetVO::getCoating_desc, Collectors.toList())); |
|
|
|
}).collect(Collectors.groupingBy(PriceSheetVO::getCoatingDesc, Collectors.toList())); |
|
|
|
// 如果没有任何报价记录
|
|
|
|
// 如果没有任何报价记录
|
|
|
|
if (coatingDescPriceSheetMap.isEmpty()) { |
|
|
|
if (coatingDescPriceSheetMap.isEmpty()) { |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
|