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