|
|
@@ -1840,20 +1840,32 @@ public class KwcContractTradeService {
|
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByEntIdAndUnitType(contractTradeOrderDto.getEntId(),
|
|
|
contractTradeOrderDto.getEntType());
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)){
|
|
|
- return Collections.emptyList();
|
|
|
+ return List.of();
|
|
|
}
|
|
|
- Map<String, KwcContractTradeUnit> conTractTradeUnitMap =
|
|
|
- tradeUnits.stream().collect(Collectors.toMap(x -> x.getContractId() +
|
|
|
- "_" + x.getUnitType(), Function.identity(),
|
|
|
- (x, y) -> x));
|
|
|
Set<Long> contractIds =
|
|
|
tradeUnits.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ List<KwcContractTradeUnit> tradeUnits1 = kwcContractTradeUnitRepository.queryByContractIds(contractIds);
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits1)){
|
|
|
+ return List.of();
|
|
|
+ }
|
|
|
+ Map<String, KwcContractTradeUnit> conTractTradeUnitMap =
|
|
|
+ tradeUnits1.stream().collect(Collectors.toMap(x -> x.getContractId() +
|
|
|
+ "_" + x.getUnitType(), Function.identity(),
|
|
|
+ (x, y) -> x));
|
|
|
+ contractIds= tradeUnits1.stream()
|
|
|
+ .filter(x -> Objects.equals(x.getEntId(), LoginUserHolder.getEntId()) && Objects.equals(x.getUnitType(),
|
|
|
+ 2))
|
|
|
+ .map(KwcContractTradeUnit::getContractId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
//查询商品信息
|
|
|
List<KwcContractTradeGoods> kwcContractGoods = kwcContractTradeGoodsRepository.queryByContractIdsAndGoodsId(contractIds,
|
|
|
contractTradeOrderDto.getGoodsId());
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractGoods)){
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ Map<Long, KwcContractTradeGoods> contractGoodsMap = kwcContractGoods.stream()
|
|
|
+ .collect(Collectors.toMap(KwcContractTradeGoods::getContractId,Function.identity(),(x,y)->x));
|
|
|
//只查询已签约的
|
|
|
Set<Long> contractIdList = kwcContractGoods.stream()
|
|
|
.filter(x->Objects.equals(x.getStatus(), ContractStatusEnum.SIGNED.getCode()))
|
|
|
@@ -1865,7 +1877,7 @@ public class KwcContractTradeService {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
return kwcContractTrades.stream()
|
|
|
- .map(x-> getContractTradeOrderInfo(x, conTractTradeUnitMap,contractTradeOrderDto.getEntType()))
|
|
|
+ .map(x-> getContractTradeOrderInfo(x, conTractTradeUnitMap,contractTradeOrderDto.getEntType(),contractGoodsMap))
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
|
private static void checkParam(Long contractTradeOrderDto, Long contractTradeOrderDto1, Integer contractTradeOrderDto2) {
|
|
|
@@ -1881,7 +1893,7 @@ public class KwcContractTradeService {
|
|
|
}
|
|
|
@NotNull
|
|
|
private static ContractTradeOrderInfo getContractTradeOrderInfo(KwcContractTrade c, Map<String,
|
|
|
- KwcContractTradeUnit> conTractTradeUnitMap,Integer entType) {
|
|
|
+ KwcContractTradeUnit> conTractTradeUnitMap,Integer entType, Map<Long, KwcContractTradeGoods> contractGoodsMap) {
|
|
|
ContractTradeOrderInfo contractTradeOrderInfo = new ContractTradeOrderInfo();
|
|
|
contractTradeOrderInfo.setId(c.getId());
|
|
|
KwcContractTradeUnit unit = conTractTradeUnitMap.getOrDefault(c.getId() + "_" + entType,
|
|
|
@@ -1893,7 +1905,7 @@ public class KwcContractTradeService {
|
|
|
contractTradeOrderInfo.setTrading(c.getTrading());
|
|
|
contractTradeOrderInfo.setStartTime(c.getStartTime());
|
|
|
contractTradeOrderInfo.setEndTime(c.getEndTime());
|
|
|
- contractTradeOrderInfo.setAmount(c.getAmount());
|
|
|
+ contractTradeOrderInfo.setAmount(Objects.isNull(c.getAmount()) ? new BigDecimal("-1") : c.getAmount());
|
|
|
contractTradeOrderInfo.setPerformedAmount(c.getPerformedAmount());
|
|
|
contractTradeOrderInfo.setSigningUrl(c.getSigningUrl());
|
|
|
contractTradeOrderInfo.setSignedUrl(c.getSignedUrl());
|
|
|
@@ -1912,6 +1924,8 @@ public class KwcContractTradeService {
|
|
|
contractTradeOrderInfo.setUnloadWay(c.getUnloadWay());
|
|
|
contractTradeOrderInfo.setSalesmanId(c.getSalesmanId());
|
|
|
contractTradeOrderInfo.setSalesmanPhone(c.getSalesmanPhone());
|
|
|
+ KwcContractTradeGoods kwcContractTradeGoods = contractGoodsMap.getOrDefault(c.getId(), new KwcContractTradeGoods());
|
|
|
+ contractTradeOrderInfo.setSignPrice(Objects.nonNull(kwcContractTradeGoods.getPrice())?kwcContractTradeGoods.getPrice():new BigDecimal("-1"));
|
|
|
return contractTradeOrderInfo;
|
|
|
}
|
|
|
|