|
@@ -284,7 +284,8 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
return AjaxResult.error("没有查询到订单");
|
|
|
}
|
|
|
if (!orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS00.getValue())
|
|
|
- && !orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS10.getValue())){
|
|
|
+ && !orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS10.getValue())
|
|
|
+ && !orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS22.getValue())){
|
|
|
return AjaxResult.success("出库单状态不可分配!");
|
|
|
}
|
|
|
|
|
@@ -374,7 +375,9 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 筛选出没有被分配过的库存
|
|
|
List<InvLotLocIdForm> invList = invListAll.stream().filter(v -> {
|
|
|
if (StringUtils.isEmpty(v.getLotatt15()) || orderNo.equals(v.getLotatt15())) {
|
|
|
- return true;
|
|
|
+ if (StringUtils.isEmpty(v.getLotatt14())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
return false;
|
|
|
}).collect(Collectors.toList());
|
|
@@ -403,7 +406,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
//可以分配的库存
|
|
|
BigDecimal allocatedQty = inv.getQty().subtract(inv.getQtyallocated());
|
|
|
inv.setQtyallocated(inv.getQtyallocated().add(allocatedQty));
|
|
|
- inv.setQtyallocatedEach(inv.getQtyallocatedEach().add(allocatedQty));
|
|
|
+ inv.setQtyallocatedEach(inv.getQtyallocated());
|
|
|
if (invLotLocIdService.updateInvLotLocId(inv) > 0) {
|
|
|
orderQty = orderQty.subtract(allocatedQty);
|
|
|
//修改出库单状态
|
|
@@ -424,7 +427,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
//可以分配的库存
|
|
|
BigDecimal allocatedQty = inv.getQty().subtract(inv.getQtyallocated());
|
|
|
inv.setQtyallocated(inv.getQtyallocated().add(allocatedQty));
|
|
|
- inv.setQtyallocatedEach(inv.getQtyallocatedEach().add(allocatedQty));
|
|
|
+ inv.setQtyallocatedEach(inv.getQtyallocated());
|
|
|
if (invLotLocIdService.updateInvLotLocId(inv) > 0) {
|
|
|
orderQty = orderQty.subtract(allocatedQty);
|
|
|
//修改出库单状态
|
|
@@ -445,7 +448,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
} else {
|
|
|
BigDecimal currentQty = orderQty;
|
|
|
inv.setQtyallocated(inv.getQtyallocated().add(currentQty));
|
|
|
- inv.setQtyallocatedEach(inv.getQtyallocatedEach().add(currentQty));
|
|
|
+ inv.setQtyallocatedEach(inv.getQtyallocated());
|
|
|
if (invLotLocIdService.updateInvLotLocId(inv) > 0) {
|
|
|
//修改出库单状态
|
|
|
details.setLineStatus(Constant.ORDER_STS.STS20.getValue());
|
|
@@ -492,7 +495,9 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 筛选出没有被分配过的库存
|
|
|
List<InvLotLocIdForm> invList = invListAll.stream().filter(v -> {
|
|
|
if (StringUtils.isEmpty(v.getLotatt15()) || orderNo.equals(v.getLotatt15())) {
|
|
|
- return true;
|
|
|
+ if (StringUtils.isEmpty(v.getLotatt14())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
return false;
|
|
|
}).collect(Collectors.toList());
|
|
@@ -522,7 +527,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
//可以分配的库存
|
|
|
BigDecimal allocatedQty = inv.getQty().subtract(inv.getQtyallocated());
|
|
|
inv.setQtyallocated(inv.getQtyallocated().add(allocatedQty));
|
|
|
- inv.setQtyallocatedEach(inv.getQtyallocatedEach().add(allocatedQty));
|
|
|
+ inv.setQtyallocatedEach(inv.getQtyallocated());
|
|
|
if (invLotLocIdService.updateInvLotLocId(inv) > 0) {
|
|
|
orderQty = orderQty.subtract(allocatedQty);
|
|
|
//修改出库单状态
|
|
@@ -543,7 +548,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
//可以分配的库存
|
|
|
BigDecimal allocatedQty = inv.getQty().subtract(inv.getQtyallocated());
|
|
|
inv.setQtyallocated(inv.getQtyallocated().add(allocatedQty));
|
|
|
- inv.setQtyallocatedEach(inv.getQtyallocatedEach().add(allocatedQty));
|
|
|
+ inv.setQtyallocatedEach(inv.getQtyallocated());
|
|
|
if (invLotLocIdService.updateInvLotLocId(inv) > 0) {
|
|
|
orderQty = orderQty.subtract(allocatedQty);
|
|
|
//修改出库单状态
|
|
@@ -564,7 +569,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
} else {
|
|
|
BigDecimal currentQty = orderQty;
|
|
|
inv.setQtyallocated(inv.getQtyallocated().add(currentQty));
|
|
|
- inv.setQtyallocatedEach(inv.getQtyallocatedEach().add(currentQty));
|
|
|
+ inv.setQtyallocatedEach(inv.getQtyallocated());
|
|
|
if (invLotLocIdService.updateInvLotLocId(inv) > 0) {
|
|
|
//修改出库单状态
|
|
|
details.setLineStatus(Constant.ORDER_STS.STS20.getValue());
|
|
@@ -762,10 +767,10 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
invLocIdSearchFrom.setLotatt15(orderNo);
|
|
|
}
|
|
|
List<InvLotLocIdLotattVO> invLotLocIdLotattVOS = invLotLocIdService.selectInvLocIdLotattList(invLocIdSearchFrom);
|
|
|
- invLotLocIdLotattVOS.forEach(v->{
|
|
|
+ for (InvLotLocIdLotattVO v : invLotLocIdLotattVOS) {
|
|
|
if (v.getStockStatus().equals(Constant.STOCK_STATUS.STOCK00.getValue())
|
|
|
&& v.getIsEmpty().equals(Constant.IS_YES.N.name())
|
|
|
- &&v.getZoneId().equals(Constant.ZONE_TYPE.ZONE_INV.getValue())) {
|
|
|
+ &&v.getZoneId().equals(Constant.ZONE_TYPE.ZONE_INV.getValue().toString())) {
|
|
|
if (!locationSet.contains(v.getLocationNo())) {
|
|
|
CheckOutVO checkOutVO = new CheckOutVO();
|
|
|
checkOutVO.setOrderNo(wmsDocOrderHeader.getSoReference1());
|
|
@@ -775,7 +780,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
locationSet.add(v.getLocationNo());
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
}
|
|
|
return endCheckOutVOList;
|
|
|
// return wmsDocOrderHeaderMapper.selectCheckOutList(orderNoList);
|
|
@@ -786,6 +791,11 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
public AjaxResult doCheckout(CheckOutInfoForm check) {
|
|
|
String orderNo = check.getOrderNo();
|
|
|
String palletNo = check.getPalletNo();
|
|
|
+ // 验证出库单号
|
|
|
+ WmsDocOrderHeader wmsDocOrderHeader = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByErpNo(orderNo);
|
|
|
+ if (wmsDocOrderHeader == null) {
|
|
|
+ return AjaxResult.error("对应出库单号不存在!");
|
|
|
+ }
|
|
|
//生成任务呼叫到接驳位
|
|
|
BaseLocationInfo baseLocationInfo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(check.getLocationNo(), Constant.WAREHOUSE_ID);
|
|
|
FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById((long)Constant.FLOW_ID_SO);
|
|
@@ -797,7 +807,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
agvCallDTO.setWarehouseId(Constant.WAREHOUSE_ID);
|
|
|
// 参数内容过长无法添加
|
|
|
agvCallDTO.setExtParam("");
|
|
|
- agvCallDTO.setOrderNo(orderNo);
|
|
|
+ agvCallDTO.setOrderNo(wmsDocOrderHeader.getOrderNo());
|
|
|
agvCallDTO.setTaskType(Constant.FLOW_ID_SO + "");
|
|
|
AjaxResult result = businessService.agvCall(flowConfigHeaderVO, agvCallDTO);
|
|
|
if ((int) result.get(AjaxResult.CODE_TAG) == 500) {
|