|
@@ -74,6 +74,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
|
|
|
BaseLocationInfo locationFrom = null;
|
|
|
BaseLocationInfo locationTo = null;
|
|
|
+ List<WcsTask> wcsTaskList = new ArrayList<>();
|
|
|
//查询所属流程
|
|
|
FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(agvCallDTO.getId());
|
|
|
AsnSoStrategy asnSoStrategy = asnSoStrategyMapper.selectAsnSoStrategy();
|
|
@@ -100,17 +101,24 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
for (AgvCallDTO agvCall : agvCallDTOList) {
|
|
|
invLotLocIdService.initInv(locationFrom.getId().toString(), agvCall.getSku(), Constant.CUSTOMER_ID, agvCall.getQty(), agvCall.getLotattDTO());
|
|
|
}
|
|
|
+ wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO));
|
|
|
} else if (flowConfigHeaderVO.getFlowType().equals("SO")) {
|
|
|
- //判断库存是否足够
|
|
|
- locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "SO", asnSoStrategy, agvCallDTO);
|
|
|
- locationTo = this.zoneLocationAllocation(locationToList, "locationTo", "SO", asnSoStrategy, agvCallDTO);
|
|
|
-
|
|
|
+ for (AgvCallDTO agvCall : agvCallDTOList) {
|
|
|
+ //判断总库存是否足够
|
|
|
+ Double qty = invLotLocIdService.queryInvBySku(agvCall.getSku(), agvCall.getLotattDTO());
|
|
|
+ if (qty < agvCall.getQty()) {
|
|
|
+ throw new ServiceException("所需库存不够");
|
|
|
+ }
|
|
|
+ locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "SO", asnSoStrategy, agvCall);
|
|
|
+ locationTo = this.zoneLocationAllocation(locationToList, "locationTo", "SO", asnSoStrategy, agvCall);
|
|
|
+ wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO));
|
|
|
+ }
|
|
|
} else if (flowConfigHeaderVO.getFlowType().equals("MV")) {
|
|
|
locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "MV", asnSoStrategy, agvCallDTO);
|
|
|
locationTo = this.zoneLocationAllocation(locationToList, "locationTo", "MV", asnSoStrategy, agvCallDTO);
|
|
|
+ wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO));
|
|
|
}
|
|
|
|
|
|
- List<WcsTask> wcsTaskList = this.genTask(locationFrom, locationTo, flowConfigHeaderVO);
|
|
|
for (WcsTask wcsTask : wcsTaskList) {
|
|
|
this.addTask(wcsTask);
|
|
|
}
|