package com.ruoyi.productionPlan.service.impl; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductionProductMainDto; import com.ruoyi.production.mapper.ProductOrderMapper; import com.ruoyi.production.mapper.ProductionOrderRouteMapper; import com.ruoyi.production.mapper.ProductionProductMainMapper; import com.ruoyi.production.pojo.ProductionProductMain; import com.ruoyi.productionPlan.dto.OrderDto; import com.ruoyi.productionPlan.dto.ProductionPlanDto; import com.ruoyi.productionPlan.dto.TrackDto; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.productionPlan.mapper.ProductionPlanMapper; import com.ruoyi.productionPlan.pojo.ProductOrderPlan; import com.ruoyi.productionPlan.mapper.ProductOrderPlanMapper; import com.ruoyi.productionPlan.service.ProductOrderPlanService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** *

* 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-03-11 03:02:58 */ @Service public class ProductOrderPlanServiceImpl extends ServiceImpl implements ProductOrderPlanService { @Autowired private ProductOrderPlanMapper productOrderPlanMapper; @Autowired private ProductionPlanMapper productionPlanMapper; @Autowired private ProductOrderMapper productOrderMapper; @Autowired private ProductionProductMainMapper productionProductMainMapper; @Override public TrackDto trackProgressByNo(Long productionPlanId) { TrackDto trackDto = new TrackDto(); //生产计划数据 ProductionPlanDto productionPlanDto=productionPlanMapper.selectProductionPlanDtoById(productionPlanId); trackDto.setProductionPlanDto(productionPlanDto); //生产订单数据 List orderDtos = listByApplyNo(productionPlanDto); trackDto.setOrderDtoList(orderDtos); return trackDto; } private List listByApplyNo(ProductionPlanDto productionPlanDto) { List orderDtos = new ArrayList<>(); //1.先查询该生产计划下所有关联的生产订单 List productOrderPlans = productOrderPlanMapper.selectList(Wrappers.lambdaQuery() .eq(ProductOrderPlan::getProductionPlanId, productionPlanDto.getId())); if (CollectionUtils.isEmpty(productOrderPlans)){ return null; } productOrderPlans.forEach(productOrderPlan -> { OrderDto orderDto = new OrderDto(); //生产订单信息 ProductOrderDto productOrderDto=productOrderMapper.getProductOrderDto(productOrderPlan.getProductOrderId()); orderDto.setProductOrderDto(productOrderDto); //报工详情 List productionProductMainDtos = productionProductMainMapper.selectProductionProductMainDto(productOrderPlan.getProductOrderId()); orderDto.setProductionProductMainDtos(productionProductMainDtos); orderDtos.add(orderDto); }); return orderDtos; } }