修改库存加锁;

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; return false;
} }
LoginUser loginUser = SecurityUtils.getLoginUser(); 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) { for (Long handoverTaskOrderId : handoverTaskOrderIds) {
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getById(handoverTaskOrderId); HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getById(handoverTaskOrderId);
if (handoverTaskOrder == null) { if (handoverTaskOrder == null) {
return false; return;
} }
//交接完成节点修改库存 //交接完成节点修改库存
String orderNumber = handoverTaskOrder.getOrderNumber(); 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); stockOutOrderPO.setAllocationQuantity(totalAllocationQuantity);
//保存物料明细信息 //保存物料明细信息
saveOrUpdateBatch(outMaterialDetailList); saveOrUpdateBatch(outMaterialDetailList);
//分配 //分配(修改库存)
xgkc(outMaterialDetailList,stockOutOrderPO,loginUser);
return stockOutOrderPO;
}
public synchronized void xgkc(List<OutMaterialDetail> outMaterialDetailList,StockOutOrderPO stockOutOrderPO,LoginUser loginUser) {
for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) { for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) {
Long materialInventoryId = outMaterialDetail.getMaterialInventoryId(); Long materialInventoryId = outMaterialDetail.getMaterialInventoryId();
BigDecimal allocationQuantity = outMaterialDetail.getAllocationQuantity(); BigDecimal allocationQuantity = outMaterialDetail.getAllocationQuantity();
@@ -348,8 +354,6 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
inventoryAdjustmentRecordMapper.insert(inventoryAdjustmentRecord); inventoryAdjustmentRecordMapper.insert(inventoryAdjustmentRecord);
} }
} }
return stockOutOrderPO;
} }
/** /**