|
|
@@ -4,10 +4,12 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
+import com.google.common.collect.Sets;
|
|
|
import com.sckw.contract.dao.KwcContractTradeMapper;
|
|
|
import com.sckw.contract.model.dto.req.QueryListReqDto;
|
|
|
import com.sckw.contract.model.dto.res.QueryListResDto;
|
|
|
@@ -51,6 +53,7 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -106,7 +109,7 @@ public class KwcContractTradeService {
|
|
|
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
private TradeOrderInfoService tradeOrderInfoService;
|
|
|
- @DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
private TransportRemoteService transportRemoteService;
|
|
|
|
|
|
/**销售合同*/
|
|
|
@@ -278,7 +281,7 @@ public class KwcContractTradeService {
|
|
|
long contactId = new IdWorker(1L).nextId();
|
|
|
kwcContractTrade.setId(contactId);
|
|
|
kwcContractTrade.setStatus(ContractStatusEnum.WAIT_APPROVE.getCode());
|
|
|
- kwcContractTrade.setSigningUrl(changeFile(reqVo.getContractFile()));
|
|
|
+ // kwcContractTrade.setSigningUrl(changeFile(reqVo.getContractFile()));
|
|
|
if (kwcContractTradeMapper.insert(kwcContractTrade) <= 0) {
|
|
|
throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
|
|
|
}
|
|
|
@@ -1342,7 +1345,7 @@ public class KwcContractTradeService {
|
|
|
public ContractDetailResp queryContractDetail(@Valid ContractDetailReq req) {
|
|
|
log.info("查询合同详情,请求参数 :{}", JSON.toJSONString(req));
|
|
|
//查询本地商品合同信息
|
|
|
- KwcContractTrade kwcContractTrade = kwcContractTradeRepository.queryByContractNo(req.getContractCode());
|
|
|
+ KwcContractTrade kwcContractTrade = kwcContractTradeRepository.queryByContractId(Long.valueOf(req.getContractId()));
|
|
|
if (Objects.isNull(kwcContractTrade)) {
|
|
|
return new ContractDetailResp();
|
|
|
}
|
|
|
@@ -1419,98 +1422,98 @@ public class KwcContractTradeService {
|
|
|
.collect(Collectors.toList());
|
|
|
contractDetailResp.setGoodsInfo(tradeGoodsInfos);
|
|
|
}
|
|
|
- //获取关联贸易订单
|
|
|
- ContractDetailResp.AssociatedOrder associatedOrder = getAssociateOrder(kwcContractTradeOrder,orderDetailVo,
|
|
|
- ctTypeKeyAndUnitMap,
|
|
|
- kwcContractTrade, contractIdUnitTypeKeyAndUnitMap, goodsIdAndGoodsMap,
|
|
|
- contractIdGoodsIdKeyAndGoodsMap,tradeOrderIdAndSubOrderVoMap);
|
|
|
- contractDetailResp.setAssociatedOrder(associatedOrder);
|
|
|
+// //获取关联贸易订单
|
|
|
+// ContractDetailResp.AssociatedOrder associatedOrder = getAssociateOrder(kwcContractTradeOrder,orderDetailVo,
|
|
|
+// ctTypeKeyAndUnitMap,
|
|
|
+// kwcContractTrade, contractIdUnitTypeKeyAndUnitMap, goodsIdAndGoodsMap,
|
|
|
+// contractIdGoodsIdKeyAndGoodsMap,tradeOrderIdAndSubOrderVoMap);
|
|
|
+// contractDetailResp.setAssociatedOrder(associatedOrder);
|
|
|
|
|
|
contractDetailResp.setRemark(kwcContractTrade.getRemark());
|
|
|
|
|
|
return contractDetailResp;
|
|
|
}
|
|
|
|
|
|
- private static ContractDetailResp.AssociatedOrder getAssociateOrder(KwcContractTradeOrder kwcContractTradeOrder,OrderDetailVo orderDetailVo, Map<String,
|
|
|
- KwcContractTradeUnit> ctTypeKeyAndUnitMap, KwcContractTrade kwcContractTrade, Map<String, KwcContractLogisticsUnit> contractIdUnitTypeKeyAndUnitMap,
|
|
|
- Map<Long, KwpGoods> goodsIdAndGoodsMap, Map<String, KwcContractLogisticsGoods> contractIdGoodsIdKeyAndGoodsMap
|
|
|
- ,Map<Long, RWaybillSubOrderVo> tradeOrderIdAndSubOrderVoMap) {
|
|
|
- ContractDetailResp.AssociatedOrder associatedOrder = new ContractDetailResp.AssociatedOrder();
|
|
|
- if (Objects.nonNull(kwcContractTradeOrder)){
|
|
|
- associatedOrder.setOrderId(kwcContractTradeOrder.getOrderId());
|
|
|
- associatedOrder.setOrderStatus(kwcContractTradeOrder.getStatus());
|
|
|
- associatedOrder.setOrderCode(kwcContractTradeOrder.getOrderNo());
|
|
|
- KwcContractTradeUnit purchaseUnit =
|
|
|
- ctTypeKeyAndUnitMap.getOrDefault(kwcContractTrade.getId() + "-" + CooperateTypeEnum.PURCHASER.getCode(), new KwcContractTradeUnit());
|
|
|
-
|
|
|
-
|
|
|
- KwcContractTradeUnit provideUnit =
|
|
|
- ctTypeKeyAndUnitMap.getOrDefault(kwcContractTrade.getId() + "-" + CooperateTypeEnum.SUPPLIER.getCode(), new KwcContractTradeUnit());
|
|
|
-
|
|
|
- associatedOrder.setPurchaseEntId(purchaseUnit.getEntId());
|
|
|
- associatedOrder.setPurchaseEntName(purchaseUnit.getFirmName());
|
|
|
- associatedOrder.setProvideEntId(provideUnit.getEntId());
|
|
|
- associatedOrder.setProvideEntName(provideUnit.getFirmName());
|
|
|
-
|
|
|
- KwcContractLogisticsUnit logisticsUnit =
|
|
|
- contractIdUnitTypeKeyAndUnitMap.get(kwcContractTrade.getId() + "-" + CooperateTypeEnum.CONSIGN.getCode());
|
|
|
- if (Objects.nonNull(logisticsUnit)){
|
|
|
- associatedOrder.setTransportEntId(logisticsUnit.getEntId());
|
|
|
- associatedOrder.setTransportEntName(logisticsUnit.getFirmName());
|
|
|
- }
|
|
|
- KwcContractLogisticsUnit logisticsCarrigeUnit =
|
|
|
- contractIdUnitTypeKeyAndUnitMap.get(kwcContractTrade.getId() + "-" + CooperateTypeEnum.CARRIAGE.getCode());
|
|
|
- if (Objects.nonNull(logisticsCarrigeUnit)){
|
|
|
- associatedOrder.setTransportEntId(logisticsCarrigeUnit.getEntId());
|
|
|
- associatedOrder.setTransportEntName(logisticsCarrigeUnit.getFirmName());
|
|
|
- }
|
|
|
- OrderDetailVo.GoodsInfo goodsInfo = orderDetailVo.getGoodsInfo();
|
|
|
- if (Objects.nonNull(goodsInfo)){
|
|
|
- associatedOrder.setGoodsId(goodsInfo.getGoodsId());
|
|
|
- KwpGoods goods = goodsIdAndGoodsMap.getOrDefault(goodsInfo.getGoodsId(), new KwpGoods());
|
|
|
- associatedOrder.setGoodsName(goods.getName());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- associatedOrder.setBillingWay(orderDetailVo.getChargeType());
|
|
|
- associatedOrder.setBillingWayDesc(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
|
|
|
- String.valueOf(orderDetailVo.getChargeType())));
|
|
|
- associatedOrder.setAmount(Objects.nonNull(orderDetailVo.getAmount()) ?
|
|
|
- orderDetailVo.getAmount().toPlainString() : null);
|
|
|
- RWaybillSubOrderVo rWaybillSubOrderVo = tradeOrderIdAndSubOrderVoMap.get(kwcContractTrade.getId());
|
|
|
- List<RWaybillSubOrderVo.BillSubOrder> subOrders = rWaybillSubOrderVo.getSubOrders();
|
|
|
-
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)){
|
|
|
- String loadAmount = subOrders.stream()
|
|
|
- .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
- .filter(Objects::nonNull)
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add).toPlainString();
|
|
|
- associatedOrder.setLoadAmount(loadAmount);
|
|
|
- String unloadAmount = subOrders.stream()
|
|
|
- .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
- .filter(Objects::nonNull)
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add).toPlainString();
|
|
|
- associatedOrder.setUnloadAmount(unloadAmount);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- List<OrderDetailVo.AddressInfo> addressInfos = orderDetailVo.getAddressInfo();
|
|
|
- Map<String, OrderDetailVo.AddressInfo> tradeOrderIdAndUnitTypeKeyAndUnitMap = Maps.newHashMap() ;
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(addressInfos)){
|
|
|
- tradeOrderIdAndUnitTypeKeyAndUnitMap =
|
|
|
- addressInfos.stream().peek(x -> x.setTradeOrderIdTypeKey(x.getTOrderId() + "-" + x.getAddressType()))
|
|
|
- .collect(Collectors.toMap(OrderDetailVo.AddressInfo::getTradeOrderIdTypeKey, Function.identity(), (x, y) -> x));
|
|
|
- }
|
|
|
-
|
|
|
- associatedOrder.setTransportPrice(Objects.nonNull(orderDetailVo.getPrice()) ?
|
|
|
- orderDetailVo.getPrice().setScale(2, RoundingMode.HALF_UP).toPlainString() : null);
|
|
|
- OrderDetailVo.AddressInfo loadAdd = tradeOrderIdAndUnitTypeKeyAndUnitMap.getOrDefault(kwcContractTradeOrder.getContractId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new OrderDetailVo.AddressInfo());
|
|
|
- associatedOrder.setLoadAddress(loadAdd.getDetailAddress());
|
|
|
- OrderDetailVo.AddressInfo unloadAdd = tradeOrderIdAndUnitTypeKeyAndUnitMap.getOrDefault(kwcContractTradeOrder.getContractId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new OrderDetailVo.AddressInfo());
|
|
|
- associatedOrder.setUnloadAddress(unloadAdd.getDetailAddress());
|
|
|
- }
|
|
|
- return associatedOrder;
|
|
|
- }
|
|
|
+// private static ContractDetailResp.AssociatedOrder getAssociateOrder(KwcContractTradeOrder kwcContractTradeOrder,OrderDetailVo orderDetailVo, Map<String,
|
|
|
+// KwcContractTradeUnit> ctTypeKeyAndUnitMap, KwcContractTrade kwcContractTrade, Map<String, KwcContractLogisticsUnit> contractIdUnitTypeKeyAndUnitMap,
|
|
|
+// Map<Long, KwpGoods> goodsIdAndGoodsMap, Map<String, KwcContractLogisticsGoods> contractIdGoodsIdKeyAndGoodsMap
|
|
|
+// ,Map<Long, RWaybillSubOrderVo> tradeOrderIdAndSubOrderVoMap) {
|
|
|
+// ContractDetailResp.AssociatedOrder associatedOrder = new ContractDetailResp.AssociatedOrder();
|
|
|
+// if (Objects.nonNull(kwcContractTradeOrder)){
|
|
|
+// associatedOrder.setOrderId(kwcContractTradeOrder.getOrderId());
|
|
|
+// associatedOrder.setOrderStatus(kwcContractTradeOrder.getStatus());
|
|
|
+// associatedOrder.setOrderCode(kwcContractTradeOrder.getOrderNo());
|
|
|
+// KwcContractTradeUnit purchaseUnit =
|
|
|
+// ctTypeKeyAndUnitMap.getOrDefault(kwcContractTrade.getId() + "-" + CooperateTypeEnum.PURCHASER.getCode(), new KwcContractTradeUnit());
|
|
|
+//
|
|
|
+//
|
|
|
+// KwcContractTradeUnit provideUnit =
|
|
|
+// ctTypeKeyAndUnitMap.getOrDefault(kwcContractTrade.getId() + "-" + CooperateTypeEnum.SUPPLIER.getCode(), new KwcContractTradeUnit());
|
|
|
+//
|
|
|
+// associatedOrder.setPurchaseEntId(purchaseUnit.getEntId());
|
|
|
+// associatedOrder.setPurchaseEntName(purchaseUnit.getFirmName());
|
|
|
+// associatedOrder.setProvideEntId(provideUnit.getEntId());
|
|
|
+// associatedOrder.setProvideEntName(provideUnit.getFirmName());
|
|
|
+//
|
|
|
+// KwcContractLogisticsUnit logisticsUnit =
|
|
|
+// contractIdUnitTypeKeyAndUnitMap.get(kwcContractTrade.getId() + "-" + CooperateTypeEnum.CONSIGN.getCode());
|
|
|
+// if (Objects.nonNull(logisticsUnit)){
|
|
|
+// associatedOrder.setTransportEntId(logisticsUnit.getEntId());
|
|
|
+// associatedOrder.setTransportEntName(logisticsUnit.getFirmName());
|
|
|
+// }
|
|
|
+// KwcContractLogisticsUnit logisticsCarrigeUnit =
|
|
|
+// contractIdUnitTypeKeyAndUnitMap.get(kwcContractTrade.getId() + "-" + CooperateTypeEnum.CARRIAGE.getCode());
|
|
|
+// if (Objects.nonNull(logisticsCarrigeUnit)){
|
|
|
+// associatedOrder.setTransportEntId(logisticsCarrigeUnit.getEntId());
|
|
|
+// associatedOrder.setTransportEntName(logisticsCarrigeUnit.getFirmName());
|
|
|
+// }
|
|
|
+// OrderDetailVo.GoodsInfo goodsInfo = orderDetailVo.getGoodsInfo();
|
|
|
+// if (Objects.nonNull(goodsInfo)){
|
|
|
+// associatedOrder.setGoodsId(goodsInfo.getGoodsId());
|
|
|
+// KwpGoods goods = goodsIdAndGoodsMap.getOrDefault(goodsInfo.getGoodsId(), new KwpGoods());
|
|
|
+// associatedOrder.setGoodsName(goods.getName());
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// associatedOrder.setBillingWay(orderDetailVo.getChargeType());
|
|
|
+// associatedOrder.setBillingWayDesc(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
|
|
|
+// String.valueOf(orderDetailVo.getChargeType())));
|
|
|
+// associatedOrder.setAmount(Objects.nonNull(orderDetailVo.getAmount()) ?
|
|
|
+// orderDetailVo.getAmount().toPlainString() : null);
|
|
|
+// RWaybillSubOrderVo rWaybillSubOrderVo = tradeOrderIdAndSubOrderVoMap.get(kwcContractTrade.getId());
|
|
|
+// List<RWaybillSubOrderVo.BillSubOrder> subOrders = rWaybillSubOrderVo.getSubOrders();
|
|
|
+//
|
|
|
+// if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)){
|
|
|
+// String loadAmount = subOrders.stream()
|
|
|
+// .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
+// .filter(Objects::nonNull)
|
|
|
+// .reduce(BigDecimal.ZERO, BigDecimal::add).toPlainString();
|
|
|
+// associatedOrder.setLoadAmount(loadAmount);
|
|
|
+// String unloadAmount = subOrders.stream()
|
|
|
+// .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
+// .filter(Objects::nonNull)
|
|
|
+// .reduce(BigDecimal.ZERO, BigDecimal::add).toPlainString();
|
|
|
+// associatedOrder.setUnloadAmount(unloadAmount);
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// List<OrderDetailVo.AddressInfo> addressInfos = orderDetailVo.getAddressInfo();
|
|
|
+// Map<String, OrderDetailVo.AddressInfo> tradeOrderIdAndUnitTypeKeyAndUnitMap = Maps.newHashMap() ;
|
|
|
+// if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(addressInfos)){
|
|
|
+// tradeOrderIdAndUnitTypeKeyAndUnitMap =
|
|
|
+// addressInfos.stream().peek(x -> x.setTradeOrderIdTypeKey(x.getTOrderId() + "-" + x.getAddressType()))
|
|
|
+// .collect(Collectors.toMap(OrderDetailVo.AddressInfo::getTradeOrderIdTypeKey, Function.identity(), (x, y) -> x));
|
|
|
+// }
|
|
|
+//
|
|
|
+// associatedOrder.setTransportPrice(Objects.nonNull(orderDetailVo.getPrice()) ?
|
|
|
+// orderDetailVo.getPrice().setScale(2, RoundingMode.HALF_UP).toPlainString() : null);
|
|
|
+// OrderDetailVo.AddressInfo loadAdd = tradeOrderIdAndUnitTypeKeyAndUnitMap.getOrDefault(kwcContractTradeOrder.getContractId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new OrderDetailVo.AddressInfo());
|
|
|
+// associatedOrder.setLoadAddress(loadAdd.getDetailAddress());
|
|
|
+// OrderDetailVo.AddressInfo unloadAdd = tradeOrderIdAndUnitTypeKeyAndUnitMap.getOrDefault(kwcContractTradeOrder.getContractId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new OrderDetailVo.AddressInfo());
|
|
|
+// associatedOrder.setUnloadAddress(unloadAdd.getDetailAddress());
|
|
|
+// }
|
|
|
+// return associatedOrder;
|
|
|
+// }
|
|
|
|
|
|
private static ContractDetailResp.TradeGoodsInfo getTradeGoodsInfo(KwcContractTradeGoods t, Map<Long,
|
|
|
KwpGoods> finalGoodsIdAndGoodsMap) {
|
|
|
@@ -1559,4 +1562,131 @@ public class KwcContractTradeService {
|
|
|
tradeBaseInfo.setSalesmanPhone(kwcContractTrade.getSalesmanPhone());
|
|
|
return tradeBaseInfo;
|
|
|
}
|
|
|
+
|
|
|
+ public PageDataResult<QueryListResVo> queryTradeListByPage(QueryTradeReq req) {
|
|
|
+ Set<Long> entIds = Sets.newHashSet();
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getPurchaseEntId())) {
|
|
|
+ //查询企业 信息
|
|
|
+ entIds.add(Long.valueOf(req.getPurchaseEntId()));
|
|
|
+ }
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getSupplyEntId())) {
|
|
|
+ entIds.add(Long.valueOf(req.getSupplyEntId()));
|
|
|
+ }
|
|
|
+ Set<Long> contractIds = Sets.newHashSet();
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIds)){
|
|
|
+ List<KwcContractTradeUnit> units = kwcContractTradeUnitRepository.queryByEntIds(entIds);
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)){
|
|
|
+ contractIds = units.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<Long> allEnt = Lists.newArrayList();
|
|
|
+ if (StringUtils.isBlank(req.getEntId())) {
|
|
|
+ req.setEntId(String.valueOf(LoginUserHolder.getEntId()));
|
|
|
+ }
|
|
|
+ allEnt.add(Long.valueOf(req.getEntId()));
|
|
|
+ EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(Long.valueOf(req.getEntId()));
|
|
|
+ if (Objects.nonNull(entCacheResDto)) {
|
|
|
+ EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
|
|
|
+ List<EntCacheResDto> child = entCacheResDto1.getChild();
|
|
|
+ if (CollectionUtils.isNotEmpty(child)) {
|
|
|
+ allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //分页查询合同信息
|
|
|
+ IPage<KwcContractTrade> page = kwcContractTradeRepository.queryTradeListByPage(allEnt,
|
|
|
+ req.getContractCode(),
|
|
|
+ req.getContractName(),
|
|
|
+ contractIds, req.getStatus(), req.getPageNum(), req.getPageSize());
|
|
|
+ List<KwcContractTrade> records = page.getRecords();
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(records)){
|
|
|
+ return PageDataResult.empty(req.getPageNum(), req.getPageSize());
|
|
|
+ }
|
|
|
+ Set<Long> tradeContractIds = records.stream().map(KwcContractTrade::getId).collect(Collectors.toSet());
|
|
|
+ //获取父id
|
|
|
+ Set<Long> contractPids = records.stream().map(KwcContractTrade::getContractPid).collect(Collectors.toSet());
|
|
|
+ //根据父id查询父合同信息
|
|
|
+ Map<Long, KwcContractTrade> pidIdAndTradeMap = Maps.newHashMap();
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(contractPids)){
|
|
|
+ List<KwcContractTrade> contractPidList = kwcContractTradeRepository.queryByContractIds(contractPids);
|
|
|
+
|
|
|
+ pidIdAndTradeMap =
|
|
|
+ contractPidList.stream().collect(Collectors.toMap(KwcContractTrade::getId
|
|
|
+ , Function.identity(), (v1, v2) -> v1));
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询公司信息
|
|
|
+ List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByContractIds(tradeContractIds);
|
|
|
+ Map<String, KwcContractTradeUnit> contractUnitTypeKeyAndUnitMap = Maps.newHashMap();
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeUnits)){
|
|
|
+ contractUnitTypeKeyAndUnitMap = tradeUnits.stream()
|
|
|
+ .peek(x -> x.setContractIdUniTypeKey(x.getContractId() + "-" + x.getUnitType()))
|
|
|
+ .collect(Collectors.toMap(KwcContractTradeUnit::getContractIdUniTypeKey, Function.identity(), (v1
|
|
|
+ , v2) -> v1));
|
|
|
+ }
|
|
|
+ //查询用户信息
|
|
|
+ //获取创建人
|
|
|
+ List<Long> createBys =
|
|
|
+ records.stream().map(KwcContractTrade::getCreateBy).distinct().collect(Collectors.toList());
|
|
|
+ Map<Long, UserCacheResDto> longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(createBys);
|
|
|
+ Map<Long, KwcContractTrade> finalPidIdAndTradeMap = pidIdAndTradeMap;
|
|
|
+ Map<String, KwcContractTradeUnit> finalContractUnitTypeKeyAndUnitMap = contractUnitTypeKeyAndUnitMap;
|
|
|
+ List<QueryListResVo> queryListResVos = records.stream()
|
|
|
+ .map(t -> getQueryListResVo(t, finalContractUnitTypeKeyAndUnitMap, finalPidIdAndTradeMap, longUserCacheResDtoMap))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return PageDataResult.of(page, queryListResVos);
|
|
|
+ }
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private static QueryListResVo getQueryListResVo(KwcContractTrade t, Map<String, KwcContractTradeUnit> finalContractUnitTypeKeyAndUnitMap, Map<Long, KwcContractTrade> finalPidIdAndTradeMap, Map<Long, UserCacheResDto> longUserCacheResDtoMap) {
|
|
|
+ QueryListResVo queryListResVo = new QueryListResVo();
|
|
|
+ queryListResVo.setId(t.getId());
|
|
|
+ queryListResVo.setStatus(t.getStatus());
|
|
|
+ queryListResVo.setStatusName(ContractStatusEnum.getNameByCode(t.getStatus()));
|
|
|
+
|
|
|
+ KwcContractTradeUnit purchaseEnt = finalContractUnitTypeKeyAndUnitMap.getOrDefault(t.getId() + "-" + CooperateTypeEnum.PURCHASER.getCode(),
|
|
|
+ new KwcContractTradeUnit());
|
|
|
+ queryListResVo.setPurchaseEntId(String.valueOf(purchaseEnt.getEntId()));
|
|
|
+ queryListResVo.setPurchaseEntName(purchaseEnt.getFirmName());
|
|
|
+ KwcContractTradeUnit provideEnt =
|
|
|
+ finalContractUnitTypeKeyAndUnitMap.getOrDefault(t.getId() + "-" + CooperateTypeEnum.SUPPLIER.getCode(),
|
|
|
+ new KwcContractTradeUnit());
|
|
|
+ queryListResVo.setProvideEntId(String.valueOf(provideEnt.getEntId()));
|
|
|
+ queryListResVo.setProvideEntName(provideEnt.getFirmName());
|
|
|
+ //queryListResVo.setCheckedEntName();
|
|
|
+ queryListResVo.setContractNo(t.getContractNo());
|
|
|
+ queryListResVo.setContractName(t.getName());
|
|
|
+ queryListResVo.setSigningWay(String.valueOf(t.getSigningWay()));
|
|
|
+ queryListResVo.setSigningWayName(DictEnum.getLabel(DictTypeEnum.SIGNING_TYPE.getType(),String.valueOf(t.getSigningWay())));
|
|
|
+ queryListResVo.setUnloadWay(String.valueOf(t.getUnloadWay()));
|
|
|
+ queryListResVo.setUnloadWayName(DictEnum.getLabel(DictTypeEnum.LOAD_UNLOAD_WAY.getType(),
|
|
|
+ String.valueOf(t.getUnloadWay())));
|
|
|
+ queryListResVo.setAmount(t.getAmount());
|
|
|
+ queryListResVo.setPerformedAmount(t.getPerformedAmount());
|
|
|
+
|
|
|
+ // queryListResVo.setPerformedAmountMoney();
|
|
|
+ queryListResVo.setContractPid(t.getContractPid());
|
|
|
+ KwcContractTrade parentTrade = finalPidIdAndTradeMap.getOrDefault(t.getContractPid(),
|
|
|
+ new KwcContractTrade());
|
|
|
+ queryListResVo.setContractPname(parentTrade.getName());
|
|
|
+
|
|
|
+// queryListResVo.setChargingName();
|
|
|
+// queryListResVo.setTradingName();
|
|
|
+// queryListResVo.setCarrierEntName();
|
|
|
+ UserCacheResDto userCacheResDto = longUserCacheResDtoMap.getOrDefault(t.getCreateBy(), new UserCacheResDto());
|
|
|
+ queryListResVo.setInitiateName(userCacheResDto.getName());
|
|
|
+ if (Objects.nonNull(userCacheResDto.getEntInfo())){
|
|
|
+ queryListResVo.setInitiateEntName(userCacheResDto.getEntInfo().getFirmName());
|
|
|
+ }
|
|
|
+ queryListResVo.setCreateTime(t.getCreateTime());
|
|
|
+ queryListResVo.setStartTime(t.getStartTime());
|
|
|
+ queryListResVo.setEndTime(t.getEndTime());
|
|
|
+ queryListResVo.setInitiateTime(t.getCreateTime());
|
|
|
+ queryListResVo.setRemark(t.getRemark());
|
|
|
+ queryListResVo.setSignTime(t.getCreateTime());
|
|
|
+ return queryListResVo;
|
|
|
+ }
|
|
|
}
|