refactor(qrcode): 优化条码处理逻辑并完善收货确认流程
- 修改getByCodes方法参数类型为Collection,增强接口灵活性 - 移除无用存储位数据集合,简化代码结构 - 实现条码状态校验,防止异常状态条码入库 - 增加对子码和父码的同步处理,保证条码信息完整性 - 优化批量更新条码状态及位置信息,统一设置扫码信息 - 删除冗余扫码条码处理代码,使用统一条码批量处理逻辑 - 添加验证注解,强化PoReceiveTaskConfirmQO及其子项的有效性校验 - 调整收货确认服务方法参数,去除废弃参数 - 精简import语句,优化代码整洁度
This commit is contained in:
parent
9ec0603c06
commit
df569fa6cc
|
|
@ -49,10 +49,7 @@ import java.math.BigDecimal;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -128,7 +125,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 送货单列表
|
* 送货单列表
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -140,7 +136,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 送货单详情
|
* 送货单详情
|
||||||
*
|
|
||||||
* @param orderId 订单ID
|
* @param orderId 订单ID
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -157,7 +152,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取扫码的详情信息
|
* 获取扫码的详情信息
|
||||||
*
|
|
||||||
* @param orderItemId 订单项ID
|
* @param orderItemId 订单项ID
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -172,7 +166,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扫描送货单号获取送货单详情(PDA)
|
* 扫描送货单号获取送货单详情(PDA)
|
||||||
*
|
|
||||||
* @param orderNo 送货单号
|
* @param orderNo 送货单号
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -186,7 +179,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收货确认(PDA使用)
|
* 收货确认(PDA使用)
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -323,7 +315,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 普通物料的上架任务(PDA)
|
* 普通物料的上架任务(PDA)
|
||||||
*
|
|
||||||
* @param orederNo 送货单号或是任务单号
|
* @param orederNo 送货单号或是任务单号
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -351,7 +342,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购物料入库确认(PDA)
|
* 采购物料入库确认(PDA)
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -373,11 +363,8 @@ public class NormalPGIController extends BaseController {
|
||||||
.list();
|
.list();
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(wmsPoReceiptItems)).throwMessage("获取入库详情失败");
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(wmsPoReceiptItems)).throwMessage("获取入库详情失败");
|
||||||
List<WmsPoReceiptItem> receiptItems = new ArrayList<>();
|
List<WmsPoReceiptItem> receiptItems = new ArrayList<>();
|
||||||
List<StorageLocationDTO> storageLocationDTOS = new ArrayList<>();
|
|
||||||
List<InventoryInDTO> inventories = new ArrayList<>();
|
List<InventoryInDTO> inventories = new ArrayList<>();
|
||||||
List<ZWM3A17DTO> zwm3A17DTOS = new ArrayList<>();
|
List<ZWM3A17DTO> zwm3A17DTOS = new ArrayList<>();
|
||||||
List<SrmMaterialReceiptScanCodes> scanCodes = new ArrayList<>();
|
|
||||||
List<WmsQrCodeMaster> qrCodeMasters = new ArrayList<>();
|
|
||||||
for (WmsPoReceiptItem item : wmsPoReceiptItems) {
|
for (WmsPoReceiptItem item : wmsPoReceiptItems) {
|
||||||
PoReceiveTaskItemConfirmQO qo = request.getItems().stream()
|
PoReceiveTaskItemConfirmQO qo = request.getItems().stream()
|
||||||
.filter(q -> q.getId().equals(item.getId()))
|
.filter(q -> q.getId().equals(item.getId()))
|
||||||
|
|
@ -385,23 +372,12 @@ public class NormalPGIController extends BaseController {
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
if (Objects.isNull(qo))
|
if (Objects.isNull(qo))
|
||||||
continue;
|
continue;
|
||||||
// item.setCrossQty(qo.getCrossQty());
|
|
||||||
item.setReceivedWarehouse(qo.getReceivedWarehouse());
|
item.setReceivedWarehouse(qo.getReceivedWarehouse());
|
||||||
item.setInQty(item.getReceiptNum());
|
item.setInQty(item.getReceiptNum());
|
||||||
item.setUpdateTime(LocalDateTime.now());
|
item.setUpdateTime(LocalDateTime.now());
|
||||||
item.setUpdateUserId(UserUtil.getUserId());
|
item.setUpdateUserId(UserUtil.getUserId());
|
||||||
item.setUpdateUserName(UserUtil.getUserName());
|
item.setUpdateUserName(UserUtil.getUserName());
|
||||||
receiptItems.add(item);
|
receiptItems.add(item);
|
||||||
//储位处理
|
|
||||||
// if (StrUtil.isNotBlank(qo.getStorageLocationNew()) && qo.getStorageLocation().equals(qo.getStorageLocationNew())) {
|
|
||||||
// List<String> bins = Arrays.asList(item.getStorageLocation().split("/"));
|
|
||||||
// storageLocationDTOS.add(new StorageLocationDTO()
|
|
||||||
// .setBinNos(bins)
|
|
||||||
// .setMaterialNo(item.getItemCode())
|
|
||||||
// .setWarehouseNo(item.getReceivedWarehouse())
|
|
||||||
// .setFactory(wmsPoReceipt.getFactoryCode())
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
|
|
||||||
// SAP 和条码处理
|
// SAP 和条码处理
|
||||||
//传入SAP的信息
|
//传入SAP的信息
|
||||||
|
|
@ -418,35 +394,84 @@ public class NormalPGIController extends BaseController {
|
||||||
zwm3A17DTOS.add(zwm3A17DTO);
|
zwm3A17DTOS.add(zwm3A17DTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map<String, String> codeBinNoMap = request.getItems().stream()
|
||||||
|
.map(PoReceiveTaskItemConfirmQO::getItems)
|
||||||
|
.flatMap(List::stream)
|
||||||
|
.collect(Collectors.toMap(InCostCenterBackSubmitItemQRQO::getQrCode, InCostCenterBackSubmitItemQRQO::getBinNo));
|
||||||
|
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByCodes(codeBinNoMap.keySet());
|
||||||
|
List<String> tmpQrCodes = qrCodeMasters.stream()
|
||||||
|
.filter(qrCodeMaster -> !Objects.equals(qrCodeMaster.getProcessStage(), BarCodeProcessStage.Received.getState()))
|
||||||
|
.map(WmsQrCodeMaster::getBarcodeCode)
|
||||||
|
.toList();
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(tmpQrCodes))
|
||||||
|
.throwMessage("条码状态异常:" + String.join(",", tmpQrCodes));
|
||||||
|
List<Long> tmpQrCodes1 = qrCodeMasters.stream()
|
||||||
|
.filter(qrCodeMaster -> qrCodeMaster.getPackagingType() == 1)
|
||||||
|
.map(WmsQrCodeMaster::getId)
|
||||||
|
.toList();
|
||||||
|
if (CollectionUtil.isNotEmpty(tmpQrCodes1)) {
|
||||||
|
//查询子码
|
||||||
|
qrCodeMasters.addAll(qrCodeMasterService.lambdaQuery()
|
||||||
|
.eq(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.Received.getState())
|
||||||
|
.in(WmsQrCodeMaster::getParentBarcodeId, tmpQrCodes1)
|
||||||
|
.notIn(WmsQrCodeMaster::getBarcodeCode, codeBinNoMap.keySet())
|
||||||
|
.list()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Set<Long> tmpQrCodes2 = qrCodeMasters.stream()
|
||||||
|
.map(WmsQrCodeMaster::getParentBarcodeId)
|
||||||
|
.filter(parentBarcodeId -> parentBarcodeId > 0)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
tmpQrCodes1.forEach(tmpQrCodes2::remove);
|
||||||
|
if (CollectionUtil.isNotEmpty(tmpQrCodes2)) {
|
||||||
|
//处理子码的父码
|
||||||
|
List<WmsQrCodeMaster> parentQrCodeMasters = qrCodeMasterService.listByIds(tmpQrCodes2);
|
||||||
|
List<WmsQrCodeMaster> childQrCodeMasters = qrCodeMasterService.lambdaQuery()
|
||||||
|
.eq(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.Received.getState())
|
||||||
|
.in(WmsQrCodeMaster::getParentBarcodeId, tmpQrCodes2)
|
||||||
|
.list();
|
||||||
|
parentQrCodeMasters.removeIf(p ->
|
||||||
|
!childQrCodeMasters.stream()
|
||||||
|
.filter(c -> Objects.equals(c.getParentBarcodeId(), p.getId()))
|
||||||
|
.map(WmsQrCodeMaster::getId)
|
||||||
|
.collect(Collectors.toSet())
|
||||||
|
.equals(
|
||||||
|
qrCodeMasters.stream()
|
||||||
|
.filter(qrCodeMaster -> Objects.equals(qrCodeMaster.getParentBarcodeId(), p.getId()))
|
||||||
|
.map(WmsQrCodeMaster::getId)
|
||||||
|
.collect(Collectors.toSet())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
//如果父码的子码都已扫码
|
||||||
|
if (CollectionUtil.isNotEmpty(parentQrCodeMasters)) {
|
||||||
|
qrCodeMasters.addAll(parentQrCodeMasters);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
qrCodeMasters.sort(Comparator.comparing(WmsQrCodeMaster::getPackagingType).reversed());
|
||||||
|
qrCodeMasters.forEach(qrCodeMaster -> {
|
||||||
|
qrCodeMaster.setProcessStage(BarCodeProcessStage.InBound.getState());
|
||||||
|
qrCodeMaster.setStorageLocation(qo.getReceivedWarehouse());
|
||||||
|
qrCodeMaster.setLastScanBy(UserUtil.getUserId());
|
||||||
|
qrCodeMaster.setLastScanByname(UserUtil.getUserName());
|
||||||
|
qrCodeMaster.setLastScanTime(LocalDateTime.now());
|
||||||
|
String binNo = codeBinNoMap.get(qrCodeMaster.getBarcodeCode());
|
||||||
|
if (StrUtil.isNotBlank(binNo)) {
|
||||||
|
qrCodeMaster.setBinLocation(binNo);
|
||||||
|
if (qrCodeMaster.getPackagingType() == 1) {
|
||||||
|
qrCodeMasters.stream()
|
||||||
|
.filter(qr -> Objects.equals(qr.getParentBarcodeId(), qrCodeMaster.getId()))
|
||||||
|
.forEach(qr -> qr.setBinLocation(binNo));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
qrCodeMasterService.updateBarCode(qrCodeMasters);
|
||||||
|
|
||||||
List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1();
|
List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1();
|
||||||
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
|
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
|
||||||
|
|
||||||
List<SrmMaterialReceiptScanCodes> scanCode = srmMaterialReceiptScanCodesRepository.findByReceiveItemId(item.getId());
|
qrCodeMasters.stream()
|
||||||
if (CollectionUtil.isNotEmpty(scanCode)) {
|
.filter(qrCodeMaster -> qrCodeMaster.getPackagingType() == 0)
|
||||||
scanCode = scanCode.stream().filter(code -> code.getIsIntoStorage() == false)
|
.forEach(qrCodeMaster -> {
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(scanCode)) {
|
|
||||||
scanCode.forEach(code -> {
|
|
||||||
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.getByCode(code.getCodeId());
|
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("条码不存在");
|
|
||||||
qrCodeMaster.setProcessStage(BarCodeProcessStage.InBound.getState())
|
|
||||||
.setLastScanBy(UserUtil.getUserId())
|
|
||||||
.setLastScanByname(UserUtil.getUserName())
|
|
||||||
.setLastScanTime(LocalDateTime.now());
|
|
||||||
if (CollectionUtil.isNotEmpty(qo.getItems())) {
|
|
||||||
InCostCenterBackSubmitItemQRQO qrqo = qo.getItems()
|
|
||||||
.stream()
|
|
||||||
.filter(iit -> iit.getQrCode().contains(code.getCodeId()))
|
|
||||||
.findFirst()
|
|
||||||
.orElse(null);
|
|
||||||
if (Objects.nonNull(qrqo)) {
|
|
||||||
qrCodeMaster.setBinLocation(qrqo.getBinNo());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
qrCodeMasters.add(qrCodeMaster);
|
|
||||||
if (qrCodeMaster.getPackagingType() == 0) {
|
|
||||||
// 库存
|
// 库存
|
||||||
InventoryInDTO inventoryDTO = inventories.stream()
|
InventoryInDTO inventoryDTO = inventories.stream()
|
||||||
.filter(inventoriesDTO -> inventoriesDTO.getMaterialNo().equals(item.getItemCode())
|
.filter(inventoriesDTO -> inventoriesDTO.getMaterialNo().equals(item.getItemCode())
|
||||||
|
|
@ -474,7 +499,7 @@ public class NormalPGIController extends BaseController {
|
||||||
dto1.getEBELP().equals(item.getPoLineNumber())
|
dto1.getEBELP().equals(item.getPoLineNumber())
|
||||||
&& dto1.getMATNR().equals(item.getItemCode())
|
&& dto1.getMATNR().equals(item.getItemCode())
|
||||||
&& dto1.getMeins().equals(item.getUomCode())
|
&& dto1.getMeins().equals(item.getUomCode())
|
||||||
&& dto1.getCHARG().equals(code.getBatchNumber())
|
&& dto1.getCHARG().equals(qrCodeMaster.getBatchNo())
|
||||||
&& dto1.getWERKS().equals(wmsPoReceipt.getFactoryCode())
|
&& dto1.getWERKS().equals(wmsPoReceipt.getFactoryCode())
|
||||||
&& dto1.getLGORT().equals(item.getReceivedWarehouse())
|
&& dto1.getLGORT().equals(item.getReceivedWarehouse())
|
||||||
).findFirst().orElse(null);
|
).findFirst().orElse(null);
|
||||||
|
|
@ -482,76 +507,24 @@ public class NormalPGIController extends BaseController {
|
||||||
item1.add(new ZWM3A17Item1DTO()
|
item1.add(new ZWM3A17Item1DTO()
|
||||||
.setEBELP(item.getPoLineNumber())
|
.setEBELP(item.getPoLineNumber())
|
||||||
.setMATNR(item.getItemCode())
|
.setMATNR(item.getItemCode())
|
||||||
.setERFMG(code.getCodeNum())
|
.setERFMG(qrCodeMaster.getQuantity())
|
||||||
.setMEINS(item.getUomCode())
|
.setMEINS(item.getUomCode())
|
||||||
.setCHARG(code.getBatchNumber())
|
.setCHARG(qrCodeMaster.getBatchNo())
|
||||||
.setWERKS(wmsPoReceipt.getFactoryCode())
|
.setWERKS(wmsPoReceipt.getFactoryCode())
|
||||||
.setLGORT(item.getReceivedWarehouse())
|
.setLGORT(item.getReceivedWarehouse())
|
||||||
.setKZKRI("")
|
.setKZKRI("")
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(code.getCodeNum()));
|
ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(qrCodeMaster.getQuantity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
item2.add(new ZWM3A17Item2DTO()
|
item2.add(new ZWM3A17Item2DTO()
|
||||||
.setEBELP(item.getPoLineNumber())
|
.setEBELP(item.getPoLineNumber())
|
||||||
.setFLAG("")
|
.setFLAG("")
|
||||||
.setSERNR(code.getSerialNumbers()));
|
.setSERNR(qrCodeMaster.getSerialNo()));
|
||||||
|
|
||||||
scanCodes.add(code);
|
|
||||||
// WmsQrCodeMaster wmsQrCodeMaster = new WmsQrCodeMaster()
|
|
||||||
// .setBarcodeCode(code.getCodeId())
|
|
||||||
// .setBarcodeType((short) 1)
|
|
||||||
// .setProcessStage(BarCodeProcessStage.InBound.getState())
|
|
||||||
// .setLastScanBy(UserUtil.getUserId())
|
|
||||||
// .setLastScanByname(UserUtil.getUserName())
|
|
||||||
// .setLastScanTime(LocalDateTime.now());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
// 库存
|
|
||||||
InventoryInDTO inventoryDTO = new InventoryInDTO()
|
|
||||||
.setMaterialNo(item.getItemCode())
|
|
||||||
.setFactoryNo(wmsPoReceipt.getFactoryCode())
|
|
||||||
.setWarehouseNo(item.getReceivedWarehouse())
|
|
||||||
.setBatchNo("")
|
|
||||||
.setSerialNo("")
|
|
||||||
.setNum(item.getInQty());
|
|
||||||
inventories.add(inventoryDTO);
|
|
||||||
|
|
||||||
item1.add(new ZWM3A17Item1DTO()
|
|
||||||
.setEBELP(item.getPoLineNumber())
|
|
||||||
.setMATNR(item.getItemCode())
|
|
||||||
.setERFMG(item.getInQty())
|
|
||||||
.setMEINS(item.getUomCode())
|
|
||||||
.setCHARG("")
|
|
||||||
.setWERKS(wmsPoReceipt.getFactoryCode())
|
|
||||||
.setLGORT(item.getReceivedWarehouse())
|
|
||||||
.setKZKRI("")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(qrCodeMasters)) {
|
|
||||||
//同步箱码信息到物料码中
|
|
||||||
qrCodeMasters.stream()
|
|
||||||
.filter(qr -> qr.getPackagingType() == 1)
|
|
||||||
.forEach(p -> {
|
|
||||||
qrCodeMasters.stream()
|
|
||||||
.filter(qr -> Objects.equals(qr.getParentBarcodeId(), p.getId()))
|
|
||||||
.forEach(c -> {
|
|
||||||
c.setProcessStage(p.getProcessStage());
|
|
||||||
c.setLastScanBy(UserUtil.getUserId());
|
|
||||||
c.setLastScanByname(UserUtil.getUserName());
|
|
||||||
c.setLastScanTime(LocalDateTime.now());
|
|
||||||
c.setFactoryCode(p.getFactoryCode());
|
|
||||||
c.setStorageLocation(p.getStorageLocation());
|
|
||||||
c.setBinLocation(p.getBinLocation());
|
|
||||||
c.setReceiptItemId(p.getReceiptItemId());
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
qrCodeMasterService.updateBarCode(qrCodeMasters);
|
|
||||||
}
|
}
|
||||||
normalPGIControllerService.takeDeliveryConfirm(receiptItems, storageLocationDTOS, inventories, zwm3A17DTOS, request.getTaskId(), scanCodes);
|
normalPGIControllerService.takeDeliveryConfirm(receiptItems, inventories, zwm3A17DTOS, request.getTaskId());
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -574,7 +547,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收货直接入库的(未启用储位管理)
|
* 收货直接入库的(未启用储位管理)
|
||||||
*
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private void setPoReceiveByIn(SrmMaterialReceiptQO item,
|
private void setPoReceiveByIn(SrmMaterialReceiptQO item,
|
||||||
|
|
@ -824,7 +796,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一键收货查询
|
* 一键收货查询
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1001,7 +972,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一键收货(无码)
|
* 一键收货(无码)
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1113,7 +1083,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购物料上架确认(无码)
|
* 采购物料上架确认(无码)
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1419,7 +1388,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过打包码获取到打包码的信息
|
* 通过打包码获取到打包码的信息
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1438,7 +1406,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取打包码对应的送货单信息
|
* 获取打包码对应的送货单信息
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1451,7 +1418,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据送货单单号和大码的ID获取到具体的物料信息
|
* 根据送货单单号和大码的ID获取到具体的物料信息
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1464,7 +1430,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据送货单单号和大码的ID获取到具体的物料信息
|
* 根据送货单单号和大码的ID获取到具体的物料信息
|
||||||
*
|
|
||||||
* @param request id= 大码的ID
|
* @param request id= 大码的ID
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1486,7 +1451,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过打包码获取到物料信息
|
* 通过打包码获取到物料信息
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1505,7 +1469,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认收货(无需扫码)
|
* 确认收货(无需扫码)
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -1580,7 +1543,7 @@ public class NormalPGIController extends BaseController {
|
||||||
List<PDAScanCodeQO> scanCodes = new ArrayList<>();
|
List<PDAScanCodeQO> scanCodes = new ArrayList<>();
|
||||||
List<WmsPackageItemDetailDTO> dtos1 = dtos.stream()
|
List<WmsPackageItemDetailDTO> dtos1 = dtos.stream()
|
||||||
.filter(dto -> dto.getSrmOrderItemId().equals(item.getId())
|
.filter(dto -> dto.getSrmOrderItemId().equals(item.getId())
|
||||||
&&dto.getPackagingType()==0
|
&& dto.getPackagingType() == 0
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
for (WmsPackageItemDetailDTO dto : dtos1) {
|
for (WmsPackageItemDetailDTO dto : dtos1) {
|
||||||
PDAScanCodeQO scanCode = new PDAScanCodeQO();
|
PDAScanCodeQO scanCode = new PDAScanCodeQO();
|
||||||
|
|
@ -1710,7 +1673,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认收货(需扫码)
|
* 确认收货(需扫码)
|
||||||
*
|
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -294,11 +294,11 @@ public class NormalPGIControllerService {
|
||||||
@Transactional
|
@Transactional
|
||||||
public void takeDeliveryConfirm(
|
public void takeDeliveryConfirm(
|
||||||
List<WmsPoReceiptItem> wmsPoReceiptItems,
|
List<WmsPoReceiptItem> wmsPoReceiptItems,
|
||||||
List<StorageLocationDTO> storageLocationDTOS,
|
// List<StorageLocationDTO> storageLocationDTOS,
|
||||||
List<InventoryInDTO> inventories,
|
List<InventoryInDTO> inventories,
|
||||||
List<ZWM3A17DTO> zwm3A17DTOS,
|
List<ZWM3A17DTO> zwm3A17DTOS,
|
||||||
Long taskId,
|
Long taskId
|
||||||
List<SrmMaterialReceiptScanCodes> scanCodes
|
// List<SrmMaterialReceiptScanCodes> scanCodes
|
||||||
) {
|
) {
|
||||||
if (CollectionUtil.isNotEmpty(wmsPoReceiptItems)) {
|
if (CollectionUtil.isNotEmpty(wmsPoReceiptItems)) {
|
||||||
wmsPoReceiptItemService.updateBatchById(wmsPoReceiptItems);
|
wmsPoReceiptItemService.updateBatchById(wmsPoReceiptItems);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
package com.nflg.wms.common.pojo.qo;
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|
@ -13,6 +16,7 @@ public class PoReceiveTaskConfirmQO {
|
||||||
/**
|
/**
|
||||||
* 任务ID
|
* 任务ID
|
||||||
*/
|
*/
|
||||||
|
@NotNull
|
||||||
private Long taskId;
|
private Long taskId;
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
|
|
@ -23,5 +27,7 @@ public class PoReceiveTaskConfirmQO {
|
||||||
/**
|
/**
|
||||||
* 入库详情
|
* 入库详情
|
||||||
*/
|
*/
|
||||||
|
@Valid
|
||||||
|
@NotEmpty
|
||||||
private List<PoReceiveTaskItemConfirmQO> items;
|
private List<PoReceiveTaskItemConfirmQO> items;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.nflg.wms.common.pojo.qo;
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|
@ -12,6 +14,7 @@ public class PoReceiveTaskItemConfirmQO {
|
||||||
/**
|
/**
|
||||||
* 收货单详情ID
|
* 收货单详情ID
|
||||||
*/
|
*/
|
||||||
|
@NotNull
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
|
|
@ -37,5 +40,6 @@ public class PoReceiveTaskItemConfirmQO {
|
||||||
* 二维码列表
|
* 二维码列表
|
||||||
*/
|
*/
|
||||||
@Valid
|
@Valid
|
||||||
|
@NotEmpty
|
||||||
private List<InCostCenterBackSubmitItemQRQO> items;
|
private List<InCostCenterBackSubmitItemQRQO> items;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import com.nflg.wms.repository.entity.WmsTransferOrders;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -43,7 +44,7 @@ public interface IWmsQrCodeMasterService extends IService<WmsQrCodeMaster> {
|
||||||
|
|
||||||
// void updateBatchByCode(List<WmsQrCodeMaster> qrCodeMasters);
|
// void updateBatchByCode(List<WmsQrCodeMaster> qrCodeMasters);
|
||||||
|
|
||||||
List<WmsQrCodeMaster> getByCodes(List<String> qrCodes);
|
List<WmsQrCodeMaster> getByCodes(Collection<String> qrCodes);
|
||||||
|
|
||||||
WmsQrCodeMaster getByCode(String qrCode);
|
WmsQrCodeMaster getByCode(String qrCode);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ import org.springframework.retry.annotation.Retryable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -167,7 +168,7 @@ public class WmsQrCodeMasterServiceImpl extends ServiceImpl<WmsQrCodeMasterMappe
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WmsQrCodeMaster> getByCodes(List<String> qrCodes) {
|
public List<WmsQrCodeMaster> getByCodes(Collection<String> qrCodes) {
|
||||||
return lambdaQuery()
|
return lambdaQuery()
|
||||||
.in(WmsQrCodeMaster::getBarcodeCode, qrCodes)
|
.in(WmsQrCodeMaster::getBarcodeCode, qrCodes)
|
||||||
.list();
|
.list();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue