liding
2026-03-16 3322c20909d2cc762b9a7a4a4c8b2bb728ebebd9
src/main/java/com/ruoyi/consumables/service/impl/ConsumablesUnInventoryServiceImpl.java
@@ -35,91 +35,91 @@
@AllArgsConstructor
public class ConsumablesUnInventoryServiceImpl extends ServiceImpl<ConsumablesUnInventoryMapper, ConsumablesUnInventory> implements ConsumablesUnInventoryService {
    private ConsumablesUnInventoryMapper ConsumablesUnInventoryMapper;
    private ConsumablesUnInventoryMapper consumablesUnInventoryMapper;
    private ConsumablesOutRecordService ConsumablesOutRecordService;
    private ConsumablesInRecordService ConsumablesInRecordService;
    @Override
    public IPage<ConsumablesUnInventoryDto> pageConsumablesUnInventory(Page page, ConsumablesUnInventoryDto ConsumablesUnInventoryDto) {
        return ConsumablesUnInventoryMapper.pageConsumablesUnInventory(page, ConsumablesUnInventoryDto);
    public IPage<ConsumablesUnInventoryDto> pageConsumablesUnInventory(Page page, ConsumablesUnInventoryDto consumablesUnInventoryDto) {
        return consumablesUnInventoryMapper.pageConsumablesUnInventory(page, consumablesUnInventoryDto);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Integer addConsumablesUnInventory(ConsumablesUnInventoryDto ConsumablesUnInventoryDto) {
    public Integer addConsumablesUnInventory(ConsumablesUnInventoryDto consumablesUnInventoryDto) {
        //新增入库记录再添加库存
        ConsumablesInRecordDto ConsumablesInRecordDto = new ConsumablesInRecordDto();
        ConsumablesInRecordDto.setRecordId(ConsumablesUnInventoryDto.getRecordId());
        ConsumablesInRecordDto.setRecordType(ConsumablesUnInventoryDto.getRecordType());
        ConsumablesInRecordDto.setConsumablesInNum(ConsumablesUnInventoryDto.getQualitity());
        ConsumablesInRecordDto.setProductModelId(ConsumablesUnInventoryDto.getProductModelId());
        ConsumablesInRecordDto.setType("1");
        ConsumablesInRecordService.add(ConsumablesInRecordDto);
        ConsumablesInRecordDto consumablesInRecordDto = new ConsumablesInRecordDto();
        consumablesInRecordDto.setRecordId(consumablesUnInventoryDto.getRecordId());
        consumablesInRecordDto.setRecordType(consumablesUnInventoryDto.getRecordType());
        consumablesInRecordDto.setStockInNum(consumablesUnInventoryDto.getQualitity());
        consumablesInRecordDto.setProductModelId(consumablesUnInventoryDto.getProductModelId());
        consumablesInRecordDto.setType("1");
        ConsumablesInRecordService.add(consumablesInRecordDto);
        //再进行新增库存数量库存
        //先查询库存表中的产品是否存在,不存在新增,存在更新
        ConsumablesUnInventory oldConsumablesUnInventory = ConsumablesUnInventoryMapper.selectOne(new QueryWrapper<ConsumablesUnInventory>().lambda().eq(ConsumablesUnInventory::getProductModelId, ConsumablesUnInventoryDto.getProductModelId()));
        ConsumablesUnInventory oldConsumablesUnInventory = consumablesUnInventoryMapper.selectOne(new QueryWrapper<ConsumablesUnInventory>().lambda().eq(ConsumablesUnInventory::getProductModelId, consumablesUnInventoryDto.getProductModelId()));
        if (ObjectUtils.isEmpty(oldConsumablesUnInventory)) {
            ConsumablesUnInventory newConsumablesUnInventory = new ConsumablesUnInventory();
            newConsumablesUnInventory.setProductModelId(ConsumablesUnInventoryDto.getProductModelId());
            newConsumablesUnInventory.setQualitity(ConsumablesUnInventoryDto.getQualitity());
            newConsumablesUnInventory.setProductModelId(consumablesUnInventoryDto.getProductModelId());
            newConsumablesUnInventory.setQualitity(consumablesUnInventoryDto.getQualitity());
            newConsumablesUnInventory.setVersion(1);
            newConsumablesUnInventory.setRemark(ConsumablesUnInventoryDto.getRemark());
            ConsumablesUnInventoryMapper.insert(newConsumablesUnInventory);
            newConsumablesUnInventory.setRemark(consumablesUnInventoryDto.getRemark());
            consumablesUnInventoryMapper.insert(newConsumablesUnInventory);
        }else {
            ConsumablesUnInventoryMapper.updateAddConsumablesUnInventory(ConsumablesUnInventoryDto);
            consumablesUnInventoryMapper.updateAddConsumablesUnInventory(consumablesUnInventoryDto);
        }
        return 1;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Integer subtractConsumablesUnInventory(ConsumablesUnInventoryDto ConsumablesUnInventoryDto) {
    public Integer subtractConsumablesUnInventory(ConsumablesUnInventoryDto consumablesUnInventoryDto) {
        //  新增出库记录
        ConsumablesOutRecordDto ConsumablesOutRecordDto = new ConsumablesOutRecordDto();
        ConsumablesOutRecordDto.setRecordId(ConsumablesUnInventoryDto.getRecordId());
        ConsumablesOutRecordDto.setRecordType(ConsumablesUnInventoryDto.getRecordType());
        ConsumablesOutRecordDto.setConsumablesOutNum(ConsumablesUnInventoryDto.getQualitity());
        ConsumablesOutRecordDto.setProductModelId(ConsumablesUnInventoryDto.getProductModelId());
        ConsumablesOutRecordDto.setType("1");
        ConsumablesOutRecordService.add(ConsumablesOutRecordDto);
        ConsumablesUnInventory oldConsumablesInventory = ConsumablesUnInventoryMapper.selectOne(new QueryWrapper<ConsumablesUnInventory>().lambda().eq(ConsumablesUnInventory::getProductModelId, ConsumablesUnInventoryDto.getProductModelId()));
        ConsumablesOutRecordDto consumablesOutRecordDto = new ConsumablesOutRecordDto();
        consumablesOutRecordDto.setRecordId(consumablesUnInventoryDto.getRecordId());
        consumablesOutRecordDto.setRecordType(consumablesUnInventoryDto.getRecordType());
        consumablesOutRecordDto.setStockOutNum(consumablesUnInventoryDto.getQualitity());
        consumablesOutRecordDto.setProductModelId(consumablesUnInventoryDto.getProductModelId());
        consumablesOutRecordDto.setType("1");
        ConsumablesOutRecordService.add(consumablesOutRecordDto);
        ConsumablesUnInventory oldConsumablesInventory = consumablesUnInventoryMapper.selectOne(new QueryWrapper<ConsumablesUnInventory>().lambda().eq(ConsumablesUnInventory::getProductModelId, consumablesUnInventoryDto.getProductModelId()));
        if (ObjectUtils.isEmpty(oldConsumablesInventory)) {
            throw new RuntimeException("产品库存不存在");
        }else {
            ConsumablesUnInventoryMapper.updateSubtractConsumablesUnInventory(ConsumablesUnInventoryDto);
            consumablesUnInventoryMapper.updateSubtractConsumablesUnInventory(consumablesUnInventoryDto);
        }
        return 1;
    }
    @Override
    public void exportConsumablesUnInventory(HttpServletResponse response, ConsumablesUnInventoryDto ConsumablesUnInventoryDto) {
        List<ConsumablesUnInventoryExportData> list = ConsumablesUnInventoryMapper.listConsumablesInventoryExportData(ConsumablesUnInventoryDto);
    public void exportConsumablesUnInventory(HttpServletResponse response, ConsumablesUnInventoryDto consumablesUnInventoryDto) {
        List<ConsumablesUnInventoryExportData> list = consumablesUnInventoryMapper.listConsumablesInventoryExportData(consumablesUnInventoryDto);
        ExcelUtil<ConsumablesUnInventoryExportData> util = new ExcelUtil<>(ConsumablesUnInventoryExportData.class);
        util.exportExcel(response,list, "不合格库存信息");
    }
    @Override
    public Boolean frozenConsumables(ConsumablesInventoryDto ConsumablesInventoryDto) {
        ConsumablesUnInventory ConsumablesUnInventory = ConsumablesUnInventoryMapper.selectById(ConsumablesInventoryDto.getId());
        if (ConsumablesUnInventory.getQualitity().compareTo(ConsumablesInventoryDto.getLockedQuantity())<0) {
    public Boolean frozenConsumables(ConsumablesInventoryDto consumablesInventoryDto) {
        ConsumablesUnInventory consumablesUnInventory = consumablesUnInventoryMapper.selectById(consumablesInventoryDto.getId());
        if (consumablesUnInventory.getQualitity().compareTo(consumablesInventoryDto.getLockedQuantity())<0) {
            throw new RuntimeException("冻结数量不能超过库存数量");
        }
        if (ObjectUtils.isEmpty(ConsumablesUnInventory.getLockedQuantity())) {
            ConsumablesUnInventory.setLockedQuantity(ConsumablesInventoryDto.getLockedQuantity());
        if (ObjectUtils.isEmpty(consumablesUnInventory.getLockedQuantity())) {
            consumablesUnInventory.setLockedQuantity(consumablesInventoryDto.getLockedQuantity());
        }else {
            ConsumablesUnInventory.setLockedQuantity(ConsumablesUnInventory.getLockedQuantity().add(ConsumablesInventoryDto.getLockedQuantity()));
            consumablesUnInventory.setLockedQuantity(consumablesUnInventory.getLockedQuantity().add(consumablesInventoryDto.getLockedQuantity()));
        }
        return this.updateById(ConsumablesUnInventory);
        return this.updateById(consumablesUnInventory);
    }
    @Override
    public Boolean thawConsumables(ConsumablesInventoryDto ConsumablesInventoryDto) {
        ConsumablesUnInventory ConsumablesUnInventory = ConsumablesUnInventoryMapper.selectById(ConsumablesInventoryDto.getId());
        if (ConsumablesUnInventory.getLockedQuantity().compareTo(ConsumablesInventoryDto.getLockedQuantity())<0) {
    public Boolean thawConsumables(ConsumablesInventoryDto consumablesInventoryDto) {
        ConsumablesUnInventory consumablesUnInventory = consumablesUnInventoryMapper.selectById(consumablesInventoryDto.getId());
        if (consumablesUnInventory.getLockedQuantity().compareTo(consumablesInventoryDto.getLockedQuantity())<0) {
            throw new RuntimeException("解冻数量不能超过冻结数量");
        }
        ConsumablesUnInventory.setLockedQuantity(ConsumablesUnInventory.getLockedQuantity().subtract(ConsumablesInventoryDto.getLockedQuantity()));
        return this.updateById(ConsumablesUnInventory);
        consumablesUnInventory.setLockedQuantity(consumablesUnInventory.getLockedQuantity().subtract(consumablesInventoryDto.getLockedQuantity()));
        return this.updateById(consumablesUnInventory);
    }
}