gongchunyi
23 小时以前 40660b62e17283bba0bbf0342ceef42189818117
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -1,13 +1,16 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductOrderSourceDto;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.enums.ProductOrderStatusEnum;
import com.ruoyi.production.mapper.*;
@@ -224,23 +227,11 @@
            throw new RuntimeException("只有【待开始、已取消】状态的订单才可以删除");
        }
        //  是否已生产
        List<ProductWorkOrder> productWorkOrders = productWorkOrderMapper.selectList(Wrappers.<ProductWorkOrder>lambdaQuery().eq(ProductWorkOrder::getProductOrderId, id));
        if (!productWorkOrders.isEmpty()) {
            List<Long> workOrderIds = productWorkOrders.stream()
                    .map(ProductWorkOrder::getId)
                    .collect(Collectors.toList());
            List<ProductionProductMain> productionProductMains = productionProductMainMapper.selectList(Wrappers.<ProductionProductMain>lambdaQuery().in(ProductionProductMain::getWorkOrderId, workOrderIds));
            if (!productionProductMains.isEmpty()) {
                throw new RuntimeException("生产订单已经开始生产,不能删除");
            }
            //  删除工单
            productWorkOrderMapper.delete(Wrappers.<ProductWorkOrder>lambdaQuery().eq(ProductWorkOrder::getProductOrderId, id));
        //  是否有报工数据
        List<ProductionProductMain> productMains = productionProductMainMapper.selectList(new LambdaQueryWrapper<ProductionProductMain>().eq(ProductionProductMain::getProductOrderId, id));
        if (!productMains.isEmpty()) {
            throw new RuntimeException("生产订单已经开始生产,不能删除");
        }
        //  回退生产计划
        List<ProductOrderPlan> productOrderPlans = productOrderPlanMapper.selectList(Wrappers.<ProductOrderPlan>lambdaQuery().eq(ProductOrderPlan::getProductOrderId, id));
@@ -314,5 +305,17 @@
        return "SC" + datePrefix + String.format("%04d", sequence);
    }
    @Override
    public List<ProductOrderSourceDto> productOrderSource(Long orderId) {
        if (orderId == null) {
            throw new ServiceException("查询订单数据不能为空");
        }
        ProductOrder productOrder = getById(orderId);
        if (productOrder == null) {
            throw new ServiceException("查询失败,生产订单不存在");
        }
        List<ProductOrderSourceDto> list = baseMapper.productOrderSource(orderId);
        return list;
    }
}