From 24d87ec3c8da90e298681c6e5631972dbe67b5c4 Mon Sep 17 00:00:00 2001 From: wangqian <1406304305@qq.com> Date: Thu, 4 Dec 2025 14:11:18 +0800 Subject: [PATCH] 库存修改 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java | 2 +- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java | 11 ++++++++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java | 23 +++++++++++++++++------ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java | 21 +++++++-------------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java | 23 ++++++++++++----------- 5 files changed, 47 insertions(+), 33 deletions(-) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java index eecf2c5..828c937 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java @@ -36,7 +36,7 @@ public class MaterialServiceImpl implements MaterialService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(MaterialDO::getMaterialCode, createReqVO.getMaterialCode()) .eq(MaterialDO::getSpecCode, createReqVO.getSpecCode()) - .eq(MaterialDO::getMaterialTypeId, createReqVO.getTypeDetailId()); + .eq(MaterialDO::getTypeDetailId, createReqVO.getTypeDetailId()); List tdMaterials = materialMapper.selectList(queryWrapper); if (null != tdMaterials && tdMaterials.size() > 0) { MaterialDO material = tdMaterials.get(0); 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 7d09864..7ec39bb 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 @@ -80,7 +80,7 @@ public interface MaterialInventoryService { * @Date 2025/11/28 23:36 * @Param materialId */ - MaterialInventoryDO selectTdMaterialInventoryByMaterialId(Long materialId); + MaterialInventoryDO selectMaterialInventoryByMaterialId(Long typeDetailId, Long companyId); /** @@ -98,4 +98,13 @@ public interface MaterialInventoryService { * @return */ int updateInVentoryAlremNum(Long materialId, Long alermNum); + + /** + * @Author wangqian + * @Description 查询物料信息根据 + * @Date 2025/11/28 23:36 + * @Param materialId + */ + MaterialInventoryDO selectMaterialInventoryByMaterialId(Long materialId); + } 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 9667d84..57c3e72 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 @@ -98,8 +98,8 @@ public class MaterialInventoryServiceImpl implements MaterialInventoryService { @Override public int insertMaterialInventory(MaterialInventoryDO materialInventory) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(MaterialInventoryDO::getBelongCompanyId, materialInventory.getBelongCompanyId()); - queryWrapper.eq(MaterialInventoryDO::getTypeDetailId, materialInventory.getTypeDetailId()); + //queryWrapper.eq(MaterialInventoryDO::getBelongCompanyId, materialInventory.getBelongCompanyId()); + queryWrapper.eq(MaterialInventoryDO::getMaterialId, materialInventory.getMaterialId()); MaterialInventoryDO object = materialInventoryMapper.selectOne(queryWrapper); if(object != null){ object.setInventoryTotalNum(object.getInventoryTotalNum()+ materialInventory.getCurrentNum()); @@ -118,12 +118,13 @@ public class MaterialInventoryServiceImpl implements MaterialInventoryService { } @Override - public MaterialInventoryDO selectTdMaterialInventoryByMaterialId(Long materialId) { - if (materialId == null) { - throw exception0(BAD_REQUEST.getCode(),"更新库存失败:materialId为空!"); + public MaterialInventoryDO selectMaterialInventoryByMaterialId(Long typeDetailId, Long companyId) { + if (typeDetailId == null) { + throw exception0(BAD_REQUEST.getCode(),"更新库存失败:typeDetailId为空!"); } LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(MaterialInventoryDO::getTypeDetailId, materialId); + queryWrapper.eq(MaterialInventoryDO::getTypeDetailId, typeDetailId); + queryWrapper.eq(MaterialInventoryDO::getBelongCompanyId, companyId); return materialInventoryMapper.selectOne(queryWrapper); } @@ -157,4 +158,14 @@ public class MaterialInventoryServiceImpl implements MaterialInventoryService { // 3. 执行更新(MyBatis-Plus支持直接传wrapper,第一个参数为null即可) return materialInventoryMapper.update(null, updateWrapper); } + + @Override + public MaterialInventoryDO selectMaterialInventoryByMaterialId(Long materialId) { + if (materialId == null) { + throw exception0(BAD_REQUEST.getCode(),"更新库存失败:materialId为空!"); + } + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(MaterialInventoryDO::getMaterialId, materialId); + return materialInventoryMapper.selectOne(queryWrapper); + } } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java index 42ffc65..d26a1a2 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java @@ -74,8 +74,6 @@ public class MaterialInventoryInServiceImpl implements MaterialInventoryInServic in.setTypeDetailId(material.getTypeDetailId()); in.setTypeDetailName(material.getTypeDetailName()); in.setSpecifications(material.getSpecifications()); -// in.setBelongCompanyId(material.getBelongCompanyId()); -// in.setBelongCompanyName(material.getBelongCompanyName()); in.setBelongCompanyId(deptRespDTO.getId()); in.setBelongCompanyName(deptRespDTO.getName()); in.setInInventoryNum(createReqVO.getInInventoryNum()); @@ -103,8 +101,6 @@ public class MaterialInventoryInServiceImpl implements MaterialInventoryInServic inventory.setTypeDetailId(material.getTypeDetailId()); inventory.setTypeDetailName(material.getTypeDetailName()); inventory.setSpecifications(in.getSpecifications()); - inventory.setBelongCompanyId(in.getBelongCompanyId()); - inventory.setBelongCompanyName(in.getBelongCompanyName()); inventory.setUnitId(in.getUnitId()); inventory.setUnitName(in.getUnitName()); inventory.setCurrentNum(in.getInInventoryNum()); @@ -133,8 +129,8 @@ public class MaterialInventoryInServiceImpl implements MaterialInventoryInServic updateObj.setMaterialTypeId(material.getMaterialTypeId()); updateObj.setMaterialTypeName(material.getMaterialTypeName()); updateObj.setSpecifications(material.getSpecifications()); - updateObj.setBelongCompanyId(material.getBelongCompanyId()); - updateObj.setBelongCompanyName(material.getBelongCompanyName()); + //updateObj.setBelongCompanyId(material.getBelongCompanyId()); + //updateObj.setBelongCompanyName(material.getBelongCompanyName()); updateObj.setUnitId(material.getUnitId()); updateObj.setUnitName(material.getUnitName()); materialInventoryInMapper.updateById(updateObj); @@ -148,20 +144,17 @@ public class MaterialInventoryInServiceImpl implements MaterialInventoryInServic if (null == materialInventoryIn) { throw exception(MATERIAL_INVENTORY_IN_NOT_EXISTS); } - MaterialInventoryDO materialInventory = materialInventoryService.selectTdMaterialInventoryByMaterialId(materialInventoryIn.getMaterialId()); - if(null == materialInventory){ + MaterialInventoryDO inventory = materialInventoryService.selectMaterialInventoryByMaterialId(materialInventoryIn.getMaterialId()); + if(null == inventory){ throw exception0(BAD_REQUEST.getCode(),"参数错误"); } //库存已使用 - if(materialInventory.getCurrentNum() < materialInventoryIn.getInInventoryNum()){ + if(inventory.getCurrentNum() < materialInventoryIn.getInInventoryNum()){ throw exception0(BAD_REQUEST.getCode(),"库存已使用"); } //入库记录减扣 - MaterialInventoryDO inventory = new MaterialInventoryDO(); - inventory.setInventoryId(materialInventory.getInventoryId()); - inventory.setMaterialId(materialInventory.getMaterialId()); - inventory.setCurrentNum(materialInventory.getCurrentNum() - materialInventoryIn.getInInventoryNum()); - inventory.setInventoryTotalNum(materialInventory.getInventoryTotalNum() - materialInventoryIn.getInInventoryNum()); + inventory.setCurrentNum(inventory.getCurrentNum() - materialInventoryIn.getInInventoryNum()); + inventory.setInventoryTotalNum(inventory.getInventoryTotalNum() - materialInventoryIn.getInInventoryNum()); materialInventoryService.updateTdMaterialInventory(inventory); // 删除 materialInventoryInMapper.deleteById(id); diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java index e347c07..9f3821c 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java @@ -1,5 +1,6 @@ package com.zteits.urbanops.module.garden.service.materialinventoryout; +import cn.hutool.core.util.RandomUtil; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo.MaterialInventoryOutPageReqVO; @@ -52,7 +53,7 @@ public class MaterialInventoryOutServiceImpl implements MaterialInventoryOutServ if(null == material){ throw exception0(BAD_REQUEST.getCode(), "无效参数-materialId"); } - MaterialInventoryDO materialInventory = materialInventoryService.selectTdMaterialInventoryByMaterialId(out.getMaterialId()); + MaterialInventoryDO materialInventory = materialInventoryService.selectMaterialInventoryByMaterialId(material.getMaterialId()); if(null == materialInventory){ throw exception0(BAD_REQUEST.getCode(),createReqVO.getMaterialName()+"没有库存"); } @@ -64,6 +65,8 @@ public class MaterialInventoryOutServiceImpl implements MaterialInventoryOutServ if(null == deptRespDTO){ throw exception0(BAD_REQUEST.getCode(), "无效参数-登录人所属单位为空"); } + out.setInventoryOutNo(System.currentTimeMillis()+ RandomUtil.randomInt(10, 100000)+""); + out.setMaterialId(createReqVO.getMaterialId()); out.setMaterialName(material.getMaterialName()); out.setMaterialTypeId(material.getMaterialTypeId()); out.setMaterialTypeName(material.getMaterialTypeName()); @@ -76,8 +79,10 @@ public class MaterialInventoryOutServiceImpl implements MaterialInventoryOutServ // out.setBelongCompanyName(material.getBelongCompanyName()); out.setBelongCompanyId(deptRespDTO.getId()); out.setBelongCompanyName(deptRespDTO.getName()); + out.setOutInventoryNum(createReqVO.getOutInventoryNum()); out.setUnitId(material.getUnitId()); out.setUnitName(material.getUnitName()); + out.setOutDate(createReqVO.getOutDate()); materialInventoryOutMapper.insert(out); //更新库存 @@ -103,23 +108,19 @@ public class MaterialInventoryOutServiceImpl implements MaterialInventoryOutServ throw exception(MATERIAL_INVENTORY_OUT_NOT_EXISTS); } - //查询库存 - MaterialInventoryDO materialInventory = materialInventoryService.selectTdMaterialInventoryByMaterialId(materialInventoryOut.getMaterialId()); - if(null == materialInventory){ + MaterialInventoryDO inventory = materialInventoryService.selectMaterialInventoryByMaterialId(materialInventoryOut.getMaterialId()); + if(null == inventory){ throw exception0(BAD_REQUEST.getCode(),"参数错误"); } //库存已使用 - if(materialInventory.getCurrentNum() < materialInventoryOut.getOutInventoryNum()){ + if(inventory.getCurrentNum() < materialInventoryOut.getOutInventoryNum()){ throw exception0(BAD_REQUEST.getCode(),"库存已使用"); } //入库记录减扣 - MaterialInventoryDO inventory = new MaterialInventoryDO(); - inventory.setInventoryId(materialInventory.getInventoryId()); - inventory.setMaterialId(materialInventory.getMaterialId()); - inventory.setCurrentNum(materialInventory.getCurrentNum() + materialInventoryOut.getOutInventoryNum()); - inventory.setInventoryTotalNum(materialInventory.getInventoryTotalNum() + materialInventoryOut.getOutInventoryNum()); - inventory.setOutTotalNum(materialInventory.getOutTotalNum() - materialInventoryOut.getOutInventoryNum()); + inventory.setCurrentNum(inventory.getCurrentNum() + materialInventoryOut.getOutInventoryNum()); + inventory.setInventoryTotalNum(inventory.getInventoryTotalNum() + materialInventoryOut.getOutInventoryNum()); + inventory.setOutTotalNum(inventory.getOutTotalNum() - materialInventoryOut.getOutInventoryNum()); materialInventoryService.updateTdMaterialInventory(inventory); // 删除 -- libgit2 0.21.4