diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillRest.java b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillRest.java index bd4918af2b..86fe3d0add 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillRest.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillRest.java @@ -42,6 +42,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; import java.net.URLEncoder; import java.util.List; @@ -118,7 +119,17 @@ public class SmsSalesBillRest { @PostMapping("/save") public ResultBean save(@RequestBody SmsSalesBillDto dto) { ResultBean rb = ResultBean.fireFail(); - String sid = smsSalesBillService.saveOrUpdateDto(dto); + List goodsVos = dto.getGoodsVos(); + if (!goodsVos.isEmpty()) { + for (SalesGoodsVo goodsVo : goodsVos) { + BigDecimal count = new BigDecimal(goodsVo.getCount()); + BigDecimal currentCount = new BigDecimal(goodsVo.getCurrentCount()); + if (count.compareTo(currentCount) > 0) { + return rb.setMsg("商品数量不能大于库存数量"); + } + } + } + String sid = smsSalesBillService.saveOrUpdateDto(dto); return rb.success().setData(sid); } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java index acf881b4ee..c09f6a6b97 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java @@ -393,6 +393,16 @@ public class SmsSalesBillService extends MybatisBaseService goodsVos = dto.getGoodsVos(); + if (!goodsVos.isEmpty()) { + for (SalesGoodsVo goodsVo : goodsVos) { + BigDecimal count = new BigDecimal(goodsVo.getCount()); + BigDecimal currentCount = new BigDecimal(goodsVo.getCurrentCount()); + if (count.compareTo(currentCount) > 0) { + return rb.setMsg("商品数量不能大于库存数量"); + } + } + } String sid = saveOrUpdateDto(dto); if (StringUtils.isNotBlank(sid)) { SettlementVo settlementVo = dto.getSettlementVo();