select
p.stockId,
p.prodId,
p.pprId,
p.vendorId,
p.stockQty,
p.availQty,
p.delFlag,
p.createUser,
p.createTime,
p.updateUser,
p.updateTime,
pp.prodName,
mp.prodkindId,
pk.prodkindName,
ppr.pprName
from t_prod_stock p
inner join m_prod pp on p.prodId = pp.prodId
inner join m_merc_prod mp on p.prodId = mp.prodId and p.vendorId = mp.mercId
inner join m_prodkind pk on mp.prodkindId = pk.prodkindId
inner join m_prod_prop_relation ppr on p.pprId = ppr.pprId
update t_prod_stock
stockQty = ifnull(stockQty, 0) + #{stockQty},
stockQty = ifnull(stockQty, 0) - #{stockQty},
availQty = ifnull(availQty, 0) + #{availQty},
availQty = ifnull(availQty, 0) - #{availQty},
updateUser = #{updateUser},
updateTime = #{updateTime},
where stockId = #{stockId}
and stockQty - #{stockQty} >= 0
and availQty - #{availQty} >= 0
update t_prod_stock
stockQty = ifnull(stockQty, 0) + #{stockQty},
stockQty = ifnull(stockQty, 0) - #{stockQty},
availQty = ifnull(availQty, 0) + #{availQty},
availQty = ifnull(availQty, 0) - #{availQty},
updateUser = #{updateUser},
updateTime = #{updateTime},
where prodId = #{prodId} and pprId = #{pprId} and vendorId = #{vendorId}
and stockQty - #{stockQty} >= 0
and availQty - #{availQty} >= 0