修改库存加锁;

This commit is contained in:
王奎兴
2026-01-28 14:07:18 +08:00
parent 8dbbaa54b9
commit 17e1937be4
2 changed files with 20 additions and 11 deletions
@@ -143,10 +143,22 @@ public class HandoverTaskOrderDomainService {
return false;
}
LoginUser loginUser = SecurityUtils.getLoginUser();
//修改库存
xgkc(handoverTaskOrderIds,loginUser);
return handoverTaskOrderService.update(null, new UpdateWrapper<HandoverTaskOrder>().lambda()
.set(HandoverTaskOrder::getStatus, 2)
.set(HandoverTaskOrder::getUpdateBy, loginUser.getUserid())
.set(HandoverTaskOrder::getUpdateByName, loginUser.getUsername())
.set(HandoverTaskOrder::getUpdateTime, new Date())
.in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds())
);
}
public synchronized void xgkc(List<Long> handoverTaskOrderIds,LoginUser loginUser) {
for (Long handoverTaskOrderId : handoverTaskOrderIds) {
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getById(handoverTaskOrderId);
if (handoverTaskOrder == null) {
return false;
return;
}
//交接完成节点修改库存
String orderNumber = handoverTaskOrder.getOrderNumber();
@@ -212,12 +224,5 @@ public class HandoverTaskOrderDomainService {
}
}
}
return handoverTaskOrderService.update(null, new UpdateWrapper<HandoverTaskOrder>().lambda()
.set(HandoverTaskOrder::getStatus, 2)
.set(HandoverTaskOrder::getUpdateBy, loginUser.getUserid())
.set(HandoverTaskOrder::getUpdateByName, loginUser.getUsername())
.set(HandoverTaskOrder::getUpdateTime, new Date())
.in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds())
);
}
}
@@ -291,7 +291,13 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
stockOutOrderPO.setAllocationQuantity(totalAllocationQuantity);
//保存物料明细信息
saveOrUpdateBatch(outMaterialDetailList);
//分配
//分配(修改库存)
xgkc(outMaterialDetailList,stockOutOrderPO,loginUser);
return stockOutOrderPO;
}
public synchronized void xgkc(List<OutMaterialDetail> outMaterialDetailList,StockOutOrderPO stockOutOrderPO,LoginUser loginUser) {
for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) {
Long materialInventoryId = outMaterialDetail.getMaterialInventoryId();
BigDecimal allocationQuantity = outMaterialDetail.getAllocationQuantity();
@@ -348,8 +354,6 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
inventoryAdjustmentRecordMapper.insert(inventoryAdjustmentRecord);
}
}
return stockOutOrderPO;
}
/**