Commit f25c4d2e4e54b08bf72f771b3a07ded752850397
Merge branch 'master-jdk17' of https://github.com/YunaiV/ruoyi-vue-pro into master-jdk17
Showing
2 changed files
with
8 additions
and
0 deletions
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<ErpStockDO> { |
| 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) { | ... | ... |