zss
2 天以前 0a73b4d40662ea554bdf80b22966901da1abb424
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -2,11 +2,13 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.production.dto.ProductBomDto;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.dto.ProductWorkOrderDto;
import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.*;
import com.ruoyi.production.service.ProcessRouteService;
@@ -17,6 +19,7 @@
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ProductOrderServiceImpl extends ServiceImpl<ProductOrderMapper, ProductOrder> implements ProductOrderService {
@@ -38,6 +41,9 @@
    @Autowired
    private ProductWorkOrderMapper productWorkOrderMapper;
    @Autowired
    private ProductWorkOrderFileMapper productWorkOrderFileMapper;
    @Override
@@ -110,4 +116,21 @@
    public List<ProductStructureDto> listProcessBom(Long orderId) {
        return productOrderMapper.listProcessBom(orderId);
    }
    @Override
    public List<ProductWorkOrderDto> getProductOrderFlowCard(Long orderId) {
        //查询订单下的所有工单并按照工序的顺序
        List<ProductWorkOrder> productWorkOrders = productWorkOrderMapper.selectList(Wrappers.<ProductWorkOrder>lambdaQuery()
                .eq(ProductWorkOrder::getProductOrderId, orderId));
        if (productWorkOrders.size()==0){
            return null;
        }
        List<ProductWorkOrderDto> productWorkOrderDtos = productWorkOrders.stream().map(productWorkOrder -> {
            ProductWorkOrderDto productWorkOrderFlowCard = productWorkOrderMapper.getProductWorkOrderFlowCard(productWorkOrder.getId());
            List<ProductWorkOrderFile> productWorkOrderFiles = productWorkOrderFileMapper.selectList(Wrappers.<ProductWorkOrderFile>lambdaQuery().eq(ProductWorkOrderFile::getWorkOrderId, productWorkOrder.getId()));
            productWorkOrderFlowCard.setProductWorkOrderFiles(productWorkOrderFiles);
            return productWorkOrderFlowCard;
        }).collect(Collectors.toList());
        return productWorkOrderDtos;
    }
}