2 天以前 f4d4d29368ccacb807f93e2033cd4a643a3ddade
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -33,6 +33,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -116,11 +117,13 @@
        productProcessRoute.setBomId(processRoute.getBomId());
        productProcessRouteMapper.insert(productProcessRoute);
        // 绑定生产bom清单
        List<ProductStructureRecord> productStructureDtos = productOrder.getProductStructureRecords();
        productStructureDtos.forEach(item ->{
            item.setProductOrderId(productOrder.getId());
            productStructureRecordMapper.insert(item);
        });
        if(CollectionUtils.isNotEmpty(productOrder.getProductStructureRecords())){
            List<ProductStructureRecord> productStructureDtos = productOrder.getProductStructureRecords();
            productStructureDtos.forEach(item ->{
                item.setProductOrderId(productOrder.getId());
                productStructureRecordMapper.insert(item);
            });
        }
        //新增生产订单下的工艺路线子表
        List<ProductProcessRouteItem> processRouteItems = productOrder.getProcessRouteItems();
        // 生成当前日期的前缀:年月日
@@ -137,8 +140,7 @@
                ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                productWorkOrder.setProductOrderId(productOrder.getId());
                ProductOrder order = productOrderMapper.selectById(productOrder.getId());
                productWorkOrder.setPlanQuantity(order.getQuantity());
                productWorkOrder.setPlanQuantity(BigDecimal.valueOf(productProcessRouteItem.getPlanNum()));
                productWorkOrder.setWorkOrderNo(workOrderNoStr);
                productWorkOrder.setPlanStartTime(productProcessRouteItem.getPlanStartTime());
                productWorkOrder.setPlanEndTime(productProcessRouteItem.getPlanEndTime());
@@ -197,14 +199,14 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean delete(Long[] ids) {
    public Boolean delete(Long[] idList) {
        //批量查询productOrder
        List<ProductOrder> productOrders = productOrderMapper.selectList(
                new LambdaQueryWrapper<ProductOrder>()
                        .in(ProductOrder::getId, ids)
                        .in(ProductOrder::getId, Arrays.asList(idList))
        );
        if (!org.springframework.util.CollectionUtils.isEmpty(productOrders)) {
            List<Long> ids = productOrders.stream().map(ProductOrder::getId).collect(Collectors.toList());
            // 批量查询processRouteItems
            List<ProductProcessRouteItem> allRouteItems = productProcessRouteItemMapper.selectList(
@@ -240,7 +242,7 @@
                    // 删除产出表、投入表数据
                    if (!com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(productMainIds)) {
                        productionProductOutputMapper.deleteByProductMainIds(productMainIds);
                        productionProductInputMapper.deleteByProductMainIds(productMainIds);
                        productionProductInputMapper.deleteByProductMainIds(ids);
                        List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(
                                new LambdaQueryWrapper<QualityInspect>()
                                        .in(QualityInspect::getProductMainId, productMainIds)
@@ -283,7 +285,7 @@
            productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>()
                    .in(ProductOrder::getId, ids));
            // 删除附件
            commonFileService.deleteByBusinessIds(Arrays.asList(ids), FileNameType.PRODUCT_ORDER.getValue());
            commonFileService.deleteByBusinessIds(ids, FileNameType.PRODUCT_ORDER.getValue());
            // 删除生产订单-物料清单
            productStructureRecordMapper.delete(new LambdaQueryWrapper<ProductStructureRecord>()
                    .in(ProductStructureRecord::getProductOrderId, ids));