From 399e7d565f19f59a8da82277da8f3eab527c2c56 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 09 九月 2025 19:40:20 +0800 Subject: [PATCH] art: 上料接口,上下料查询接口 --- src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java | 80 +++++++++++++++++++++++++++++++++++----- 1 files changed, 70 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java index fc0a4da..4517bf2 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java @@ -1,35 +1,95 @@ package org.jeecg.modules.lsw.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.base.entity.Factory; +import org.jeecg.modules.base.entity.LineSideWarehouse; +import org.jeecg.modules.base.enums.ProductionTypeEnum; +import org.jeecg.modules.base.service.IFactoryService; +import org.jeecg.modules.base.service.ILineSideWarehouseService; +import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.enums.MaterialCategoryEnum; +import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.service.ILswMaterialService; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; +import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; +import org.jeecg.modules.lsw.vo.MaterialInventoryVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * @Description: 鐗╂枡搴撳瓨淇℃伅 * @Author: jeecg-boot - * @Date: 2025-06-30 + * @Date: 2025-06-30 * @Version: V1.0 */ @Service public class LswMaterialInventoryServiceImpl extends ServiceImpl<LswMaterialInventoryMapper, LswMaterialInventory> implements ILswMaterialInventoryService { - - @Autowired - private LswMaterialInventoryMapper lswMaterialInventoryMapper; - - @Override - public List<LswMaterialInventory> selectByMainId(String mainId) { - return lswMaterialInventoryMapper.selectByMainId(mainId); - } + + @Autowired + private LswMaterialInventoryMapper lswMaterialInventoryMapper; + @Autowired + private ILswMaterialService materialService; + @Autowired + private ILineSideWarehouseService lineSideWarehouseService; + @Autowired + private IFactoryService factoryService; @Override public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId) { - return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); + return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); + } + + @Override + public List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId) { + return lswMaterialInventoryMapper.statisticsInventory(materialId); + } + + @Override + public LswMaterialInventory queryByMaterialNumberAndBatchNumber(String materialNumber, String batchNumber, String warehouseId) { + LswMaterial material = materialService.queryByMaterialNumber(materialNumber); + if (material == null) { + return null; + } + LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LswMaterialInventory::getWarehouseId, warehouseId); + queryWrapper.eq(LswMaterialInventory::getMaterialId, material.getId()); + queryWrapper.eq(LswMaterialInventory::getBatchNumber, batchNumber); + queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); + return lswMaterialInventoryMapper.selectOne(queryWrapper); + } + + @Override + public List<MaterialInventoryVO> queryMaterialInventory(String factoryId) { + Factory factory = factoryService.getById(factoryId); + if (factory == null) { + return Collections.emptyList(); + } + LineSideWarehouse warehouse = lineSideWarehouseService.queryByFactoryId(factoryId); + if (warehouse == null) { + return Collections.emptyList(); + } + List<String> materialCategory = new ArrayList<>(); + if (ProductionTypeEnum.ASSEMBLE.name().equals(factory.getProductionType())) { + materialCategory.add(MaterialCategoryEnum.OUTER_FLANGE.name()); + materialCategory.add(MaterialCategoryEnum.INNER_FLANGE.name()); + materialCategory.add(MaterialCategoryEnum.SMALL_INNER_RING.name()); + materialCategory.add(MaterialCategoryEnum.STEEL_BALL.name()); + materialCategory.add(MaterialCategoryEnum.COMPONENTS.name()); + } else if (ProductionTypeEnum.INNERFLANGE.name().equals(factory.getProductionType())) { + materialCategory.add(MaterialCategoryEnum.BLANK.name()); + } else if (ProductionTypeEnum.OUTERFLANGE.name().equals(factory.getProductionType())) { + materialCategory.add(MaterialCategoryEnum.BLANK.name()); + } else if (ProductionTypeEnum.HEATTREATMENT.name().equals(factory.getProductionType())) { + materialCategory.add(MaterialCategoryEnum.BLANK.name()); + } + return lswMaterialInventoryMapper.queryMaterialInventory(warehouse.getId(), materialCategory); } } -- Gitblit v1.9.3