收货去掉批次号重复校验
This commit is contained in:
+34
-34
@@ -1301,40 +1301,40 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl<ReceiptMaterialDetail
|
|||||||
// 校验批次号唯一性:货主+商品+库存属性值相同时,批次号不能重复
|
// 校验批次号唯一性:货主+商品+库存属性值相同时,批次号不能重复
|
||||||
|
|
||||||
// 校验批次号:仅本入库单范围内,货主+商品+库存属性+批次在库存中是否已存在(不同入库单允许相同批次号)
|
// 校验批次号:仅本入库单范围内,货主+商品+库存属性+批次在库存中是否已存在(不同入库单允许相同批次号)
|
||||||
if (shipperId != null && materialBaseInfoId != null && batchNumber != null && !batchNumber.trim().isEmpty()) {
|
// if (shipperId != null && materialBaseInfoId != null && batchNumber != null && !batchNumber.trim().isEmpty()) {
|
||||||
if (StringUtils.isBlank(currentInOrderNumber)) {
|
// if (StringUtils.isBlank(currentInOrderNumber)) {
|
||||||
log.warn("batchReceiptUpdate:未解析到入库单号,跳过库存批次重复校验,receiptOrderNumber={}",
|
// log.warn("batchReceiptUpdate:未解析到入库单号,跳过库存批次重复校验,receiptOrderNumber={}",
|
||||||
receiptMaterialDetailDO != null ? receiptMaterialDetailDO.getReceiptOrderNumber() : null);
|
// receiptMaterialDetailDO != null ? receiptMaterialDetailDO.getReceiptOrderNumber() : null);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MaterialInventory> wrapper =
|
// com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MaterialInventory> wrapper =
|
||||||
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MaterialInventory>()
|
// new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MaterialInventory>()
|
||||||
.eq(MaterialInventory::getShipperId, shipperId)
|
// .eq(MaterialInventory::getShipperId, shipperId)
|
||||||
.eq(MaterialInventory::getMaterialBaseInfoId, materialBaseInfoId)
|
// .eq(MaterialInventory::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
.eq(MaterialInventory::getBatchNumber, batchNumber)
|
// .eq(MaterialInventory::getBatchNumber, batchNumber)
|
||||||
.eq(MaterialInventory::getDelFlag, 1)
|
// .eq(MaterialInventory::getDelFlag, 1)
|
||||||
.eq(MaterialInventory::getInOrderNumber, currentInOrderNumber);
|
// .eq(MaterialInventory::getInOrderNumber, currentInOrderNumber);
|
||||||
|
//
|
||||||
// 如果库存属性值不为空,需要精确匹配;如果为空,查询库存属性值为空或null的记录
|
// // 如果库存属性值不为空,需要精确匹配;如果为空,查询库存属性值为空或null的记录
|
||||||
if (materialStatusCode != null && !materialStatusCode.trim().isEmpty()) {
|
// if (materialStatusCode != null && !materialStatusCode.trim().isEmpty()) {
|
||||||
wrapper.eq(MaterialInventory::getMaterialStatusCode, materialStatusCode);
|
// wrapper.eq(MaterialInventory::getMaterialStatusCode, materialStatusCode);
|
||||||
} else {
|
// } else {
|
||||||
wrapper.and(w -> w.isNull(MaterialInventory::getMaterialStatusCode)
|
// wrapper.and(w -> w.isNull(MaterialInventory::getMaterialStatusCode)
|
||||||
.or()
|
// .or()
|
||||||
.eq(MaterialInventory::getMaterialStatusCode, ""));
|
// .eq(MaterialInventory::getMaterialStatusCode, ""));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
List<MaterialInventory> existingInventoryList = materialInventoryMapper.selectList(wrapper);
|
// List<MaterialInventory> existingInventoryList = materialInventoryMapper.selectList(wrapper);
|
||||||
|
//
|
||||||
if (!CollectionUtils.isEmpty(existingInventoryList)) {
|
// if (!CollectionUtils.isEmpty(existingInventoryList)) {
|
||||||
String statusCodeDesc = (materialStatusCode != null && !materialStatusCode.trim().isEmpty())
|
// String statusCodeDesc = (materialStatusCode != null && !materialStatusCode.trim().isEmpty())
|
||||||
? ",库存属性值:" + materialStatusCode
|
// ? ",库存属性值:" + materialStatusCode
|
||||||
: ",库存属性值:空";
|
// : ",库存属性值:空";
|
||||||
throw new ServiceException("批次号【" + batchNumber + "】在本入库单「" + currentInOrderNumber
|
// throw new ServiceException("批次号【" + batchNumber + "】在本入库单「" + currentInOrderNumber
|
||||||
+ "」下已存在库存,货主ID【" + shipperId + "】+商品ID【" + materialBaseInfoId + "】" + statusCodeDesc
|
// + "」下已存在库存,货主ID【" + shipperId + "】+商品ID【" + materialBaseInfoId + "】" + statusCodeDesc
|
||||||
+ ",不允许重复使用");
|
// + ",不允许重复使用");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user