From 99646c6e9ff3ce268f019b5221ba1a2bc5479616 Mon Sep 17 00:00:00 2001 From: wangqian <1406304305@qq.com> Date: Sat, 29 Nov 2025 12:04:56 +0800 Subject: [PATCH] 库存修改 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialPageReqVO.java | 4 ++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialRespVO.java | 4 ++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialSaveReqVO.java | 4 ++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java | 13 ++++++++++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java | 4 ++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java | 2 +- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java | 10 +++++++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java | 29 +++++++++++++++++++++++++++++ 8 files changed, 59 insertions(+), 11 deletions(-) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialPageReqVO.java index 2dd9eba..097a2f5 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialPageReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialPageReqVO.java @@ -66,6 +66,6 @@ public class MaterialPageReqVO extends PageParam { private String remark; @Schema(description = "是否关联工单:0-否,1-是") - private Boolean isAssociatedOrder; + private Integer isAssociatedOrder; -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialRespVO.java index f02d47f..5458899 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialRespVO.java @@ -86,6 +86,6 @@ public class MaterialRespVO { @Schema(description = "是否关联工单:0-否,1-是") @ExcelProperty("是否关联工单:0-否,1-是") - private Boolean isAssociatedOrder; + private Integer isAssociatedOrder; -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialSaveReqVO.java index 0861ba2..65222b1 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialSaveReqVO.java @@ -73,6 +73,6 @@ public class MaterialSaveReqVO { private String remark; @Schema(description = "是否关联工单:0-否,1-是") - private Boolean isAssociatedOrder; + private Integer isAssociatedOrder; -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java index dcdea7a..620489a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java @@ -101,4 +101,15 @@ public class MaterialInventoryController { BeanUtils.toBean(list, MaterialInventoryRespVO.class)); } -} \ No newline at end of file + /** + * 物料库存-阈值更新 + */ + @Operation(summary = "物料库存-阈值更新") + @PreAuthorize("@ss.hasPermission('garden:material-inventory:update')") + @GetMapping("/updateByAlermNum") + public CommonResult updateInventoryAlermNum(@RequestParam("material_id") Long materialId, @RequestParam("alerm_num") Long alermNum) { + int count = materialInventoryService.updateInVentoryAlremNum(materialId, alermNum); + return success(count); + } + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java index 95c5fc8..d17292a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java @@ -94,7 +94,7 @@ public class MaterialDO extends BaseDO { /** * 是否关联工单:0-否,1-是 */ - private Boolean isAssociatedOrder; + private Integer isAssociatedOrder; -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java index 25682fd..4bab48d 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java @@ -18,7 +18,7 @@ public interface MaterialTypeMapper extends BaseMapperX { default PageResult selectPage(MaterialTypePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MaterialTypeDO::getTypeName, reqVO.getTypeName()) - .orderByDesc(MaterialTypeDO::getTypeName)); + .orderByDesc(MaterialTypeDO::getId)); } } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java index 61f0ba1..7d09864 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java @@ -85,9 +85,17 @@ public interface MaterialInventoryService { /** * 更新出库库库存信息 - * @param inventoryId + * @param materialInventory * @param outNum 出库数量 * @return */ int updateInVentoryByMaterialId(MaterialInventoryDO materialInventory, Long outNum); + + /** + * 更新出库库库存信息 + * @param materialId + * @param alermNum 库存预警 + * @return + */ + int updateInVentoryAlremNum(Long materialId, Long alermNum); } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java index 518c4a1..9afb0d3 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java @@ -1,6 +1,8 @@ package com.zteits.urbanops.module.garden.service.materialinventory; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; @@ -14,7 +16,9 @@ import org.springframework.validation.annotation.Validated; import java.util.List; +import static com.zteits.urbanops.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception0; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.MATERIAL_INVENTORY_NOT_EXISTS; /** @@ -103,6 +107,9 @@ public class MaterialInventoryServiceImpl implements MaterialInventoryService { @Override public MaterialInventoryDO selectTdMaterialInventoryByMaterialId(Long materialId) { + if (materialId == null) { + throw exception0(BAD_REQUEST.getCode(),"更新库存失败:materialId为空!"); + } LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(MaterialInventoryDO::getTypeDetailId, materialId); return materialInventoryMapper.selectOne(queryWrapper); @@ -110,10 +117,32 @@ public class MaterialInventoryServiceImpl implements MaterialInventoryService { @Override public int updateInVentoryByMaterialId(MaterialInventoryDO materialInventory, Long outNum) { + // 1. 入参空值校验(避免无效更新或SQL异常) + if (outNum == null) { + throw exception0(BAD_REQUEST.getCode(),"更新库存失败:outNum为空!"); + } MaterialInventoryDO out = new MaterialInventoryDO(); out.setInventoryId(materialInventory.getInventoryId()); out.setOutTotalNum(materialInventory.getInventoryTotalNum() + outNum); out.setCurrentNum(materialInventory.getCurrentNum() - outNum); return materialInventoryMapper.updateById(materialInventory); } + + @Override + public int updateInVentoryAlremNum(Long materialId, Long alermNum) { + // 1. 入参空值校验(避免无效更新或SQL异常) + if (materialId == null || alermNum == null) { + throw exception0(BAD_REQUEST.getCode(),"更新库存预警数失败:materialId或alermNum为空!"); + } + + // 2. 构造更新条件:用LambdaUpdateWrapper(专用于更新操作,语义更清晰) + LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(); + // 设置要更新的字段:inventoryAlremNum = alermNum + updateWrapper.set(MaterialInventoryDO::getInventoryAlermNum, alermNum) + // 设置更新条件:根据materialId匹配记录(若实际条件是typeDetailId,替换为getTypeDetailId即可) + .eq(MaterialInventoryDO::getMaterialId, materialId); + + // 3. 执行更新(MyBatis-Plus支持直接传wrapper,第一个参数为null即可) + return materialInventoryMapper.update(null, updateWrapper); + } } -- libgit2 0.21.4