Commit f25c4d2e4e54b08bf72f771b3a07ded752850397

Authored by YunaiV
2 parents 98bec08f 1f18b100

Merge branch 'master-jdk17' of https://github.com/YunaiV/ruoyi-vue-pro into master-jdk17

yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/in/ErpPurchaseInSaveReqVO.java
1 1 package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.in;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
  4 +import jakarta.validation.Valid;
  5 +import jakarta.validation.constraints.DecimalMin;
4 6 import jakarta.validation.constraints.NotNull;
5 7 import lombok.Data;
6 8  
... ... @@ -39,6 +41,7 @@ public class ErpPurchaseInSaveReqVO {
39 41 private String remark;
40 42  
41 43 @Schema(description = "入库清单列表")
  44 + @Valid
42 45 private List<Item> items;
43 46  
44 47 @Data
... ... @@ -68,6 +71,7 @@ public class ErpPurchaseInSaveReqVO {
68 71  
69 72 @Schema(description = "产品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
70 73 @NotNull(message = "产品数量不能为空")
  74 + @DecimalMin(value = "0", inclusive = false, message = "产品数量必须大于 0")
71 75 private BigDecimal count;
72 76  
73 77 @Schema(description = "税率,百分比", example = "99.88")
... ...
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/stock/ErpStockMapper.java
... ... @@ -36,6 +36,10 @@ public interface ErpStockMapper extends BaseMapperX&lt;ErpStockDO&gt; {
36 36 }
37 37  
38 38 default int updateCountIncrement(Long id, BigDecimal count, boolean negativeEnable) {
  39 + // 数量为 0 无库存增量(历史脏数据防护):直接跳过,避免生成空 SET 的 UPDATE 抛异常 500
  40 + if (count.compareTo(BigDecimal.ZERO) == 0) {
  41 + return 0;
  42 + }
39 43 LambdaUpdateWrapper<ErpStockDO> updateWrapper = new LambdaUpdateWrapper<ErpStockDO>()
40 44 .eq(ErpStockDO::getId, id);
41 45 if (count.compareTo(BigDecimal.ZERO) > 0) {
... ...