XiaoRuby
2023-09-24 20956b0f05f81ca47cf6c3e8f9b3b426e9cfd035
inventory-server/src/main/java/com/yuanchu/mom/service/impl/ImportRepertoryServiceImpl.java
@@ -30,41 +30,6 @@
    @Resource
    ImportRepertoryMapper importRepertoryMapper;
    @Resource
    RepertoryMapper repertoryMapper;
    //新增成品入库
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addImpRep(String name, ImportRepertoryDto importRepertoryDto) {
        //新增成品入库
        ImportRepertory importRepertory = new ImportRepertory();
        BeanUtils.copyProperties(importRepertoryDto, importRepertory);
        importRepertory.setUserName(name);
        importRepertoryMapper.insert(importRepertory);
        /*新增成品库存(未检验)*/
        //如果入库的信息一样只有库存不一样,则在原来的库存数量上加上相应的数量
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertoryDto.getOrderCode())
                .eq(Repertory::getQualityTraceability, importRepertoryDto.getQualityTraceability())
                .eq(Repertory::getName, importRepertoryDto.getName())
                .eq(Repertory::getSpecifications, importRepertoryDto.getSpecifications())
                .eq(Repertory::getUnit, importRepertoryDto.getUnit())
                .eq(Repertory::getType, 0);
        Repertory rep = repertoryMapper.selectOne(queryWrapper);
        if (rep != null ) {
            rep.setNumber(rep.getNumber() + importRepertoryDto.getNumber());
            rep.setUserName(name);
            repertoryMapper.updateById(rep);
        } else {
            //如果除了库存别的信息有任何一个不一样,则新增一条成品库存
            Repertory repertory = new Repertory();
            BeanUtils.copyProperties(importRepertoryDto, repertory);
            repertory.setUserName(name);
            repertory.setType(0);
            repertoryMapper.insert(repertory);
        }
    }
    //查询入库列表
    @Override
@@ -72,46 +37,5 @@
        return importRepertoryMapper.selectAllImpRep(page, orderCode, name, time);
    }
    //根据id删除
    @Override
    public void delImpRep(Integer id) {
        //删除入库记录
        ImportRepertory importRepertory = importRepertoryMapper.selectById(id);
        importRepertory.setState(0);
        importRepertoryMapper.updateById(importRepertory);
        //库存也要减少
        LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Repertory::getOrderCode, importRepertory.getOrderCode())
                .eq(Repertory::getQualityTraceability, importRepertory.getQualityTraceability())
                .eq(Repertory::getName, importRepertory.getName())
                .eq(Repertory::getSpecifications, importRepertory.getSpecifications())
                .eq(Repertory::getUnit, importRepertory.getUnit())
                .eq(Repertory::getType, 0);
        Repertory rep = repertoryMapper.selectOne(queryWrapper);
        rep.setNumber(rep.getNumber() - importRepertory.getNumber());
        repertoryMapper.updateById(rep);
    }
    //批量删除
    @Override
    public void delAllImpRep(List<Integer> ids) {
        List<ImportRepertory> importRepertories = importRepertoryMapper.selectBatchIds(ids);
        for (ImportRepertory importRepertory : importRepertories) {
            importRepertory.setState(0);
            //删除入库记录
            importRepertoryMapper.updateById(importRepertory);
            //减少库存
            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(Repertory::getOrderCode, importRepertory.getOrderCode())
                    .eq(Repertory::getQualityTraceability, importRepertory.getQualityTraceability())
                    .eq(Repertory::getName, importRepertory.getName())
                    .eq(Repertory::getSpecifications, importRepertory.getSpecifications())
                    .eq(Repertory::getUnit, importRepertory.getUnit())
                    .eq(Repertory::getType, 0);
            Repertory rep = repertoryMapper.selectOne(queryWrapper);
            rep.setNumber(rep.getNumber() - importRepertory.getNumber());
            repertoryMapper.updateById(rep);
        }
    }
}