gongchunyi
4 小时以前 467615249613c312a984097d3ebb673ebef3e10d
src/main/java/com/ruoyi/production/service/impl/ProductionOrderRouteItemServiceImpl.java
@@ -6,14 +6,11 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.production.dto.ProductionOrderRouteItemDto;
import com.ruoyi.production.mapper.ProductionOrderRouteItemMapper;
import com.ruoyi.production.pojo.ProcessRouteItemParam;
import com.ruoyi.production.pojo.ProductProcess;
import com.ruoyi.production.pojo.ProductProcessParam;
import com.ruoyi.production.pojo.ProductionOrderRouteItem;
import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
import com.ruoyi.production.service.IProductionOrderRouteItemParamService;
import com.ruoyi.production.service.IProductionOrderRouteItemService;
import com.ruoyi.production.service.ProcessRouteItemParamService;
import com.ruoyi.production.service.ProductProcessService;
import com.ruoyi.production.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -43,6 +40,9 @@
    @Resource
    private ProcessRouteItemParamService processRouteItemParamService;
    @Resource
    private ProductProcessParamService productProcessParamService;
    @Override
    public List<ProductionOrderRouteItemDto> getProcessItem(Long orderId) {
@@ -86,6 +86,21 @@
                .last("limit 1"));
        entity.setDragSort(maxSortItem != null && maxSortItem.getDragSort() != null ? maxSortItem.getDragSort() + 1 : 1);
        save(entity);
        // 迁移该工序的基础参数
        List<ProductProcessParam> processParams = productProcessParamService.list(
                new LambdaQueryWrapper<ProductProcessParam>().eq(ProductProcessParam::getProcessId, dto.getProcessId()));
        if (!processParams.isEmpty()) {
            List<ProductionOrderRouteItemParam> orderParams = processParams.stream().map(p -> {
                ProductionOrderRouteItemParam op = new ProductionOrderRouteItemParam();
                BeanUtils.copyProperties(p, op, "id");
                op.setOrderId(dto.getOrderId());
                op.setRouteItemId(entity.getId());
                op.setProcessParamId(p.getId());
                return op;
            }).collect(Collectors.toList());
            productionOrderRouteItemParamService.saveBatch(orderParams);
        }
    }
    @Override
@@ -104,14 +119,16 @@
                    .eq(ProductionOrderRouteItemParam::getOrderId, old.getOrderId())
                    .eq(ProductionOrderRouteItemParam::getRouteItemId, old.getId()));
            // 迁移新工序的 process_route_item_param
            List<ProcessRouteItemParam> routeItemParams = processRouteItemParamService.list(
                    new LambdaQueryWrapper<ProcessRouteItemParam>().eq(ProcessRouteItemParam::getRouteItemId, old.getId()));
            if (!routeItemParams.isEmpty()) {
                List<ProductionOrderRouteItemParam> newInstances = routeItemParams.stream().map(p -> {
            // 迁移新工序的 product_process_param
            List<ProductProcessParam> processParams = productProcessParamService.list(
                    new LambdaQueryWrapper<ProductProcessParam>().eq(ProductProcessParam::getProcessId, dto.getProcessId()));
            if (!processParams.isEmpty()) {
                List<ProductionOrderRouteItemParam> newInstances = processParams.stream().map(p -> {
                    ProductionOrderRouteItemParam instance = new ProductionOrderRouteItemParam();
                    BeanUtils.copyProperties(p, instance, "id");
                    instance.setOrderId(old.getOrderId());
                    instance.setRouteItemId(old.getId());
                    instance.setProcessParamId(p.getId());
                    return instance;
                }).collect(Collectors.toList());
                productionOrderRouteItemParamService.saveBatch(newInstances);