Browse Source

保存出库信息时增加乐观锁

liyuan 4 months ago
parent
commit
52c9e5ae4b

+ 6 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java

@@ -187,6 +187,12 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R saveShipMessage(PjShip ship) {
+		if(!org.springframework.util.ObjectUtils.isEmpty(ship.getId())) {
+			PjShip srcShip = baseMapper.selectById(ship.getId());
+			if (ObjectUtils.isNotNull(srcShip) && !Objects.equals(ship.getVersion(), srcShip.getVersion())) {
+				return R.fail(601, "数据已被其他用户更新,请等待刷新后重试");
+			}
+		}
 		//获得所属公司
 		R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
 		if (ObjectUtil.isNotEmpty(dept)) {
@@ -699,7 +705,6 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R outboundCompleted(PjShip ship) {
-		ship.setStatusName(OrderTypeEnum.OURTBOUND.getType());
 		if (ObjectUtils.isNull(ship.getStorageId())) {
 			throw new RuntimeException("请先选择仓库");
 		}