|
@@ -1597,42 +1597,19 @@ func OrderDeductNum(c *gin.Context) { |
|
|
e.OutErr(c, 400, e.NewErr(400, "修改失败")) |
|
|
e.OutErr(c, 400, e.NewErr(400, "修改失败")) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if all1.WaitMakeNum < num { |
|
|
|
|
|
//不够的话就看分拣区有没有 扣掉分拣区的 |
|
|
|
|
|
if all1.WaitSortingNum < num { |
|
|
|
|
|
if all1.WaitBakingNum < num { |
|
|
|
|
|
sess.Rollback() |
|
|
|
|
|
e.OutErr(c, 400, e.NewErr(400, "数量不足,减少数量失败")) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
all1.WaitBakingNum -= num |
|
|
|
|
|
_, err = sess.Where("id=?", all1.Id).Cols("wait_baking_num").Update(all1) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
sess.Rollback() |
|
|
|
|
|
e.OutErr(c, 400, e.NewErr(400, "修改失败")) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
all1.WaitSortingNum -= num |
|
|
|
|
|
_, err = sess.Where("id=?", all1.Id).Cols("wait_sorting_num").Update(all1) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
sess.Rollback() |
|
|
|
|
|
e.OutErr(c, 400, e.NewErr(400, "修改失败")) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
all1.WaitMakeNum -= num |
|
|
|
|
|
_, err = sess.Where("id=?", all1.Id).Cols("wait_make_num").Update(all1) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
sess.Rollback() |
|
|
|
|
|
e.OutErr(c, 400, e.NewErr(400, "修改失败")) |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
newNum := num |
|
|
|
|
|
if all1.WaitMakeNum > 0 { |
|
|
|
|
|
leave := all1.WaitMakeNum - num |
|
|
|
|
|
deNum := num |
|
|
|
|
|
if leave < 0 { |
|
|
|
|
|
deNum = all1.WaitMakeNum |
|
|
} |
|
|
} |
|
|
|
|
|
all1.WaitMakeNum -= deNum |
|
|
|
|
|
newNum -= deNum |
|
|
all := all1 |
|
|
all := all1 |
|
|
all.Id = 0 |
|
|
all.Id = 0 |
|
|
all.WaitBakingNum = 0 |
|
|
all.WaitBakingNum = 0 |
|
|
all.WaitMakeNum = num |
|
|
|
|
|
|
|
|
all.WaitMakeNum = deNum |
|
|
all.WaitSortingNum = 0 |
|
|
all.WaitSortingNum = 0 |
|
|
all.GoodsTitle = orderGoods1.GoodsTitle |
|
|
all.GoodsTitle = orderGoods1.GoodsTitle |
|
|
all.GoodsType = 2 |
|
|
all.GoodsType = 2 |
|
@@ -1643,6 +1620,35 @@ func OrderDeductNum(c *gin.Context) { |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if newNum > 0 && all1.WaitSortingNum > 0 { |
|
|
|
|
|
leave := all1.WaitSortingNum - num |
|
|
|
|
|
deNum := num |
|
|
|
|
|
if leave < 0 { |
|
|
|
|
|
deNum = all1.WaitSortingNum |
|
|
|
|
|
} |
|
|
|
|
|
newNum -= deNum |
|
|
|
|
|
all1.WaitSortingNum -= deNum |
|
|
|
|
|
} |
|
|
|
|
|
if newNum > 0 && all1.WaitBakingNum > 0 { |
|
|
|
|
|
leave := all1.WaitBakingNum - num |
|
|
|
|
|
deNum := num |
|
|
|
|
|
if leave < 0 { |
|
|
|
|
|
deNum = all1.WaitBakingNum |
|
|
|
|
|
} |
|
|
|
|
|
newNum -= deNum |
|
|
|
|
|
all1.WaitBakingNum -= deNum |
|
|
|
|
|
} |
|
|
|
|
|
if newNum > 0 { |
|
|
|
|
|
sess.Rollback() |
|
|
|
|
|
e.OutErr(c, 400, e.NewErr(400, "数量不足,减少数量失败")) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
_, err = sess.Where("id=?", all1.Id).Cols("wait_make_num,wait_sorting_num,wait_baking_num").Update(all1) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
sess.Rollback() |
|
|
|
|
|
e.OutErr(c, 400, e.NewErr(400, "修改失败")) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
order.Amount = utils.Float64ToStr(utils.StrToFloat64(order.Amount) - float64(num)*utils.StrToFloat64(orderGoods1.Price)) |
|
|
order.Amount = utils.Float64ToStr(utils.StrToFloat64(order.Amount) - float64(num)*utils.StrToFloat64(orderGoods1.Price)) |
|
|
//销量减少 |
|
|
//销量减少 |
|
|
sqlSecond := `UPDATE goods SET sale=sale-%d WHERE id=%d` |
|
|
sqlSecond := `UPDATE goods SET sale=sale-%d WHERE id=%d` |
|
|