feat(normal-pgi): 添加批次号支持并优化二维码处理逻辑
- 在PGI控制器中为采购订单项目设置空字符串作为默认批次号 - 修复物料收货数量比较操作符周围的空格格式问题 - 重构二维码处理逻辑,提取批次号信息并存储到集合中 - 将提取的批次号通过逗号连接后设置到申请对象中 - 在QMS服务中为库存申请设置批次号字段
This commit is contained in:
parent
e2039b90d6
commit
1969fabfc9
|
|
@ -410,6 +410,7 @@ public class NormalPGIController extends BaseController {
|
||||||
.setFactory(order.getIuCode())
|
.setFactory(order.getIuCode())
|
||||||
.setInspectionQty(qcItem.getReceiptNum() != null ? qcItem.getReceiptNum().intValue() : 0)
|
.setInspectionQty(qcItem.getReceiptNum() != null ? qcItem.getReceiptNum().intValue() : 0)
|
||||||
.setPurchaseGroup(order.getPurchaseGroup())
|
.setPurchaseGroup(order.getPurchaseGroup())
|
||||||
|
.setBatchNo("")
|
||||||
);
|
);
|
||||||
|
|
||||||
qcDto.getReceiptIds().add(qcItem.getId());
|
qcDto.getReceiptIds().add(qcItem.getId());
|
||||||
|
|
@ -678,7 +679,7 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
for (SrmMaterialReceiptQO item : request) {
|
for (SrmMaterialReceiptQO item : request) {
|
||||||
|
|
||||||
if (item.getReceiptNum().compareTo(BigDecimal.ZERO)==0)
|
if (item.getReceiptNum().compareTo(BigDecimal.ZERO) == 0)
|
||||||
continue;
|
continue;
|
||||||
// 处理二维码
|
// 处理二维码
|
||||||
List<PDAScanCodeQO> autoFindChildCodes = Lists.newArrayList();
|
List<PDAScanCodeQO> autoFindChildCodes = Lists.newArrayList();
|
||||||
|
|
@ -1180,27 +1181,38 @@ public class NormalPGIController extends BaseController {
|
||||||
// pushDto.getContent().getLineVOList().add(srmItem);
|
// pushDto.getContent().getLineVOList().add(srmItem);
|
||||||
// }
|
// }
|
||||||
Set<String> qrCodes = new HashSet<>();
|
Set<String> qrCodes = new HashSet<>();
|
||||||
|
Set<String> batchNos = new HashSet<>();
|
||||||
if (CollectionUtil.isNotEmpty(codes)) {
|
if (CollectionUtil.isNotEmpty(codes)) {
|
||||||
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.lambdaQuery()
|
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.lambdaQuery()
|
||||||
.in(WmsQrCodeMaster::getMaterialCode, codes.stream()
|
.in(WmsQrCodeMaster::getMaterialCode, codes.stream()
|
||||||
.map(SrmMaterialReceiptScanCodes::getCodeId)
|
.map(SrmMaterialReceiptScanCodes::getCodeId)
|
||||||
.toList()
|
.toList()
|
||||||
).list();
|
).list();
|
||||||
|
List<WmsQrCodeMaster> qrCodeMasters0 = qrCodeMasters.stream()
|
||||||
|
.filter(q -> q.getPackagingType() == 0)
|
||||||
|
.toList();
|
||||||
|
batchNos = qrCodeMasters0.stream()
|
||||||
|
.map(WmsQrCodeMaster::getBatchNo)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
qrCodes.addAll(
|
qrCodes.addAll(
|
||||||
qrCodeMasters.stream()
|
qrCodeMasters0.stream()
|
||||||
.filter(q -> q.getPackagingType() == 0)
|
|
||||||
.map(WmsQrCodeMaster::getMaterialCode)
|
.map(WmsQrCodeMaster::getMaterialCode)
|
||||||
.toList()
|
.toList()
|
||||||
);
|
);
|
||||||
|
qrCodeMasters0 = qrCodeMasterService.lambdaQuery()
|
||||||
|
.in(WmsQrCodeMaster::getParentBarcodeId, qrCodeMasters.stream()
|
||||||
|
.filter(q -> q.getPackagingType() == 1)
|
||||||
|
.map(WmsQrCodeMaster::getId)
|
||||||
|
.toList()
|
||||||
|
)
|
||||||
|
.list();
|
||||||
|
batchNos.addAll(
|
||||||
|
qrCodeMasters0.stream()
|
||||||
|
.map(WmsQrCodeMaster::getBatchNo)
|
||||||
|
.collect(Collectors.toSet())
|
||||||
|
);
|
||||||
qrCodes.addAll(
|
qrCodes.addAll(
|
||||||
qrCodeMasterService.lambdaQuery()
|
qrCodeMasters0.stream()
|
||||||
.in(WmsQrCodeMaster::getParentBarcodeId, qrCodeMasters.stream()
|
|
||||||
.filter(q -> q.getPackagingType() == 1)
|
|
||||||
.map(WmsQrCodeMaster::getId)
|
|
||||||
.toList()
|
|
||||||
)
|
|
||||||
.list()
|
|
||||||
.stream()
|
|
||||||
.map(WmsQrCodeMaster::getMaterialCode)
|
.map(WmsQrCodeMaster::getMaterialCode)
|
||||||
.toList()
|
.toList()
|
||||||
);
|
);
|
||||||
|
|
@ -1220,6 +1232,7 @@ public class NormalPGIController extends BaseController {
|
||||||
.setInspectionQty(item.getReceiptNum() != null ? item.getReceiptNum().intValue() : 0)
|
.setInspectionQty(item.getReceiptNum() != null ? item.getReceiptNum().intValue() : 0)
|
||||||
.setPurchaseGroup(order.getPurchaseGroup())
|
.setPurchaseGroup(order.getPurchaseGroup())
|
||||||
.setQrCodes(qrCodes)
|
.setQrCodes(qrCodes)
|
||||||
|
.setBatchNo(StrUtil.join(",", batchNos))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -193,6 +193,7 @@ public class QmsService {
|
||||||
apply.setWarehouse(inventory.getWarehouseNo());
|
apply.setWarehouse(inventory.getWarehouseNo());
|
||||||
apply.setStorageLocation(inventory.getBinLocation());
|
apply.setStorageLocation(inventory.getBinLocation());
|
||||||
apply.setStorageDays((int) LocalDateTimeUtil.between(inventory.getCreateTime(), LocalDateTime.now(), ChronoUnit.DAYS));
|
apply.setStorageDays((int) LocalDateTimeUtil.between(inventory.getCreateTime(), LocalDateTime.now(), ChronoUnit.DAYS));
|
||||||
|
apply.setBatchNo(inventory.getBatchNo());
|
||||||
|
|
||||||
List<String> qrCodes = getInventoryInspectionQrCodes(apply);
|
List<String> qrCodes = getInventoryInspectionQrCodes(apply);
|
||||||
apply.setQrCodes(qrCodes);
|
apply.setQrCodes(qrCodes);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue