|
|
@@ -1738,9 +1738,9 @@ public class KwcContractTradeService {
|
|
|
new KwcContractLogisticsUnit());
|
|
|
KwcContractLogisticsUnit acceptCarriageEnt = contractLogisticsMap.getOrDefault(log.getId() + "_" + CooperateTypeEnum.CARRIAGE.getCode(),
|
|
|
new KwcContractLogisticsUnit());
|
|
|
- contractLogisticsOrderResDto.setConsignEntId(consignEnt.getContractId());
|
|
|
+ contractLogisticsOrderResDto.setConsignEntId(consignEnt.getEntId());
|
|
|
contractLogisticsOrderResDto.setConsignEntName(consignEnt.getFirmName());
|
|
|
- contractLogisticsOrderResDto.setAcceptCarriageEntId(acceptCarriageEnt.getContractId());
|
|
|
+ contractLogisticsOrderResDto.setAcceptCarriageEntId(acceptCarriageEnt.getEntId());
|
|
|
contractLogisticsOrderResDto.setAcceptCarriageEntName(acceptCarriageEnt.getFirmName());
|
|
|
KwcContractLogisticsGoods goods = contractLogisticsGoodsMap.getOrDefault(log.getId(),
|
|
|
new KwcContractLogisticsGoods());
|
|
|
@@ -1832,15 +1832,64 @@ public class KwcContractTradeService {
|
|
|
return contractTradeOrderInfo;
|
|
|
}
|
|
|
|
|
|
- public ContractStatusCountResp queryTradeContractStatusCount() {
|
|
|
+ public ContractStatusCountResp queryTradeContractStatusCount(QueryListReqVo req) {
|
|
|
log.info("查询贸易合同订单状态统计");
|
|
|
- List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryByEntId(LoginUserHolder.getEntId());
|
|
|
|
|
|
List<ContractStatusEnum> statusEnums = Arrays.stream(ContractStatusEnum.values())
|
|
|
.sorted(Comparator.comparing(ContractStatusEnum::getCode))
|
|
|
.collect(Collectors.toList());
|
|
|
ContractStatusCountResp contractStatusCountResp = new ContractStatusCountResp();
|
|
|
- contractStatusCountResp.setTotalNum(String.valueOf(kwcContractTrades.size()));
|
|
|
+ contractStatusCountResp.setTotalNum("0");
|
|
|
+ Long entId = StringUtils.isNotBlank(req.getEntId()) ? Long.valueOf(req.getEntId()) : null;
|
|
|
+ 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 = null;
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractIds)
|
|
|
+ && !org.apache.commons.lang3.StringUtils.isAllBlank(req.getPurchaseEntId(),req.getSupplyEntId())){
|
|
|
+ Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
|
+ List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
|
+ .map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ contractStatusCountResp.setContractStatusInfo(statusCounts);
|
|
|
+ return contractStatusCountResp;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Long> allEnt = Lists.newArrayList();
|
|
|
+ if (StringUtils.isBlank(req.getEntId())) {
|
|
|
+ req.setEntId(LoginUserHolder.getEntId());
|
|
|
+ allEnt.add(LoginUserHolder.getEntId());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Objects.nonNull(entId)) {
|
|
|
+ allEnt.add(entId);
|
|
|
+ EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(entId);
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryTradeListByPageList(allEnt,
|
|
|
+ req.getContractCode(),
|
|
|
+ req.getContractName(),
|
|
|
+ req.getSupplementCode(),
|
|
|
+ contractIds, req.getStatus(), 0, 0);
|
|
|
+
|
|
|
+ // List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryTradeListByPageList(LoginUserHolder.getEntId());
|
|
|
|
|
|
if (CollectionUtils.isEmpty(kwcContractTrades)){
|
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|