修改差旅申请单同步逻辑
This commit is contained in:
parent
fe6252d23f
commit
3ec2668433
|
@ -42,8 +42,8 @@ public class LegRes {
|
|||
private String originDescription;
|
||||
@ApiModelProperty("目的地详细")
|
||||
private String destinationDescription;
|
||||
private String supplier;
|
||||
private String supplierName;
|
||||
private List<String> supplierList;
|
||||
private List<String> supplierNameList;
|
||||
private Integer legStatus;
|
||||
private String changeReason;
|
||||
|
||||
|
@ -85,6 +85,14 @@ public class LegRes {
|
|||
}
|
||||
legRes.setOriginLocation(LocationRes.copyFrom(leg.getOriginLocation()));
|
||||
legRes.setDestinationLocation(LocationRes.copyFrom(leg.getDestinationLocation()));
|
||||
|
||||
if (legRes.getSupplierList() == null) {
|
||||
legRes.setSupplierList(new ArrayList<>());
|
||||
}
|
||||
|
||||
if (legRes.getSupplierNameList() == null) {
|
||||
legRes.setSupplierNameList(new ArrayList<>());
|
||||
}
|
||||
return legRes;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,8 +2,6 @@ package com.chint.domain.service;
|
|||
|
||||
import com.chint.application.dtos.response.LegRes;
|
||||
import com.chint.domain.aggregates.order.*;
|
||||
import com.chint.domain.aggregates.supplier.Supplier;
|
||||
import com.chint.domain.aggregates.supplier.SupplierProduct;
|
||||
import com.chint.domain.exceptions.LegEventException;
|
||||
import com.chint.domain.factoriy.leg_event.LegEventFactory;
|
||||
import com.chint.domain.repository.*;
|
||||
|
@ -12,7 +10,6 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.chint.infrastructure.constant.CommonMessageConstant.LEG_CHANGE_MAX_ERROR;
|
||||
import static com.chint.infrastructure.constant.LegConstant.*;
|
||||
|
@ -171,6 +168,13 @@ public class LegDomainService {
|
|||
//通过查看供应商的商品类型,来进行同步
|
||||
legItems = supplierDomainService.ifCanSync(legItems, supplierName);
|
||||
|
||||
legItems.forEach(Leg::reloadStatus);
|
||||
queryLocation(legItems);
|
||||
return legItems;
|
||||
}
|
||||
|
||||
|
||||
public List<Leg> syncLegExclusive(RouteOrder routeOrder, List<Leg> legItems, String supplierName) {
|
||||
List<Long> alreadySyncLegs = routeOrder.getRouteRequestList()
|
||||
.stream()
|
||||
.filter(it -> it.reloadStatus().getStatus().equals(ROUTE_REQUEST_STATUS_SYNC))
|
||||
|
@ -196,7 +200,6 @@ public class LegDomainService {
|
|||
List<Leg> res = new ArrayList<>(needSyncLegs);
|
||||
res.addAll(belongLegsAndSync);
|
||||
res.forEach(Leg::reloadStatus);
|
||||
queryLocation(res);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -216,8 +219,8 @@ public class LegDomainService {
|
|||
.map(RouteRequestLeg::getLegId)
|
||||
.toList();
|
||||
if (legIds.contains(legRes.getLegId())) {
|
||||
legRes.setSupplier(routeRequest.getSupplier());
|
||||
legRes.setSupplierName(routeRequest.getSupplierName());
|
||||
legRes.getSupplierList().add(routeRequest.getSupplier());
|
||||
legRes.getSupplierNameList().add(routeRequest.getSupplierName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.chint.domain.service;
|
|||
|
||||
import com.chint.domain.aggregates.order.*;
|
||||
import com.chint.domain.aggregates.supplier.Supplier;
|
||||
import com.chint.domain.aggregates.supplier.SupplierProduct;
|
||||
import com.chint.domain.exceptions.CommandException;
|
||||
import com.chint.domain.factoriy.leg_event.LegEventFactory;
|
||||
import com.chint.domain.factoriy.order.RouteOrderFactory;
|
||||
|
@ -15,6 +14,7 @@ import com.chint.domain.value_object.SyncLegData;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
@ -109,6 +109,7 @@ public class RouteRequestDomainService {
|
|||
|
||||
|
||||
public void cancelRouteRequest(SyncLegData syncLegData) {
|
||||
List<Long> legIds = syncLegData.getLegIds();
|
||||
Long routeId = syncLegData.getRouteId();
|
||||
RouteOrder routeOrder = routeRepository.queryById(routeId);
|
||||
Optional<RouteRequest> optionalRouteRequest;
|
||||
|
@ -138,7 +139,7 @@ public class RouteRequestDomainService {
|
|||
if (supplierOptional.isPresent()) {
|
||||
collect = legs
|
||||
.stream()
|
||||
.collect(Collectors.partitioningBy(leg -> supplierDomainService.ifCanCancel(leg,it.getSupplier())));
|
||||
.collect(Collectors.partitioningBy(leg -> supplierDomainService.ifCanCancel(leg, it.getSupplier()) || legIds.contains(leg.getLegId())));
|
||||
List<Leg> orderedLegs = collect.get(false);
|
||||
if (!orderedLegs.isEmpty()) {
|
||||
it.reloadGenerateRequestLegs(orderedLegs);
|
||||
|
@ -160,29 +161,6 @@ public class RouteRequestDomainService {
|
|||
it.getRouteRequestLegList()
|
||||
.forEach(requestLeg -> requestLeg.getLeg().addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL)));
|
||||
}
|
||||
|
||||
// Map<Boolean, List<Leg>> collect = legs
|
||||
// .stream()
|
||||
// .collect(Collectors.partitioningBy(leg -> {
|
||||
// Integer legStatus = leg.reloadStatus().getLegStatus();
|
||||
// return (legStatus.equals(LEG_STATUS_ORDERED) || legStatus.equals(LEG_STATUS_PAYED) || legStatus.equals(LEG_STATUS_FINISH))
|
||||
// && leg.getLegType().equals(LEG_TYPE_AIRPLANE);
|
||||
// }));
|
||||
|
||||
// List<Leg> orderedLegs = collect.get(true);
|
||||
// if (!orderedLegs.isEmpty()) {
|
||||
// it.reloadGenerateRequestLegs(orderedLegs);
|
||||
// syncAdapter.of(it.getSupplier()).syncRouteRequest(it);
|
||||
// it.addEvent(RouteRequestEvent.sync(it.getSupplier()));
|
||||
// List<Leg> notOrderLegs = collect.get(false);
|
||||
// notOrderLegs.forEach(leg -> leg.addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL)));
|
||||
// } else {
|
||||
// it.addEvent(RouteRequestEvent.cancel(it.getSupplier()));
|
||||
// getLegInfoFromRouteOrder(it, routeOrder);
|
||||
// syncAdapter.of(it.getSupplier()).cancelRouteRequest(it);
|
||||
// it.getRouteRequestLegList()
|
||||
// .forEach(requestLeg -> requestLeg.getLeg().addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL)));
|
||||
// }
|
||||
});
|
||||
routeRepository.save(routeOrder);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue